Java sucks (1997)
jwz.org
jwz.org
Does Java have lexically scoped functions now? Macros? Inlined functions?
Does Java have closures now?
:keywords?
CLOS-style multi-dispatch?
It's not like there weren't languages out there, that certain co-authors of the Java spec did their PhD and postdoctoral work on, that implemented all of these features...
similarly, I think every single PG essay has been posted multiple times.
maybe it would be nice to have some sort of warning that the "news" item you want to submit has already been submitted?
Also, sometimes there's problems when 2 different URLs point to the same article.
When I first started with Java years ago, one of the things that made it appealing to learn a new language was the fact that it came with a box of toys (such as easily-constructed graphics contexts, UI elements, and threads). In the days of Java 1.0, it was probably the quickest way to get fairly sophisticated things up and running, so that power made it all worth learning. Had it just been some research language with no libraries or JVM, I probably would've said "great, but...what can I do with it, nothing!".
In my case, this still came full circle; I eventually decided I really hated Java for any serious programming. I never choose to use Java for anything these days, I only put up with it if I'm maintaining something that is already Java-based.
With many other languages Unicode is some afterthought. Ever tried Unicode things in php? It's horrible.
Having all strings as Unicode is fantastic. If you're dealing with something else and can't afford the memory, then sure - roll your own with byte[] arrays. Not a big deal.
And if adding mb_ is too much trouble use mbstring.func_overload.
UTF-8 only of course. All the other encodings should never be used anywhere. With UTF-8 the majority of the time you can use regular functions - for example trim() works just fine on a UTF-8 string.
UTF-8 is great in terms of size, but terrible in terms of speed.
I'd also be curious to see data about what % of the characters in all the strings in a typical Java program aren't in 7-bit ASCII. I wouldn't be surprised if 7-bit ASCII characters are a large majority of the total, which makes the case for UTF-16 less compelling.
In an ideal world, I'd love to see a pared down version of Java's syntax matched with a better-optimized version of GCJ - the readability of Java combined with the speed of native bytecode would be a godsend.
Deleted comment
Unfortunately, being smart and knowledgeable isn't enough to build a good language. A language has to "fit together" in a way that just can't be forced. This is why Java, whose design is pretty intelligent, is absolutely miserable to work in; while Perl, whose design is random and crufty by comparison, can be easy to work in and highly productive.
Scrolled to the bottom, found that line and thought the article doesn't worth my time :)