5 ms·
I am totally one of these ravers. Go is the right language for the right time: easy enough for the Python people (like me) to pick up quickly, but with a concu
by fixxer 13y ago
I am totally one of these ravers.
Go is the right language for the right time: easy enough for the Python people (like me) to pick up quickly, but with a concurrency model that makes taking advantage of multi-core very easy.
Anyone prefer Scala to Go?
- lmm 13y ago>Anyone prefer Scala to Go? Yes, very much so. I love being able to keep so much of the state in the type system, freeing my attention for more important things; it also (ironically?) lets me write much more dynamic-feeling code by using "typeclasses" to supply varying implementations for an operation. I don't realise how much I depend on it until I try to go back to other languages. Go has some useful standard types and a good story in place for some other generic type use cases, but if you need a (generic) type that the language designers didn't think of (and e.g. even Option is missing), you're stuffed.
- quatrevingts 13y agoYes. Not sure how much I feel like talking about generics and error handling again, but those are the first two reasons. I can respect them wanting error conditions to be explicit, but then they give you no acceptable way of dealing with them -- perhaps because proven techniques from the functional world would require parametric polymorphism, or yet more built-ins from the language designers.
- th0br0 13y agoAbsolutely. Each time I try to move away from Scala, I always notice the lack of functional features in most other languages + a type system that's as strong as Scala's. Most importantly, with Akka([1]) you have an awesome concurrency framework that comes with lots of features out of the box. However, for many client-side applications, Go's lack of the JVM is a huge plus... [1] http://akka.io http://akka.io
- swah 13y agoIts hard to accept that Scala + Akka is something similar to what Go has going, one just seems so heavy and the other so light. Probably FUD.
- matrix 13y agoGo is awesome, and I'd love an excuse to use it in production. The problem is that being a young language, there aren't many libraries, and the ones that do exist are often at very early stages at best too. That means when you need a library to solve problems like printing a PDF, you are out of luck. The other thing that makes me a bit nervous about using it in production is the idea of linking to the latest/head version of a dependency. Maybe I just don't properly understand the paradigm though. Those nits aside, I believe Go has bright future and within 2 years will be mainstream. Meanwhile, Scala is better suited for projects that need lots of libraries and mature tooling.
- voidlogic 13y ago> The problem is that being a young language, there aren't many libraries. The Go standard library is large, there are many libraries on code.google and github. I feel like this statement would have been more accurate a year ago. My job is almost 100% Go based development and at this point, I have no issues finding libraries when I need them.
- zohebv 13y ago+100 for Scala. You can pry the super powerful type system, functional programming support, monad comprehensions, library ecosystem, IDE support from my cold dead hands :D
- papsosouid 13y ago>Anyone prefer Scala to Go? Yes, by a huge margin. I rank my preferences like so: derp languages (go lives here) < scala < ocaml/F# < haskell But that doesn't make it clear how huge the distance is between the derps and scala.
- digitalzombie 13y agoI choose Scala over Go but I don't think I would be doing system programming with Scala. I'd choose Ada or Rust over Go. For concurrency I'd choose Erlang or Rust over Go. If it's Node.js or Go. I guess I'll choose Go.