Beta

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

The Little Coder's Predicament

timothy posted more than 11 years ago | from the 10-goto-20-20-goto-10 dept.

Programming 1073

An anonymous reader writes "There's an interesting article on Advogato about the world of computing that kids today find themselves in compared to the world that kids in the 80's found themselves in. Learning to program in the 80's was simpler because the machines were more limited, and generally came with BASIC. Now we have Windows, which typically comes with no built-in programming language. What can be done to improve the situation?"

cancel ×

1073 comments

Sorry! There are no comments related to the filter you selected.

Second hard disk + Linux (2, Interesting)

A nonymous Coward (7548) | more than 11 years ago | (#6171093)

That ought to do the trick. Pick some easy to install distro, does loadlin still work on WIndows, well, make a boot floppy if need be.

A couple places to start (4, Informative)

David E. Smith (4570) | more than 11 years ago | (#6171094)

First, for those interested in the subject, get them a basic "how to program" book. One that's gotten fairly good reviews among the (few) teachers I know is How To Design Programs [htdp.org] . It has the remarkable benefit of being free (as in beer) online, and I believe its learning environment is equally free also. (OTOH, it's Scheme. Some people are allergic to parentheses.)

Second, once they've got the basics down, get them something a bit more practical. Cygwin is free, and comes with gcc/gc++ and friends. Or even break down and spend a few bucks on Visual Basic (or, if they're really bright, a second hard drive with Linux/*BSD/whatever, so they can pick up GTK+ or QT or whichever widget set is trendy these days).

Most of the advogato article's suggestions are at best silly. I think he's promoting the return of LOGO, or whatever that language was where you did everything with a "turtle". Except that e apparently expects Microsoft, Sony, Nintendo, and everyone else to agree on a single standard, which is at best laughable. None of those game consoles even come with a keyboard any more, and I don't think you can even get keyboards for the GameCube...

Re:A couple places to start (0)

Anonymous Coward | more than 11 years ago | (#6171151)

GTK+ has been built under cygwin. Easy to find with a google search.

Re:A couple places to start (1)

borgdows (599861) | more than 11 years ago | (#6171198)

actually, you CAN! [lik-sang.com]

(it is used in Phantasy Star Online)

Re:A couple places to start (2, Informative)

PunchMonkey (261983) | more than 11 years ago | (#6171217)

None of those game consoles even come with a keyboard any more, and I don't think you can even get keyboards for the GameCube...

http://shop.store.yahoo.com/pandorascube/gamkeysol out.html [yahoo.com]

And no, it's not the result of a fark photoshop contest.

Re:A couple places to start (4, Insightful)

Dark Paladin (116525) | more than 11 years ago | (#6171285)

It's the lack of a standard that I think the real problem is.

A few years back, I remember the rumors of a standard Windows Scripting Language that would be to Windows 9x systems what bat was to DOS. (I haven't power used Windows in years except to run games on, so forgive my ignorance.)

But the biggest issue with this would be what language? Do you make it uber simple like bat, which could do some interesting scripting things but no real programs? Do you let people actually make up some "interpreted language" programs (like BASIC) so they can do some things, then deal with the headaches from users messing up their systems (or, worse, the viruses that would span if the language actually let you do "stuff" with it - Windows has enough problems with Office macros running amuck in the world without adding more headache).

And what kind of language? Visual Basic is still around, but I don't know of any serious programmers who really use it hard core - it's more for very small, internal apps (yes, there are visual basic apps out there, but last I checked, nobody's programming Doom III in Visual Basic, move on). So would you build it in C, C++, C#, Java, Perl, Python, Pascal - as soon as you do, there's another group of people (even inside the company making this "Basic scripting language") who have thier own near religious ferver regarding how it should work.

Odds are, it's just easier to go out, get yourself the Java SDK and notepad/Cygwin and Perl/Python, and go from there.

Oh, and you can get a keyboard for the Gamecube. I'm not sure if they're selling in the US yet, but they're mainly used for Phantasy Star Online addicts. (Though I would not mind a "Typing of the Dead II" - that game kicked ass.)

If this is not the first post... (-1, Offtopic)

Anonymous Coward | more than 11 years ago | (#6171095)

I will shave my pubes and knit a hat from them.

As always, links to pictures will be posted.

Re:If this is not the first post... (0, Funny)

Anonymous Coward | more than 11 years ago | (#6171129)

Start shaving, buddy.

Perl (0)

MattBurke (58682) | more than 11 years ago | (#6171099)

Activeperl and a copy of the camel (O'Reilly Programming Perl)... it's all you need!

Um.... Linux? (4, Insightful)

ryarger (69279) | more than 11 years ago | (#6171102)

Free... Multiple free programming languages, includng BASIC... GUI Editors and debuggers... Copious documentation... Responsive community...

Seems like a no-brainer to me.

Re:Um.... Linux? (0)

Anonymous Coward | more than 11 years ago | (#6171191)

Responsive community...
Uhh yeah. I'm sure the open-source community would be a real positive environment for a 10 year old kid. Think about this one for a bit.

Re:Um.... Linux? (0)

Anonymous Coward | more than 11 years ago | (#6171233)

No-brainer indeed. Maybe they also like being able to play all the latest games, use their cheap MP3 players their parents bought them for Christmas?

Why do you think most kids who owned a C64 bought one when it came out? Do you think it was because they wanted to learn how to program, or do you think it was because they heard about a great game, or played one at a friend's house and wanted one too?

I don't mean to flame here, I really don't..but for most kids, even the ones interested in computers, Linux really isn't going to look all that interesting. Most of them want to have fun, too. It's free, it provides a lot for free that other operating systems don't, but other than that there's not much incentive for most kids to choose it over the copy of Windows XP that's likely on the computer their parents already bought them.

Already? (-1)

Anonymous Coward | more than 11 years ago | (#6171103)

Already slashdotted? Yikes.

Every industry/hobby/field advances (1)

Idimmu Xul (204345) | more than 11 years ago | (#6171107)

all the time, requireing people today to learn more in the same space of time as people years ago had to. It's not just limited to the computing industry.

Get used to it.

Wrong (4, Funny)

borgdows (599861) | more than 11 years ago | (#6171110)

Now we have Windows, which typically comes with no built-in programming language

Windows comes with VBScript built-in!

er..can I really call it a programming language? ;)

Re:Wrong (1)

oliverthered (187439) | more than 11 years ago | (#6171254)

....and javascript in IE.

Guile (1)

SWroclawski (95770) | more than 11 years ago | (#6171111)

No Windows Scripting language?
No problem.
Give them Guile, the official scripting language of the GNU project.
http://www.gnu.org/software/guile/guile.html [gnu.org]

- Serge Wroclawski

pol pot (-1, Offtopic)

Anonymous Coward | more than 11 years ago | (#6171113)

die.

Yet another reason for BSD/Linux (4, Interesting)

Vengeance (46019) | more than 11 years ago | (#6171119)

Let's face it, if you want to develop software, Unix or Linux is a great way to go. The price is right, the technology is current, the compilers are included, and multiple programming languages from lowest to highest level are included/available.

So if you want your child to have the experience of becoming a techie, it behooves you to have at least one workstation around that can at LEAST dual-boot into a *ix environment, IMHO.

Excel Basic (0)

Anonymous Coward | more than 11 years ago | (#6171121)

Most computers come bundled with MS Office - so get them yungins to crank out VBA apps for fun and profit!

Need to include something simple... (1)

Kerry (25166) | more than 11 years ago | (#6171122)

For Windows, it would be nice if they would include something like a non-compiled version of Visual Basic or something, something that would be easy for people who don't have any programming experience to learn.

Create a simple learning language... (5, Interesting)

pir8garth (674943) | more than 11 years ago | (#6171123)

When I started programming, I was 8 years old, and worked with what I had available. I made simple GW-BASIC programs and have moved on from there. Maybe OS's should think about the next generation of devlopers and include some sort of learning language to get the kids hooked when they are young. At least they could learn the concepts, and grow up moving on to bigger and better languages as I did...

Whatever happened to Logo? (2, Interesting)

Viol8 (599362) | more than 11 years ago | (#6171257)

After all , that was a simple yet powerful language for children losely based on LISP.
15 years ago it was all the rage , now it seems to have disappeared off the map. ANyone know why?

Re:Whatever happened to Logo? (1)

REBloomfield (550182) | more than 11 years ago | (#6171269)

it's still out there, and there's an Open Source version too....

We use WinLogo here... by logotron

Windows comes with programming tools! (5, Funny)

groman (535485) | more than 11 years ago | (#6171124)

What, did you forget about "debug"? Man, kids these days. Go to Start->Run...->"debug". There, learn! :-)

what, no fp? (-1, Offtopic)

Anonymous Coward | more than 11 years ago | (#6171126)

heh

Windows does have a built-in language... (4, Informative)

The-Forge (84105) | more than 11 years ago | (#6171127)

Windows does have a built-in language. More precisely, it has 2 of them, VBScript and JScript. They've been included with Windows since Win 2000 and can be downloaded for 95 & 98.

Re:Windows does have a built-in language... (3, Informative)

AveryT (148004) | more than 11 years ago | (#6171288)

Windows does have a built-in language. More precisely, it has 2 of them, VBScript and JScript. They've been included with Windows since Win 2000 and can be downloaded for 95 & 98.

The .Net Framework (standard on Windows now, use Windows Update if you don't already have it) contains a C# compiler: csc.exe (command line only, no IDE.)

/.ed? (2, Interesting)

PetWolverine (638111) | more than 11 years ago | (#6171134)

No comments yet and it's already /.ed. Nice.

In response to the summary, I'd say the first step is to ship computers with some sort of programming language built-in, but the fact is that programming is a complex thing these days and there's no way to just make it simpler so that kids can learn it easily. If you want to learn to write real programs, you'll just have to commit some time and effort to it. That's why I decided to change my major to physics.

Flexible Learning, Independent of Language (2, Interesting)

Amadaeus (526475) | more than 11 years ago | (#6171142)

I think the problem with teaching programming to youth these days is the perception of learning a "language". Instead of subjecting students to the CONCEPTS of programming, such as inheritence, oop, etc., schools are more inclined to teach children languages instead. It produces grades, I presume.

The trouble with that presumption is that kids get so accustomed to one language that when they get to college and learn the concepts, they have to throw all they learned out the window and start fresh. Why can't we start these kids off the right foot and wean them off of the language dependency?

The way I see it is children should be taught the fundamentals of programing at a relatively young age (12-16), like looping and recursion, and let them experiment with the fundamentals with their own choice of language.

Windows? (0)

`Sean (15328) | more than 11 years ago | (#6171143)

What is this Windows of which you speak? I'm still on a TRS-80...

What can be done to improve the situation? (0)

Anonymous Coward | more than 11 years ago | (#6171146)

What can be done to improve the situation?"

Push Microsoft's Windows out of the market, replacing it with Linux based distros which come with GCC preinstalled.

As if you had to ask...

build a time travel machine? (0)

Anonymous Coward | more than 11 years ago | (#6171147)

Gosh things were Sooooooooooo much better back then.

I often wish I could go back to the days of a TRS-80 and BASIC.

Downloading Java or Python or Perl or (.....) is just Sooooooooooo gosh darn hard.

And then following one of the many tutorials for each of the respective languages is (again) Soooooooo gosh darn hard.

And then asking questions on the Internet (www bbs style, or USENET) is Sooooooooo gosh darn hard.

How can the human race survive given all this hardship? I think someone should build a BBS system and we can all pull our 300 baud modems out of the closet and we can collaborate on building a Time Machine so that we can go back in time and make sure that things stay Simple forever!

Using old computers (1)

Linthos (595486) | more than 11 years ago | (#6171153)

A possibility is using older computers that are still in existence out there. I got an old TI/994A when I was 9. My father got it for me as a gift, along with various books on BASIC. While I didn't get do things that were state of the art, it did give me a good idea of some of the basics I needed to learn. I don't know how easy it would be to find an old computer for this type of thing today, but it still seems like an idea of a birthday gift for a son or daughter.

in (0)

Anonymous Coward | more than 11 years ago | (#6171156)

In SOVIET RUSSIA, the computer programs YOU.

Two words (2)

tomRakewell (412572) | more than 11 years ago | (#6171157)

Python

Re:Two words (1, Funny)

Anonymous Coward | more than 11 years ago | (#6171282)

>Two words (Score:1)
>by tomRakewell (412572) on Wednesday June 11, @11:04AM (#6171157)
>Python

Dude, that's only ONE word.

Two words would be Monty Python. ;-)

Tough choice (5, Funny)

BabyDave (575083) | more than 11 years ago | (#6171158)

No programming language ... or BASIC.

I won't put in the obligatory Dijkstra quote, because by the time I finish this sentence, about 200 people will have posted it already.

Oh, what the hell:

It is practically impossible to teach good programming style to students that have had prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration. -- Dijkstra

Little coders (0)

Anonymous Coward | more than 11 years ago | (#6171159)

Do not teach kids how to program. They will grow up and take your job away from you.

Bundle VB with windows (1)

Spunky_Monkey (657923) | more than 11 years ago | (#6171163)

VB is a great beginners language, and as no self-respecting hacker would ever be seen using it, microsoft might as well give it away free.

Re:Bundle VB with windows (2, Insightful)

MeanMF (631837) | more than 11 years ago | (#6171221)

VB is a great beginners language, and as no self-respecting hacker would ever be seen using it, microsoft might as well give it away free.

They almost got split into two companies the last time they tried bundling something with Windows...

Squeak (5, Informative)

nonya (65503) | more than 11 years ago | (#6171166)

Squeak is an nice environment to learn programming. It is highly portable, includes graphics, sound, and a great programming environment. See www.squeak.org for more info.

I agree (1)

HisMother (413313) | more than 11 years ago | (#6171263)

Mod parent up! Not only does Squeak have a nice set of active multimedia components, and not only is it cross-platform, but Smalltalk (of which Squeak is an implementation) is a very underappreciated language, far ahead of its time. More young people learning it could only lead to great things.

Cygwin (1)

dragor (200725) | more than 11 years ago | (#6171167)

How about setting up cygwin under Windows? A quick trip to www.cygwin.com [cygwin.com] and you can be programming away within minutes. Also, you wouldn't be limited to just BASIC. Just about any language you could think of is at your disposal with a cygwin setup.

You Meticulous Rapscallions (5, Funny)

madcoder47 (541409) | more than 11 years ago | (#6171169)

Bah!

All you people do is whine and whine about languages!

Back in my day, I had a bunch of OR and NOT gates and some solder. When I was very good, my parents would buy me an AND gate for my birthday. Those were the days.

Re:You Meticulous Rapscallions (0)

Anonymous Coward | more than 11 years ago | (#6171297)

Sad. Just... sad.

Where to start? (5, Interesting)

eli173 (125690) | more than 11 years ago | (#6171170)

Hand them a Knoppix CD and a book on Python.

Or let them get python for Windows, if you must.

Shell Scripts (2, Informative)

RumpRoast (635348) | more than 11 years ago | (#6171174)

If I was going to start my kids into programming I think I'd start with some easy shell scripts. Seems like you can do almost everything that BASIC did with bash, ksh, etc...

If they can get past doing some basic stuff like that you can move them up to a more complex and capable platform.

Bigger Problem is Software IP (0)

Anonymous Coward | more than 11 years ago | (#6171179)

Kids today have more ways to create software but a bleaker programming future. How can they create any new software without risking a visit from a sleazebag with a patent?

Real simple... (1)

doppleganger871 (303020) | more than 11 years ago | (#6171185)

...Just go get a Commodore Vic-20, 64, 128, Plus/4, 16, etc... (0o0o or an SX-64, I have one of them) and start pluggin' away at it. Simple. Gather up some 5.25" DD floppies, cassettes, or DD 3.5" floppies (If you find a 1581 drive) and have at it. There are pleany of programming support sites, and you can even hit the IRC for help.

He's right (1)

cruppel (603595) | more than 11 years ago | (#6171189)

The TI-86 was my first programming experience and it was definitely a plus to be able to see results with 1 or 2 minutes of coding. I wouldn't mind trying to use a console to program my own game. This guy has a really good point here. I wouldn't mind programming on a gamecube, sure you couldn't just all of the sudden use the 3d engine in a week but people would eventually approach it with confidence.

Could you somehow develop a sharing network for console-created programs? So people can debug their or others' programs, and look at useful code that has been (for lack of a better description) GPLed? I don't neccessarily mean a network IN the console, just a dev network.

Language choices (3, Informative)

DJ Rubbie (621940) | more than 11 years ago | (#6171192)

There is a pascal based language called 'Turing', a language that is taught as part of many entry level computer course in high schools of Canada. There is an OO version called Object Oriented Turing, which does run under Windows. Do note that while those languages are extremely limited (to a point that is painful), I was able to do some amazing games that people stare in amazment at and that actually was the starting point of my coding life.

Do remember, those that have an interest and initiative will find themselves looking for ways to start coding, such as searching for compilers on Google and go from there.

Open Source to the rescue! (2, Insightful)

steevo.com (312621) | more than 11 years ago | (#6171193)

Yes, MS is devoid of programming, but Open Source solutions, such as Linux and BSD, have solutions right out of the box. True, gcc is there, but the place where the kiddies can start is simple shell scripting. Perl and Python can be used later.

I don't think that the real problem is with the lack of tools, but with a lack of motivation. When I had my VIC-20 in 1981, I had to write BASIC programs because there was little else to do with it.

IBM's Robocode (5, Interesting)

capedgirardeau (531367) | more than 11 years ago | (#6171197)

There is a neat game that uses java to make robots. Starting very simple, as you learn to program you make more powerful robots to compete against others.

IBM Robocode Home [ibm.com]

Covered on slashdot here:
Robocode Rumble: Tips From the Champs [slashdot.org]

And here:
Learning Java Through Violence [slashdot.org]

Mr. Ballmer Says... (0)

Anonymous Coward | more than 11 years ago | (#6171202)

Developers! Developers! Developers! Developers!

Many solutions (1)

tsetem (59788) | more than 11 years ago | (#6171203)

The link is down, so I don't know exactly what it says. But there are many solutions possible:
  • Install Linux. Just get rid of Windows.
  • Install Perl on Windows
  • Install Tcl/Tk on Windows
  • Install Python on Windows
  • Install Cygwin on Windows
  • Install <OSS Language of choice> on Windows

Just because MS doesn't come with a language doesn't mean there are no languages available. I'd say start the young tykes off with Tcl/Tk or Python to learn the basics and go from there.

I remember growing up with my PC & GW-Basic book in hand learning how to code. I also remember being stigmatized by it as well (Poor documentation, poor interpreter). If anything, I believe there is a lot greater opportunity for kids to learn to code on their own, by using many of the OSS languages out there. The languages are free, the IDE's are free, all it really takes is getting the word out about them.

Does ABC still air Schoolhouse Rock reruns? (1)

thdexter (239625) | more than 11 years ago | (#6171205)

If so, we don't need to worry at all! [schoolhouserock.tv]

Well, assuming they can find qbasic.exe somewhere.

Install Java (1, Redundant)

smartin (942) | more than 11 years ago | (#6171206)

It's a complete development environment, allows the kid to learn object oriented programming without the kruft of something like C++. And it is actually used in the real world.

Use Java (1)

mbowles (320826) | more than 11 years ago | (#6171208)

Download the Java SDK and work through the tutorials. For more depth go to a local half priced bookstore. The manuals may not be the latest and greatest but is concepts that need to be learned and they will cover that.

Important to teach kids vi key bindings (0)

Anonymous Coward | more than 11 years ago | (#6171209)

When I was young I learned vi - it was crappy - and I knew it. It's still crappy, in fact - but, by gum, that's the way software ought to be written. Damned spoiled kids and their XBoxes.

The solution - Python (1)

fredrikj (629833) | more than 11 years ago | (#6171215)

Every computer should ship with Python [python.org] installed.

Can't imagine a better language to start learning with. And the interactive mode is GREAT for novices.

Teach 'Em Young (1, Funny)

Anonymous Coward | more than 11 years ago | (#6171216)

I knew a guy who planned to teach his kid to count in hex before teaching him base 10. That, and he was going to give the kid instructions in x86 assembly.

Kid:Can I have some candy?
Dad: xor ax,ax
Kid:But Dad...
Dad: mov corner,you

Macro's (1)

YrWrstNtmr (564987) | more than 11 years ago | (#6171218)

Excel (indeed the whole Office suite), and OO.o has macro capability. While some may deride 'macro programming' as not 'real' programming, it presents some of the same concepts and thought processes as building something in (choose your favorite language).

Learning to design, code, test, deploy these can indeed teach kids the base concepts for programming.

erm... (2, Informative)

REBloomfield (550182) | more than 11 years ago | (#6171223)

er, hello? Windows does still come with QBASIC. Go to run, type QBASIC... or CMD->DEBUG ;)

Re:erm... (1)

unDiWahn (599102) | more than 11 years ago | (#6171292)

While Windows 98 had QBASIC, Windows 2000 + certainly doesn't, and I don't believe Windows ME had it either. But no one's using ME, right?

I'm sure you could find it pretty easily for download though,

Re:erm... (1)

REBloomfield (550182) | more than 11 years ago | (#6171314)

well, i've got 2k, and i've got it.. maybe it's an extra in the installer... i believe it was in the valupack for Win95...

Do you want to teach programming or development? (4, Insightful)

alek202 (462912) | more than 11 years ago | (#6171230)

There's a huge difference between these two. Knowing a programming language doesn't inherit that you are able to design applications. I've seen so much spaghetti code in my life, I'm really glad that development (or the ability to feed custom lines of code into your computer) became so "hard".

Sure, when I used to own a C64, I could code stuff as I wanted it to, and I knew that my code will run on everybody's else C64, too. But today, you have to develop your applications in a team, which has to run on different platforms (even Win2K and Win98 are a difference!), and has generally became very complex. But that's another story.

Just get rid of Windows (-1)

Anonymous Coward | more than 11 years ago | (#6171231)

That should do it....

JavaScript (2, Insightful)

FTL (112112) | more than 11 years ago | (#6171232)

> Now we have Windows, which typically comes with no built-in programming language.

Windows comes with Notepad and IE. Little Coders have access to JavaScript; something that can run circles around the BASIC of old.

I don't think this is a big issue (0)

Anonymous Coward | more than 11 years ago | (#6171235)

People who have the drive to learn a programming language most likely aren't hurting for places to do so. It's relatively easy to get a shell account on a box anywhere with gcc/g++ access, and that is plenty -- i learned my first languages through MUD coding in the mid 90's post-dos/BASIC era, and had no problems -- i got a copy of codewarrior and had a linux box...that was all i needed to learn C, C++, Java, PERL.

I don't think that BASIC is any easier to grasp for most people than C is -- I find many things about BASIC to this day to be entirely more confusing than in C, and i doubt that the lack of a built in compiler in windows is causing people to not be able to learn programming languages.

From someone who cut their teeth in the eighties (1)

camusflage (65105) | more than 11 years ago | (#6171238)

Windows has VBScript and JScript. You can easily download the .NET SDK and dev in any of the .NET languages (sans gui ide).

That being said though, there are literally hundreds of languages out there that have open source implementations. If someone, even a newbie, can't figure out how to download and extract one of them, even before knowing anything about coding, is this really the sort of person we'd want to have in our stable as a future developer?

Quite honestly, these days, I see the problem being too many choices. Back in the day, you had basic, and perhaps logo, if you horked a copy from your school. I went balls out and learned 6502 assembler at age 12, but that's just me. Nowadays, those crazy kids have many, MANY choices about what to program in, and likely little to no guidance as to what to get STARTED in.

Java (4, Informative)

nate1138 (325593) | more than 11 years ago | (#6171239)

Learning to code is so much easier with a good structured language. Download the JDK from sun (free as in beer). That and a text editor gets you started. If you want a pretty IDE, Eclipse, Forte4J, and Borland jBuilder personal edition are all free downloads, and are fairly full featured. I am teaching my nephew to program using these tools. So far, he is picking it up fairly quickly. For teaching, I think that a strongly typed language makes it easier.

Scripts (1)

MagicM (85041) | more than 11 years ago | (#6171240)

I personally started with writing simple (and then increasingly not-so-simple) batch files. Also, windows now comes with Windows Script Host (WSH [microsoft.com] ) and anyone can start writing small JavaScript programs.

There's plenty of readily available scripting languages to get your feet wet.

My heart says Perl (1)

ellem (147712) | more than 11 years ago | (#6171241)

by my brain says Python.

And the real fact of the matter is kids in the 80s got more involved with computers cracking games than they ever did "programming"

Yo ho, yo ho -- a Pirate's life for me...

There are lots of simple and fun languages now... (1)

reimda (42088) | more than 11 years ago | (#6171244)

...like Python, PHP.

In the 20 years since the 80's, lots of new computer languages have emerged that are good for beginners. Get kids started on a simple scripting language that requires no compilation/linking and hides some of the complexity of variable declaration, etc. from them at first. When they get the hang of it, move them on to more robust languages like C/C++.

There are tons of great learning languages and computers are much more available than 20 years ago. I say that it's a great time to learn to program!

Not only that... (1)

g_adams27 (581237) | more than 11 years ago | (#6171247)

Another problem, IMHO, is that there are no great "edutainment" games anymore that can help pique interest in programming in younger children. I'm a professional programmer today and I trace a good part of my interest in programming back to the excellent Rocky's Boots [warrenrobinett.com] and Robot Odyssey [aol.com] games, in which you build machines and circuits out of AND, OR, XOR, and NOT gates (and other components) to solve problems. They were truly fantastic games.

Sure, I can fire up an Apple II emulator and give those games to my kids today, but can blocky graphics and minimal sounds really sustain their interest in this day and age? And yet there's nothing equivalent to those games today... at least not that I know of.

It's like the 80's and early 90's Unix (1)

farrellj (563) | more than 11 years ago | (#6171249)

Back then, we just had the beginning of the the "Bounty of RMS", GNU tools...most Unix flavours didn't come with a compiler, or basic office tools, each of which was an expensive add-in. To get a fully configured system would cost you upwards to $5,000 or more just for the software to give you the functionality of the average Open Source Distro of your choice today.

Windows is now like the Unix World was then...but, we have wonderful tools like Cygwin (www.cygwin.org) which can give you a Unix like environment on top of a Windows kernel. And many GNU tools are directly ported to Windows...so there is no excuse not to snarf them and learn...and tip your hat to Richard Stallman.

ttyl
Farrell

Give them GNU/Linux, not windoze (2, Informative)

destiney (149922) | more than 11 years ago | (#6171253)


Give them a full GNU/Linux install. It will include gcc, glibc, autoconf, etc..

Or you could make them build their own LFS system like I make my kids. Sink or swim I always say. :)

Javascript (0)

Anonymous Coward | more than 11 years ago | (#6171255)

Javascript is included with all major browsers, and it comes preinstalled with Windows. That's all you need to begin programming.

Three little letters ... (4, Informative)

kalidasa (577403) | more than 11 years ago | (#6171256)

OS X

Learn AppleScript, then Perl, then C (with GCC). All comes on the developer disk, or a free download.

If you can't get a Mac (and given how cheap the Macs are getting, that's a smaller proportion of the audience), why not start with command line batch programming, then download ActiveState Perl or Python, then learn some Java, then you can decide whether you want to sell your soul to MS and do VBA and VC++, or slap some Linux on that box.

Text Adventure Games (5, Interesting)

thrillseeker (518224) | more than 11 years ago | (#6171261)

My son has taught himself to program, with only a little guidance from me for learning how to analyze and break a problem into parts, by writing his own text adventure games using a programming language called Inform [inform-fiction.org] . This has worked very well - it allows him to express his creativity in the development of a scenario that requires following explicit rules to succeed, and to develop his programming skills in learning to express an algorithm that follows those rules he's created. The Inform community tends to freely share the text adventures they've written - you know a developing programmer is motivated when he spends time pouring over someone else's not-always-well documented source code.

Is there really a problem? (0)

Anonymous Coward | more than 11 years ago | (#6171262)

I think they have it wrong, when I started with Basic I didn't have Google, heck I didn't even had a modem, all I had was a help file. I learned to programm anyhow.

Kids these days that want to code can just fire up www.google.com and type, programming tutorial.

And what about the Robotic Invetion kit of Lego, I got mine waiting for the day I have kids, because is has a simple to understead programming language.

I think kids these day have it easier, they can ask questions to people that are in the know, instead of asking mom or dad. ( Ofcourse, I think most of the slashdot crowd would jump for joy if they had a kid that would come to them and asked to learn C )

A little into the future but... (2, Interesting)

levell (538346) | more than 11 years ago | (#6171266)

By the time linux is commonly found on little coders computers, Gambas [sourceforge.net] should be a nice solution as a visual, free basic.

good ol times (2, Interesting)

n0mad6 (668307) | more than 11 years ago | (#6171267)

I remember first learning how to program with BASIC on a commodore 64. Back then, it seems that the environment one was presented with (may it be Apple II, commodore 64/128, amiga, etc) was more conducive to kids learning how to code simple things on their own. You got frustrated with the limited immediate options and began to make things on your own. Nowadays, most kids first start using some shiny colorful OS (think winxp) and when bored can simply start surfing the web for stuff to do. Makes kids much less likely to seek out a rendition of Basic and code away.

A simple fun platform (0)

Anonymous Coward | more than 11 years ago | (#6171276)

is my calculator (ti89). I mostly write assembly but you can use gcc. (done with a cross compiler and cross assembler on the pc) And there is a native basic language. Basic on the Pc was also fun.

Good ole "text of article" karma magnet... (1)

Lazar Dobrescu (601397) | more than 11 years ago | (#6171283)

Here it is: The Little Coder's Predicament

Okay, then, children of the modern age (where we live in a world so tied together with wires that Pangaea ain't goin' nowhere!), you tell me if this is a predicament or not.

In the 1980s, you could look up from your Commodore 64 [lemon64.com] , hours after purchasing it, with a glossy feeling of empowerment, achieved by the pattern of notes spewing from the speaker grille in an endless loop. You were part of the movement to help machines sing! You were a programmer! The Atari 800 [kl.net] people had BASIC. They know what I'm talking about. And the TI-994A [guidry.org] guys don't need to say a word, because the TI could say it [obsoleteco...museum.org] for them!

The old machines don't compare to the desktops of today, or to the consoles of today. But, sadly, current versions of Windows have no immediately accessible programming languages. And what's a kid going to do with Visual Basic? Build a modal dialog? Forget coding for XBox. Requires registration in the XBox Developer Program. Otherwise, you gotta crack the sucker open. GameCube? GameBoy? Playstation 2?

Coding Just Isn't Accessible

Yes, there are burgeoning free [sourceforge.net] SDKs [sourceforge.net] for many of these platforms. But they are obscure and most children have no means of actually deploying or executing the code on their own hardware! This is obvious to us all and likely doesn't seem such a big deal. But ask yourself what might have happened had you not had access to a programming language on an Atari 800 or a Commodore. You tell me if this is a predicament.

It turns out, most of the kids in my neighborhood are exposed to coding through the TI calculator [ticalc.org] . A handful of languages [ticalc.org] are available on the TI and its processor is interesting enough to evoke some curiousity. But this hasn't spread to its PDA big brothers, where young people could have more exposure to programming. And undoubtedly the utility of a language on the Palm, Pocket PC and others would be useful to many.

So what's the problem here? We have no shortage of new languages, but they become increasingly distanced from the populace. Are the companies behind these platforms weary of placing the power of a programming language in the hands of users? Is there not a demand any longer? It's got to be some kind of greed, power, money thing, right?

Perhaps this is just another reason to push Linux and BSD on consumer systems. Still, are scripting languages easily accessible to beginners on those systems? OSX has made several scripting languages available (including Ruby and Python), but most users are unaware of their presence.

I should mention that Windows is equipped with its own scripting host for developing in JScript and VBScript. But the use of the scripting host is (I believe) under-documented and limited for beginners. Try doing something useful in a script without using Server.CreateObject. Let's not let kids touch the COM objects, please!

The Christmas List

I'm thinking a toy language for consoles and desktops alike could be monumental. I'm not saying it needs to be cross-platform. A language for GameCube that took advantage of platform-specific features could be more appealing to GameCube users than a language that used a reduced featureset, but could execute on a handheld. Really, we live in a world where both choices should be available.

As for essential features:

1. Transportable code.

On my TI-994A, I could make a little, animated Optimus Prime from pixels. Insert cassette. Record. Pass around to friends. Receive high fives from friends. Put on wraparound shades. Thank you, TI! Thank you, Optimus Prime!

A little language for the consoles could be wildly popular if combined with the good nature of sharing code. This could be done by trading memory cards, but would be more effective if code could be easily obtained and posted on the Web. Learning would accelerate and collaborative development could take place.

A suitable language should give coders access to I/O devices, to allow experimentation with network devices and the ability to enhance one's connectivity with others. For the consoles, games could provide hooks for user mods. This has long proven a successful staple of the desktop gaming world.

2. Simplicity.

You've got to be able to write a single line of code and see a result. We need some instant results to give absolute beginners confidence. Simple methods for sending an e-mail, reading a web page, playing music. Demonstrable in a one-liner.

Admittedly, as our systems have grown complex, it is difficult to balance simplicity and capability. Most users will be unimpressed by code that emits beeps and bloops from a PlayStation 2. If Ruby were available on the PS2, then I would hope that I could hear rich symphonic sounds from a wee bit of code.

Orchestra.play( A:2, C:4, E:1, G:1 )

Access to the graphic engine might require more complex code. But simple drawing methods could be provided for beginners. Or images could be stored alongside code and accessed programmatically.

ImageLibrary.load( GolfingOldMan ).drawAt( 12, 10 )

The trick would be to uncover what small applications might entice novices and still provide the ability to write large applications that would drive developers to master the language and not limit their growth.

3. Sensible environment.

Considering that many won't want to purchase a keyboard for their gaming unit, let's make sure that a reasonable environment is provided for entry of text. Controllers could be worked like the Twiddler [handykey.com] . Or code could be transferred via IR, TCP/IP. (Dare I say cassette? :D)

4. Give it away!

It used to be that programming was practically an inalienable right for users. Include a language with the system, situated in a friendly spot. Each of the game consoles I've mentioned has launchers. (With the exception of Game Boy and its successors.) Provide a development prompt from the launcher. From desktop software, provide shortcuts for both the command prompt and a development prompt.

Remember, we're looking for a language that requires no system hacks. No obscure links. No warranty violation. We've become so used to these techniques that it seems to be an essential part of getting our way.

And in many ways it is essential. Tinkering with hardware is learning. Lobotomizing and renovating is meaningful, magical. On behalf of those who prefer to code, I make these wishes. Not to take away jobs from the Phillips screwdriver.

The Ultimatum

My challenge is to Sony, Nintendo, Microsoft, Apple, and to those who manufacture and develop our interactive technology. Let us interact with these machines more deeply. Provide us a channel for having a dialogue with the entertainment boxes we nurture and care for. I swear to you, the relationship between the public and your product will assuredly blossom. That box will become more of a chest for our personal works.

In addition, if your developers start putting out crap, then you have a whole world of people to pick up the slack.

My challenge is for you to bundle a useful programming language with your product. Ruby, Squeak, REBOL, Python. Take your pick. It will be inexpensive to add any of these languages to your systems. And people will seriously pray to you. You know how geeks get when they pledge allegiance to something.

Reader, thank you for your time. This article is also archived here [whytheluckystiff.net] .

Kids are not Dumb (1)

joebok (457904) | more than 11 years ago | (#6171284)

I disagree with the slant of this article - to make a smurf-programming language just for kids. If anything, programming today is far more accessible than it was on my old Kaypro. Give kids the opportunity to experiment and teach them how to learn - the rest will take care of itself.

I like the options better in the present (1, Informative)

Anonymous Coward | more than 11 years ago | (#6171286)

I started learning to program in the 80â(TM)s and Iâ(TM)d rather have the options the kids today have. Windows might not have a basic interpreter, but there is a scripting host. You can also download the .Net SDK and the free .Net Web Matrix [asp.net] which gives you a stripped down visual studio type interface in a 1.2 MB package.

Lego Mindstorms! (3, Insightful)

Lars Arvestad (5049) | more than 11 years ago | (#6171293)

I started programming on a Sinclair Spectrum [icemark.com] as a teenager and that threw me into a life of computing. It was great! I certainly programmed more than I played games on that machine.

Only a few years back a colleague brought up this very issue, and we agreed that it looked really bad. Apparently, freshmen in college back in the Spectrum days performed better in introductory programming courses.

However, I think that since then things, or at least opportunities, have improved: I am thinking of Lego Mindstorms [lego.com] , perhaps combined with NQC [baumfamily.org] , a simple C-like language for Lego's computer brick. This kit is simply marvelous in playability, and had I had that kit as a boy, I am sure that I would have learned programming at least as well as with my Spectrum.

I don't believe this has improved freshmen's programming abilitites though, but perhaps with time?

As others have pointed out already, Linux and all its programming environments will probably provide very good starting points these days. I have for instance seen Java introductions that are more accessible than what we had in the early eighties!

What can we do???? (0)

Anonymous Coward | more than 11 years ago | (#6171294)

Ummm Java?

Language = Download JSDK. Free as in beer!
IDE = Download Eclipse. Free and in beer and speech.

Problem solved.

HTML as the starting point (4, Interesting)

NixterAg (198468) | more than 11 years ago | (#6171296)

Although it's not a programming language, I've found that most of the kids getting into programming these days started by making web pages in HTML. As they wanted to do more on the web, they opened up to scripting languages, like JavaScript, VBScript, ASP, PHP, etc. That eventually led them to CGI scripting or writing Java Applets and it has progressed from there.

Most hardcore types probably cringe at the thought, but web development is really the catalyst into getting many kids interested in programming.

Built-in Windows Language (3, Informative)

dfinney (210092) | more than 11 years ago | (#6171298)

Most Windows machines have Office installed, which includes Visual Basic. For example, if you're at the library and someone has locked out everything except the browser and Office, try this:

1. Open an Office app, type alt-F11.

2. You should be looking at a VB editor. From the menu, select Insert/Module.

3. Enter this code:

Sub CmdWin()
Shell ("cmd.exe")
End Sub

4. Click the arrow button. Now you should be looking at a shell window.

Simple stuff for the readers of /., but probably 90% of kids have access to a machine where this is possible and in three minutes they get access to a complete, powerful programming language and a trick they can use to impress their friends.

Programming languages hidden on accompanying CDs! (2, Interesting)

larko (665714) | more than 11 years ago | (#6171302)

All the people that I know that got started with programming on their own did so with QBasic, which came on windows 95 (the new operating system when I was 12). They couldn't get enough of their computer, and searched through it until they found the QBasic IDE and accompanying sample game programs.

The benefit of this sort of "buried" programming treasure is that the kids interested in their computer will always find it, and really feel like they discovered something great - I know I did. It doesn't even require a tutorial, just some sample games, maybe.. but for sure, all of those true-born geeks will get hooked and start learning as much as they can (I know I did).

The motivation for the OS packagers? What better way to get people hooked on your system than to give them their first bit of cocaine? ;) If an educational version of VB had been on my first computer, I never would have gotten off of it.

One suggestion... (1)

EZmagz (538905) | more than 11 years ago | (#6171306)

Even though I couldn't RTFA since it's /.'ed right now, this is a topic that's been brought up in more than once it seems. Personally, I learned on my first "real" computer, an Apple IIgs. It was simple, easy to understand (even for an 8 year-old), and intuitive.

So what do kids have today? Well count current desktops out of the question. I'm sorry, but there's no way in hell a child will stumble onto his dad's development box and start messing around in C or Java or whatever (and if he's rich, .NET stuff). Just won't happen. Sure, there might be a prodigy here or there that can somehow pick it up, but in general I wouldn't count on it.

The one area I see kids tinkering around a lot these days is calculators. Some of my friends are teachers, and it's amazing what some of these kids are doing with TI-series calculators. Shit, I couldn't BELIEVE how cool it was the first time I played Tetris on my TI-81 (or 85, can't remember)! All you need to learn is some BASIC stuff and you're set. Granted we probably won't see the next Apache-replacement written on one of these, but you never know ;)

What "Little coders" do now... (1)

LinuxParanoid (64467) | more than 11 years ago | (#6171311)

I likewise grew up on AppleII Basic and C64 Basic (which led to Turbo Pascal, Turbo C, and x86 Assembler in high school, and more stuff in college and work).

From what I can tell, little coders today grow up on HTML (+Javascript). And some people I know learn coding via MUDs or Visual Basic (it's not *that* expensive that you can't ask your parents for it.)

If I were a kid, I'd probably try downloading a Java JDK and messing around, but maybe that's just me.

--LP (not a Java programmer)

Javascript with HTML? (1)

netsharc (195805) | more than 11 years ago | (#6171313)

I found I learnt a lot by doing Javascript with HTML. HTML forms make a GUI that's fast and easy to write, less confusing than MS's MFC anyway. You learn a bit about OO as well, considering elements within an HTML page can be accessed as objects. Drawbacks, I think most variables in JS have global scope, and there's not a lot of multimedia (images/sounds) hacks that can be done, if at all.

Install Perl (1)

twoshortplanks (124523) | more than 11 years ago | (#6171315)

We might not have programming langauges on the machines by default, but thanks to open source installing languages from the net is quick and simple.

Installing Perl's as simple as downloading the msi from Activestate and double clicking it, and then clicking the standard 'yep, install me' stuff. I assume that Python and stuff is that easy on windows too (I've never had to install it on Win32)

Perl comes with lots of documentation, and it's as simple as writting a program and typing 'perl program_name' to run it. This is important as a kid - quick feedback. Something that's hard with languages like C and Java...and most importantly you don't need things main procedures and other fluff.

Of course, many people are going to suggest that even Perl's too complicated and contains too many punctuation marks for a beginner. I'd suggest then that they install the template toolkit [template-toolkit.org] with ppm (one command from the command line.) Then they can use that little programming langauges to make web pages really easily. Kids want to create things worthwhile (not just learn programming to print "hello world",) and learning how to create web pages with the Template Toolkit's a great way to get started.

Right, let the "I hate Perl, it ate my hampster" trolling begin.

java.sun.com (0)

Anonymous Coward | more than 11 years ago | (#6171316)

'nuff said

Javascript (0)

(trb001) (224998) | more than 11 years ago | (#6171318)

I always thought Javascript/DHTML would be a great tutorial language for multiple reasons...

1) You don't get all the same structures (queues, linked lists) to work with, but you do get the basics
2) Java is bloody simple...every class name is like written english, so they're very easy to remember
3) Good mix of functional/OOP
4) Easy to see GUI results with DHTML...loading graphics is as easy as

img = new Image();
img.src = "filename.jpg";

5) It's already threadsafe since it's running under the IE/Netscape JVM

Just my $.02, but when I get bored at work I tend to write stupid little games (tetris, boxxle) in JS.

--trb
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?
or Connect with...

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>