News for hackers. Stuff that matters.
Re:Programming Can Be Fun Again by michaelochurch on Monday September 05, 2011 @10:15PM (#2963846)
I find C and C++ fun to write. The difference is that functional languages make (50th-percentile) code fun to read. In C++ and Java, even 90th-percentile is a bitch to read, hence people don't. At best, those responsible for maintaining it will skim it. This is also why the "broken windows" pattern (once things get ugly, people "hack" them and they get uglier) sets in so rapidly in C++/Java projects.

Functional programming encourages beautiful code (although it certainly can be ugly.) A consequence of this is that people, even if they're not skilled enough to write pretty code, actually read code-- not because they need to, because they want to-- and become better programmers as a result.

Functional programming, for a passionate programmer, refines the aesthetic sense and 2-4 years of it will give most people the skill to be a passable software architect (whether they are passable or great depends on talent IMO). Not so with C++ or Java. You can spend 10+ years in those languages and get really, really good at optimization but still have no aesthetic sense.

You also learn faster when using FP languages because you can do more in them. You get to see the consequences of your architectural decisions long before the project goes multi-developer and is handed off to someone else or a team.

Functional programming is not a great career move. It makes you a difficult fit for 90% of jobs that are out there, and it makes a lot of people think you're a hipster jackass. But it's rocket fuel for your skill as a programmer.

Re:Programming Can Be Fun Again by mobileman on Tuesday September 06, 2011 @03:08AM (#2964498)
I think this is one of the commentaries I've read on FP. I was a FP junkie and DSL addict until I realized my business was going to fail because I couldn't hire the right people at the budget I had.

It is why I'm an alcoholic now. Java makes me drink as I wait for Ocaml to be main stream