(no title)
dr0l3 | 5 years ago
Lihaoyi is one of the most prolific coder's, not just in Scala, but in any language. He looks like he is much to humble and modest to claim so himself, so I will do it for him.
Here is a by no means exhaustive list of projects
- A buildtool
- A bash replacement that speaks Scala
- A test framework
- A parsing library
- Ports of several python libraries in Scala
- Several libraries in the scala.js ecosystem
For the full list see https://github.com/lihaoyi?tab=repositories
Discussions on Scala on HN tends to contain a somewhat large volume of comments that explicitly or implicitly tries to communicate that Scala is a language that is much to complicated to really be productive in. Lihaoyi is a rather clear example of why this is not true. If this random internet citizens endorsement doesn't convince you maybe the book will :)
_nckn|5 years ago
justinhj|5 years ago
dr0l3|5 years ago
The remaining piece of the puzzle is that Lihaoyi's libraries and general approach is exactly what a joe average coder would want. There is minimal use of advanced features, it is all quite straightforward and simple.
There are other productive contributors in Scala, but among them I would rate Lihaoyi to be among the least "magical". The fact that he is both practical and productive is what makes him unique. I guess my point was that there is a lot to be learned from that. For some nice examples of what it looks like in practice see his series of blogposts titled "how to work with x in scala".
acjohnson55|5 years ago
I frequently miss basic features when I'm using other languages. Some of these include: - Its system for basic immutable data structures. - Pattern matching for very concisely extracting and branching on data. - A really nice immutable collections library. - Scalacheck for generative testing, driven by the type system. - A bunch of other nice-to-have syntactic features.
From the perspective of building projects, I appreciate that it can model anything from quick utilities to simple web services to concurrent systems, all within a single JVM. And with tools like Akka, you can move that to distributed systems without having to add external software you have to operate.
xwolfi|5 years ago
Sorry but saying a dude on github has to do a test framework or port libraries, convince me Scala isn't ready.
brianyu8|5 years ago