Live data from Hacker News

Should I Learn Java in 2018

e4developer.com

131–140 of 165 posts

Re: Should I Learn Java in 2018

#131
post #56

yeah, also in 2019 and 2020. it's only getting better and better. the echosystem is amazing. I think you should focus on 3 languages: 1. Java for stable heavy big projects with lot of develpers. 2. Typescript for frontend lifting. 3. Python for machine learning and data analysis. Master those 3 and general programming and system design concepts this is what i'm working on.

That's exactly the three languages I use and for those exact reasons. I'll sometimes throw in R for data analysis as I find the ease of importing/editing poorly formatted excel (most business scenarios) to be the easier than python (more of a personal preference than anything)

Re: Should I Learn Java in 2018

#132
post #115

Earlier quoted context omitted.

>Slowness isn't a property of the language it's a property of the runtime This is true to an extent, but look at the time and money poured into PHP and how slow it still is after all these years. Language design choices have a huge effect on how fast the runtime can be. In Javascript, objects are stored as a map of key->value pairs, and aren't strongly typed. This design requires more overhead for type checking and m…

> This is true to an extent, but look at the time and money poured into PHP and how slow it still is after all these years. PHP7 isn't a slow language at all - it's much faster than previous versions actually. There are servers like aerys [1] that easily handle 10,000 concurrent requests on reasonable hardware. The reason sapi (read "regular") PHP isn't "faster" is because caching and the ease of deploying more serve…

A lot of Javascript's optimizations are fragile, as in they don't always hold true, so there's overhead determining if the assumptions still apply.

For instance, Javascript's hidden class optimizations are disabled as soon as someone "breaks" the assumption by doing something like accessing a variable using a dynamic array index rather than dot notation.

Javascript runtimes also try to infer types as you say based on how objects are used, but this is also a fragile optimization. For instance, if you use an assumed "int" in a string-like way the runtime re-assigns the tagged type. And it's hard to know whether you (or the library you're using) does so.

Those programs might not represent a real workload but TechEmpower's framework benchmarks are closer. https://www.techempower.com/benchmarks/#section=data-r16&hw=...

On most of those benchmarks the fastest JS framework is ~5X slower than the fastest Java framework.

And yeah the array optimizations are related to what we both mentioned above, but again the optimization is not durable. It only works sometimes, and incurs its own overhead.

Re: Should I Learn Java in 2018

#133

Earlier quoted context omitted.

I have worked for a number of companies, big and small, and this is recurring thing. If you are a person looking to get good salary by becoming programmer but you are not really interested in programming, Java is most likely to be your choice. You will never advance, but that's fine. If you are bad enough you will just change company and get your salary from another. There is so much pressure to find Java developers…

I don't know where you are from but most universities in the U.S. teach Java or C++ as primary language. Pretty much everybody in our school used Java as their interview language and due to the leetcode grinding culture, the interviews are not definitely easy. The companies you talk about sound like they suck.

It is easy to write that the company sucks, but the problem isn't that easy.

When you work as a manager for the company and you are presented with a new project you can't say you will not do it. In many companies this will mean you are expected to hire people and to get it out the door.

In most companies incentives are against "we will ACTUALLY only hire best people".

Re: Should I Learn Java in 2018

#134

Earlier quoted context omitted.

My guess is that it won’t work with less than 1GB bc of spring boot, hibernate and all the rest of Java enterprise “microservice” goodness.

> My guess So you actually haven't tried to run an application with those libraries, and you don't even know what libraries that particular application is using, and here you are speculating about something you don't know and/or understand.

I've used Spring and he's probably right :) . But there's better choices these days. Any Spring micro-services out there are probably by a team that knew Spring well and didn't want to learn a more suitable framework

Re: Should I Learn Java in 2018

#135
post #102
post #79

I have been developing backend systems in Java, professionally, for the past 15 years. You should not base your career choice of being Java programmer or not solely on Java's popularity. There are genuine good reasons to learn niche technologies especially if you like them more. I think if you genuinely like something you are much more likely to succeed in that field and it is better for you no matter the size of the…

> If you become Java developer you probably will not be working on games, on exciting IoT projects, beautiful UIs, AI, and other exotic stuff. You will be doing backend systems and hopefully be paid well. Games and IoT projects need backends as well, and it's not that unusual for those to be written in java.

Yes, you might be right, but there aren't that many of those projects. Also backends for anything tend to not be spectacular if done well because they are... backends.

Re: Should I Learn Java in 2018

#136
post #86

Earlier quoted context omitted.

I work with TypeScript, Golang and Java and I find Java the most exciting. There are a few or several libraries for everything, each of them well polished, new great features coming to Java language and JVM every 6 months, great support on every platform, many build tools to choose, that are easy to use. Things like GraalVM, local type inference, Jigsaw, SpringBoot and Jenkins make Java top language you can use these…

I played around with ES6 and TS for a year and coming back to Java was not pleasant. The functional aspect of JS/TS is something I cannot get on Java, even with streams on Java 8. Just doesn't feel right.

Try RxJava or JINQ! I believe RxJava was actually first, RxJs being a port of that, if you would believe it :) .

Re: Should I Learn Java in 2018

#137

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.

I think it might be the other way round these days. Java programmers are outsourced because they're so expensive. Javascript seems like the best target now for low-skill outsourcing. Much lower barrier to entry, and arguably a much more forgiving language

Re: Should I Learn Java in 2018

#139

Earlier quoted context omitted.

My guess is that it won’t work with less than 1GB bc of spring boot, hibernate and all the rest of Java enterprise “microservice” goodness.

Whats different about the equivalent libraries in other languages?

Spring is huge... The closest competitor might be Rails

Re: Should I Learn Java in 2018

#140
post #60
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…

Learning another language is _significantly_ easier than learning the first one or two Learning the syntax, sure. But to be productive at a commercial level in any language these days is about knowing your way around the ecosystem, libraries, tooling etc, and that takes a significant investment of time, and the knowledge is highly perishable. 3-4 languages is probably the most it’s reasonable to maintain and to claim…

This is so overblown. We bring in folks regularly with no experience in our language much less the ecosystem and invariably they’re totally productive in a month or so
Post reply on HN