8 ms·
Same here, I will look at Scala Native, like Scala, but instead of JVM as the target platform, its using LLVM
by walkingolof 10y ago
Same here, I will look at Scala Native, like Scala, but instead of JVM as the target platform, its using LLVM
- bitL 10y agoYou'll go from bad to worse; Scala is to Java what C++ is to C; barely anyone understands all constructs in either language. You either know everything or nothing (i.e. you can't understand somebody else's code unless you enforce rules or know the complete language in detail).
- premium-concern 10y agoI'd say this is blatant non-sense usually coming from people who lack any kind of experience in C++, Scala or both.
- bitL 10y agoOK. Enjoy your ignorance then.
- premium-concern 10y agoI'm not the one being ignorant. See your other comment where you have been flat-out misinformed.
- edblarney 10y agoI think this comment is fair, but could be misinterpreted. Scala allows you to do the same thing in many different ways, and with operator overloading ... the approach you chose to coding defines almost a 'custom syntax' for a project. Which makes it very hard to read sometimes - you have to infer the 'style' before you can get too far. To be fair - that's a different kind of 'inconvenience' than C++ from C - but the comparison is pragmatically valid.
- astral303 10y agoExactly, the "custom syntax" is the problem. The problem is that Scala seems to attract the same type of thinking as C++, where there is a culture that rewards obscure, bizarre syntax. I mean, why is it an exclamation mark to send messages to actors in Akka? I need to write code to get things done. I want to spend minimal time figuring out bizarre operator-overloaded library syntax.
- bitL 10y agoFun like this: http://www.flotsam.nl/dispatch-periodic-table.html http://www.flotsam.nl/dispatch-periodic-table.html When I was a teenager, it was fun to do that in C++ until I realized everybody thought it was fun but their version of fun wasn't compatible with my version of fun.
- premium-concern 10y agoIf all you found was an old API from half a decade ago that doesn't even exist anymore, than I think that's a pretty good case for Scala.
- bitL 10y agoThat's irrelevant. Scala simply allows your coworker to go "off the rails", employing their creativity even to language constructs, and you either spend time to learn their way of thinking, set firm rules about what is allowed, or you are simply out of luck, like often with C++.
- edblarney 10y ago"I need to write code to get things done. " Yes. But their cultures are a little different. C++ I think is 1/2 academic, 1/2 Engineering - with a lot of voices, and a lot of anachronistic 'grey beards' arguing over stuff. Even for Java, James Gosling said 'Sun less less a company than it is a debating society'. Scala is almost purely academic - but driven by a single person / small team. Scala was not designed to solve an Engineering problem, thus it seems a little 'intellectually masturbatory' (pardon the term). Scala is way to hard to learn - partly because it's a 'new paradigm' but partly for the reasons aforementioned. So it's only going to make it's way into production for specific entities. Scala may have a 'big future' if tutorials, training and approaches settle down on commonly accepted standards and practices.
- walkingolof 10y agoEven if C++ have been the way I've earned money the past +20 years, I've programmed quite allot of Scala in my spare time. If find the language beautiful in its compact, expressive syntax, I also like the standard lib and the vibrant community. Being able to mix OO and functional programming, is also something I enjoy very much. So being able to use this language as a system language, I very much look forward to. But your mileage may vary.
- bitL 10y agoSure, I use and like both of them. C++ for 3D graphics, Scala for Big Data. Yet I have seen so many things go wrong in both of them so my perspective is a bit different. Imagine if somebody redefines basic operators to mean something different, starts throwing int as exception in C++ or use templates with template parameters with number parameters and you have to figure out what exactly does this thing do? Or in Scala if somebody feels super clever and redefines half of the language by preparing some half-baked barely functioning DSL unable to compile a slightly different code than expected and you have to use it? It's the price you pay in both C++ and Scala for expressibility.
- jjnoakes 10y agoHow is that different from using a C function called add_two_ints which deletes the root file system and returns 42? I don't think it is possible to create a language that can prevent dumb code from being written.
- bitL 10y agoIt's not about dumb code. Actually both C++ and Scala can allow you unbelievably clever code which is also super difficult to understand by somebody uninvolved. Remember how some Haskell guys were complaining they aren't able to understand the code they wrote at the top of their game anymore?
- jjnoakes 10y agoBeing too clever or too terse is possible in any language though. It is an education and experience problem, not a language problem. Some languages may be slightly worse than others, but the root cause (and solution) is the same across the board.
- paulddraper 10y agoThat comparison is unfair. For starters, there's not the syntactic ambiguity (or at least human uncertainty) found so often in C++. There may be language complexity, e.g. how visibility interoperates can be difficult in weird cases. But I can at least parse it.
- lmm 10y agoNot my experience at all. There are a lot of dense one-liners in Scala but they tend to be the result of combining several orthogonal features in one place; the set of fundamental constructs is quite small and you can learn them pretty quickly, at which point as long as you're willing to keep calm, take your time, and read the one-liner like it's the five or ten lines it would be in other languages, you'll be fine.