[ cyb / tech / λ / layer ] [ zzz / drg / lit / diy / art ] [ w / rpg / r ] [ q ] [ / ] [ popular / ???? / rules / radio / $$ / news ] [ volafile / uboa / sushi / LainTV / lewd ]

λ - programming

/lam/bda /lam/bda duck
Name
Email
Subject
Comment
File
Password (For file deletion.)

BUY LAINCHAN STICKERS HERE

STREAM » LainTV « STREAM

[Return][Go to bottom]

File: 1448022136572.png (4.49 KB, 256x104, 120px-Haskell-Logo.svg.png) ImgOps iqdb

 No.12157

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?
>>

 No.12159

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

>>

 No.12160

I don't understand the appeal of Haskell's syntax. All the examples I've seen looked really ugly.

>>

 No.12161

Why not both?

>>

 No.12163

>>12161
This. If you feel like you can't handle two at a time, go for F# because of the pragmatic advantages.

>>

 No.12164

>>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.

>>

 No.12165

>>12157
learn a lisp.

>>

 No.12166

>>12165
But $not_a_lisp is a lisp!

>>

 No.12190

F#, no brainer.

>>

 No.12202

>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.

>>

 No.12204

Scala > F# > Haskell

>>

 No.12212

>>12202
Isn't Microsoft one of the biggest Haskell funders?

>>

 No.12213

I'd go F#, you can always look at haskell later, but you're familiar wit dotnet right now

>>

 No.12214

>>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.

>>

 No.12224

>>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.

>>

 No.12228

>>12224
F# isn't the only thing they do. They have F7, F* and some others as well.

>>

 No.12229

>>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.

>>

 No.12236


Monads are just types where mutation can occur, like IO. I don't get why people exaggerate the learning curve of them.

>>

 No.12241

>>12212
Is it? I don't know. Still, I don't think Haskell is tied into Microsoft's ecosystem the way F# is.

>>

 No.12246

>>12241
Both Simon Peyton-Jones and Simon Marlow worked at Microsoft a few years ago presumably on projects like
https://github.com/Microsoft/bond

>>

 No.12253

>>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.

>>

 No.12256

File: 1448187836978.png (39.46 KB, 2187x601, ocaml.png) ImgOps iqdb

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).

>>

 No.12257

>>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).

>>

 No.12258

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.

>>

 No.12259

>>12258
Just think of it as a design pattern.

>>

 No.12260

>>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.

>>

 No.12264

File: 1448205072055.jpg (81.24 KB, 1920x1080, why1.jpg) ImgOps Exif iqdb

>>12258
>Things I don't know are unnecessary.
Stop.

>>

 No.12265

>>12157
Haskell will bring you more fun and enlightenment.

>>

 No.12290

>>12256
>the next version of ocaml will bring non-GIL multi-threading

If Ocaml can do it, Python should be able too right?

>>

 No.12294

>>12290

Wasn't that why stackless python existed?

>>

 No.12299

>>12259
>design pattern
Gross.

>>12260
>>12264
Let me rephrase that: Things I don't know about functional programming are unnecessary.

>>

 No.12301

>>12299
You are unnecessary.

>>

 No.12303

>>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.



Delete Post [ ]
[ cyb / tech / λ / layer ] [ zzz / drg / lit / diy / art ] [ w / rpg / r ] [ q ] [ / ] [ popular / ???? / rules / radio / $$ / news ] [ volafile / uboa / sushi / LainTV / lewd ]