3 ms·
A programming language is one of the more important tools as a software developer. Having to use a suboptimal tool is neither productive nor fun. You can't alwa
by valenterry 5y ago
A programming language is one of the more important tools as a software developer. Having to use a suboptimal tool is neither productive nor fun. You can't always have the latest tool of course, but Java is quite outdated in many regards (even though starting to catch up a bit recently).
I think it has nothing to do with being "enterprise".
- pulse7 5y agoGeneral statements like "...Java is quite outdated in many regards..." without providing any specifics are a sign of mentioned tribalism. Such general statements don't bring quality to the discussion, because nobody can really check whether Java is really so outdated or not.
- valenterry 5y agoI replied specifically to > Java is disliked on HN because it represent "enterprise" which I think is not true. Maybe for some people, but there is valid criticism too. I am happy to give examples, but I am disappointed that you call my response "tribalism". It really is not meant like that.
- pulse7 5y agoIf I personally dislike XYZ I could write "XYZ is quite [outdated/boring/miserable/painful/awful/uncreative] in many regards". But people here are more interested in (specific) advantages and disadvantages than my personal taste...
- seba_dos1 5y agoAs a person who has learned and used several programming languages (not exceptionally many, but enough to be able to start new projects with "hmm, so which language I already know will be the best for this"), I have never taken these language wars seriously. It's actually kinda surprising to me that some people apparently do. Do they take vim vs. Emacs holy wars the same way? I mean, plenty of arguments used in those wars are perfectly reasonable. PHP isn't elegant. Java is verbose. C++ is overcomplicated beyond salvation. JavaScript is shit. Those are all facts ;) However, they still can and often are the best choices for a given project. Is PHP pleasant to write in and think about? Heck no, but deploying it is exceptionally easy and sometimes that's much more important. I wouldn't ever think of using JavaScript as an example of good language design, but it accidentally turned out to be flexible enough to become the lingua franca of the Web and is here to stay. No amount of drooling over Rust will change the fact that you're going to have a hard time with it on some platforms where having a proper C++ toolchain available is ubiquitous. And sometimes the way Java code use to be structured is exactly the perfect fit for a project you're working on to ensure its long-term maintainability despite of the fact that people who work on it come and go in your startup all the time (so having access to a healthy pool of Java developers to hire from who's pretty much already familiar with your project despite of never seeing it before is a huge advantage). If those tools really were "suboptimal" they wouldn't exist anymore. They do, because they aren't - if anything, they may be poorly chosen to do a specific job.
- valenterry 5y agoI think "language wars" is exaggerated a bit. Yeah, maybe some people see it as a "war", but for me it's just about tooling. When I say "gas-powered cars are outdated in many regards" then I just mean that they e.g. don't accelerate as fast and are noisier. Some people make a war out of that though, that's true. I agree with everything you said. > If those tools really were "suboptimal" they wouldn't exist anymore A tool (such as a language) can certainly be suboptimal on its own but still be productive because of the package of the language, the ecosystem, the knowledge that people have etc. My point is, even if Java would offer the best package, it is still valid to criticise the shortcomings of the language and dislike this part of the package. It doesn't have to be "hate because of enterprise".
- ratww 5y agoI'm not personally a Java fan, but "java is quite outdated" is a quite outdated statement itself. Sure, it's not as fast to add stuff as C#, and also surely anyone looking for a fight can nitpick, but it has most modern features you'd expect a modern language to have.
- valenterry 5y agoI acknowledge that it improved recently and I'm not saying it is a bad language. But it is missing a lot of features and convenience that the majority of newer language add. Java prefers to put a lot of emphasis on compatibility, which also has its merits. But the language itself (not ecosystem/tooling) is outdated in many areas. I stand by that.
- tored 5y agoMost important tool is the programmer. Suboptimal programmers are worse than suboptimal tools, because suboptimal programmers create suboptimal tools.