6 ms·
Sometimes it really amazes me just how far out of touch with the mainstream people in the FP community can be. Any concept that the elite struggle with as much
by cageface 16y ago
Sometimes it really amazes me just how far out of touch with the mainstream people in the FP community can be. Any concept that the elite struggle with as much as monads simply has no place in the working programmer's toolbox. Haskell is a wonderful research language. It and its ilk will never be bread & butter.
- nopassrecover 16y agoThe same could be said originally for generics and lambdas which have become increasingly common elements of programming. Complex ideas can yield powerfully simple and useful implementations.
- forkandwait 16y agoI would say about one out fifty (2%) of bread and butter programmers can actually figure out how to pass an anonymous function as a parameter to another function. Granted, those 2% are probably a lot more important than the other 48%, but I don't think lambdas are actually common... Also, if one of those 2% have to write code understood by the other 48%, they probably shouldn't use a ton of anonymous functions (or generics, whatever they are).
- deleted 16y ago[deleted]
- kscaldef 16y agoAre you saying that you think only 2% of programmers are capable of programming in Ruby? Blocks are pervasive in Ruby, and although technically slightly different than anonymous functions, conceptually very similar. (Also, you mean "the other 98%".)
- chromatic 16y agoPerhaps the distinction between "can copy and paste existing syntax examples" and "understand what the syntax does" is significant.
- epochwolf 16y agoI would like to point out ruby makes it very difficult not to pass around anonymous functions. >2% have to write code understood by the other 48% that would be the other 98% ;)
- mquander 16y agoReally, so what should you use a ton of in hopes of making code easy to understand for a programmer that doesn't understand first-class functions? What makes you think they understand polymorphism? What about exceptions? Do you think they understand pass-by-value versus pass-by-reference? Do you think they understand any data structures? Pointers? Loops? Boolean logic? It's ridiculous to complicate your code in an attempt to hit some moving target of "an ignorant person might be able to understand this." If a "bread-and-butter" programmer is using a modern language and doesn't understand functions, the correct response by everyone involved is for that programmer to spend some time understanding functions. I dare say the same is true for monads, although in many languages monads are hard to abstract out, and thus have less of an everyday value.
- MichaelGG 16y agoOnly 2% can figure out how to use a lambda? I guess it all depends on your definition of "programmer". Note you did not say "already know", but "can actually figure out". I don't want to know what kind of software is being written by someone who, if they tried, could not actually figure out how to pass a lambda.
- deleted 16y ago[deleted]
- nopassrecover 16y agoLambdas and generics are essential to writing modern C# code - that language everyone seems to deride as dumbed down for your average programmer. jQuery likewise uses a lot of anonymous functions, and even front-end devs without heavy code experience manage to use this.
- cageface 16y agoFP research has contributed many valuable ideas to the programming mainstream. However, after watching entire rooms full of top 5% programmers scratching their heads in bafflement over explanations of monads I very much doubt monads will earn this distinction, at least not in any kind of explicit use.
- jimmyjazz14 16y agoPlenty of "the elite" find monads quite common place and use them effectively for real mainstream programming every day. I might say people in the FP world are much more in touch with the future of programming then most. Languages like Haskell are solving problems (elegantly) that many mainstream programmers have not yet come across but they will.