User loginNavigation |
archivesHaskell for C ProgrammersMany people are accustomed to imperative languagues, which include C, C++, Java, Python, and Pascal....For [beginning] computer science students,...Haskell is weird and obtuse....This tutorial assumes that the reader is familiar [only] with C/C++, Python, Java, or Pascal. I am writing for you because it seems that no other tutorial was written to help students overcome the difficulty of moving from C/C++, Java, and the like to Haskell. I write this assuming that you have checked out...the Gentle Introduction to Haskell, but...still don't understand what's going on.... Haskell is not 'a little different,' and will not 'take a little time.' It is very different and you cannot simply pick it up, although I hope that this tutorial will help. If you play around with Haskell, do not merely write toy programs. Simple problems will not take advantage of Haskell's power. Its power shines mostly clearly when you...attack difficult tasks....Haskell's tools...dramatically simplify your code.... I am going to put many pauses in this tutorial because learning Haskell hurt a lot, at least for me. I needed breaks, and my brain hurt while I was trying to understand.... Now I'm working on a video game in Haskell...and we've written a short tutorial...on HOpenGL.... Haskell has both more flexibility and more control than most languages. Nothing that I know of beats C's control, but Haskell has everything C does unless you need to control specific bytes in memory. So I call Haskell powerful, rather than just 'good.' I wrote this tutorial because Haskell was very hard for me to learn, but now I love it...."Haskell is hard!" "You can't write code the way I know how!" "My brain hurts!" "There aren't any good references!" That's what I said when I was in college. There were good references, but they didn't cover the real problem: coders know C. New explorers might enjoy Eclipse IDE support (version 3.1M7 or later only). Old hands might help improve it. Haskell compiles to C (cf. JHC) and machine code. By Mark Evans at 2005-05-22 22:43 | Functional | Teaching & Learning | 59 comments | other blogs | 86702 reads
|
Browse archivesActive forum topics |
Recent comments
22 weeks 6 hours ago
22 weeks 10 hours ago
22 weeks 10 hours ago
44 weeks 1 day ago
48 weeks 3 days ago
50 weeks 18 hours ago
50 weeks 18 hours ago
1 year 4 days ago
1 year 5 weeks ago
1 year 5 weeks ago