

First Language's Don't Matter - srl
http://bytbox.net/blog/2012/03/first-languages.html

======
pashields
I can't agree with this. It's true that many languages work well as starters,
but there are certainly some that don't. I think java is a classicly bad first
language. There is a lot of ceremony which will take you a considerable amount
of time to understand (public static void main) and it's also heavy handed on
object orientation. Whether these things are useful in long run is debatable,
but it's an amazing amount of conceptual overhead. Worse, unlike the overhead
of low-level language like C, the pain in a language like Java comes from
complex abstractions. Understanding pointers is difficult for many people, but
it's mostly based on whether you understand how in memory storage works.
There's a more straight forward path to that than to understanding the how/why
of OO.

------
kls
Over my career I have taught a lot of people to program and in doing so I have
found that the number one factor in someone learning to program is easy set up
of the languadge and the number 2 is quick feedback. In my experience Lingo in
Macromedia Director was probably the fastest language that I saw people pick
up, Visual Basic was another good one for quickly grasping concepts and
finally modern JavaScript is a good choice. I do believe that first languages
do matter as ones that impart a lot of rules and constructs seem to require
more abstract concepts to click before a student can produce in said language.
I personally would not teach a first language to an individual if it did not
have some form of REPL type development pattern. In saying so, I generally try
to teach people languages that are widely uses as most people that I have
taught where learning as a job function and would be using their skills
commercially. That being said, I tend to opt for JavaScript as a teaching
languadge because it fulfills my main two requirements (easy set-up and quick
feedback). It is also a skill in high demand.

