Is there any reason to learn more than one of Rust, Haskell, Scala, and Go?

Is there any reason to learn more than one of Rust, Haskell, Scala, and Go?

Other urls found in this thread:

github.com/ksimka/go-is-not-good/blob/master/README.md
twitter.com/NSFWRedditVideo

why would anyone actually set out to learn go?

There's little reason to learn any of those, honestly.

Uriel

Only Haskell. It's not like you're gonna use it in real projects, but it will expand your understanding of programming. It's like a life changing psychidelic in the form of a programming language.
Scala is useful in real world, but chances are, without grocking Haskell first you'll be using it wrong.
Rust and Go are just some generic languages that nobody asked for, there's hundreds of these, no value whatsoever.

Haskell can be better java and work. You don't have to write Haskell fanfiction unless you want to.

/thread

Scala is the one true language anyone should learn. It doesn't make assumptions about how to work, it just lets you choose and it's a very pragmatic language.

It leverages the JVM so you can run nearly anywhere and benefit from all the JVM engineering and alternative garbage collectors if you want, and even utilize java libraries from Scala code.

It's syntax is more modern and beautiful than java however, or at least has the potential to be.

It's also a functional language if you stick to pure Scala.

Why learn anything else?

wtf....
Scala is JVM
Rust is C/++ replacement meme
Haskell is functional meme
Go is bad

Theyre all different, how new are you. You shouldn't be comparing them for the same task. They are good at different things

see
(me)

Stop pushing ONE LANGUAGE into every situation

What if one language fits every situation?

Checkmate.

>Scala is JVM
And?

Clojure > Scala in any terms

Rust really seems like the C++ killer the world needs.

Everyone should learn, Haskell, it doesn't matter if you never program anything in Haskell in your life, having learned Haskell will make you a better human being.

Scala is probably the most beautiful language that can also help you land a job.

Go is a terrible language that nobody should use, but it get's hyped because muh google.

lol no. Maybe once clojure starts accepting that types are actually useful, but right now even racket surpasses it.

Why go is terrible? I recently have started playing around with go and it seems and really nice language.

why? they all serve entirely different purposes. theyre all almost purely separate from each other actually

go is unironically the most productive of those four to learn. look up usage stats (something like stackoverflows). it's in an adoption spike. you should pay attention to these things when you choose to adopt new technologies. as for why the spike is happening: go fits the same purpose something like node does (dead simple server side webdev stuff) while being a better language in every way

Elixir > Clojure for servers

You are comparing four complete different tools..

If you are a entry level programmer or would like programm a small webserver, it would be weird to use Scala, Rust or Haskell, because it would be overkill.

If you do low level programms (i.e. application software like browsers) it would be stupid to use Haskell, Scala or Go, because Rust is muhc faster here.

If you are a senior Java dev and need to make a complicated server or deal with complicated problems and want to use Java libraries, you wouldn't use Rust, Go or Haskell.

If you are a NEET or work at the math department at the university and make software nobody will ever use, you wouldn't use Rust, Scala or Go.

LFE > Elixir

github.com/ksimka/go-is-not-good/blob/master/README.md

If the one is Go, then definitely.

If you already know any kind of imperative programming language, you will not learn anything new from go, because it hardly has anything. You'd literally learn more from java/c#. At least your other languages bring multiple novel features to the table. Go was just made so that python/ruby/js developers could feel like they're "systems programmers".

>GOPATH is a mess
Linking in C is mess, GOPATH is just not usual. It works, it's predictable, it's configurable (env variable can be rewreritten e.g. for script).
>new and make instead of one
make initializes. It could be one indeed, but they don't do precisely the same thing
>panic and error type over exceptions

>bad dependency management

>c-style
I don't see how it's a bad thing. Just a taste thing.
>can't change hash function in maps
indeed, have you ever need this?
>can't declare/validate implements interface
>can't import packages relatively
you can, but it requires modifying GOPATH, e.g. in custom build script
>case defined exports is bad
I like them a lot
>channel API is inconsistent, channels are slow
It's common knowledge that channels don't serve for synchronizing access to shared data, that's what sync package features (Mutex, RWMutex, ...) are for. Article went all that way to come to conclusion that if already written in Effective Go docs.
>compilation rules are too confining
that article has a lot of misinformation, not sure if that was still true in 2015 but 90% of it is now false and 10% is GOPATH complains
>confusing and undebuggable
Go has some of the most comfy static analysis tools I've seen. Article complains about different ABI and go's assembly. There was reacton on this article in Rob Pike's talk on Go Assembly which explained both. Article missed that go assembly is platform agnostic.
>confusing/stupid syntax
c-style without syntactic sugar
>different build approaches
again taste, not a bad thing
>error handling
eveyone is just omitting that exceptions don't work that well in heavily concurrent environment
>GC
that article was indeed interesting, didn't mention how Go can avoid allocations though
>has pointers
has shared access...wtf
>immature GC
outdated pre 1.5 where it got new GC
>is compiled
list is riddled with similar shits just to appear longer
>no OOP
not that big deal now with all the languages running away from OOP

Actual employed adult here. You should learn Java or C#, C, and Python. Javascript if you want to do webdev. That's it. But yes, keep learning meme languages, I'm sure they'll be useful for your fizzbuzz projects ;)

>no map/reduce/filter
indeed, that's true and I miss them
>no this
func (this Type) functionWithThis() {
just not explicit
>no constructors
forces using nil value logically
>no decet IDE
Thing of a past. Has excellent editor-agnostic tools like goguru, gocode which make every editor great for Go. Also now IntelliJ.
>no exceptions
hundred ways to say the same thing on this list, wew
>no function overflowing
function overloading no, methods with same name for different type yes
>no generics
...
>no immutables
enough control over shared vs copied
>only C interoperability
2010 outdated, e.g. Lua works great
>no semicolons at line ending
how can anyone take this list seriously?
>no subpackages
wrong
>no ternary operator
yeah, I miss oneliners over 4 line if statement as well
>no unused imports
use goimports tool, GOPATH makes it very reliable
>no versioning model
just not in language, it doesn't need to reinvent SVC
>no virtual functions
reminder that this was satirical article without arguments that it's demanded, yet is under 1/3 of "reasons" in list
>slices behavior
slices can affect underlying array and can turn into shared access, it's common caveat in go
>more project layout and generics
>slow JSON parsing
interesting, gonna check
>too young >2012
not anymore, is language for many serious projects
>upper/lower case exports
I love this feature
>weird mascot
wonna 1v1 me?

Fucking hipsters. Just use Erlang like a normal human being.

Scala is comfy, to be quite honest with you, cumpai.

reminder that BEAM bytecode is really just ugly lisp

finding a real job?

wut

>Actual employed adult here.

>Being proud of being a wage slave.