Should I learn Elixir, Erlang , Golang, Java?

Hello Everyboydy .
Please anyone give me some advices !
Should I learn Erlang , Golang, Java ? . Which is better for a fullstack developer with ReactJS and NodeJS? I want to change NodeJS for serverside with other language.
Thanks!

What every Node.js developer needs to know about Elixir - Bryan Hunter
Elixir and OTP for Node.js Developers - Jean-Pierre BĂ©cotte

Ultimately it depends on your target market. If you are dealing with organizations that already have a heavy investment in the Java ecosystem then they typically insist on a Java implementation.

Other organizations like Go because it’s still shiny, has Google backing and ultimately was designed to be easy to learn for developers who are still early in their career (while it’s sometimes viewed as Java without the irritating parts, in some ways it’s a pythonesque C). While Go has got concurrency covered via Go-routines (in Java you still have to wrangle threads) it’s imperative in nature and really doesn’t concern itself with runtime resilience the way the BEAM/OTP does. One of Go’s conveniences is that it produces standalone binary executables.

https://elixirforum.com/t/elixir-from-java-guy-perspective/3373
https://elixirforum.com/t/please-help-me-persuade-a-java-cto-that-elixir-is-the-right-choice/13067

5 Likes

For a full stack developer, Elixir. The others are too tedious in the developer workflow to be useful to a full stack developer, IMO.

3 Likes

Yes!

Seriously though, spend some time with each. You’ll learn a lot.

9 Likes

I would learn the one you like the most :023:

There’s nothing worse than having to use a tool that you dislike or don’t want to spend any time with. Find one that makes you or happy or one that you are passionate about :slight_smile: (I think that’s my general philosophy in life :lol:)

1 Like

This is Utopia, one day or the other You will have to deal with JS :slight_smile:

7 Likes

Haha very true, though maybe not quite so much cos we have Drab, LiveView and Texas :003:

4 Likes

Couldn’t agree more.

1 Like

If you are CEO, CPO… learn elixir

2 Likes

Honestly, if you’re the CEO, it probably doesn’t matter. Your business is more likely to be made or broken on your choice of what features to implement, how well you do things like iterative improvement, and luck. Twitter got by with constant Rails-induced downtime. You’ll do fine with any of those other choices.

Now, if you’re the technician, it depends on what you’re doing. I’d probably not pick Go in any case, because Go’s runtime is heavier than Rust but not as powerful as the BEAM or the JVM, but even then, you can build a good application in Go if you want.

3 Likes

CPO? I’ve not heard that one before.

1 Like

“P” for “Project”

1 Like

I’d add Rust to that list. (and drop Java :slight_smile: as anything touching Oracle IP will eventually end in tears)

4 Likes

But if you are Google then Oracle will sue you and loose

In May 2012, the jury trial at District Court found for Google, stating that Google had not infringed on the Java patents, and that the APIs were uncopyrightable. On appeal in May 2014, the Federal Circuit partially reversed the district court ruling, ruling in Oracle’s favor on the copyrightability issue, and remanding the issue of copyright and fair use back to the District Court. A second jury trial related to the fair use issue still ruled in favor of Google in May 2016, in that the use of the APIs by Google fell within fair use. Oracle appealed to the United States Court of Appeals for the Federal Circuit, which found in March 2018 that Google’s reuse of the APIs had not been fair use, ruling in favor of Oracle. The Court considered the reuse was neither minimal nor transformative, and that Google’s actions affected the value of Oracle’s copyright. The case is currently remanded to the lower district court to determine damages.

I am oddly happy about the fact that Oracle is seemingly winning the case.

I’m not, being able to do that to public API’s is a horrendously bad setup for the tech world…

3 Likes

Google doesn’t accept PRs in its Apache 2.0 open source projects. Given this, they should have been wary of the fact that those APIs were not freely available to commercialize upon.

Also, there is a part of me that wants to agree with you. That is why I used oddly. It is just that Google wants its IP to be protected but forgot to respect someone else’s when the time came

I’m afraid I don’t understand the connection between not accepting PR’s in apache2.0 licenses projects and what that has to do with commercialization? And what API’s have to do with copyrights?

2 Likes

Not accepting PRs may be an attempt to protect future ramifications such as the one currently undergoing. I was extending the same for Oracle vs Google lawsuit and trying to emphasize that Google should have been wary.

I hadn’t looked into this subject-matter since the last ruling in 2015 where the court found Google hadn’t infringed Oracle’s copyright. After reading more and doing more due diligence I realized my opinion was uncalled for and only looking at one side of the story.