3 ms·
> Java is disliked on HN because it represent "enterprise" - big long-lived organizations which maintain a codebases for decades and therefore conservative I w
by js8 5y ago
> Java is disliked on HN because it represent "enterprise" - big long-lived organizations which maintain a codebases for decades and therefore conservative
I work on mainframes and dislike Java. Conservatism is not a problem, my problem is I perceive lot of Java people being pretty smug, and they are just because Java is #1. (And I also worked in C#, so I know the difference. Java itself is not the thing that makes people smug about it, it's the position on the popularity ladder.)
I mean, if your approach is, we use this old and tested language, it has many warts, but works for us.. good.
If you go, well, we use this language, because it's #1, and therefore it's clearly the best in the world.. no, thanks. I know Forth and Lisp and Haskell, and I know the world out there, which you don't, so I know for a fact there are innovations that didn't make it to Java yet, or pretty badly.
To me, humility in programming is (partly) don't think your tool is the best just because it's the most popular one at the moment.
Finally, this perception of Java is changing (it is being slowly dethroned by Python and JS and other contenders), and with that will come more pragmatism (less of crazy OOP and patterns cargo cults), which will actually make it more likable in the future.
- saagarjha 5y agoI actually see Java looking at itself and realizing where it need to catch up to other languages these days. As someone who grew up with Java 5/6/7, the current pace seems breakneck with much-welcomed improvements.
- amarant 5y agoAgreed! Most of my professional experience is in Java, and the biggest issue I've experienced in the java community is precisely this lack of humility. Usually that comes in the form of people believing that Spring is the best framework for java backend development, regardless of your needs, because it's the biggest, most popular framework. Arguments do not work on these people, at all, they start countering technical arguments with "I work at BigTech Inc. and we use Spring, so clearly you don't know what you're talking about" Java as a language does have problems, but if you use it right, it can be pretty nice to work with. The verbosity issue is kind of a double edged sword, on the one hand there's lots of typing, on the other hand, I find it (the verbosity) can help make code very readable and easy to understand, at least if well written.
- TheOtherHobbes 5y agoThe original argument that developers who look down on Java lack humility is not disproved by the counter-argument that Java developers also lack humility. The common factor is developers lacking humility and comforting themselves with Tribal Tool-ism. The tools are not the issue - the attitude around them is. It's more of an anthropological and political problem than a technological issue. Of course there is no one ultimate definitive best language, and there may not even be a definitive ultimate best language for specific kinds of problems. But the anthropology around Tool-ism is fascinating, and under-researched. And it's very relevant to the real-world effectiveness of CS, because irrational professional beliefs in both tooling and management can have very harmful and expensive real-world consequences.
- Jenk 5y agoWeirdly my perception of Java (and C#) is actually a bit of what you describe, but often a lot more one of drifters who know/care just enough to get a salary and continue to drag their bad legacy habits and patterns with them from role to role. The more esoteric a language is, I find the more _passion_ the average developer has for that language, it's libraries, and tooling. Now I'm not saying the passionate Java and/or C# devs don't exist - they certainly do, C# is my bread-and-butter and I like to think I still have a flicker of passion for my work - only that there is a vast ocean of driftwood developers making it more difficult to find the sharks. Haskell (my perception of), for example, has demonstrated some of the strongest devoted (to themselves _and_ Haskell) developers I'm yet to meet. That market is just nothing but developers who love their toolset and just want to write and learn amazing code.
- roenxi 5y ago> The more esoteric a language is, I find the more _passion_ the average developer has for that language, it's libraries, and tooling. If they weren't passionate, why use an esoteric language? If you want an easy time, something mainstream will be easier. It isn't like anything is actually impossible to implement in C; there are just trade offs in number of bugs and time to implement. Both of which are minor impediments vs algorithm and program architecture. Anything newer than C is just bonus modern features.
- Jenk 5y ago> If they weren't passionate, why use an esoteric language? Because it is kitsch. Ruby suffered this fate in the mid 00s IMHO. It gained a lot of traction because of Rails and suddenly the recruitment space is flooded with hacks and bootcampers.
- 0xEFF 5y ago> That market is just nothing but developers who love their toolset and just want to write and learn amazing code. The risk with this type of developer is they often prioritize their toolset and amazing code over the actual businesses needs. I’ve seen it lead to the wrong tool being used for the job. A couple years later when these devs move on the business has a harder time maintaining the code they leave behind. There are always drifters to be hired, which has some value.
- deleted 5y ago[deleted]
- 0xbadcafebee 5y agoMany IT workers are smug. Programmers, network admins, DBAs, sysadmins, architects. They all think they know something that other people don't (which is sometimes true!) and then transmute that feeling into a sense of superiority, which funnily enough ends up limiting them. All programming languages are garbage to me now. Even my favorite languages. Most systems, networks, databases, are garbage to me. Frameworks, architectures, patterns, paradigms, protocols, standards, conventions..... all garbage. I now see the whole system as like a municipal waste treatment plant. If we work really hard, the highest thing we can aspire to is to prevent waves of unprocessed shit from exploding out a release valve into a nearby stream. Our work should be unglamorous and practical, because ultimately someone's going to have to drink our water, and making sure it doesn't have shit in it should be our highest priority.
- denton-scratch 5y ago"waves of unprocessed shit" I totally agree. I also agree that the disputes about language choices is tribalisitic. There's nothing wrong in principle with Java. But Java nuts do love creating factory-factory-factories. Layer upon layer of abstractions really doesn't confer simplicity. Most recently, I've been a PHP developer. It's objectively an awful language, that has grown by accretion, and was never designed. But it's quick to write, reasonably easy to read, and there's pretty good documentation online, and a million tons of chunks of example code. So my choice of language is essentially tribal; the details of the language aren't really important, as long as it's not getting in the way. It's the kinds of people that use the language that matters to me. Java's reputation as a corporate language is well-deserved; and (with exceptions) the type of people that use it seem to be corporate drones, that don't mind spending a week writing a factory-factory-factory that nobody needs.
- NortySpock 5y agoIt does, at least, mean that (most of) our work is honorable and honest: keep shit out of the drinking water, keep the lights on, provide data products to businesses or people in or people for them to make informed decisions about the (business) world around them.