Slashdot Mirror


The Little Coder's Predicament

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?"

9 of 1,073 comments (clear)

  1. Create a simple learning language... by pir8garth · · Score: 5, Interesting

    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...

    --
    Something clever...
  2. Where to start? by eli173 · · Score: 5, Interesting

    Hand them a Knoppix CD and a book on Python.

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

  3. IBM's Robocode by capedgirardeau · · Score: 5, Interesting

    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

    Covered on slashdot here:
    Robocode Rumble: Tips From the Champs

    And here:
    Learning Java Through Violence

    --
    Wax on, wax off baby!
  4. Text Adventure Games by thrillseeker · · Score: 5, Interesting

    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 . 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.

  5. Python by Dot.Com.CEO · · Score: 5, Interesting
    And the reason is that it forces no bad habbits on people. It is well structured, it can be read easily, is truly multi-platform and is free. The Windows port is very good and allows access to Windows Widgets with a minimum of trouble.

    As easy to learn, but not that strong on the "bad habbits forming" part is Visual Basic. It follows a completely different programming model to "normal" newbie languages but it is much more "goal-oriented" than most beginner languages. It is also easier to produce impressive results with it, and, frankly, the VB (and Visual Studio) IDE is as good as they get.

    --
    Mother is the best bet and don't let Satan draw you too fast.
  6. I face this problem. by jdclucidly · · Score: 5, Interesting

    At age nine is started messing around with QBASIC. Windows 3.1 had just come out and wasn't yet ubiquitous. I became quite proficient with BASIC, eventually, but by the time I had, the GUI extravaganza had begun. I was downloading and playing games for which I hadn't the slightest clue how a programmer might begin to implement such things. At some point, faced with the prospect of not being able to accomplish anything 'useful' with QBASIC, I stopped programming altogether.

    I'm twenty one now and the itch to get back in to programming has been bugging me quite a bit. Now that I'm using Linux for pretty much everything -- and because Linux encourages tinkering -- I've found that scripting (Perl, Python, Ruby) languages (not THAT unlike BASIC) are the perfect place to start to refamiliarize myself with data structures and general programming concepts. The clentcher is of course that the CLI is once again useful and the programs I write can actually do something.

    Namely, I've found Ruby to a great place to get started since I'm just beginning. Because Ruby is completely object orriented, it hasn't required a whole lot of reforming of the way I think about data -- everything is either a noun or a verb; an object or method. Just like the real world. After just two weeks of studying the freely available Ruby books online, I've been able to begin accomplishing basic system administration tasks. My passion for manipulating logic system is returning and I have some great ideas about what I can accomplish with it.

    Sure, some day I'll probably have to pick up Java or (shudder) C++, but for now, scripting languages are the perfect entry method.

  7. The problem isn't just the computer system.. by schon · · Score: 5, Interesting

    The people saying "just use Linux/FreeBSD/OtherOSS" are missing the point..

    The problem isn't that Windows doesn't come with a programming language, but that there is no "learning system" in place..

    I grew up in the 80's, and I learned to program first with my Vic-20, then with the C64..

    I learned by typing in programs found in Compute! magazine and Compute!'s Gazette..

    Such an environment simply doesn't exist today - even with Linux or FreeBSD (or how about Java if you don't want to learn a new OS?) the internet makes it harder to get into.. Instead of spending time typing the code in, you just download it.. sure, you can read it if you want, but reading about something is not the same as doing it - you don't get the same experience out of it.

    Physically, programming is typing stuff, but with the internet, there's no incentive to actually do it - and like most other animals, people are (by nature) lazy.. so even if they have the drive to learn, they might not have the drive to actually do the work.

    I tried using Robocode to teach my nephew how to code, but it's just not the same thing - he wanted to learn to program (still does, actually) but he gave up after just playing with it for awhile.. typing into a computer to get it to do something was just too foreign to him.

  8. It wasn't that hard to get my little lad started by Snaffler · · Score: 5, Interesting

    When he turned 13, I gave him an old 486, a manual on BASIC, and told him how to find it on the windows directory. Didn't do anything else other than type up a few lines of simple code. Natural curiosity took over. Soon he was writing complicated and lengthy RPGs, similar to what came out in the '80s. Next summer I gave him an old C++ book some visual basic stuff, and some disks. The next summer Java. And now he is going to be applying to a college that offers computer science in the fall. He codes in his sleep now. Oh, this summer's project is to take some boxes, some Linux disks, and make a web server, firewall, and Linux server.

    My thought is that if the kid has the normal curiosity then just give them the tools and they will figure it out. There are plenty of old books and software available on Ebay and used book stores.

  9. overengineering the solution by Transient0 · · Score: 5, Interesting

    In fact I would say that even downloading Tcl/Tk or Perl could be overengineering the solution.

    The truth is that the Perl environment for Windows is not always intuitive and can occasionally prompt windows errors which are relatively easily understood by someone with a lot of computing experience but can be intimidating to a fledgling coder.

    What people have overlooked is that windows does come with a built in interpreter for at least one widely used language: Internet Explorer knows all about Java.

    The best part is that the Web is an environment most twelve year old kids are already quite familiar with. You can teach them basic HTML (if they haven't picked it up already) and then get them started on using Javascript. Javascript on a web page has the same sort of instant gratification that I remember from making the screen on my vic20 flash red and proclaim that I was cooler than my sister. Once they are comfortable with Javascript you can move them on to writing full-feldged Java applets (of course all of this coding can be done in notepad (or your favorite syntax-highlighting text editor)). In this way they will learn about object oriented programming. If the kid gets a good handle on writing Java applets and is still interested, they are probabl ready to move onto real programming: teach them C, or whatever else strikes your fancy. Maybe even give them a Linux box.

    It's a simple way to learn programming on a modern windows box without having to install any developers kits or worry about system calls etc., and it all works in an environment (the Web) with which kids are already familiar and interested in.