Since you know OCaml how about teaching him Haskell followed by C? The former should be pretty accessible to a 13 year old and he’ll have a lot of time to wrestle with some of the more difficult concepts like Monads (although I think exposure to them at an early age will make them easier to grok since he doesn’t have to unlearn a bunch of other stuff). I highly recommend Real World Haskell ( http://book.realworldhask…
Why are Monads considered difficult?
Ask HN: What programming language should I teach my little brother?
91–100 of 119 posts
Re: Ask HN: What programming language should I teach my little brother?
#92Re: Ask HN: What programming language should I teach my little brother?
#93Earlier quoted context omitted.
Why are Monads considered difficult?
They are difficult because the concept is very unfamiliar and abstract. It's also not very easy to see the motivation at first.
Monads can be motivated as a generalization of a lot of stuff that follows similar rules (the Monad laws). E.g. Lists, Haskell's Maybe (representing success/failure), sequential computation.
Re: Ask HN: What programming language should I teach my little brother?
#94Earlier quoted context omitted.
BASIC will scar him. You might as well go with ruby or python, you get the same facility and start off with an extensible paradigm.
It's tradition. Didn't we all start with basic, even if just for a little bit?
Re: Ask HN: What programming language should I teach my little brother?
#95Earlier quoted context omitted.
BASIC will scar him. You might as well go with ruby or python, you get the same facility and start off with an extensible paradigm.
Why? I thought BASIC is very good to teach basic programming concept such as Loops, line-by-line execution, etc. Really, for a beginner, one must have that kind of mindset.
2) Numbering lines for programs is nonsensical.
3) Gotos are bad practice.
4) Most programs consist of more than 1 file.
5) Hello world is just as easy in any other (more useful) language.
Can't think of any more off the head right now, time to eat.
Re: Ask HN: What programming language should I teach my little brother?
#96Since you know OCaml how about teaching him Haskell followed by C? The former should be pretty accessible to a 13 year old and he’ll have a lot of time to wrestle with some of the more difficult concepts like Monads (although I think exposure to them at an early age will make them easier to grok since he doesn’t have to unlearn a bunch of other stuff). I highly recommend Real World Haskell ( http://book.realworldhask…
For your brother, I would teach him C before Lisp. C is mandatory , every programmer knows C, it teaches you about memory management, syscalls… it teaches you how you computer works. Once he gets it, he can start having some fun with the sexiness of Lisp, and he will make less mistake because he knows what's happening behind the scenes. Plus… it's really hard to learn C when you already know Lisp exists. I mean… firs…
Good luck with whatever you decide though, he's fortunate to have a brother that's taking the job seriously :)
Re: Ask HN: What programming language should I teach my little brother?
#97'Processing was never intended as the ultimate language for programming visuals; instead, we set out to make something that was:
* A sketchbook for our own work, simplifying the majority of tasks that we undertake.
* A programming environment suitable for teaching programming to a non-traditional audience.
* A stepping stone from scripting languages to more complicated or difficult languages such as full-blown Java or C++.
At the intersection of these points is a tradeoff between speed and simplicity of use. If we didn't care about speed, it might make sense to use Python, Ruby, or many other scripting languages. This is especially true for the education side. If we didn't care about making a transition to more advanced languages, we'd probably avoid a C++ or Java-style syntax. But Java makes a nice starting point for a sketching language because it's far more forgiving than C/C++ and also allows users to export sketches for distribution via the web.'(quote taken from http://www.processing.org/learning/gettingstarted/)
Re: Ask HN: What programming language should I teach my little brother?
#98Earlier quoted context omitted.
They are difficult because the concept is very unfamiliar and abstract. It's also not very easy to see the motivation at first.
Perhaps I am too tainted. Monads can be motivated as a generalization of a lot of stuff that follows similar rules (the Monad laws). E.g. Lists, Haskell's Maybe (representing success/failure), sequential computation.
This is exactly the problem.
Re: Ask HN: What programming language should I teach my little brother?
#99Re: Ask HN: What programming language should I teach my little brother?
#100Earlier quoted context omitted.
Second on the idea that it should be quick and easy to make useful stuff, but I have to disagree on PHP. Most of the example code out there is terrible, out of date or both. It's very easy to make a mess in PHP. Python seems to be the teaching language of choice these days, and it lets you do useful stuff without getting in the way. It's certainly not the only language to learn, but I'm inclined to say it should be t…
It's easier to code and deploy using PHP than Python for web-app. It's easier to code and deply GUI app in VB (and .NET environment). For a beginner to start coding web-app in Python would be like a non-geek trying out Linux with just command-line.