3 ms·
I tried learn programming since I was 11. First I played around with graphical programming in Game Maker, Construct and RPG Maker. Later I tried out VBasic but
by klrr 13y ago
I tried learn programming since I was 11. First I played around with graphical programming in Game Maker, Construct and RPG Maker. Later I tried out VBasic but quickly felt it was boring. After that I bought K&R and tried learn C, which was way too hard to program games above simple parsers and text adventure. After that I played around a little bit with Python and Scheme. It never got too interesting since I wasen't able to write any "real" programs. Later, when I was 15, I got invited to a private IRC network of cool and friendly programmers. One guy did a Haskell course and sent the slides from the lecture to me. I did some exercises with it and everything I didn't understood I looked up in LYAH and RWH. After I was able to complete all exercises, which by the way was very simple ones, I started reading Write Yourself a Scheme in 48 Hours. It told me how more about the practical use of monads, I learned how to use external libraries (Parsec in this case), and basically how you design a program from scratch. After that I tried to implement macros for it but failed, I wrote a simple IRC bot that used my Scheme implementation to evaluate expressions, I wrote a simple blog powered by Scotty and Blaze-HTML. Now I'm contributing to a recently released game engine which utilizes FRP, written some really small games with it and have contributed a little bit of code.
What I think made Haskell stick was that it was fun and easy to start write "real" programs with. :-)
- abecedarius 13y agoI'm curious, what makes a program 'real' and what about Python and Scheme got in the way?
- klrr 13y agoI don't consider simple mathematical algorithms as "real" programs, nor do I consider simple text adventure games real programs either. I donno if anything got in the way with Python and Scheme, I just wasen't able to write anything useful or fun so it got very boring. In fact, learning Racket using "How to Design Programs" might have got me started much quicker, but it was already too basic I needed some more challenging while not being too difficult. When I think about it, Scheme is probably a great option for beginners. It's simple and functional, got a great development environment for beginners (Dr. Racket) and two great beginner books(SICP, HTDP2). Also, since it's not purely functional the user who learn it won't need to learn abstract concepts like monads to do useful stuff in it. :-)
- abecedarius 13y agoIt sounds like the docs you had focused on functions and console I/O and never got to graphics/mouse/web. The lessons of How to Design Programs are really well done, in the sense of reliably taking people from beginner to real programmer, yet everyone who's offered on opinion to me found it kind of tedious. I get the impression it's great for classrooms and there's a need for a resource like it aimed more at the self-motivated. Maybe that's http://realmofracket.com/ http://realmofracket.com/