Discussion in 'Computer Science & Culture' started by §outh§tar, Sep 10, 2009.

Thread Status:
Not open for further replies.
  1. §outh§tar is feeling caustic Registered Senior Member

    What do you know about the programming language Haskell? What kinds of fields is it used in? What kind of salaries are available to people who know it? How easy is it to learn in comparison to C++?

    I am thinking about taking a class on category theory that uses Haskell (it's not a programming class per se) but don't know any specifics about the language.
  2. Google AdSense Guest Advertisement

    to hide all adverts.
  3. Rick Valued Senior Member

    two different beasts, First of all, it is VERY VERY important to know Haskell or any functional programming languages, remember this, Haskell has got some important things going for it, such as:
    1.) It is very strongly typed ...
    2.) It is purely functional programming language. (simply put, if you know Haskell, you'll intuitively know ML, Scala (some of the parts), Scheme (will be damm simple anyways) and others.
    3.) Haskell has lot of web frameworks and web technologies written for it.

    Having said above points and let me re-iterate the importance of this, YOU HAVE TO KNOW AT LEAST 1 Functional programming language in your programming career, I have mostly seen haskell being used in scientific community, in compiler construction and developing efficient parsers etc. I have personally never worked in a commercial environment which uses web frameworks based on Haskell. One of the disadvantages of Haskell is IDE support, Eclipse IDE has an FP plugin but its not enough IMHO. C++ is put simply a different programming language and comparing it with haskell is not fair. C++ will get you jobs in embedded systems development or device driver programming jobs. Commercial programming (Web, SOAP based, Restful) pretty much relies on Java, .NET, C#, JavaScript, Ruby, Groovy, Python, Scala, SQL etc. C++ concerns itself with above fields;

    But yes, my advice is that you definitely should learn either Haskell, ML, Scheme or any purely functional programming language, with that in your arsenal, you will be able to quickly learn some of dark concepts of javascript, scala, erlang pretty much very easily, which in turn will help in your "job" search later on.

    BTW, don't be too focused on getting a job, yes thats a priority, but as a student you will never get opportunity to learn things (I am speaking from experience), so learn all possible programming languages, paradigms, software techniques as much as you can ...

    Good Luck!
  4. Google AdSense Guest Advertisement

    to hide all adverts.
  5. RubiksMaster Real eyes realize real lies Registered Senior Member

    You probably won't ever get a job with the title of "Haskell developer". There isn't that much commercial demand for Haskell alone. Basically, the more you know, the better. Learning a functional language will improve your skills in other areas, which ultimately means more opportunity in the industry. It will teach you to think about problems in different ways, and will help you get a deeper understanding of the theory of computation in general.

    That depends. It's a whole different ballgame, with a whole different way of reasoning. With functional languages, you have to think recursively instead of iteratively. For some people it's easy, and for some it's not.

    My advice is that if you have a chance to learn it, do it. If you can learn it in a class, it will probably be much easier than trying to learn it completely on your own.
  6. Google AdSense Guest Advertisement

    to hide all adverts.
Thread Status:
Not open for further replies.

Share This Page