3 ms·
Can we maybe also talk about FP’s cultural problem: that lots of people with a functional programming background just don’t get object orientated programming an
by throwaway4good 4y ago
Can we maybe also talk about FP’s cultural problem: that lots of people with a functional programming background just don’t get object orientated programming and instead of trying to understand it, dismiss it as crap and enterprisey.
- tempodox 4y agoThere will always be people who misunderstand things or are badly informed. Equating a whole culture with that subsection is not fair. Also, are you insinuating that those who “get” OOP can't find FP a superior approach for certain problems?
- throwaway4good 4y agoNo but I am implying that the author doesn't get OOP and makes no attempt to do so.
- vonwoodson 4y agoThe very idea that FP programmers don’t understand OOP is absurd on its face. You point to an undergraduate CS program that is teaching FP before imperative and OOP paradigms; you find me an FP zealot who hasn’t written more OOP than FP code. This is a nonsense “reverse racism” argument rehashed to be about programming paradigms, and I won’t stand for it.
- UncleMeat 4y agoWhen I was there, intro CS for the college of arts and sciences at UVA was taught in scheme. Lisp-y intro classes can be found at a large number of universities. MIT now teaches intro CS in python (multi-paradigm, not OOP) but famously taught it in Lisp for many many years.
- cutler 4y agoWhy stop there? Why not go the whole way and teach CS in Javascript? Python's tentacles of mediocrity know no bounds. It's as if the whole teaching profession is sleepwalking towards conformity.
- UncleMeat 4y agoA lot of places do teach intro CS in javascript because it solves the environment problem very nicely. Everybody has a web browser and so everybody has a javascript execution enviornment. I don't see how this is so terrible. Few of the actually hard problems in either software engineering or computer science actually depend deeply on the programming language one uses. FP isn't somehow morally superior to other kinds of programming. Several of the engineers I respect most on this planet started programming Perl. They didn't die.
- oaiey 4y agoThat is also OOP cultural problem: that lots of people with a object oreinted programming background just don’t get functional programming and instead of trying to understand it, dismiss it as crap and too pure, unpractical, over-engineered and too theoretic. I am a C# fanboy semi-greybeard with a very extensive OCaml university background and FP advocate (in C#) and I am still struggling with monads every single time I have understood them for a second.
- karmakaze 4y agoFunctional approach is always under consideration and a default. OOP is useful in certain contexts (e.g. GUI elements) or simulations, otherwise it's better to use OOP in a dependency-injection way to construct the process then let the relationships be static while performing computation processes with them. The full dynamic reconfigure objects willy-nilly in an area where that doesn't reflect the problem itself is doomed to be a mess. Especially with threads using mutexes or collections that do.