by mliezun on 6/26/22, 5:50 PM with 123 comments
by goto11 on 6/26/22, 7:34 PM
> I've never written a Java program, never more than glanced over reference books about it, but I have a hunch that it won't be a very successful language.
Given that Java became spectacularly successful and still is, the question is why the author turned out to be so wrong? My guess would be that the author thinks the people he know (apparently all extremely competent "hackers" with great taste) is the kind of people who decide what becomes popular in the industry at large. We all live in our own bubbles.
I think the bubble of the author becomes apparent when he mentions Perl positively compared to Java. Sure, Perl is fun, edgy, powerful in weird ways, the opposite of Java in any way. But if I had to maintain complex code written by someone else, I would far prefer to maintain Java to Perl. I suspect the author is the kind of developer which never have to maintain code written by other programmers.
by hintymad on 6/26/22, 7:11 PM
1. IDE. When Eclipse was released back in the early 2000's, it was an amazingly productive tool. Refactoring is a one or two keystrokes away. Java's simple yet mostly sufficient type system allows us to jump around definitions, references, usages, and declarations easily. The built-in compiler of Eclipse allows really accurate auto completions. I could easily learn a new code base by walking through the code with a debugger while jumping around the source code by semantics.
2. Standards. First its servlet, but soon web containers. Even in its early days, such standard made it much easier to write web applications. Engineers just needed to remember a few simple rules before producing concurrent web services.
3. JVM and all the toolchains. All the jconsole, jstack, jmap, gc logs, etc and etc. They may be norm now, but when they were productivity boosters when they first came out.
4. Java's standard libraries, especially the concurrency libraries. All those containers and high-level synchronizers are so much easier than the vanila mutex. This is something I don't quite understand about the Go community: why are people fine with using Mutex everywhere?
5. All kinds of JSRs, such as JAX-RS. You may hate them personally and passionately, but they do provide easy enough APIs and most importantly a standard for all kinds of frameworks to support. A Java programmer can easily switch from one framework to another without much learning curve.
by spacemanmatt on 6/26/22, 6:25 PM
by metadat on 6/26/22, 6:41 PM
The approach he took in forming the opinion comes across as quite arrogant and error-prone.
by marcodiego on 6/26/22, 6:58 PM
This comment didn't age well.
by rfiat on 6/26/22, 6:32 PM
I find this interesting because it's the first heuristic I use to judge anything new, technical or otherwise (e.g. TV shows or games). Did someone pay to put it in front of me?
It turns out to be a mostly true assumption that you'll hear about good things organically.
by rootlocus on 6/26/22, 6:28 PM
by dang on 6/27/22, 4:32 AM
Java's Cover - https://news.ycombinator.com/item?id=21558053 - Nov 2019 (21 comments)
Java's Cover (2001) - https://news.ycombinator.com/item?id=10761400 - Dec 2015 (40 comments)
Java's Cover (April 2001) - https://news.ycombinator.com/item?id=4504375 - Sept 2012 (180 comments)
JAVA's Cover - https://news.ycombinator.com/item?id=3837711 - April 2012 (2 comments)
Java's cover (2001) - https://news.ycombinator.com/item?id=1182743 - March 2010 (2 comments)
by MrBuddyCasino on 6/27/22, 6:22 AM
Every LISP codebase is different, the language is famous for making your own „DSL“s. Every Spring Boot codebase is similar. One of those approaches doesn’t scale in terms of collaborators.
by mattgreenrocks on 6/26/22, 6:26 PM
by mgl on 6/26/22, 6:16 PM
Not sure choosing the “wrong” programming language can kill a startup just like the lack of traction and sales.
by abetusk on 6/26/22, 7:43 PM
""" ...
7. It's bureaucratic. ...
...
9. It's designed for large organizations. ...
...
10. The wrong people like it. ...
...
"""
These might all be shades of the same underlying cause but, for me, this is exactly why Java has "failed" in many domains and "succeeded" in others. Precisely because it was marketed as boring technology that large organizations could use is the roots of it's success in business domains and it's failure in "hacker" domains.
Daniel Sockwell had a talk about the "Ideal Language for Writing Free Software" [0] and many of the points are mirrored about what makes a language well suited to an individual maintainer of a FOSS project that allow them to use its high skill ceiling and the programmers deep knowledge of the language are the things that business interests select against to allow for programmer fungibility.
by cpurdy on 6/27/22, 3:31 AM
Paul Graham is a great writer, and a horrible technologist.
by millerm on 6/27/22, 12:07 PM
by PaulHoule on 6/26/22, 5:56 PM
by znpy on 6/27/22, 9:39 AM
huh, that's a big statement.
I used to love java... I could write pretty much anything with it.
Websites? sure, there's a ton of stuff for that.
Command line programs? that's the basic.
GUI programs? pick between awt, swing and swt... and there was qt-jambi too!
server programs? no problem.
mobile apps? J2ME is nice!
That was ~15 years ago... to say no one loved it seems a bit dumb, frankly.
by zcw100 on 6/27/22, 11:03 AM
by EdwardDiego on 6/27/22, 1:57 PM
by FpUser on 6/26/22, 7:10 PM
Myself I do not like Java at all. But I like this article even less.
by rr808 on 6/26/22, 6:32 PM