Re:Functional programming, APL and UNIX pipes
by DannoHung on Monday May 24, 2010 @12:34AM
(#1373787)
It's pleasant enough for doing computations, but if your C/C++ is not up to snuff, you will find yourself very frustrated trying to integrate it into an existing ecosystem. Additionally, there are some REALLY annoying things you face due to the single threaded nature of the language if you're doing real time systems.
But if you go and learn K or Q and you've got good C chops, you can absolutely get a job in Manhattan or Chicago (must be willing to work long hours with little support, build almost all of your own tools, and handle the constant pressure of making everything work perfectly the first time).
The monadic chaining style of LINQ from the .NET world is also relevant; it's even more pipe-like, in that it's creating a pipeline, rather than modifying the data en masse, one step at a time.
The APL/J/K languages are built around a construct very similar to this, so the OP's reference to APL is apt. You really should check out J or K if you haven't yet. J comes with a marvelous set of tutorials. K comes with nothing. :)
(But K is a work of genius, in my opinion. A pinnacle.)