lainchan / λ

Haskell vs F#

Anonymous · 2015-11-20 12:22
Should I pick up F# or Haskell? I really like C# and I want to be a C# developer later, but right now I'm looking into functional programming as a hobby, could you help me decide, lainons? F# +I can use .Net +Closer to my original domain of knowledge +The company I'm interning is using it, could earn me plus points if I go for full-time here -Not purely functional -Questionable application outside the windows realm Haskell: +Great, sexy syntax +If I could not get work advantages from F# I would instantly choose this +Community seems cool, many tutorials and resources -It is said to have a steep learning curve, not sure if I will be getting the kicks out of it Could you list some more pros/cons for me, from the programmers point of view?
Anonymous · 2015-11-20 12:29
OP here, I've found another + for Haskell, it seems it can be used with arduino, since I'm getting mine in a few weeks that seems like a deciding factor
Anonymous · 2015-11-20 12:54
I don't understand the appeal of Haskell's syntax. All the examples I've seen looked really ugly.
Anonymous · 2015-11-20 13:22
Why not both?
Anonymous · 2015-11-20 14:43
>>12161 This. If you feel like you can't handle two at a time, go for F# because of the pragmatic advantages.
Anonymous · 2015-11-20 14:48
>>12163 I'm reading after C# a lot (currently about CLR) so I think I've got the motivation and time for just one of them.
Anonymous · 2015-11-20 15:08
>>12157 learn a lisp.
Anonymous · 2015-11-20 15:23
>>12165 But $not_a_lisp is a lisp!
Anonymous · 2015-11-20 21:15
F#, no brainer.
Anonymous · 2015-11-21 03:09
>The company I'm interning is using it, could earn me plus points if I go for full-time here This sounds like a decisive factor to me. I'd pick Haskell personally, but only because I hate Microsoft.
Anonymous · 2015-11-21 04:35
Scala > F# > Haskell
Anonymous · 2015-11-21 10:19
>>12202 Isn't Microsoft one of the biggest Haskell funders?
Anonymous · 2015-11-21 11:20
I'd go F#, you can always look at haskell later, but you're familiar wit dotnet right now
Anonymous · 2015-11-21 13:38
>>12212 Big chunk of GHC development happens at Microsoft Research, who also employ Simon Peyton Jones. Whatever anyone's thoughts on Microsoft's main work, the Research arm seems really cool and does a lot of good stuff.
Anonymous · 2015-11-21 20:07
>>12214 Yes, Microsoft's PLT research is pretty neat. It's a lot more interesting than Google's work with Go or Dart. I wonder how much F# Microsoft uses internally.
Anonymous · 2015-11-21 21:05
>>12224 F# isn't the only thing they do. They have F7, F* and some others as well.
Anonymous · 2015-11-21 21:34
>>12160 I read the 8 first chapters of LYAH in 3 days and by then I knew the basics of haskell (I don't understand monads or functors yet). But Haskell has a really elegant syntax, it's lazy typed and purely functional. I enjoy programming in C but Haskell just tickles me somewhere C cannot and vice versa.
Anonymous · 2015-11-22 01:12
Monads are just types where mutation can occur, like IO. I don't get why people exaggerate the learning curve of them.
Anonymous · 2015-11-22 04:09
>>12212 Is it? I don't know. Still, I don't think Haskell is tied into Microsoft's ecosystem the way F# is.
Anonymous · 2015-11-22 06:21
>>12241 Both Simon Peyton-Jones and Simon Marlow worked at Microsoft a few years ago presumably on projects like https://github.com/Microsoft/bond
Anonymous · 2015-11-22 08:29
>>12236 >Monads are just types where mutation can occur, like IO Not really. Using the IO Monad is not difficult though, and can be easily learned even if you don't really grasp it.
Anonymous · 2015-11-22 10:23
Haskell: +Great, sexy syntax lel, never. haskell is a soykaf language because of lazy evaluation being the default and the ugly as fuarrrk syntax. the next version of ocaml (mid December) will bring non-GIL multi-threading, then, f# will become totally irrelevant/insignificant. (What is actually f#, if not a mere rip of ocaml for dot net by talentless people).
Anonymous · 2015-11-22 10:39
>>12256 For a beginner Haskell or Ocaml is just a different flavor of the same product (given that documentation often focus on the functional side of Ocaml).
Anonymous · 2015-11-22 11:13
It's not a good sign when people can't agree on what a supposedly simple concept actually is. I still don't know what a monad is, but this just lets me know that it's unnecessary.
Anonymous · 2015-11-22 11:24
>>12258 Just think of it as a design pattern.
Anonymous · 2015-11-22 11:27
>>12258 The thing is that we actually can agree on what it is! Just look at the mathematical definition, it's as simple as that. The usefulness of it will be decided by how it will be put to use, and it turned out to be a pretty good/universal concept for a lot of abstractions. >I still don't know what a monad is, but this just lets me know that it's unnecessary. So everything you don't know makes you think it's unnecessary? That is a rather shortsighted statement, I hope you don't actually mean it.
Anonymous · 2015-11-22 15:11
>>12258 >Things I don't know are unnecessary. Stop.
Anonymous · 2015-11-22 15:57
>>12157 Haskell will bring you more fun and enlightenment.
Anonymous · 2015-11-23 02:16
>>12256 >the next version of ocaml will bring non-GIL multi-threading If Ocaml can do it, Python should be able too right?
Anonymous · 2015-11-23 07:14
>>12290 Wasn't that why stackless python existed?
Anonymous · 2015-11-23 09:23
>>12259 >design pattern Gross. >>12260 >>12264 Let me rephrase that: Things I don't know about functional programming are unnecessary.
Anonymous · 2015-11-23 10:48
>>12299 You are unnecessary.
Anonymous · 2015-11-23 10:56
>>12229 >it's lazy typed Heh, I think you meant statically typed and lazily evaluated (by default). >>12236 That's very inaccurate and misleading. >>12256 Enjoy your impurity, kafir.