Tip:
Highlight text to annotate it
X
Should I learn Haskell or C++?
C is widely used, so I’d recommend a variation of it.
A variation of it?
There’s C, C++, C#, Objective C for iOS development and the iPhone. Learning C++ gives
you a good grounding in all of those.
I heard C++ is so hard they invented C#. I wonder if they’ll have a C squared or C-flat
just to make it even easier to work with.
That’s what F# was for.
Now it sounds three times as hard. Why not learn Haskell?
Haskell is hard to learn. It requires rigorous logically mapping of programs and strict typing.
So you have to be disciplined, and all good programmers should be. Haskell has a large
open source community, and it can work in distributed computing environments too.
Haskell is not as widely used as C++.
I’ve heard jokes that Haskell is a pure language, purity for nerds who aren’t monks
though their love for their square headed girlfriends is almost as – never mind.
One of the few reasons to understand any Haskell is to understand how STL works.
What can you do with C++?
C++ is used for real time applications like videogames and Microsoft applications. Learn
that, and you’ll be primed to work with C#, one of the major web development languages.
It sounds like C++ is primarily for Microsoft apps.
Microsoft is pushing the revitalization of C in all its flavors, except for Objective-C,
which is specific to the iPhone.
Whereas Haskell is not owned by a particular major IT company.
Yeah, it’s more theoretical and less commonly used outside of academia. So unless you are
working on climate models, theoretical data analysis or a niche company’s scientific
programming, you’ll have trouble finding a good paying job in it.
Professors make a lot of money.
That’s only if you get tenured, at which point you could make 100K working part time
and delegating the hard work to TA’s. However, there are very few tenure positions, whereas
there’s plenty of C++ work.
A lot of that is migrating to C#.
So learn both versions of C and get paid to migrate C++ programs to C#.