Viewing is open to all users. If you would like to post a comment, please sign up for an account.

FORUM: Developer World

Best first language for young developers?

If you were approached by a teenager and asked what was the best language to learn programming, how would you answer? Would you suggest a mainstream general-purpose language like C++ or Java, a dynamic language like Ruby or Perl, or perhaps a functional language like Scheme?

Myself, I lean toward Python as a learning language these days, but let's hear what you have to say.

SPARKY 24-Jul-09 9:02am
1 reply
Ada. Ada has a well specified, regular and readable syntax, and those factors make it easy to learn (i.e., "well specified syntax" /= "complex syntax"). There are a lot of good Ada IDEs available for free now, and these can help with learning.
TexasGaidheal 24-Jul-09 12:28pm
I completely agree with this. A first programming language is like your first text editor - it tends to imprint itself on you, somewhat like the way the first thing a baby duck sees after it hatches imprints itself as "mother" on the duck's mind. Ada is a good choice because it has been very carefully designed to discourage bug-producing bad habits, and bad habits learned early are hard to shake off.
jeremym 24-Jul-09 9:08am
Here's a weird on for you. It's like "Logo" (the language with the Turtle) meets "C++." Its called Karel. /wiki/Karel_(programming_language) ) What's great about Karel is that is object oriented, has a syntax similar, but not hindered by C, and, well, is darn fun. I leaned Karel back in 1993 and apparently there's still some call for it. http://en.wikipedia.org/wiki/Karel_(programming_language) For YOUNGER kids who are into LOGIC puzzles, check out the Old Apple // game (playable via emulator) called Rocky's Boots. Connect AND/ OR / NAND gates and "make stuff happen." Totally fun! http://www.warrenrobinett.com/rockysboots/
mbadger 24-Jul-09 9:22am
I like Ruby and until recently that would have been my first recommendation. However, If I were going to teach somebody a first programming language, I'd go with Scratch (scratch.mit.edu). It'll get the basic concepts across and you'll get to build some games, animations, interactive stories and other multimedia stuff. It's designed to work for kids as young as 7 or 8, maybe younger. It's an MIT project based on Squeak. You build programs by stacking color coded blocks together to form scripts. No compiling. No syntax errors. Worth a look, I'd say. I have some tutorials at Beginner's Guide to Scratch".
phs3 24-Jul-09 10:12am
I've always believed that it's important to WANT to solve the programming problem: if you give a kid the best tools/language in the world and say "Solve a square root", (s)he will be far less interested than if (s)he finds, say, a Word irritation and writes a macro to get around it. I first learned to program by hacking a BASIC game that wasn't flexible enough: I was motivated because I *wanted* the game to do something it wasn't.
eboyhan 24-Jul-09 12:45pm
Hi, my first language (lo all those years ago) was Fortran II and in retrospect it was an absolutely bloody awful first language. Today, I would suggest C#: it's relatively easy to learn and get useful stuff out of Windows -- also inculcating (along the way) object-oriented notion of composing outcomes from pre-built objects. Also would transfer relatively easily into a job useful skill. VB might be a choice for many but it's too MS-centric and it has a very messy history reflected a bit still in current language. C# slightly harder to learn, but cleaner with better training if want to learn a skill that could possibly earn you some $.
bobknox 24-Jul-09 7:32pm
1 reply
I recommend English. I have worked with and supervised too many programmers and analysts who fail to communicate well with users. Their code often leaves a lot to be desired, too.
antoniofallucca 6-Nov-09 4:25am

Not just English learn a second language and I mean learn it like the culture. Too many programmers today can not even speak their own language let alone understand others.

Then learning code after you haved learned a second language will be easy in fact it is like learning another language.

gebumont 25-Jul-09 9:30am
The classic Scheme text is Structure and Interpretation of Computer Programs, written by Abelson and Sussman at MIT. It was used for MIT's introductory programming course for over 25 years. Both professors felt for years that the curriculum should be changed. Sussman has said that it is now more important for a beginner to learn how to develop mental models of systems than to master all of the underlying concepts right away. Abelson believes that theoretical concepts should be introduced as solutions to practical problems. MIT computer science students now cut their teeth programming robots in Python. Learning Scheme and C made me a better programmer. Solving real problems in Python made me want to be one.
kwhite 28-Jul-09 11:43am
The first language I learned was BASIC on a Commodore VIC-20, that led me to Assembler because I wanted to do more. That was followed by ARexx(Rexx for the Amiga), Pascal, C, C++ and Visual Basic. Like others have said I would have to tailor my answer to the teenager but I suspect that Basic would be the way to start because you can start out very simply and get as complex as you wish. It is easy to get a result and when you are beginning seeing a success is very important.
xmhon 30-Jul-09 9:40pm
i like c++,, that was the first programming language that ive learn...
theSuha 1-Sep-09 9:00am
OK I'm 16 and currently I program C++ and VB.net meanwhile I'm learning JavaScript,PHP and Assembly so let me give you a realistic picture. For a new comer they should learn Visual Basic then after they got a hang on it they should jump straight into C++\Java and maybe if they are really into it then they can jump into Assembly and that's about where I am...
DEddy 7-Sep-09 6:17am
Prefix their introduction to their first language with the fact that whatever language(s) you learn today, they will be considered obsolete & brain-dead in 10-15 years. I have a list of some 440 languages in 1995. That list was up to 600 by 2005. Lapels are narrow... lapels are wide. It's a fashion driven trade.
landonmkelsey 9-Sep-09 10:23am
best language for first time developers is their own! exercise: write a series of steps to tell a robot with memory and arithmetic skills how to find the greatest and least numbers of a set of 10000 numbers written on cards lets say the numbers are the weights of 10000 people and you want to find the heaviest and the lightest. start with memory cells max = 0. min = 30000. feel free to use any instruction you wish!
landonmkelsey 9-Sep-09 10:32am
be sure to ultimately learn a language with a future...one that can earn you a living forget: Visual Basic ADA Delphi pascal FORTRAN PL learn C before C++ or C# very very few people ever learn C++ to the max C++ and C# require prodigious study if you like being popular and talking, you'll never make it in C++ and C# Starting in C++ great authors Stephen Prata or Ivor Horton do not use kernigan and ritchie to learn C...better Herbert Schildt (if the book on C is still available)

Sign up to receive Networking and Internet Resource Alerts

Subscribe to the Today's Headlines: First Look Newsletter

Find out what will be news for the day, with our first-thing-in-the-morning briefing.

©1994-2009 Infoworld, Inc.