Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Why do languages always have to evolve? On average, do languages get better over time or do they deteriorate? I am sure that Java has deteriorated a lot.

Keep it simple, please!



Java was never simple. Scheme is simple, Smalltalk is simple, Java was always a beast.


Probably, but they still managed to make it far worse (generics, annotations, ...).


I'm much happier with jdk 1.5 than I was with 1.4 or 1.3 or 1.2 etc.... Not sure why you don't like the new additions. In general you don't have to use them if you don't want to.


Not sure why you don't like the new additions. In general you don't have to use them if you don't want to.

I don't really disagree with you. That said, it's a little bit of an opt-out, in the same sense that arguing that C++ is just as clean as C because "you can avoid all the ugly weird parts if you really try" is something of an opt-out. (I'm not trying to comment on the relative merits of C++ and C (edit: or, for that matter, on Java <1.5 vs. Java >=1.5), so much as on the relative levels of simplicity of the two languages, just to make certain that's clear).


I see that the poor implementation of generics is an issue, but what's so bad about annotations?


My main issue is that they add more complexity to the language, making it harder to learn and to understand. They also encourage even more verbosity in an already verbose language. Furthermore, the uses I have seen all seemed a bit borderline - they used to say that configuration should stay out of the code, but now it sneaked in again.


How else would you propose to make meta-information about code available at run time? Before annotations we had to put that information in separate configuration files. That ended up being more complex, and harder to learn and understand.


I only know it in the context of Hibernate, and there are ORM frameworks in languages that don't have annotations.

The separate config files had something going for them, because it keeps the concerns distinct.


Neah. Generics are useful. Not perfect, but useful. They also happen to be optional.

The language evolution has been good, but too slow.

Even the platform evolution has been good, they have (and perhaps still) set the standard for many types of libraries.

My main issue is the growth of the platform (to what, 200mb?). I would like a much tighter standard library. In an ideal world, Swing, XML parsing ... etc. should be seperate, deprecated items removed and old apis redone.


200MB? The latest JRE is only about 20MB. Those libraries consume very little space.


20 MB might just be the loader, though. I recently installed the JDK after a long pause and I was appalled at how unpleasant the process had become.


No, 20MB is the complete JSE runtime download including all libraries.


Not so much optional - I think in modern Java projects you will be expected to use them. Also, 3rd party code will use them and won't work with your code if you don't use them.

Anyway, it is all a matter of taste.


Yes, things used to be better. It's the decay of the youth.


No, but maybe featuritis is how languages die, to be replaced by newer, simpler languages.


Simplicity of use is what seems important, not necessarily simplicity of design. Though JavaScript is more complicated than C in the sense of having more features, those features generally result in source files that're more succinct and faster to write (since you don't have to, say, roll your own hashtables).


Sometimes, the newer, simpler languages are new versions of the older, more byzantine languages. I think that's basically the Perl 6 approach, for instance.

It's called "evolution", in some circles.


It's like sketching with pencil. Your first version is complicated and gets a lot wrong, with stray lines all about. The final one is cleaned up and simple, yet that simplicity is a direct result of that messy progenitor.


Like small-scheme. Problem solved.


s/languages/software/g


Lua started out as a configuration language in 1993 and since then has evolved into a more general purpose language that is cleaner, yet more flexible and powerful. It has gotten much better with time.

for more information, see: The Evolution of Lua - http://www.tecgraf.puc-rio.br/~lhf/ftp/doc/hopl.pdf




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: