5 ms·
"Instead, the most intelligent coders I knew tended to take it up; the people most passionate about writing good code." Ah, yes, the most intelligent people te
by sidlls 4y ago
"Instead, the most intelligent coders I knew tended to take it up; the people most passionate about writing good code."
Ah, yes, the most intelligent people tended to take it up, therefore if I take it up I, too, am intelligent.
That single line in the article encapsulates everything wrong with FP zealots' approach to their advocacy.
- dsnr 4y agoThe gazillion of lines of imperative C/C++ code out there that every OS runs on, are probably written by less than intelligent people.
- npc12345 4y ago
- bordercases 4y ago
- goatlover 4y agoLike Linus Torvalds. Lispers tend to make similar claims. So does Alan Kay about Smalltalk. Yet most of the world runs on top of C/C++, or COBOL (or Java) for financial transactions and Fortran for heavy duty numerical calculations. Not that FP, Lisp and ST don’t have their advantages. They clearly do. But their supremacy is overstated when it comes to code that runs the world.
- senand 4y agoThat doesn't mean the imperative languages are "better", though, just more popular. I recommend the following video titled "Why isn't Functional Programming the Norm?": https://www.youtube.com/watch?v=QyJZzq0v7Z4 https://www.youtube.com/watch?v=QyJZzq0v7Z4
- goatlover 4y agoSure, I'm skeptical that any paradigm or PL is superior in general, it probably all just depends on various factors.
- lupire 4y agoIf you want to say that popular isn't better, you have to say that with a lot of people are either making bad choices or lack agency. Neither of which makes sense when you look at something like Git or Linux, where someone decided to make a whole new thing without dependencies, and it displaced the previous thing, and the people who use it don't need to care what language it was written in.
- splitstud 4y ago
- senand 4y agoI want to say popular isn't _necessarily_ better. Your argument is a counterexample if I had said (which I didn't) that more popular were _always_ worse. In the world of programming (and I guess elsewhere, too), there are simply many more aspects at play when "choosing" the programming language than purely how good the language itself is. Easiest example is Javascript were it's simply widespread because it was the only language available in the browser. I recommend again that you watch the video :-).
- lmm 4y agoMy whole career I've worked with companies that used FP approaches and consistently beat their competition by doing so. If you look at how programming languages have evolved over the last ten or twenty years, the direction is clearly towards FP, because while the benefits take a while to trickle down, everyone recognises them. Less and less people are using C/C++ (and yet it's still responsible for most security bugs); people are indeed still using "Java", but the Java of today is closer to the Haskell of 1996 than it is to the Java of 1996.
- gpanders 4y agoAh yes, OS development, a domain famous for attracting stupid people.
- deleted 4y ago[deleted]
- galaxyLogic 4y agoPeople often confuse intelligence with complexity. Yes you have to be intelligent to understand complex problems and complex solutions. But just because you are intelligent enough to understand a complicated solution, does not mean the solution is "intelligent". True intelligence is about coming up with solutions where complexity is minimized. Even though an intelligent person can understand a complicated solution the complexity of a solution strains even the most intelligent programmer. It takes time to ensure yourself that the solution is correct. Whereas with a simple solution that is easy. It takes intelligence to find a solution that is simple and thus easy.
- kaba0 4y agoThat’s a great take, but I have to mention that I disagree with a statement I may have only read into the thread: FP is not more complex just for the sake of it.
- galaxyLogic 4y agoI think FP is simple, uniform and very powerful. Because of that it becomes easy to express very complicated things in it, and thus write complicated programs. Like Y-Combinator. FP is simple but FP programs (often) are not. FP is a bit like Assembler. The building blocks are very simple. The resulting programs are not. In a more conventional language the building blocks are not so uniform there are many different things you build your program out of. Think COBOL. Not very abstract code at all. But easy to read. Conventional languages are more like "Domain Specific Languages" where the domain is building business etc. software. FP gives you the full (?) power of mathematics, it is fully general, not domain specific. Yet DSLs are often a better fit for the task at hand.
- yCombLinks 4y agoI think FP's niche popularity is primarily because of it's complexity. The complexity of it makes certain types of people feel smart, so they love it.
- epgui 4y ago
- didibus 4y agoDo you mean that talent is required to leverage FP effectively? Kind of like how a faster car in the hands of a less talented driver won't make them faster, but might just cause them to crash? Whereas a talented driver would pick a faster car and actually benefit from it? Personally I think it's not so much about intelligence or talent, but passion. In think the developers who demonstrates that they've learned and tried more development techniques and styles, that shows a passion and interest towards software development, engineering and comp-sci. That passion is often key to success and long term performance. There's probably a cutoff between talent and passion, where passion alone probably has some limits, but also where talent alone has limits as well. If you find someone with both though, that's a pretty good sign. The question is, are talented developers drawn to FP, or is it passionate developers that are? Or those that have both? And the other question is, can FP make someone more talented? Can it make them more passionate?
- epgui 4y agoIsn't that a bit of an ad hominem? You dismiss or disagree, because you don't like the author's attitude?
- sidlls 4y agoEh, maybe. But when the argument itself is a bit of an ad hominem what is one left with? The usual implication of the “argument” is that if one doesn’t think FP is all that great, it’s because they don’t understand it (and, usually, that they don’t understand it because they are not intelligent).
- epgui 4y agoI don't think that's what the author wanted to say... And in any case it's certainly not a very generous interpretation of what the author wrote. IMO, the author makes an observation of familiarity bias and resistance to change. These are just how humans in general tend to behave, and it's not unreasonable to think that these factors are in play. Moreover, there is an overlap between intelligence and curiosity / openness to new experiences. If someone is not particularly curious about FP, they shouldn't take it personally: nobody is suggesting they're not intelligent-- that's not what's being said here.