4 ms·
1. Java platform is excellent. Also, Scala.js is now Scala for JS platform, and scala-native is coming soon. 2. Have you seen languages like APL or J? Now that
by atemerev 10y ago
1. Java platform is excellent. Also, Scala.js is now Scala for JS platform, and scala-native is coming soon.
2. Have you seen languages like APL or J? Now that's operator overloading. '+' is just a symbol, meaning a lot of different things even in mathematics. All meaning is a product of convention.
3. In modern Scala, implicit _conversions_ are discouraged unless you know what are you doing. Besides, Scala IDEs are excellent in showing applied implicits anywhere in the code (you do use an IDE, right?)
- stcredzero 10y ago'+' is just a symbol, meaning a lot of different things even in mathematics. All meaning is a product of convention. As always: cost/benefit! There is a price for the "context switch" out of one set of conventions into another. Sometimes, the benefit far outweighs the cost. For example, there are certain environments where you can jump out of the programming language and simply write a method in SQL. Not embed SQL in code in a string, you can simply write prepared statements as a method. For certain applications, this can be beneficial. The problem I have with operator overloading, is that it allows the average programmer to switch conventions using some of the the most commonly used conventions with barely a sign that something special is going on. It's too easy to use. It's too easy to miss. It's too easy to get a moment of confusion from it when debugging. (What, I'm in a method? Oh, operator overloading!) And it doesn't produce a great benefit all that often. Yet it has a "nifty" factor that encourages in experienced programmers to make use of it -- precisely the people who probably shouldn't be making that decision.
- k__ 10y agoThanks for the reply :) 1. Java platform is overengineered, everytime I had to set up stuff like Maven, I missed the easy JS days. 2. True story, I can infer what a '+' between two strings means, but what about all the non-intuitive operators? (List concats etc. pp.) 3. Not a big fan of IDEs. More of an editor dev, but good to know ICs are now discuraged. I got myself "Programming in Scala" back in the days and it seemed to me, that the Scala makers thought of IC as Scalas killer feature :D
- oldmanjay 10y agoNot using an IDE for JVM-based languages is sort of like using pliers to drive screws. You can do it, but it's tiresome.
- saosebastiao 10y agoI used to only use plain editors until I started using scala, after which the benefits of an IDE became readily apparent. Unfortunately, all of the IDEs for scala are relative shit compared to their support for Java. It would be nice to be able to run an integrated debugger (as opposed to a port connection from an SBT spawned JVM), integrate directly with SBT (as opposed to having to run it side by side), provide a full featured REPL (not the neutered version with no completion and poor editor integration), as well as functional import organization, dead code identification, refactoring suggestions, real linting, real code formatting, working extract refactorings, etc..
- atemerev 10y agoWell, _the_ Scala IDE currently is Scala plugin for IntelliJ IDEA (works in Community Edition, which is free and open source). All these features work there.
- allengeorge 10y agoOur z
- allengeorge 10y agoOur z