Earlier quoted context omitted.
On my case I would cry of happiness if F# would ever be allowed, sadly my employers only care to hire cheap developers that can write a few statements in any language. Java developers are sold to customers as expert .NET consultants, because on management eyes C# is just like Java! :(
> Java developers are sold to customers as expert .NET consultants, because on management eyes C# is just like Java! :( If your Java developers have problem picking up C# on the go and doing quality job within few short weeks with the assistance of one or two experienced C# devs as team leads, I doubt that they are good Java developers at first place.
Learning Haskell/Python makes you a worse C# programmer
61–64 of 64 posts
Re: Learning Haskell/Python makes you a worse C# programmer
#62Earlier quoted context omitted.
LINQ was introduced by Erik Meijer, an Haskell researcher working on .NET team. http://research.microsoft.com/en-us/um/people/emeijer/papers...
a true gem, thanks for this. where did you find out about this paper?
Re: Learning Haskell/Python makes you a worse C# programmer
#63Earlier quoted context omitted.
I'll see your Perl5 and raise you some Perl6: @list.map(*.description).grep(?*).join("\n")
That is starting to look more like J or K than Perl. Is the Perl 6 team still considering syntax changes? If so, any thought on making map/grep/join operators?
$ perl6
> sub infix: ($sep, @list) { @list.join($sep) }
> sub prefix: (@list) { @list.join(',') }
> ':' J ;
one:two:three:four
> J,;
five,six,seven,eightRe: Learning Haskell/Python makes you a worse C# programmer
#64Earlier quoted context omitted.
Also consider that it is hard to hire people to work on your project if you use F#, whereas c# has enough similarities to other languages that it is easy for people to get up to speed. It's too bad, F# is a really great language.
> Also consider that it is hard to hire people to work on your project if you use F#, whereas c# has enough similarities to other languages that it is easy for people to get up to speed. Also consider that HR departments and some engineers falsely assume that it is hard to hire people to work on your project if you use F#, whereas c# has enough similarities to other languages that it is easy for people to get up to s…
Do you disagree that C# has similarities to other languages? C# is based on Java, which is somewhat based on C++. Basically anyone who does a CS course learns one of these. In comparison, I don't know any programs that use Haskell, oCaml, scala, or ML (I had a single class in which I had to use ML fora single project). What I mean to say is, functional programming is not widely taught. I don't think this is controversial.
Do you disagree that any person that is reasonably smart and that you'd want to hire could become productive in c# within a few days, given that they've used java or C++ before. This is a super-low risk gamble. I don't think this is controversial.
The only indicator that someone can become productive in F# is that they have experience in one of F#, Lisp, ML, Haskell, etc. I don't think this is controversial.
Hiring people is hard. Maybe you haven't been involved in the process, but you have to interview hundreds of people just to find that one person who is smart, is a culture fit in your company, and has enough self-discipline and a high-enough level of consciousness to go about their work in a pragmatic and intelligent manner.
Now imagine that you are CTO of a new company and you are deciding between c# and f#. If you startup becomes successful, you'll have to quickly ramp up in hiring engineers. If your startup doesn't become successful, you'll quickly have to ramp up in having someone else hire you.
Assuming we are a rational person, that is we are doing a startup in the hopes that it will be successful, then our plans will facilitate the hiring of many engineers.
Fast forward to when we need to hire many engineers. Also, remember you don't have loads of time to spend doing this, because you're the CTO of a startup and you have shit to do. Also, remember it's hard for startups to hire because 1) risk and 2) you aren't google.
Now imagine taking your pool of candidates and reducing it by 99%.