3 ms·
If you want your engineers to spend time playing with highly academic libraries that are unnecessarily complex for the business problem you are trying to solve,
by throwaway91322 4y ago
If you want your engineers to spend time playing with highly academic libraries that are unnecessarily complex for the business problem you are trying to solve, choose Scala.
- hocuspocus 4y agoHighly academic libraries, because of course companies like Comcast or Disney Streaming are universities.
- throwaway91322 4y agoRed herring.
- wbillingsley 4y agoAlthough there are some complex libraries available for Scala, there's also a lot of very simple stuff. It's a very expressive language, and sure that lets some libraries do some very powerful and complex things or find new abstractions that'll come across as really complex. But it's also very good for expressing things simply. Earlier this year, I wrote some materials for teaching git in a little interactive OER I've been trying to build up. With Scala, I could write a little git simulation and embed it into my slides and it did not seem like a big undertaking. Across these and the decks after it, there's quite a lot from simulating git, to visualising diff a simple diff algorithm, to doing git graphs that'll sit well in an interactive slide https://theintelligentbook.com/supercollaborative/#/decks/vcs-history/0 https://theintelligentbook.com/supercollaborative/#/decks/vc... https://theintelligentbook.com/supercollaborative/#/decks/vcs-branch/0 https://theintelligentbook.com/supercollaborative/#/decks/vc... https://theintelligentbook.com/supercollaborative/#/decks/vcs-diff/0 https://theintelligentbook.com/supercollaborative/#/decks/vc... to letting students do an in-browser tutorial that tries to simulate a VS Code-like environment https://theintelligentbook.com/supercollaborative/#/challenges/gitLocalTutorial/0/0 https://theintelligentbook.com/supercollaborative/#/challeng... In the JS or TypeScript ecosystem, I think I'd have been hanging off so many libraries that I'd be dreading how fast my dependencies move. Here, I've got a dependency on one JS text editing widget and one JS Markdown parser, and one Scala dependency on (my own) little front-end framework ... and that's about it. The rest I could "just write". Ok, my code ain't fantastically commented because I'm not expecting collaborators, but there's 15 commits in writing the whole darn thing, including the slide decks and interactive tutorial. https://github.com/theIntelligentBook/supercollaborative/commits/main/src/main/scala/supercollaborative/versioncontrol https://github.com/theIntelligentBook/supercollaborative/com...
- therealdrag0 4y agoOr just have a culture of shipping projects without futzing. We have dozens of Scala services and many dozens of engineers and this hasn’t been a problem.