4 ms·
> it's been an awesome force multiplier for small teams who need to productively pump out safe and ergonomic code. How much of this would be due to actual lang
by smokel 2y ago
> it's been an awesome force multiplier for small teams who need to productively pump out safe and ergonomic code.
How much of this would be due to actual language features, and how much due to selection bias induced by talented and ambitious software developers looking into functional programming languages as a means to satisfy their intellectual appetite?
- threeseed 2y agoType system makes a huge difference especially things like refined types: https://github.com/Iltotore/iron https://github.com/Iltotore/iron Shifts entire classes of errors to compile time.
- beastman82 2y agoMost underrated library in the world
- mrkeen 2y agoI've had a (relatively) bad time with Scala codebases. The last one I was involved in was like a 6-minute wait between making a code-change and being able to run or test it. But I still wanna work with Scala devs. I'd rather work with Scala devs on a Java codebase than Java devs on a Scala codebase. It's not about intellectual appetite though. It's about not re-litigating the same crap at every new work place. Avoid mutability and nulls where possible, etc.
- JackFr 2y ago> I'd rather work with Scala devs on a Java codebase than Java devs on a Scala codebase. And Java devs on a Scala codebase is effectively the norm once your project enters BAU/maintenance phase.
- SOLAR_FIELDS 2y agoOne of Scala’s major issues is that it’s too easy to write Scava IMO
- dionian 2y agoits a feature not a bug
- vaylian 2y agoThe problem is that it is easy to write code that is not easy to read/understand afterwards. Especially if the code has a lot of operator soup and implicits.
- pas 2y agoDo people still do that? I thought that the whole "you can just google goobedygook" meme died already! ZIO for this reason has sane normal proper names for things for example.
- nikitaga 2y agoI've worked both at a startup that used functional programming libraries pretty heavily, and a startup that is using as plain of a Scala as you can imagine (no cats / zios / kyos / etc. in sight), and both benefited greatly from Scala language itself. The rich, safe and sound type system, combined with ergonomic syntax and well thought out features make it very easy to both read and write code – and most importantly – to make massive changes with very high confidence – which is an absolute necessity in a fast moving startup where the business requirements evolve all the time, features are shipped urgently with some tech debt that needs to be effectively addressed later, etc. In terms of talent there is definitely some self-selection as with any non-default tech stack. Scala is a sharp tool and there are both people who are attracted to it for the pragmatic utility of its sharpness, and people who are attracted to it for wanting to play with sharp things. Both types are smart but the latter group have given Scala a bad rep in the past for being too smart and thus writing code that was too clever for others to understand. But nowadays the general vibe in the talent pool is a lot more pragmatic.
- btreecat 2y agoCould you give an example of a massive change that was made easier by your choices?
- zozbot234 2y ago> I've worked both at a startup that used functional programming libraries pretty heavily, and a startup that is using as plain of a Scala as you can imagine (no cats / zios / kyos / etc. in sight), and both benefited greatly from Scala language itself. Wouldn't you want to use Kotlin for the latter these days? It seems to have broadly wider adoption than any "plain" variety of Scala.
- gf000 2y agoI don't know, kotlin has its pros, and is absolutely here to stay due to Android alone, but I always felt it being more or less just syntactic sugar for Java 8, to the point that now even Java has some more advanced/elegant features, like proper pattern matching with algebraic data types, while Kotlin is stuck with dumb sugar for instanceof checks. Scala was always much more elegant and actually going the extra mile.
- vvillena 2y agoScala is not just a good functional programming language. It's also possibly the best OOP language around. The magic happens when these two aspects are combined.
- davidee 2y agoThis has been my personal discovery as well. I inherited a bunch of old Scala code and, having had no experience with Scala, it took a while to get up to speed. But once it clicked, it's been a joy to work in.