4 ms·
That's... actually simple stuff. Have you had a look at Scalaz? Or Shapeless? The whole point of Cats is to solve the overkill of Scalaz, where you sometimes do
by ane 11y ago
That's... actually simple stuff. Have you had a look at Scalaz? Or Shapeless? The whole point of Cats is to solve the overkill of Scalaz, where you sometimes do need algebra, by making abstractions simpler and safer to use. Remember, nobody is forcing you to use this wizardry in Scala. You can write it in a simple, matter-of-fact better Java style; or you can leverage the power of abstractions to create something advanced. You don't have to indulge in applicative functors and coproducts just because. Use them wisely, if at all!
- incepted 11y ago> Remember, nobody is forcing you to use this wizardry in Scala. We heard the same thing with C++ 20 years ago and see where it went...
- jowiar 11y agoThat's... actually simple stuff. If you have the prerequisite knowledge. Most people don't. And then somehow it always manages to lead to codebases that look like `a \~=>>> b`. nobody is forcing you to use this wizardry in Scala Except that sorting out things in open source code absolutely does entail dealing with this. With JS, Python, or Java, I can dive into just about any open-source codebase, and at least get some clue as to what's going on. I think a large part of why Scala's open-source situation is pretty awful is that so many Scala codebases are a bunch of dudes waving their [censored]s around, using libraries that consist of inscrutable squiggles and meaningless terms, just to demonstrate how smart they are. You can write it in a simple, matter-of-fact better Java style; or you can leverage the power of abstractions to create something advanced. This is a false dichotomy. When I look at code written by Martin Odersky, I don't see people trying to brag about their grad degrees through their code. And the reason this project makes me so happy is that it really feels like "the good people" of Scala reclaiming the community from the LambdaBros.
- eastWestMath 11y agoIf it's something a sophomore with no background beyond calculus can handle, it is simple stuff. It's ridiculous that treating software engineers as though they have a bachelor's degree in STEM makes you a "LambdaBro."
- jowiar 11y agoIt's disingenuous to say that this is included in a "bachelor's degree in STEM" -- it's part of a specific course of study. Part of the reason this issue pisses me off so much is that I have a degree from one of the top CS programs in the world. I was definitely more of a theory than a systems person. And yet it still feels like a pile of unnecessary ego-stroking gibberish. I feel comfortable saying most people who make software are less-experienced in this area than I am. When I run into this, I can at least say: "This is bullshit", and not feel the imposter syndrome of "It's just me -- I'm not smart enough for this" that I imagine most people feel. Beyond that, functional programming is, by and large, easier than imperative programming. I love writing Scala -- It's honest about side effects, honest about concurrency, and has one of the better type checkers around. And I'm sick of seeing people try to "fence off the riffraff" by raising the barrier of entry to the Scala community.
- eastWestMath 11y agoI didn't say it's included, I'm saying anyone capable of a bachelor's degree in STEM is capable of picking it up. And if you think you were a "theory" person, but don't know the basics of abstract algebra, then you have an incredibly naive idea of what theoretical computer science entails. Hint: there's a lot of abstract algebra.
- bgar 11y agoBeyond that, functional programming is, by and large, easier than imperative programming. You say this but dislike even a bit of abstract algebra? I see a conflict here; anyone that likes FP, moreso, typed FP, should be familiar with simple concepts like monoids, functors, and monads. Honestly, I don't understand how someone can write in a functional language and not know these concepts.... they're literally Haskell 101. That doesn't even scratch the surface of what FP can do...
- rfrey 11y agoNothing that jowiar wrote suggested to me that he or she dislikes abstract algebra. I think their point is orthogonal to personal preferences.
- auggierose 11y agoLambdaBro, love that expression :-)
- ane 11y agoI do understand your point, there is a lot of ego-stroking going on in the community, and I loathe it as well... but this page? This is just a demonstration of Either, one of the simpler types! I honestly think you just saw the word "algebra" and that was enough to alarm you, which I kind of understand as well, but still. This isn't λ-bro stuff. This is one of the good ones.