4 ms·
Reasons why I stopped coding in Java: Set up 15 Eclipse plugins, download 23 jars, and then configure 57 XML files in order to write 'Hello, world'.
by pjlegato 11y ago
Reasons why I stopped coding in Java: Set up 15 Eclipse plugins, download 23 jars, and then configure 57 XML files in order to write 'Hello, world'.
- krapp 11y ago..and to think I spent a whole semester doing it in Sublime Text without any of that nonsense. I feel like a schmuck.
- edwinnathaniel 11y ago... 12 years ago ...
- icedchai 11y ago"Enterprise" Java (app servers, etc.) sucks but there are light weight alternatives (such as Dropwizard) that don't have the problems of 10+ years ago. There's no XML garbage and there's minimal boilerplate. And, as a bonus, with Java you get real threading, don't spend all day working around single threaded interpreter GILs or dealing with call back hell. You can actually use all the cores on those CPUs, in a single process if you want!
- lostcolony 11y agoAnd then you find out pjlegato switched to Elixir, where he gets lightweight libraries by default, real threading, no GILs, no callback hell, uses all the cores trivially, in a single process, -and- gets a concurrency model that doesn't suck, baked in distribution that doesn't suck, better VM introspection, fault tolerance second to none, tail call optimization, soft real time performance, higher order functions, and glorious, glorious pattern matching. Or maybe not, but just sayin', you're making assumptions in trying to defend Java there. It's enough to say "You don't have to write Java that way", and then find reasons why Java stands on its own ("It's the lingua franca of software development", and related, is the best I can come up with, but eh), rather than attacking a strawman by assuming what traits the language(s) he switched to are and comparing Java against those.
- didibus 11y agoI think pjlegato switched to Clojure, where you get pretty much everything you mentioned there too. At least looking at his github commits.
- lostcolony 11y agoThere ya go then. Though, Clojure doesn't have most of those additional things I listed either, as most of them are requirements of the VM rather than the language (it does, however, have a slew of other things that make it awesome, and it has the language level features I mentioned)
- pjlegato 11y agoYep, this. I <3 Clojure! Lein is one of the simplest and sanest build tools I've ever used.
- spajus 11y agoI thought the same until I actually tried working on big projects with other, simpler languages. Threading can be replaced with process forking in those GIL languages, and everyting else is just so much better. 4 years after ditching java I will never ever want to write code in it again.
- deleted 11y ago[deleted]
- unscaled 11y agoThe world has a few other languages besides Java, Python and Ruby. Not every language has a GIL, and its the damn 2010s and we've got other concurrency models worth trying beside the 90's staple of mutex-littered multithreaded apps or callback hell.
- icedchai 11y agoThis is true. However I am mainly concerned with languages that actually have developers I can easily find locally.
- mattbillenstein 11y agohttps://twitter.com/mattbillenstein/status/661675516273946626 https://twitter.com/mattbillenstein/status/66167551627394662...
- puzz 11y agoMy latest Java project is cca 70,000 lines of code. 1 XML file (because the first developer didn't know about spring annotations). No need for eclipse plugins, in IntelliJ I install only two: vim-plugin and lombook. I'm not saying the Java world isn't too complicated (it is) but if you know all the possible problems -- you can keep it sane. Nowadays, I'm moving slowly to golang. But I don't think I will stop programming in Java. I still think it is a nice language, but if you inherit a project from a "enterprise Java developer" who thinks in EJBs, then just run away :).
- RyanHamilton 11y agoI've written a tool specifically for java snippets http://jpad.io/ http://jpad.io/, hello world is demonstrated right in the first image :) For small pieces of code I am aiming to remove the cruft of imports / public static void main....blah blah.