News for hackers. Stuff that matters.
Re:Today’s Top Tech Skills by murukesh_s on Sunday November 24, 2019 @11:27AM (#21621387)
Java is still undisputed in the enterprise. Node.js was a contender but lost steam. May be .net once it becomes truly platform neutral have a chance to take on Java. Until then most probably it will remain widely popular.
Re:Today’s Top Tech Skills by nogabebop23 on Sunday November 24, 2019 @03:25PM (#21623099)
Is it really your experience that node was ever a contender? In what context or application? Also enterprise is almost all windows on the client and on the server still has lots of traction; I don't see why .net needs platform neutrality to take a big piece of this.

I find the numbers reported here pretty flawed; ".net" is down while "C#" is up about the same amount. I realize this data is based on keywords, so maybe this just means clueless HR posts are finally stoping the practice of saying "must have .net, C# and ASP.NET"

Stating "SQL" is the top skill is also pretty pointless; I've rarely met a developer who will say "I don't know SQL" because most think this means "can write simple SELECT statment", which a lot of the time is enough.

Re:Today’s Top Tech Skills by murukesh_s on Sunday November 24, 2019 @09:31PM (#21624981)
Yes it was. That's why IBM, Microsoft etc rushed to adopt or sponsor Node.js. IBM acquired strongloop a NodeJs based enterprise framework. Microsoft extended their Chakra engine to support NodeJs but its still work in progress shows it lost steam..

Enterprises do not work with a brilliant language runtime, they need large ecosystem support from large vendors (read enteripse tools) and large availability of workforce, both of which are lacking in NodeJs esp. compared to Java. It's unfortunate as Typescript have now elevated NodeJs to a mature package and should have made stronger in roads into enterprises.

Re:Today’s Top Tech Skills by _bxg1 on Sunday November 24, 2019 @11:29AM (#21621402)
I figured that was mostly due to legacy code at this point; is it undisputed for new code too?
Re:Today’s Top Tech Skills by jillesvangurp on Sunday November 24, 2019 @12:03PM (#21621660)
Yes, there is a lot of new code being written for the JVM. E.g. Kotlin is a fine choice as a language for a new backend project these days with excellent support in frameworks like Spring Boot. Also it is a drop in solution in pretty much any Java project (as in you can mix the two and they interoperate without much fuss). Modern Spring Boot is pretty nice and getting nicer with each release. In terms of feature set it pretty much runs circles around anything in the javascript ecosystem. And with a language like Kotlin it's not a bad programming experience either.

As a language Kotlin is sort of similar to typescript with a few nice features added, a bit more elegant syntax in some places, a bit richer in some places, and of course none of the madness that comes from javascript compatibility. I've seen typescript developers pick up Kotlin and liking it. Other languages it is similar to are C# and Swift. Swift is so far not used a lot for backend stuff but I could see that change. All of these can already compile to web assembly and the tooling for that is likely going to mature in the next few years to the point where you can target browsers, node.js, and native with a wide variety of languages.

Re:Today’s Top Tech Skills by _bxg1 on Sunday November 24, 2019 @12:08PM (#21621696)
I was specifically talking about Java, not the JVM in general. The latter is obviously still a great technology and it hosts some of the best up and coming languages.
Re:Today’s Top Tech Skills by foepys on Sunday November 24, 2019 @12:23PM (#21621819)
You cannot meaningfully differentiate between Java and the JVM because all popular JVM languages (Skala, Clojure, Kotlin, Jython) can interact with Java libraries. In fact, they are even using this to market themselves.

Java libraries are the way to program for the JVM and all its (popular) languages.

Re:Today’s Top Tech Skills by throwawaytoday5 on Sunday November 24, 2019 @12:19PM (#21621790)
I've work for large national ISP where they are heavily trying to create a new series of network engineering tools (device discovery, adding new ARs with ease, upgrading existing devices, pragmatically change thru-puts between regions based on load, etc).

Most of the backends for these types of tools would explicitly be done in Java. Why did they chose Java? Mostly because they would staff entire teams with H1Bs and dump them after 5 years. The directors of these projects would only hear about "buzzwords" surrounding the latest tech if they themselves went to conferences or happened to luck out if the project managers they hired had varied experience.

Oddly enough, there's a lot of greenfield work being done using Scala at Verizon and Comcast. But from my direct experience, it's entirely dependent on the team. The more the team doesn't rely on contractors the more likely they are to use niche tech.

Re:Today’s Top Tech Skills by murukesh_s on Sunday November 24, 2019 @09:33PM (#21624993)
Second that. Even the much advertised linked in uses Java engineers much more than NodeJs
Re:Today’s Top Tech Skills by delecti on Sunday November 24, 2019 @01:56PM (#21622448)
If your systems are Java, you'll hire people who can work in Java, and if the only thing your devs have in common is experience with Java, your new code will be in Java too.
Re:Today’s Top Tech Skills by Roboprog on Sunday November 24, 2019 @03:30PM (#21623137)
Sad but true, for the obvious business reasons.

I was pleased (somewhat) 20 years ago when Java displaced C++, but now I just wish it would fade away.

Thanks for the garbage collector, Java, now retire.

This said as someone who is convinced that most of what I want to do could be done with FP vs OOP techniques, and FAR less of it.

Re:Today’s Top Tech Skills by pjmlp on Sunday November 24, 2019 @04:11PM (#21623443)
Except that .NET is the only actual alternative, regarding eco-system libraries, IDE capabilities and tooling for monitoring production systems.
Re:Today’s Top Tech Skills by dharmab on Sunday November 24, 2019 @11:30AM (#21621414)
There are few competitors that have strong, static typing, great test tooling and broad library support.
Re:Today’s Top Tech Skills by _bxg1 on Sunday November 24, 2019 @11:41AM (#21621490)
I guess "great test tooling" and "broad library support" are subjective, but there are several contenders these days that I would say might fit those criteria
Re:Today’s Top Tech Skills by kamaal on Sunday November 24, 2019 @10:40PM (#21625273)
>>there are several contenders these days that I would say might fit those criteria

Even if you get the basic 'Batteries Included' part right, you still won't match up ubiquity in terms of being able to hire developers(in big numbers), common knowledge base, maintainability of code bases. Java code bases tend to be around for long. And people of all skill levels can get started with minimal handholding.

Also note not all companies have the revenue streams of top internet companies. And they can't afford to flush hundreds of millions of dollars, and man years of personnel time down the sewers to arrive at hiring the perfect candidate for the job. Almost always most companies need candidates who can get job done, for whatever salary they can offer. And they can't afford to rewrite their code every two years, so they care deeply about things like easy hiring, and code maintainability on the longer run.

Apart from these things Java itself is a great piece of tech, and has passed the test of time over so many technology trends.

If you are starting a backend project, Java is more or less the best and the top tech choice at this point, and has been for long now.

Re:Today’s Top Tech Skills by apta on Sunday November 24, 2019 @01:07PM (#21622132)
> "great test tooling" and "broad library support" are subjective

Not really the case when it comes to Java (and the JVM in general). It objectively has great test tooling, and a very diverse library ecosystem, not to mention monitoring, introspection, management, tunability, etc. are second to none. The only other ecosystem that arguably comes close is .NET.

Re:Today’s Top Tech Skills by _bxg1 on Sunday November 24, 2019 @02:28PM (#21622678)
The point is the words "great" and "broad" are relative.
Re:Today’s Top Tech Skills by SlowRobotAhead on Sunday November 24, 2019 @11:40AM (#21621483)
I can only speak from experience, but I know two large corporate entities that used Java and have over the years dropped it in favor of Go and websites.

Edit: i like how my first hand experience is disagreeable and should be hidden. This site gets STRANGE with facts that users just don’t want to see.

Re:Today’s Top Tech Skills by hu3 on Sunday November 24, 2019 @01:07PM (#21622134)
You'd have more success with the vocal minority around here if you replaced Go with Rust.

Highly recommend doing an experimentation a week from now. You'll see exactly what I'm talking about.

Same for this comment: https://news.ycombinator.com/item?id=21621738

Re:Today’s Top Tech Skills by SlowRobotAhead on Sunday November 24, 2019 @07:17PM (#21624502)
I’m sure you’re right.

The issue is I can’t change my first hand anecdote of the two companies specifically I’ve been to having switched to Go and web apps from their older Java applications.

Re:Today’s Top Tech Skills by apta on Sunday November 24, 2019 @01:15PM (#21622191)
Basically fad driven development.
Re:Today’s Top Tech Skills by hu3 on Monday November 25, 2019 @01:14AM (#21625883)
"Comments should get more thoughtful and substantive, not less, as a topic gets more divisive."

https://news.ycombinator.com/newsguidelines.html

Same for another comment of your:

"Yep. golang is one big appeal to authority fallacy at work." - https://news.ycombinator.com/item?id=21618006

Re:Today’s Top Tech Skills by vbezhenar on Sunday November 24, 2019 @03:02PM (#21622916)
Java is hot again.
Re:Today’s Top Tech Skills by akerro on Sunday November 24, 2019 @03:34PM (#21623163)
>Node.js was a contender but lost steam. May be .net once it becomes truly platform neutral have a chance to take on Java.

C# and CLR lost it a few years ago, GraalVM is taking this space really rapidly now.

I'm in opposition to most comments here hating Java for whatever reason, hoping JS or C# to destabilize this system. I absolutely love Java and its ecosystem. Super mature libraries, library for everything, great tools, literally for everything. A lot of tutorials, massive investment from several corporations contributing to OpenJDK. Java is super hot right now.

Re:Today’s Top Tech Skills by brendanw on Sunday November 24, 2019 @12:11PM (#21621724)
As someone who loves kotlin on android, I have been searching for companies experimenting with kotlin jvm or kotlin node backends and have been surprised to see that companies are not making the jump. Swift is remarkably similar to kotlin. With a kotlin backend you have the benefits of the JVM or node ecosystem and a beloved language that a bunch of your frontend devs will understand.
Re:Today’s Top Tech Skills by cutler on Sunday November 24, 2019 @06:48PM (#21624358)
Yes I also note this lack of uptake of Kotlin in Java environments but on reflection it's not surprising because organisations which have chosen Java tend to be conservative. Enterprise software is predominantly Java and .Net and probably will be for a long time to come.
Re:Today’s Top Tech Skills by tonetheman on Sunday November 24, 2019 @05:45PM (#21624007)
To me node never was a contender. The lack of types is painful in JS. Then out of the box nodejs just dies by default on error. Without tons of package and tooling around it. It is a horrible application server.
Re:Today’s Top Tech Skills by cutler on Sunday November 24, 2019 @03:58PM (#21623349)
I was hoping Kotlin might challenge Java outside Android but it seems unlikely to make a dent in Java's dominance of enterprise computing.
Re:Today’s Top Tech Skills by vips7L on Sunday November 24, 2019 @05:42PM (#21623992)
Personally as a JVM dev, I see no reason to choose kotlin over Java unless I'm stuck in an environment thats running a JVM < 8.
Re:Today’s Top Tech Skills by erik_seaberg on Sunday November 24, 2019 @05:59PM (#21624108)
For years people have been using stuff like Lombok as a half-baked Java dialect with more usable defaults: non-nullable types, immutable objects with getters and builders with named setters, sneaky throws, meaningful #equals and #toString. Kotlin just concisely supports what we’re already doing. And for everyone who’s been waiting for Java fibers, well, Kotlin coroutines are out of beta.

I do like Scala, I wish we worked in an industry that could expect everyone to master it, but it’s probably too much to ask.

Re:Today’s Top Tech Skills by dehrmann on Sunday November 24, 2019 @03:27PM (#21623107)
> Node.js was a contender but lost steam

My guess is that Node.js either saturated the market of web developers looking to do backend, or people realized that type safety is a good thing, and JS doesn't have a good story for it.

Re:Today’s Top Tech Skills by loftyal on Sunday November 24, 2019 @03:56PM (#21623332)
It does, TypeScript, and I'd argue it's a better type system than Java
Re:Today’s Top Tech Skills by dehrmann on Sunday November 24, 2019 @11:34PM (#21625494)
But it's an extra step in the build process, you still have to decide on TypeScript, Flow, CoffeeScript, etc., and I'm not sure if the Node runtime library gets the benefits of typing.
Re:Today’s Top Tech Skills by pjmlp on Sunday November 24, 2019 @01:05PM (#21622117)
Depends on the enterprise.

I pretty much keep using Java and .NET alongside each other, because all the customers have mixed systems.