3 ms·
F#. Back in 2006 I first stumbled upon it and was amazed. It had so much potential. Everything C# did, and more, better. I was sure we'd see 20% of MS devs movi
by MichaelGG 9y ago
F#. Back in 2006 I first stumbled upon it and was amazed. It had so much potential. Everything C# did, and more, better. I was sure we'd see 20% of MS devs moving to it.
I underestimated the momentum of MS, the power of embarrassment of hiring a high-profile figure to be shown up by a researcher, the incredible anti-FP and even anti-generics...resentment(?) that MS kept towards them. Plus the insane comments from actual developers that literally did not understand the basics of C# ("C is a subset of C#" and "var is dynamic typing" <- comments from a public high-profile MS hire).
I've basically given up hope on programming becoming better over time. A lot of apps are boring grunt work anyway, so the edge in using better tools can be beaten just by throwing a lot of sub-par people at it.
On the plus side, for people looking to strike it rich in "tech", knowing tech isn't really a prerequisite. Persistence and the 'hacker' spirit, even if it means you spend all night writing something in PHP that would literally be one line if you know what you were doing, hey, that's what leads to big exits.
- whistlerbrk 9y agoDon't give up. I see FP growing every day. I saw a Haskell job listing yesterday for $180k/yrly. These skills are valuable and becoming more valued. I think the Xamarin purchase bodes well for F# which I have an intention of learning. My understanding is it is more popular in Europe btw.
- RyanZAG 9y agoI feel it's more a case of functional programming trying to target the wrong segment - albeit out of necessity. There's two kinds of programs being made. First most common one is the kind you're talking about here: grunt work. It's not about the code, but more about having the code do a straight forward task with very flexible constraints. A web app that talks to a database and does a few simple transformations -- like forum software or a todo app. The second type is the interesting one: actual difficult code that does something unique and difficult and can take years to write by very experienced developers. Usually the difficult part here is coming up with the correct algorithm and then applying it, often with performance considerations being extremely important as the code is doing a lot of work. An impressive new MMORPG game, a new rendering technique, complex simulations, control code for rockets or advanced batteries. The big program with functional programming is that it's never been positioned as a solution to the second type. Generally people trying the second type are told to use C, C++ or recently, Rust. Functional programming is marketed as making the first type "better" because trying to market it as being more efficient than C/C++ has not worked as people rely on micro benchmarks for these decisions. But this falls apart with the argument you gave: for the first type, it's better to just hire more junior programmers as there's nothing really difficult involved. And using a functional language makes it extremely difficult to hire junior programmers, because functional languages are aimed at advanced programmers. It's a massive product-market fit problem.
- lastofus 9y agoI think there is a third segment where FP fits well: large difficult problems that can afford a 10-20% performance hit. The examples you gave of difficult problems are mostly soft realtime, which not everything needs to be. Granted this is a relatively small subset of problems.
- wbl 9y agoIt's all the problems where you get a nice clear market if you solve it.
- bunderbunder 9y agoI'm still holding hope that F# will experience a renaissance once the whole .NET Core thing gets sorted out. (If the whole .NET Core thing gets sorted out.)
- zurn 9y agoFP continues to be on the upswing, also in the JVM world and frontend (compile-to-JS) languages.
- bpyne 9y agoF# was the only reason I wanted to dip into .NET. I really expected it to take the development world by storm because it was introduced when FP was getting a lot of attention.