6 ms·
Not the author: > - Can this reuse existing Scala code? I think that's the plan. Would be a pretty pointless exercise without that, right? :-) > - How does i
by airless_bar 10y ago
Not the author:
> - Can this reuse existing Scala code?
I think that's the plan. Would be a pretty pointless exercise without that, right? :-)
> - How does it compare against Rust/GO/Swift? Why use this over them?
Rust: Scala and Rust have different niches. Rust is more focused on low runtime overhead, while Scala is more focused on low development overhead. This means Rust can be potentially faster to run, but Scala is faster to develop.
Go: Go is utter shit that only survives due to the devs name-dropping "Google" every 5 minutes.
Swift: Scala is more mature, simpler, better designed. Not a knock against Swift, but there is a difference between a language where changes have been tried experimentally for years before either adopting or removing them, and Swift where things get added at a frightening rate.
> - How about libraries?
Libraries without Java dependencies should work, libraries with Java dependencies depend on whether their Java dependency is provided by Scala-Native (just like on Scala.js).
- abc_lisper 10y ago> Go: Go is utter shit that only survives due to the devs name-dropping "Google" every 5 minutes Woah!
- jjuel 10y agoClearly people either love or hate Go. There is a lot of hate I've seen on HN. I personally love it, but who am I to say what is a good language and what isn't.
- ihsw 10y agoClearly people have opinions that range across a wide spectrum on any subject. To say interest in is divided into either hate or love is disingenuous.
- placeybordeaux 10y agoHonestly I'd expect to see the most Go hate on a thread about scala. The design principals of both languages are completely at ends with each other.
- up_and_up 10y agoGo is great if you dont mind writing 1000's of lines of boiler plate code one would expect to exist.
- azinman2 10y agoAgreed, but that said I'm a recent convert from Scala to Go. Not sure I'd go backwards (no pun intended), boilerplate aside. Having standardization on things like channels in the language makes for a much nicer consistency in the language. Scala has 8000 ways to do anything, half of which involve an exotic DSL. I'll take plain and simple please over esoteric and unmaintainable.
- runT1ME 10y ago'plain and simple' languages encourage and often necessitate 'esoteric and unmaintainable' applications. Look at Java for examples of this, and Go is basically java without generics and a much worse garbage collector.
- azinman2 10y agoHow so? You can find examples of poor engineering in any language. What's specific about go?
- lmm 10y agoGo doesn't have the facilities that let you handle real-world concerns in a nice way. All the examples of bad, enterprisey Java - Spring AbstractSingletonProxyFactoryBean, XML config for everything, reflection-based JSON serialization, annotation-based transaction management, JavaSpaces - they weren't written by idiots, they were written because they were the best way to solve real business problems within the limits of the language - limits that go also has. People don't like writing hundreds of lines of repetitive boilerplate the way go's lack of generics forces you to. They'll look for a better way, and they'll come up with hacks, just as they did in Java.
- lauriswtf 10y agoA small side note: Scala has several great features, but "low development overhead" just isn't one of them. Also why so harsh on Go?
- whateveracct 10y agoWhy do you say low development overhead isn't one of them? Outside of the one-time cost you pay to learn the language (which is higher than Go and most languages), Scala makes it super easy to write correct code quickly. The developer workflow of incremental compile + REPL + unit tests is great.
- lauriswtf 10y agoProbably depends on the code base, but having worked with Scala for a few years, there are a lot of things that causes development overhead. First things that come to mind: slow compile times, there are usually several ways to do one thing and also docs/guides are inconsistent, overused operator overloading in libraries (almost have to learn new DSL syntax for some libs), and it is not always easy to comprehend code by other developers.
- anko 10y agonot bagging anything you're saying, but I found slow compile times more or less go away if I open an sbt and type ~ compile to have it auto compile on save
- kod 10y agoIf by low development overhead you mean amount of crap you need to type in order to get things done, Scala absolutely does have low development overhead. As for Go, I'd say that's the most honest description of the language I've seen in a while.
- lauriswtf 10y ago"Low development overhead" was taken from parent comment, but I understood that it means how productive and fast it is to write code/develop something in Scala.
- placeybordeaux 10y ago>Go: Go is utter shit that only survives due to the devs name-dropping "Google" every 5 minutes. Making blanket statements like that without any substantiation makes me want to just write off everything else you have said.
- airless_bar 10y agoSo what? If you can't tolerate an opinion I can imagine you are having a hard time on the internet. :-)
- placeybordeaux 10y agoIt does a discredit to any other better substantiated or more reasonable opinion you have stated. For better or for worse when most people hear a new statement or opinion coming from someone they will trust it as much as they trust the least believable thing they have heard that person say.
- airless_bar 10y agoThis sounds like a very US-trigger-warning-safe-spacey stance. I think most people on this planet are able to consider each point at its face value.
- dragonwriter 10y ago> I think most people on this planet are able to consider each point at its face value. Humans have a pretty strong demonstrated tendency to develop positive or negative emotional attachments to pretty much everything, including sources of information/arguments, and see the world strongly filtered through those. This is, while it can be misleading, an important evolved survival mechanism in terms of attention/resource management. Most people probably can, by expending effort, mitigate that to a certain extent, but that doesn't negate it completely.
- 10y ago
- FnuGk 10y agoI would like to hear what makes Go utter shit
- curried_haskell 10y agoOodles of boilerplate to do stuff that's a (simple and understandable) one-liner in several other languages. It's a dumbed down language, not a simplified language.
- incepted 10y ago> Swift where things get added at a frightening rate. Things are always added at a frightening rate when a language is young. Happened for C#, happened for Scala, happens for all languages. Not really something to worry about.
- airless_bar 10y agoThe difference is that Scala devs didn't push for immediate adoption while they were still working things out. Apple's Swift message is more or less "Stop writing Objective-C if you can and start using Swift – oh and by the way – you will have to rewrite your code with every major Swift release which we will be releasing at a rapid schedule". It will be very hard for Swift to get rid of all the cruft they accumulate. In Scala every major release addresses one or two pain points and migration is very smooth – no "rewrite all your stuff".
- incepted 10y ago> In Scala every major release addresses one or two pain points and migration is very smooth – no "rewrite all your stuff". Yes, the Java way. Take ten years to implement basic stuff. I much prefer Swift and C#'s approach to this: first major version bump, things get deprecated. Second bump, they get removed. It worked great for C#, it's going to work great for Swift, which has already seen incredible adoption on iOS. Scala is moving at a glacial pace in comparison, really not worth bothering with.
- airless_bar 10y agoOh come on Cedric. You managed to troll better in the past. As you surely know it already, the deprecate-remove cycle is pretty much how a) Scala works and b) C# doesn't work.
- dang 10y agoPlease don't start programming language flamewars on HN ("Go is utter shit", etc.) Those are all the same, and we're hoping for thoughtful discussion. We detached this subthread from https://news.ycombinator.com/item?id=11678317 https://news.ycombinator.com/item?id=11678317 and marked it off-topic.
- lmm 10y agoDoes anyone have a browser extension or similar that will reattach subthreads that get moved like this? Or maybe a user preference similar to showdead?