Java Forum / General / July 2007
Do you think Java is getting more and more complex?
howa - 23 Jun 2007 11:59 GMT a little sad feeling that Java is now becoming more and more complex, difficult to learn and slow to develope...just like in 90s, people have these feelings on C/C++...
stefanomnn - 23 Jun 2007 12:31 GMT > a little sad feeling that Java is now becoming more and more complex, > difficult to learn and slow to develope...just like in 90s, people > have these feelings on C/C++... of course java is evolved, new functions are added in new version: template class, annotiations, class boxing of primitive types... but C+ + is always more complex! java has not pointers, you don't have two notations "." and "->", you don't have destroy objects, exception handling is more simplex; java is avoid from overflow error, and at the end there is more documentation!
Lew - 23 Jun 2007 13:50 GMT > a little sad feeling that Java is now becoming more and more complex, > difficult to learn and slow to develope...just like in 90s, people > have these feelings on C/C++... Awwww. Can I get you a tissue?
 Signature Lew
Matt Humphrey - 23 Jun 2007 15:43 GMT |a little sad feeling that Java is now becoming more and more complex, | difficult to learn and slow to develope...just like in 90s, people | have these feelings on C/C++... I don't find Java as a language to be much more complex for its evolution, but I do find it being used to build systems and architectures that are much more complex than those from 10 years ago. Generally I think that's a good thing.
Matt Humphrey matth@ivizNOSPAM.com http://www.iviz.com/
howa - 23 Jun 2007 17:12 GMT > I don't find Java as a language to be much more complex for its evolution, > but I do find it being used to build systems and architectures that are much > more complex than those from 10 years ago. Generally I think that's a good > thing. a funny but true Ads by IBM
try {
installTomcat(); integrateAxis(); addSecurity(); throwInMessaging(); } catch (TooComplicatedException e) {
...}
bencoe@gmail.com - 23 Jun 2007 20:27 GMT > a little sad feeling that Java is now becoming more and more complex, > difficult to learn and slow to develope...just like in 90s, people > have these feelings on C/C++... You don't have to use fancy pants new libraries.
class worlds_smallest_violin{ private boolean play=false; private String song=""; public worlds_smallest_violin(String song){ this.song=song; }
public void play(){ System.out.println("I'm playing the "+song); }
public static void main(String args[]){ worlds_smallest_violin wsv=new worlds_smallest_violin("World's Saddest Song."); wsv.play(); } }
I mean you can still get a simple hello world program up and going that easily,
Ben.
Lew - 29 Jun 2007 05:30 GMT > class worlds_smallest_violin{ > private boolean play=false; > private String song=""; > public worlds_smallest_violin(String song){ > this.song=song; > } Why do you initialize variable 'song' twice? (Actually, it's three times, isn't it? but I am not counting the implicit initialization to null before the constructor runs.)
 Signature Lew
Karl Uppiano - 23 Jun 2007 20:49 GMT >a little sad feeling that Java is now becoming more and more complex, > difficult to learn and slow to develope...just like in 90s, people > have these feelings on C/C++... Most of the stuff added to Java was added by popular demand, to support more complex applications. I think it is inevitable. Most of the stuff that was there in version 1.1 is still there, and no easier or harder to use than it was originally.
I don't think Java is slower to develop than it ever was, but if the language or libraries don't have a feature you need to implement your application, it can be forever to develop. You could always go to JNI, but then you are asking for portability problems.
~Glynne - 23 Jun 2007 23:39 GMT > a little sad feeling that Java is now becoming more and more complex, > difficult to learn and slow to develope...just like in 90s, people > have these feelings on C/C++... I completely agree. It's almost like a children's story. Once upon a time....
When C++ began to fall out of favor, the C++ programming herd migrated to Java (mainly to keep their resumes up to date and avoid unemployment). After arriving at Java, they discovered to their horror that their favorite paradigms (multiple inheritance, generics/ templates, etc) were missing.
Ignoring the fact that these were the very same paradigms that had morphed a perfectly sane and simple language, C, into the steaming pile of complexity that is C++. Ignoring the fact that there was a community of non-C++ programmers already using Java who were quite happy with it. The herd was disgruntled.
So the herd bitched and moaned and somehow convinced Sun to ignore hundreds of truly useful enhancements on its Bug Parade, and focus their engineering efforts on producing Java 1.5 with Generics.
In the end, the herd won't be satisfied until they've morphed Java into a language that is as ugly and hard to parse (by man or machine) as their beloved C++. At that point, Java++ or whatever it's called, will start to fall out of favor due to its crippling complexity, high maintenance costs, and unreadability.
Then it will be time for the herd to move on to the next up-and-coming language.
~Glynne
Karl Uppiano - 24 Jun 2007 02:47 GMT >> a little sad feeling that Java is now becoming more and more complex, >> difficult to learn and slow to develope...just like in 90s, people [quoted text clipped - 8 lines] > horror that their favorite paradigms (multiple inheritance, generics/ > templates, etc) were missing. I agree that C++ was getting pretty ugly, and needlessly so.
> Ignoring the fact that these were the very same paradigms that had > morphed a perfectly sane and simple language, C, into the steaming > pile of complexity that is C++. Ignoring the fact that there was a > community of non-C++ programmers already using Java who were quite > happy with it. The herd was disgruntled. At least Sun has not bent over and produced a preprocessor. I hope I never see another #ifdef for as long as I shall live.
> So the herd bitched and moaned and somehow convinced Sun to ignore > hundreds of truly useful enhancements on its Bug Parade, and focus > their engineering efforts on producing Java 1.5 with Generics. Well, I think generics are actually a useful addition. I think you would agree, improved type safety is a positive enhancement. Enhanced for loops, autoboxing, typesafe enums, all improve readability and realiability.
Varargs, static import, annotations were, I believe, all added to provide parity with Microsoft's C#. I'm not a Microsoft-basher, but they do seem to have a way of driving ugliness into a language.
> In the end, the herd won't be satisfied until they've morphed Java > into a language that is as ugly and hard to parse (by man or machine) > as their beloved C++. At that point, Java++ or whatever it's called, > will start to fall out of favor due to its crippling complexity, high > maintenance costs, and unreadability. Except for the rather short list of language enhancements, most of the enhancements come in the form of class libraries, such as concurrency, which does help with the rare but important class of synchronization problems that the built-in synchronization just doesn't address adequately. Some of the other enhancements, such as NIO, are incredibly useful for massively scalable server applications.
> Then it will be time for the herd to move on to the next up-and-coming > language. Yeah, we'll have to drag the next immature language kicking and screaming into the real world of problem solving, where things are often less than utopian.
~kurt - 24 Jun 2007 04:44 GMT > So the herd bitched and moaned and somehow convinced Sun to ignore > hundreds of truly useful enhancements on its Bug Parade, and focus > their engineering efforts on producing Java 1.5 with Generics. A more realistic reason is Sun doesn't want to lose potential Java work to C#. People don't care about platform independence - hell, websites are not even platform independent now days. People will choose the language that is perceived to be more powerful. Sun understands this.
Generics is probably a good thing, although I believe it can also easily be abused. After getting a handle on it, I at first had a hammer, and started looking for nails. In the end, I've only used them for type checking ArrayLists, which is probably what they should be used for most of the time.
All I can say about enums - it is about time....
- Kurt
Roedy Green - 24 Jun 2007 03:17 GMT >a little sad feeling that Java is now becoming more and more complex, >difficult to learn and slow to develope...just like in 90s, people >have these feelings on C/C++... I don't think so. There is more of it, but that is canned stuff you used to have to roll your own for. You are better off. You can still roll your own, or you can use a canned library maintained and debugged and tested by others.
Genericity is hare-brained and reeks of eau de kludge. This may just be innate to the problem, but I would hope the universe is not so ugly. Surely there was a simpler way. see http://mindprod.com/jgloss/generics.html
enums greatly simplify code.
There is a little more to learn, but once you do, code is much easier to write.
Also IDEs such as IntelliJ have kicked up development a notch. Programming is so much less tedious than it used to be when you can create all your getters and setters with a keyclick or refactor out a method, or globally rename, or simply find out where something is defined. -- Roedy Green Canadian Mind Products The Java Glossary http://mindprod.com
Matthias Buelow - 30 Jun 2007 20:28 GMT > Also IDEs such as IntelliJ have kicked up development a notch. > Programming is so much less tedious than it used to be when you can > create all your getters and setters with a keyclick or refactor out a > method, or globally rename, or simply find out where something is > defined. If people were actually programming intelligently instead of throwing together code with their brains switched off, such things would not be necessary.
Roedy Green - 30 Jun 2007 22:32 GMT >> Also IDEs such as IntelliJ have kicked up development a notch. >> Programming is so much less tedious than it used to be when you can [quoted text clipped - 5 lines] >together code with their brains switched off, such things would not be >necessary. I disagree. Even the best programmers get smarter over time and figure out better ways to do things. Requirements gradually change. You have to continually refactor to keep the code clean. The easier tools make such renaming and refactoring the cleaner your code will be.
My code is much cleaner now I have IntelliJ. -- Roedy Green Canadian Mind Products The Java Glossary http://mindprod.com
~kurt - 01 Jul 2007 04:02 GMT > I disagree. Even the best programmers get smarter over time and > figure out better ways to do things. Requirements gradually change. > You have to continually refactor to keep the code clean. The easier > tools make such renaming and refactoring the cleaner your code will > be. Well, for writing code, I much prefer a bunch of terminal windows, a vi clone, and /usr/bin/.
I like IDEs just for debugging. I don't seem to have to use the debugger nearly as much with Java compared to other languages though.
- Kurt
frustratedprogrammer@gmail.com - 01 Jul 2007 00:00 GMT > a little sad feeling that Java is now becoming more and more complex, > difficult to learn and slow to develope...just like in 90s, people > have these feelings on C/C++... Although Java itself has got more complicated I think most of the frustration comes from numerous frameworks that Java developers need to be across these days. For a web development you have got Spring, Struts, Hibernate, JSF etc. They are all very powerful but often overkill for smaller projects and they go out of date so rapidly.
----- f.p.
frustratedprogrammer@gmail.com
http://frustrationsofaprogrammer.blogspot.com
Arne Vajhøj - 01 Jul 2007 02:30 GMT > a little sad feeling that Java is now becoming more and more complex, > difficult to learn and slow to develope...just like in 90s, people > have these feelings on C/C++... C++ was rather complex from the beginning, but there are other examples of languages becoming much more complex over time.
The API has grown a lot. And in 1.5 they enhanced the language itself - and are planning to do the same in 1.7.
There seems to be a philosophy that if .NET has it then Java needs it too.
I am a bit worried, because I liked the KISS concept in Java.
Arne
~kurt - 01 Jul 2007 03:59 GMT > There seems to be a philosophy that if .NET has it then Java > needs it too. Bingo.
- Kurt
Free MagazinesGet these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...
|
|
|