On 7/11/2014 1:40 PM, H. S. Teoh via Digitalmars-d wrote:
On Fri, Jul 11, 2014 at 04:54:39PM +0000, Chris via Digitalmars-d wrote:
[...]
I remember Java used to be "theeee" best thing ever. After years of
using it, however, I found out how restricted the language was / is.
Still, it's been a success, because people believed all the
propaganda. What matters to me is not so much the odd fancy feature,
it's how well the language performs in general purpose programming.
[...]
I remember how I was skeptical of Java from day 1. Call me a cynic, but
everytime I hear something being overhyped, I immediately assign
whatever it is being hyped about as a second class product, and regard
it with suspicion.
I tend to be like that even for non-computer stuff too, viewing
whatever's popular with skepticism. Once in a while it'll backfire and
keep me away from something I later realize is actually pretty decent,
but I've found *usually* it serves me well. But then, my tastes tend to
be uncommon *anyway*, so maybe that's why it works for me ;)
Same goes with cloud computing, which, as Nick likes
to say, is just marketing propaganda for "the internet".
Yes!!
"Cloud" drives me crazy more than any other word! It's the hipster word
for "Internet", and it's EVERYWHERE.
When I finally got past the hype and tried out the language for myself,
I found the same thing you did: it's totally straitjacketed, and shoves
the OO idealogy down your throat even when it obviously doesn't fit. The
infamous long-winded "class MyLousyApp { public static void main(blah
blah blah) ... }" is a prime example of shoehorning something obviously
non-OO into an OO paradigm, just because we want to. Not to mention
Java's verbosity, which is only tolerable with IDE support -- total
fail, in my book. I mean, hello, we're talking about a *language*
intended for *humans* to communicate with the computer? If we need
*another* program to help us elucidate this communication, something's
gone very, very wrong with the language. A language that needs a machine
to help you write, is by definition a language for communication between
*machines*, not between humans and machines.
While I agree with all of that, there are two things I've always had to
give Java credit for: It's classes and module system are what originally
taught me that C/C++ aren't ideal and...umm...have some notable downsides...
That's not to say that Java, the language, (as opposed to the class
library or the marketing hype) isn't a pretty good language. In fact,
it's quite a beautiful language -- in the idealistic, ivory tower,
detached-from-real-life sense of being a perfect specimen suitable for a
museum piece. Its disconnect from the messy real world, unfortunately,
makes it rather painful to use in real-life.
Yea, that's one of the things that drew me to D. It came around saying
(quite literally) "pragmatic language design" at exactly the time I was
noticing how much of a pain ideology-driven and minimalist languages can be.