Do you think Java is getting more and more complex?

H

howa

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++...
 
S

stefanomnn

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!
 
L

Lew

howa said:
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?
 
M

Matt Humphrey

|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 (e-mail address removed) http://www.iviz.com/
 
H

howa

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) {

....}
 
B

bencoe

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.
 
K

Karl Uppiano

howa said:
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.
 
G

~Glynne

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
 
K

Karl Uppiano

~Glynne said:
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.

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.
 
R

Roedy Green

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.
 
K

~kurt

~Glynne said:
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
 
L

Lew

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.)
 
M

Matthias Buelow

Roedy said:
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.
 
R

Roedy Green

If people were actually programming intelligently instead of throwing
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.
 
F

frustratedprogrammer

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.

(e-mail address removed)

http://frustrationsofaprogrammer.blogspot.com
 
G

Guest

howa said:
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
 
K

~kurt

Roedy Green said:
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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top