NetBeans 6 delivers great updates to the Matisse GUI builder. Spend a few minutes with Roman Strobl and get an expert briefing on what's new and what has changed. (sponsored)
In this, the third and final installation of Andres' Introduction to Groovy series, you learn about how Groovy handles variable numbers of arguments, named parameters, currying, and more about Groovy operators. Including, some new operators.
Swing Fuse (actually just Fuse), is a framework designed to make it easier to create your own custom desktop components. In this article, Daniel Spiewak shows you how to get started and provides sample source code you can download.
Willam Louth shows how he uses JXInsight Probes to investigate probable performance issues with code bases that he is not familiar with. He also highlights possible pitfalls in creating a benchmark, as well as in the analysis of results.
This is my first time posting, so be gentle on me.
I know many here will be offended by some of my observations and personal opinions, but let's not get religious for a moment. I've worked with assembly, QBasic, Pascal, c, c++, Java, VB, c#, and even NAND gate logic programming, so I'm of no religion.
I remember doing my first Java app in 1996 and how I loved it compared to c++. Many hardcore c++ guys kept telling me how you can do the same thing with smart pointers, and how java is too slow, etc. My reaction was, if it's easier to use, people will switch over to the path of least resistance. I don't double that c++ will be with us for a LONG time to come, but no one in their right mind, in this day and age, would want to write an Enterprise Web App with c++.
What happened to the simplicity and grace of Java? I don't mean the language itself, but the philosophy and direction that it's headed. There are enough standards and spec docs out there for J2EE to make a grown man cry. None of that makes my life any easier... In fact there’s so much noise, it’s hard for me to pick out the music.
It took me about a week to get up to speed on .Net and was able to create a fairly decent functional application with it. For those of you who are saying "Yeah, but you can do the exact same thing in Java! And it's portable." To that, I would say the same thing I said almost a decade ago; If it’s easier to use, people will switch over to the path of least resistance. Everything you can do in Java and .Net can be done in assembly, but why don’t we? Why should I spend 6 months on a Java project when I can cut that down to 4 in .Net?
I see the Java barrier to entry getting higher and higher as more and more spec changes and proprietary frameworks come out. A few years ago, I heard Javangelists say .Net is all vaporware and FUD, but it seems that these assumptions were proven wrong. To you Java gurus out there, who probably can do the same task in Java in half the time I can in .Net, most of us commoners don’t want to spend all the effort in reading specs and catching up with the latest framework changes from xyz vendor. We just want to get the job done and send the invoice out in the shortest time possible. Unless a client specifically request Java/J2EE, there’s no reason to use it.
Perhaps you all remember Wordperfect, Lotus123, Netscape etc. I wonder if Java will end up in that same list if this trend continues.
I had the same feeling when I started with JEE. It is large, it`s a mess, it feels complicated and it is complicated. Simple things are complex and complex things are impossible. I felt totally lost (I`m an experienced JSE programmer before I started with JEE). But I finally found Spring (http://www.springframework.org) and I finally got the control back I used to have when I used JSE. At the moment there are a few other libraries I use (Hibernate for example) but Spring helps me to solve my problems, to give me 110% control and helps me to produce good software.
But I agree... JEE is a mess and well.. Sun loves to produce very very complicated specifications and loves to please the tool manufacturers (I have the feeling they don`t care a lot about programmers).
>
> What happened to the simplicity and grace of Java? I
> don't mean the language itself, but the philosophy
> and direction that it's headed. There are enough
> standards and spec docs out there for J2EE to make a
> grown man cry. None of that makes my life any
> easier... In fact there’s so much noise, it’s hard
> for me to pick out the music.
>
The problem is, that JEE is lack of very high level documentation.
Probably, I am wrong here, because I'm just fine with JEE.
Clearly, JEE is very easy. App Server, then JNDI umbrella, then goes Applications (.ear, .war) that require global resources regiestred in JNDI and also put there resources (EJB, whatever) in JNDI. In parallel - transactions, security. Thats it.
Everything else is just a details - what kind of resources could be, what kind of Applications could be, what kind of references to resources could be, what kind of blah-blah...
So, we just need Guru to write Good documentation, so newcomers can catch up.
> Sun loves to produce very very complicated specifications and loves to
> please the tool manufacturers (I have the feeling they don`t care a lot
> about programmers).
I don't think this is true, but I can totally understand how you get the impression. And there are definitely some specs that are overcomplicated balls of !#$*@ (a certain API for sending mail comes to mind...) and need attention.
A lot of the ongoing work in JEE-land is about
simplification
.
Ironically, one of the historical issues in Swing has been its *lack* of toolability, rather than hyper-attention to tool vendors - would that it were so (being a tool vendor) - the notion that a tool should reverse-engineer a GUI on the fly is a bad idea.
IMO, there really needs to be a discipline of
API Usability
that is taken as seriously as GUI usability. Lots of people can throw a set of interfaces together that works. Doing it in a way that other humans can understand it, work with it easily, that minimizes conceptual surface area, and at the same time, fulfils the requirements and maps back to what the computer will really have to do enough that it is implementable with good performance...this is a very hard problem, requiring some skills and knowledge from programming, performance, cognitive psych, linguistics and more. And it's an area where there's little training or guidance - everybody learns by making the same mistakes, over and over.
Tim Boudreau NetBeans.org
Evangelist/Senior Staff Engineer, Sun Microsystems
Take a look at the EJB 2 specifications. You can`t tell me that they didn`t know it was a nightmare for programmers. Finally solutions like XDoclet made it easier for developers, but you still have to drag along a lot of weight. EJB3 is a lot better, but how long did we have to wait? (EJB3 isn`t even final yet).
And I don`t say all api`s are bad, but there are enough bad ones. And if you only use the specification Sun created, simple things are extremely complex. Not everybody is creating clustered enterprise applications and for those developers, the current set of sun-tools isn`t going to cut it (if you want to make some profit).
[edit]
another example: webservices and Java. If I need a webservice, I just need to translate some remote service interface. But with the sun tools this is complex. If I use Axis this is peanuts (XFire should even be simpeler). Why can`t Sun make simple solutions to simple problems?
As you probably notice that .NET Framework is very much similar to JSE/JEE, the only thing that makes .NET easier to develop is the visual design tool (Visual Studio). Of course good design tool is good for those average programmers, but it's better to let the programmers understand how their programs work. How many VB programmer knows how their UI layout is being implemented? But as a Java developer, we're very likely to know our own UI layout like Border, Grid and etc and how we place them.
Visual Studio is Windows product, and Windows is Microsoft product, it isn't hard to understand that Microsoft can build any cool and easy tool on their own platform. But Java was designed for multiple platforms, if we require easy Java, we probably would have to learn "Java for Windows".
> This is my first time posting, so be gentle on me.
> ;)
>
> I know many here will be offended by some of my
> observations and personal opinions, but let's not get
> religious for a moment. I've worked with assembly,
> QBasic, Pascal, c, c++, Java, VB, c#, and even NAND
> gate logic programming, so I'm of no religion.
First i should mention that i made programs in almost every language you told + that i used ruby , scheme , tcl/tk .
I even write tutorials for delphi in time that delphi was the best. ;)so dont take my words as biased words.
> What happened to the simplicity and grace of Java? I
> don't mean the language itself, but the philosophy
> and direction that it's headed. There are enough
> standards and spec docs out there for J2EE to make a
> grown man cry. None of that makes my life any
> easier... In fact there’s so much noise, it’s hard
> for me to pick out the music.
You are right there ate hundreds of Spec and standards , but no one intended to learn all of them.you learn and use one wich you need.
for example you will not use Portal related spec until you want to build a portal system , nor JBI until you have legacy integration.
so you can stay with simple stuff until you need advanced features.
> Why
> should I spend 6 months on a Java project when I can
> cut that down to 4 in .Net?
be fair , if you know what to use and how to use a Java web application would not need longer time than a .net application.
for example : use JAG + Eclipse + my enterprise workbech , what more you need ? you have all pages + web services + DAO +... ?
> To you Java gurus out there, who probably can do the
> same task in Java in half the time I can in .Net,
> most of us commoners don’t want to spend all the
> effort in reading specs and catching up with the
> latest framework changes from xyz vendor. We just
> want to get the job done and send the invoice out in
> the shortest time possible. Unless a client
> specifically request Java/J2EE, there’s no reason to
> use it.
Come on man. you need to use latest framework and you need to know all frameworks and vendors if you are going to do a larg scale job with a team of +50 man.
do you knwo some one that for doing a web application (some database , multi lingual + almost dynamic)going to learn WS-* ,JBI , JCA ,JSR168,JSR170,JSR*,....
perhaps he/she will go with Struts or Spring as whole or buy a Creator license or use netbeans IDE which realy catch-ed up.
> Perhaps you all remember Wordperfect, Lotus123,
> Netscape etc. I wonder if Java will end up in that
> same list if this trend continues.
Wonderful , its about 5 years that people come and say that java is going to Museum , and i just see that java get more power , get more attention , new standards and enhancement come out ...
1. get a good IDE
2. get a good IDE
3. get a good IDE
I recently started with JEE, and they gave me a good IDE with JEE support.
The IDE did the basic stuff for me, then all I had to do was get an understanding of how it worked and cut-and-pasted examples from the JEE tutorial.
Most difficult was getting a grasp on the application server's proprietary deployment descriptor.
I worked with a guy who had mostly done C, and he kept complaining about the lack of a "main", see, he didn't know where to start hanging things into his brain in this new environment.
I do agree that there is an amazing lack of usability engineering, but that unfortunately seems endemic to the whole industry. Good tools that are usability engineered go a long way to help that.
True! Java 5 has become a bit complicated and difficult. I entirely agree with the poster's observation on AXIS for webservice. It is so simple and elegant.
However, ASP.net is NOT the correct solution for really big enterprise applications. Though it may seem that XML WebService has obviated the need for EJB , I find it very slow. Secondly, there are no ORM tools like Hibernate in DotNet kitty. I suggest that we use Hibernate and Stateless ejb/mdb .It cannot be simpler,especially with JBoss.We can use Struts too in simplest mode.
Difficulties arise only when we try to customize.
I use command line and can do this in about an hour and so can the students here.
ASP.net is a good technology and soon we will improve JSF along the same lines.
Let us not despair.
RSR
> Visual Studio is Windows product, and Windows is
> Microsoft product, it isn't hard to understand that
> Microsoft can build any cool and easy tool on their
> own platform. But Java was designed for multiple
> platforms, if we require easy Java, we probably would
> have to learn "Java for Windows".
Sorry but the quality of a tools has nothing to do with the OS it runs on.
And as far as tools, I am sorry but VisualStudio is nothing compare to JBuilder for example.
.Net is a pale copy of EJB and they are both awful.
They are an invention by tool builders (IBM specs) to get you dependant on them. They are weak at best, fat and do not really save time.
I frankly do not understand people using those tools.
Of course they are mainly forced by their companies.
You're comparing Visual Stuidio.Net to Java and J2EE specs and that makes no sense at all.
In my own opinion, part of the problem is that most J2EE related books teach you to build applications with primitive tools implementing the specs by hand. While it's nice to know the specs inside and out it's really no longer necessary to do things this way.
Pick a Java IDE that does what you need and don't worry so much about the specs if they really bother you this much.
Frustration drove me to post this
At 1:44 AM on Oct 7, 2005, Laggie wrote:
Fresh Jobs for Developers Post a job opportunity
I know many here will be offended by some of my observations and personal opinions, but let's not get religious for a moment. I've worked with assembly, QBasic, Pascal, c, c++, Java, VB, c#, and even NAND gate logic programming, so I'm of no religion.
I remember doing my first Java app in 1996 and how I loved it compared to c++. Many hardcore c++ guys kept telling me how you can do the same thing with smart pointers, and how java is too slow, etc. My reaction was, if it's easier to use, people will switch over to the path of least resistance. I don't double that c++ will be with us for a LONG time to come, but no one in their right mind, in this day and age, would want to write an Enterprise Web App with c++.
What happened to the simplicity and grace of Java? I don't mean the language itself, but the philosophy and direction that it's headed. There are enough standards and spec docs out there for J2EE to make a grown man cry. None of that makes my life any easier... In fact there’s so much noise, it’s hard for me to pick out the music.
It took me about a week to get up to speed on .Net and was able to create a fairly decent functional application with it. For those of you who are saying "Yeah, but you can do the exact same thing in Java! And it's portable." To that, I would say the same thing I said almost a decade ago; If it’s easier to use, people will switch over to the path of least resistance. Everything you can do in Java and .Net can be done in assembly, but why don’t we? Why should I spend 6 months on a Java project when I can cut that down to 4 in .Net?
I see the Java barrier to entry getting higher and higher as more and more spec changes and proprietary frameworks come out. A few years ago, I heard Javangelists say .Net is all vaporware and FUD, but it seems that these assumptions were proven wrong. To you Java gurus out there, who probably can do the same task in Java in half the time I can in .Net, most of us commoners don’t want to spend all the effort in reading specs and catching up with the latest framework changes from xyz vendor. We just want to get the job done and send the invoice out in the shortest time possible. Unless a client specifically request Java/J2EE, there’s no reason to use it.
Perhaps you all remember Wordperfect, Lotus123, Netscape etc. I wonder if Java will end up in that same list if this trend continues.
Java used to be fun, now it’s all clutter.
41 replies so far (
Post your own)
Re: Frustration drove me to post this
I had the same feeling when I started with JEE. It is large, it`s a mess, it feels complicated and it is complicated. Simple things are complex and complex things are impossible. I felt totally lost (I`m an experienced JSE programmer before I started with JEE). But I finally found Spring (http://www.springframework.org) and I finally got the control back I used to have when I used JSE. At the moment there are a few other libraries I use (Hibernate for example) but Spring helps me to solve my problems, to give me 110% control and helps me to produce good software.But I agree... JEE is a mess and well.. Sun loves to produce very very complicated specifications and loves to please the tool manufacturers (I have the feeling they don`t care a lot about programmers).
Re: Frustration drove me to post this
>> What happened to the simplicity and grace of Java? I
> don't mean the language itself, but the philosophy
> and direction that it's headed. There are enough
> standards and spec docs out there for J2EE to make a
> grown man cry. None of that makes my life any
> easier... In fact there’s so much noise, it’s hard
> for me to pick out the music.
>
The problem is, that JEE is lack of very high level documentation.
Probably, I am wrong here, because I'm just fine with JEE.
Clearly, JEE is very easy. App Server, then JNDI umbrella, then goes Applications (.ear, .war) that require global resources regiestred in JNDI and also put there resources (EJB, whatever) in JNDI. In parallel - transactions, security. Thats it.
Everything else is just a details - what kind of resources could be, what kind of Applications could be, what kind of references to resources could be, what kind of blah-blah...
So, we just need Guru to write Good documentation, so newcomers can catch up.
Re: Frustration drove me to post this
> Sun loves to produce very very complicated specifications and loves to> please the tool manufacturers (I have the feeling they don`t care a lot
> about programmers).
I don't think this is true, but I can totally understand how you get the impression. And there are definitely some specs that are overcomplicated balls of !#$*@ (a certain API for sending mail comes to mind...) and need attention.
A lot of the ongoing work in JEE-land is about simplification .
Ironically, one of the historical issues in Swing has been its *lack* of toolability, rather than hyper-attention to tool vendors - would that it were so (being a tool vendor) - the notion that a tool should reverse-engineer a GUI on the fly is a bad idea.
IMO, there really needs to be a discipline of API Usability that is taken as seriously as GUI usability. Lots of people can throw a set of interfaces together that works. Doing it in a way that other humans can understand it, work with it easily, that minimizes conceptual surface area, and at the same time, fulfils the requirements and maps back to what the computer will really have to do enough that it is implementable with good performance...this is a very hard problem, requiring some skills and knowledge from programming, performance, cognitive psych, linguistics and more. And it's an area where there's little training or guidance - everybody learns by making the same mistakes, over and over.
NetBeans.org
Evangelist/Senior Staff Engineer, Sun Microsystems
Re: Frustration drove me to post this
Take a look at the EJB 2 specifications. You can`t tell me that they didn`t know it was a nightmare for programmers. Finally solutions like XDoclet made it easier for developers, but you still have to drag along a lot of weight. EJB3 is a lot better, but how long did we have to wait? (EJB3 isn`t even final yet).And I don`t say all api`s are bad, but there are enough bad ones. And if you only use the specification Sun created, simple things are extremely complex. Not everybody is creating clustered enterprise applications and for those developers, the current set of sun-tools isn`t going to cut it (if you want to make some profit).
[edit]
another example: webservices and Java. If I need a webservice, I just need to translate some remote service interface. But with the sun tools this is complex. If I use Axis this is peanuts (XFire should even be simpeler). Why can`t Sun make simple solutions to simple problems?
Re: Frustration drove me to post this
As you probably notice that .NET Framework is very much similar to JSE/JEE, the only thing that makes .NET easier to develop is the visual design tool (Visual Studio). Of course good design tool is good for those average programmers, but it's better to let the programmers understand how their programs work. How many VB programmer knows how their UI layout is being implemented? But as a Java developer, we're very likely to know our own UI layout like Border, Grid and etc and how we place them.Visual Studio is Windows product, and Windows is Microsoft product, it isn't hard to understand that Microsoft can build any cool and easy tool on their own platform. But Java was designed for multiple platforms, if we require easy Java, we probably would have to learn "Java for Windows".
Re: Frustration drove me to post this
> This is my first time posting, so be gentle on me.> ;)
>
> I know many here will be offended by some of my
> observations and personal opinions, but let's not get
> religious for a moment. I've worked with assembly,
> QBasic, Pascal, c, c++, Java, VB, c#, and even NAND
> gate logic programming, so I'm of no religion.
First i should mention that i made programs in almost every language you told + that i used ruby , scheme , tcl/tk .
I even write tutorials for delphi in time that delphi was the best. ;)so dont take my words as biased words.
> What happened to the simplicity and grace of Java? I
> don't mean the language itself, but the philosophy
> and direction that it's headed. There are enough
> standards and spec docs out there for J2EE to make a
> grown man cry. None of that makes my life any
> easier... In fact there’s so much noise, it’s hard
> for me to pick out the music.
You are right there ate hundreds of Spec and standards , but no one intended to learn all of them.you learn and use one wich you need.
for example you will not use Portal related spec until you want to build a portal system , nor JBI until you have legacy integration.
so you can stay with simple stuff until you need advanced features.
> Why
> should I spend 6 months on a Java project when I can
> cut that down to 4 in .Net?
be fair , if you know what to use and how to use a Java web application would not need longer time than a .net application.
for example : use JAG + Eclipse + my enterprise workbech , what more you need ? you have all pages + web services + DAO +... ?
> To you Java gurus out there, who probably can do the
> same task in Java in half the time I can in .Net,
> most of us commoners don’t want to spend all the
> effort in reading specs and catching up with the
> latest framework changes from xyz vendor. We just
> want to get the job done and send the invoice out in
> the shortest time possible. Unless a client
> specifically request Java/J2EE, there’s no reason to
> use it.
Come on man. you need to use latest framework and you need to know all frameworks and vendors if you are going to do a larg scale job with a team of +50 man.
do you knwo some one that for doing a web application (some database , multi lingual + almost dynamic)going to learn WS-* ,JBI , JCA ,JSR168,JSR170,JSR*,....
perhaps he/she will go with Struts or Spring as whole or buy a Creator license or use netbeans IDE which realy catch-ed up.
> Perhaps you all remember Wordperfect, Lotus123,
> Netscape etc. I wonder if Java will end up in that
> same list if this trend continues.
Wonderful , its about 5 years that people come and say that java is going to Museum , and i just see that java get more power , get more attention , new standards and enhancement come out ...
Re: Frustration drove me to post this
1. get a good IDE2. get a good IDE
3. get a good IDE
I recently started with JEE, and they gave me a good IDE with JEE support.
The IDE did the basic stuff for me, then all I had to do was get an understanding of how it worked and cut-and-pasted examples from the JEE tutorial.
Most difficult was getting a grasp on the application server's proprietary deployment descriptor.
I worked with a guy who had mostly done C, and he kept complaining about the lack of a "main", see, he didn't know where to start hanging things into his brain in this new environment.
I do agree that there is an amazing lack of usability engineering, but that unfortunately seems endemic to the whole industry. Good tools that are usability engineered go a long way to help that.
Currently engaged in Weffo web architecture outline and the Flying Saucer xhtml and xml+css renderer
Re: Frustration drove me to post this
I suppose I should have added:4. Don't use J2EE unless you have to
But on that note, I loved the MessageDrivenBean and the transaction handling, so much crap I didn't have to bother about...
Currently engaged in Weffo web architecture outline and the Flying Saucer xhtml and xml+css renderer
Re: Frustration drove me to post this
I kind of agree.Except, be it .Net or EJB, I do not like both. Big fat, and not that useful.
I am more afraid of the language itself, annotation is a ridiculous concept, so is auto boxing/unboxing.
But simplicity and elegance seems totally forgotten.
Re: Frustration drove me to post this
So your basic saying; "have an awful base, and let the tools hide the mess". Sorry but it stinks.Re: Frustration drove me to post this
True! Java 5 has become a bit complicated and difficult. I entirely agree with the poster's observation on AXIS for webservice. It is so simple and elegant.However, ASP.net is NOT the correct solution for really big enterprise applications. Though it may seem that XML WebService has obviated the need for EJB , I find it very slow. Secondly, there are no ORM tools like Hibernate in DotNet kitty. I suggest that we use Hibernate and Stateless ejb/mdb .It cannot be simpler,especially with JBoss.We can use Struts too in simplest mode.
Difficulties arise only when we try to customize.
I use command line and can do this in about an hour and so can the students here.
ASP.net is a good technology and soon we will improve JSF along the same lines.
Let us not despair.
RSR
Re: Frustration drove me to post this
I am sorry but all those frameworks add more problems than solutions.As webapps are misadapted. True apps are by far better.
Connection to a network is fine. Using browsers for apps is ugly and innefficient.
As I am typing this, the focus do change on me as new things are popped into the page, ridiculous interface.
Also all the .Net and EJB abstraction does not simplify the problems, I think it is the reverse.
Simpler apps are much more flexible, and a gain on time and ressource in the end.
Re: Frustration drove me to post this
> Visual Studio is Windows product, and Windows is> Microsoft product, it isn't hard to understand that
> Microsoft can build any cool and easy tool on their
> own platform. But Java was designed for multiple
> platforms, if we require easy Java, we probably would
> have to learn "Java for Windows".
Sorry but the quality of a tools has nothing to do with the OS it runs on.
And as far as tools, I am sorry but VisualStudio is nothing compare to JBuilder for example.
.Net is a pale copy of EJB and they are both awful.
They are an invention by tool builders (IBM specs) to get you dependant on them. They are weak at best, fat and do not really save time.
I frankly do not understand people using those tools.
Of course they are mainly forced by their companies.
WebApps are like fastfood. Not good.
Re: Frustration drove me to post this
You're comparing Visual Stuidio.Net to Java and J2EE specs and that makes no sense at all.In my own opinion, part of the problem is that most J2EE related books teach you to build applications with primitive tools implementing the specs by hand. While it's nice to know the specs inside and out it's really no longer necessary to do things this way.
Pick a Java IDE that does what you need and don't worry so much about the specs if they really bother you this much.