Live data from Hacker News

Should I Learn Java in 2018

e4developer.com

61–70 of 165 posts

Re: Should I Learn Java in 2018

#61
There are plenty of reasons to learn a language - but Java in particular is a great learning tool. Whilst I don't enjoy developing in it (or its derivatives), I think that it's a great language to help people clearly understand control structure and polymorphism.

To this day, my experience continues to be that students who had a CS degree that included Java have significantly better fundamentals than those whose programme didn't. Whilst that's purely anecdotal, I'll definitely continue to skew this way until I see otherwise.

Re: Should I Learn Java in 2018

#63
post #22

I never got the "Should I learn X" posts. The answer is yes to all the "Should I learn X" questions so it's very hard to have a discussion. Learning another language is _significantly_ easier than learning the first one or two - not to the point of being a master but to the point of being competent. Should I learn OCaml? Yes, you learn from knowing a functional language and Scala (combines functional and OOP well) an…

People who ask this question are implicitly asking: "Given the difficulty/time requirements of learning something and the salary/technology trends of our industry, does it make sense to invest in the mastery of abstraction X?" The time I have outside of my sprint is really limited, so getting expert guidance on whether knowing Rust will benefit me more than knowing Java is in fact extremely valuable to me.

That's a good point - it is highly dependent on what languages you already know from beforehand. If you know JavaScript already then it makes sense to learn a language that is not garbage collected, has no mutations or is not managed.

I would pick up Rust or Clojure before Java in this regard for example - though learning new languages gets way easier the more you learn.

Re: Should I Learn Java in 2018

#64
post #51

> Concern 5: Java is too slow/consumes too much memory It's sad that this is still a thing. Compared to more trendy languages like Python and Javascript, Java is very light on memory. JS is known for being fairly fast and "light", but its actually 5-10x slower than Java and uses 5-10X more memory. And the whole "lightness" of it is a lie. Javascript's run-time is probably bigger and more complex than the JVM. Java us…

Hmm. Just checked memory use on some services we run on Go, Node, and Java. I'm not part of the Java team but results: Go: 40M Node: 64M Java: 4GB Any Java service I've seen in production has similar numbers. Coupled with the incredible startup time it's hard for me to see why you'd pick it in 2018.

If you tell your Java application server "here you have 4GB, use it as you wish" it will happily comply and trade memory for performance.

In most of the cases it's just a matter of setting a few Java runtime startup parameters.

Re: Should I Learn Java in 2018

#65
post #51

> Concern 5: Java is too slow/consumes too much memory It's sad that this is still a thing. Compared to more trendy languages like Python and Javascript, Java is very light on memory. JS is known for being fairly fast and "light", but its actually 5-10x slower than Java and uses 5-10X more memory. And the whole "lightness" of it is a lie. Javascript's run-time is probably bigger and more complex than the JVM. Java us…

Hmm. Just checked memory use on some services we run on Go, Node, and Java. I'm not part of the Java team but results: Go: 40M Node: 64M Java: 4GB Any Java service I've seen in production has similar numbers. Coupled with the incredible startup time it's hard for me to see why you'd pick it in 2018.

JVM uses as much memory as you allow. Use `-Xmx39m` to beat Golang.

Re: Should I Learn Java in 2018

#66

If you want a low stress good paid job, where you would be able to rush home at 5pm, then yes. If you are looking for excitement, learn $hype_of_the_year and join a startup, but be ready to learn $hype_of_the_next_year soon.

There's an argument to be made that Java positions are the easiest to fill with lower waged visa or offshore workers, meaning that you have to maintain an extremely high proficiency, move into management, or be under constant threat that your job will be outsourced.

Re: Should I Learn Java in 2018

#67
post #58

I think that its time that the enterprise switches to full stack Typescript as a much better solution for developing enterprise software. Why use two languages and two different ecosystems for the backend and for the frontend, when we can use only one? It makes hiring a lot easier too. Let's face it the Java ecosystem is stagnated and has lost a tremendous amount of mindshare in the last 7 years. The level of modular…

> The Java ecosystem did not manage to produce a good frontend development solution, and that was its downfall.

Most people writing Android apps are doing it in Java. The switch to Kotlin was as much about Sun and Google as it was about Java being outdated.

Re: Should I Learn Java in 2018

#68
post #5

maybe consider cobol instead?

COBOL developers are highly sought after and well compensated due to the number of legacy systems still around. Many COBOL developers are nearing retirement, so if you are young and know COBOL you will be attractive. Almost no new development though, it is almost exclusively maintenance.

Re: Should I Learn Java in 2018

#69
post #42

Author says Java was relatively new in 2007 although introduced in 1995... I’m not sure what is meant. Java is many things: the language? The vm? The ecosystem? I keep hearing that Java is fast, and indeed hotspot is but every system I encounter that’s written in Java is sluggish. I keep hearing that Java lost its abstractwidgetfactoryfactoryfactory fetish, and I think it’s improved in the last 15 years, but it’s sti…

> I keep hearing that Java is fast, and indeed hotspot is but every system I encounter that’s written in Java is sluggish.

Counterpoint: ElasticSearch and Solr are excellent, reflecting many hard years of work by the Lucene team. (I say that as someone who last wrote serious amounts of Java in the 90s)

Java’s problems are cultural and the experience really depends on whether you’re over in enterprise land with that insatiable complexity fetish or somewhere else where people are serious about getting anything done. The big risk to me these days is Oracle since they’re prone to milking their IP now at the expense of its long-term future.

Re: Should I Learn Java in 2018

#70
post #51

> Concern 5: Java is too slow/consumes too much memory It's sad that this is still a thing. Compared to more trendy languages like Python and Javascript, Java is very light on memory. JS is known for being fairly fast and "light", but its actually 5-10x slower than Java and uses 5-10X more memory. And the whole "lightness" of it is a lie. Javascript's run-time is probably bigger and more complex than the JVM. Java us…

Hmm. Just checked memory use on some services we run on Go, Node, and Java. I'm not part of the Java team but results: Go: 40M Node: 64M Java: 4GB Any Java service I've seen in production has similar numbers. Coupled with the incredible startup time it's hard for me to see why you'd pick it in 2018.

>Go: 40M Node: 64M Java: 4GB

This benchmark is completely useless unless you have 3 identical servers with identical algorithms using identical API and models with identical work load. so... why would you waste time writing them?

Also, these [1] benchmarks which are more reliable, because we know what servers they're run on and we can inspect source code, unless, of source, you can prove your statement.

[1] https://benchmarksgame-team.pages.debian.net/benchmarksgame/...

Post reply on HN