2 ms·
In support for your statement I'll add my own experience. As a language expert, I've become more proficient with Perl the language than most people I know who
by sreque 15y ago
In support for your statement I'll add my own experience.
As a language expert, I've become more proficient with Perl the language than most people I know who program in the language daily. Perl has a tremendous number of nooks and crannies to explore and is so complex that as far as I know there are no other implementations of the language besides the original. However, having mastered Perl, I am still far less productive using it than any of the other several dynamic languages out there that let you accomplish the exact same things but without all the extra complexity.
Scala had the opposite effect for me. Having reached a certain level of proficiency with it, many times I feel like I can express my ideas in code faster in Scala than I can in any other language. If Scala had faster compile times and a more Unixy library (not likely, given its Java heritage), I would even replace my use of scripting languages with it for small tasks!
- wanorris 15y agoWhen you say you "can express my ideas in code faster in Scala than [you] can in any other language", I'd love to see you expand on this. Why is it more productive for you than say, F#, or Haskell, or Python, or Clojure? I don't say this to dispute your findings -- as someone potentially interested in learning Scala, I'm genuinely interested in any specifics you can provide. Thanks!
- sreque 15y agoWell, a lot of coding comes down to data structures and algorithms, and I feel that Scala has the best out-of-the-box collections library experience of any language I've used. This makes it easy for me to choose an appropriate data structure and write my code as a series of transformations on it. I also like to think in terms of objects and Scala has the best fusion of OO and functional that I've ever seen. Finally, for most problems I like having a type system to help catch errors and to help shape the design process, and I like the IDE and tooling support that comes with it. That said, I've never written a line of F# and have written very little Haskell and Clojure. Clojure also seems like a fine language to get things done if it is more your cup of tea. If I were to pick a Lisp for development, Clojure would definitely be it.
- Dn_Ab 15y agoI think Scala is a wonderful language, however it is one of many. Data structure and collections support in scala is equivalent to any functional language. I would be interested in hearing where you think Scala offers more. F# is another functional language that balances OOP in a way that works well. It is different to but homomorphic with Scala's OOP functional synthesis. Both allow a very unique style with algebraic types, matching objects, structural recursion and monad syntax.