Hacker News new | past | comments | ask | show | jobs | submit login

It's so curious to me that functional disciples wear this as a badge of honor. In nearly all other facets of software development, we get badgered that it's better to produce code your entire team understands (code is read more often than written and all that) than code which only makes sense to you. If I ran around talking up the zen of single letter variables, my team would shoo me out of the room, and almost nobody on HN would applaud me for it. But for some reason, functional programming tends to get a pass, despite it just not clicking for a large swath of team mates.



> If I ran around talking up the zen of single letter variables, my team would shoo me out of the room, and almost nobody on HN would applaud me for it.

Yes, because single letter variables are bad.

> But for some reason, functional programming tends to get a pass, despite it just not clicking for a large swath of team mates.

Perhaps this is a problem with the team mates rather than with functional programming? I'm too dumb for functional programming, but I freely admit it's the superior way of writing software. If we were mathematicians rather than programmers, programming would be way better!


If you and half your team a not smart of enough for functional programming, along what dimensions is it clearly superior? Just like with single letter variables that only make sense to the author, if functional design only makes sense to one or two people on a team of many, it's clearly inferior.


Functional programming is superior because it leads to more correct programs. Classes of bugs become impossible. With dependent typing, you can prove even more about your programs and mathematically guarantee they're behaving to spec.

Instead, we as an industry choose JavaScript and endless runtime errors, because we don't care about the occasional blowups. We want to move fast, break things, and not have to learn maths.

Note the current state makes business sense: quick and cheap and who cares whether it works well, we'll throw it away soon anyway.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: