News for hackers. Stuff that matters.
Re:Is F# Ready for Production? by skrebbel on Saturday April 19, 2014 @04:43PM (#7614657)
> 5.Hiring developers is already very hard. Do we want to limit the pool of available candidates significantly (and take the increased salaries that come with the harder-to-find skills)?

To that one, if I were in your shoes, I'd answer "yes" in a heartbeat. Using F# can help you differentiate yourselves on the job market. Everybody's looking for great developers, but you guys have a big plus when recruiting developers who prefer functional programming.

As an anecdote, Dutch startup Silk writes their entire backend in Haskell. Their founder Salar told me that while finding people is harder, the people they find are, nearly without exception, really good and passionate. They want to work for Silk because they want to code Haskell for their day jobs. They don't cost more than "other" developers at all, because they're so happy they can finally use what they feel is a decent programming language at work.

I guess F# has a bit less of a hardcore following than Haskell, but I bet that if you're one of the few functional programming shops in the region, Haskellers (and MLers and maybe even Lispers) will definitely prefer that over C# or Python.

Re:Is F# Ready for Production? by tracker1 on Saturday April 19, 2014 @04:58PM (#7614698)
+1 I also say that language polyglots are generally a much better find than those who build their career around a single language to rule them all. Although some of us promote JS as pretty close to that, even JS has a C/C++ base under the covers.

It's hard to get any new system to be seen seriously. It took the better part of 3-4 years for NodeJS to see any traction, and even then it's misunderstood. I continuously see people following the same patterns in building Node modules as they would for C# libraries.

It looks like you've at least tackled what is a very hard part in many organizations, and that is infrastructure. Not to mention, the new code can intermingle with the old (at least for a while).

I like FP paradigms, I find that it definitely leads to better unit test coverage... Not that unit test coverage is everything.

Re:Is F# Ready for Production? by d2p on Saturday April 19, 2014 @04:48PM (#7614668)
Maybe so; though job ads I'd seen for F# seemed to have higher salaries. Possibly that was just because of where they're based (London salaries are way higher than here, for example)
Re:Is F# Ready for Production? by UK-AL on Saturday April 19, 2014 @06:50PM (#7615041)
Because F# + London = Most likely to be a investment bank or finance.

Which is really annoying because I want to do functional programming, but the only place they employ those programmers in the UK is london.

Re:Is F# Ready for Production? by skrebbel on Sunday April 20, 2014 @05:44AM (#7616356)
Well, nothing stops you from trying it out and seeing what happens, right :-)

Post a job ad explicitly requiring functional programming experience and I'll bet an enthusiast will end up on your doorstep soon enough. Then you can see whether your fears hold or not.

Re:Is F# Ready for Production? by profquail on Saturday April 19, 2014 @06:46PM (#7615028)
The job ads for F# usually do have higher salaries than those for C# programmers. However, I think you misunderstand why that is the case; it's not (just) because good F# developers are harder to find than good C# developers, it's because a good F# developer will be more productive, even more so than reflected by the salary ratios. A good F# developer is (almost always) going to also be very proficient in C# too, so they'll be able to switch back and forth easily and use whichever language is better-suited for a specific project.
Re:Is F# Ready for Production? by _random_ on Saturday April 19, 2014 @07:01PM (#7615087)
Please don't put F# on a shiny golden pedestal. A good C# developer can use it without any problem as well. You of course would need to be open-minded enough to understand that a C# developer doesn't mean an imperative developer. I am not the best developer at all, but my C# code tends to be quite functional and I prefer using the Maybe monad to deal with nulls in some cases for example. I just don't see any massive obvious benefit of loosing the tooling and ReSharper to switch to F#. Especially now that C# is open-source and the Roslyn is nearly there.

PS: a good JavaScript developer will probably be even more productive than both C# and F#, despite the language being horrible.

Re:Is F# Ready for Production? by profquail on Saturday April 19, 2014 @07:55PM (#7615217)
Well, by switching to F# you get much better type inference, discriminated union types, pattern-matching, explicit tail-recursion, serializable types by default, and type providers (and that's not even a comprehensive list). I suppose it depends what type of app you're building as to whether those are worth anything to you -- but in the areas where F# is rapidly getting more popular (data science, numerical/algorithm-heavy work, distributed computing) they do in fact make you much more productive. A good chunk of that productivity gain results from being able to easily and quickly write type-safe code and express algorithms without a great deal of syntactic overhead.

A JavaScript developer might be more productive than either a C# or F# developer depending on what kind of app he/she was writing; overall I don't think that would be the case, especially once you factor in maintenance costs of the code over the long-term.

Re:Is F# Ready for Production? by knocte on Saturday April 19, 2014 @08:15PM (#7615275)
> A good C# developer can use it without any problem as well.

This is not true (I've been a C# dev for many years already, and I've been learning F# for the last months). It's not so easy to switch the mindset and the syntax.

> PS: a good JavaScript developer will probably be even more productive than both C# and F#, despite the language being horrible.

Yeah, more productive the first days (at a PoC phase), but more productive the next months? I don't think so. You need to watch this talk: http://vimeo.com/72870631

Re:Is F# Ready for Production? by Locke1689 on Saturday April 19, 2014 @10:00PM (#7615492)
The video is not a good argument. All the time I saved writing Haskell by being able to use quick check was completely torched by having to refactor my entire codebase, with no tooling, when I realized I needed to thread some configuration state all the way down to a tiny area of my code as well as spending a good 4 or 5 days hunting down space leaks.

Overall, I think I would have been more productive with OCaml. Every language has trade-offs, you just have to understand what they are and how they affect the problem you're working on.

Re:Is F# Ready for Production? by knocte on Sunday April 20, 2014 @02:07PM (#7617798)
The talk isn't about Haskell. Haskell is used just as an example for most code snippets. But all arguments raised in the talk apply perfectly well to F#, and F# has much better tooling than Haskell.
Re:Is F# Ready for Production? by lclarkmichalek on Saturday April 19, 2014 @05:43PM (#7614832)
Where is "here", in this context?