Slashdot Mirror


Do Kids Still Program?

From his journal, hogghogg asks: "I keep finding myself in conversations with tertiary educators in the hard sciences (Physics, Astronomy, Chemistry, etc.) who note that even the geeks—those who voluntarily choose to major in hard sciences—enter university never having programmed a computer. When I was in grade six, the Commodore PET came out, and I jumped at the opportunity to learn how to program it. Now, evidently, most high school computer classes are about Word (tm) and Excel (tm). Is this a bad thing? Should we care?" Do you think the desire to program computers has declined in the younger generations? If so, what reasons might you cite as the cause?

40 of 1,104 comments (clear)

  1. No there's MySpace by Anonymous Coward · · Score: 5, Funny

    Kids are too busy taking pornographic pictures of themselves and having sex with teachers.

    1. Re:No there's MySpace by maxdamage · · Score: 4, Funny

      When the WoW goes down you hear a moan shoot through the whole campus.

    2. Re:No there's MySpace by nevernamed · · Score: 5, Insightful

      Yes I agree. I am a High School Honors Student and I have seen all this first hand. I know that all computer classes are about using word. It's obscene. I think that I was lucky to find programming 1. All people know how to do is sign on to instant messenger and post things on myspace. That's about it. Most of them don't even have coherent writing skills. The education system in our country is crumbling, and it's all happened recently. No child left behind = everyone learns with the idiots.

  2. yes, they do! by yup2000 · · Score: 5, Interesting

    But they're not programming computers...

    they're programming calculators like the TI-83 Plus and TI-89 ... just look at sites like www.ticalc.org

    not only that, but they're learning C, ASM, and BASIC... wow!

    1. Re:yes, they do! by Doppler00 · · Score: 5, Interesting

      I doubt it. 99% of the kids with those calculators only care about how to get "games" to run on them. Maybe the 1% already know how to program on computers anyway. And you're almost guaranteed that the teacher won't be giving a lesson on even how to make basic functions to save time in calculations.

      And it's a shame because pretty much any science degree you are going to be doing some programming for data analysis (MATLAB, python, etc....).

      Thinking back I remember programming the Apple II's in our computer lab during lunch in 6th grade instead of playing outside. The neat thing about those computers is you had a very simple easy to use programming environment built into the computer. I'm not sure what computers are like now in schools, but my guess is they are heavily locked down and only include office applications and a web browser. That's just too bad.

    2. Re:yes, they do! by WinterSolstice · · Score: 4, Insightful

      Depends on the school - my kids went to one like that, but I pulled them out. The district mandated this miserable hell of a computer that never even worked. The IT was the worst ever - teachers couldn't even unlock students, 1st graders had to remember these crazy user IDs (like U238A_BBA76 - something to do with class number and student ID)

      The school they are in now is much different. It's a mix of Macs, Windows, and Linux with no lockdown at all. No real net connection, but the research machines in the library have them. Ironically, even though the Windows machines are fully loaded with MS Software and games all the kids are clamoring to use the aging Mac G3s and the one old G4. I find it amusing, my self.

      -WS

      --
      An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
    3. Re:yes, they do! by Nyall · · Score: 5, Insightful

      Well 0% of the people with playstations know how to program them. 1% may not seem like a lot, (and its a high estimate) but 1% of millions of calculators is still a lot of programmers. I doubt that they know how to program on the PCs. Computers no longer ship with an easy to use basic that gives instant results.

      Yes there won't be any formal instruction. Is that a problem? Would any self respecting slashdotter posting at midnight on a friday admit that they needed to be taught programming by a teacher? How much formal teaching did you need to learn the Apple II's built in language?

      --
      http://en.wikipedia.org/wiki/Jury_nullification
    4. Re:yes, they do! by Doppler00 · · Score: 5, Insightful

      Would any self respecting slashdotter posting at midnight on a friday admit that they needed to be taught programming by a teacher? How much formal teaching did you need to learn the Apple II's built in language?

      Well it's not so much that gifted kids need a teacher to tell them how to program. They need a teacher to encourage them, and that is what's missing. When I was in school teachers didn't mind me spending my time in the computer lab during lunch. And they thought it was really neat what I was doing. Now days I think they just care to put all the kids in a neat rows of seats and bore them to death with lectures.

    5. Re:yes, they do! by Usquebaugh · · Score: 5, Insightful

      I wish somebody had shown me Lisp when I was 14. All I got was Pascal and 6502.

      There is a certain rightness about Lisp same as with *nix. No other language I'm aware of even comes close in the ability to expand programmers minds. It's like comparing budwieser to scotch or absynthe.

      Smalltalk is another 'right' language. Pick up the original manuals for Smalltalk/80 and the sense of rigour and completeness is abundant, no silly syntax add ons.

      Likewise C. I defy any programmer to pick up Kernighan & Ritchie and not be impressed by the sheer brevity of the language.

      Now pickup Stroustrup, or a Java book or Perl or Python. What hits you is the cacaphony of discord, the single pure note lost amongst the poor orchestration.

      When C++/Java/Perl/Python have long since been consigned to the garbage colletor in the sky Lisp/Smalltalk/C will still be used to solve problems. I rather think the current period of programming will be seen as the dark ages before the re-birth.

    6. Re:yes, they do! by Tatsh · · Score: 5, Interesting

      Completely true. One lab does teach HTML but they also use FrontPage to help (can't say I didn't myself when I started learning at like age 11 (what age are you in 4th grade?)). If I were going to teach someone nowadays, I would teach them straight through without any help from software other than the browser (and I would recommend Firefox for testing) and something like Notepad (Textpad, Notepad++, etc). I'd recommend Notepad++.

      In my school the computers are very very very locked down. If you right-click the desktop and go to Properties, there are absolutely no options. The screen is all fucked up to be blanked out of options. So we can't have roaming profiles (which baffles me, I cannot stand that shitty blue taskbar and crap like that). Also, by using network booting, they force Windows XP to load on some really really really old computers, which baffles me as well. Why is this bad? Because kids can't tell the difference! One girl was working on a video project (in shitty WMM) on an old computer. She then wanted to finish it off and get it encoded and when she hit encode the computer just froze entirely. She said she didn't save at all either (her fault). I had to tell her that she had to do it again and that if she saved it would be okay but then I had to tell her that these computers she was on are not made for video encoding and if they didn't freeze on encoding they would take a year to encode anything at all. She was then all confused because I used the word "encoding" and pissed off.

      My only hope for not using that piece of shit IE at my school is putting in my flash drive (USB 1.0 on the old computers that have USB so I never try) and running Firefox off of it (which works okay). I can also run several other apps. Otherwise, I wish my school would use OpenOffice also instead of buying a million licenses for M$ software (Office) (Right now I have to keep OO and M$ format on my flash drive). Whenever there's a legally freeware alternative to anything, it's like they completely ignore it. Firefox would be great on the systems, along with the teachers using Thunderbird instead of Outlook, etc.

      As far as programming, schools get a huge discount when they join some kind of thing with M$ and then they get Visual Studio and the license also allows students to take it home and install (I pirate mine for now). My school has not done this and I don't think they plan to. Since I'm taking the online course in AP Computer Science next year, I have yet to figure out how one would do programming without a compiler installed.

      Staying on topic, I guess I am a kid (17 about to turn 18, started doing shit at 11). I have experience in HTML, C, C++, and Java. I have not mastered any yet, but still working on it. At age 11, my parents got me a decent computer (although it was a Compaq :/) and I began to just play and play till I learned, because my previous computer had Windows 3.1 and 98 was different in a lot of ways. I used what I learned from school since they had 98 and then tested things out. Best way to learn and no one but me seems to understand this. After making my first HTML pages in FrontPage I saw a View Source option in the program and began to understand HTML easily. Unfortunately, I expected other languages to be as easy and was soon dumbfounded. I picked up a book on C one day and got my hands on a copy of Visual C++ 6.0 (still used by many today). Did the same for C++ and Java. I have a lot more reading to do and I am working on a few apps. Just the other day I needed an app that could modify an INI file based on what I input, which would be easier than opening the INI file in Notepad just before every time I opened the app. It's a handy app but only useful to me. Did that in C++ in about 5 minutes. After getting that Compaq I learned about the innards of a system from one of my dad's friends, and started building my own PCs.

      Pretty much everyone else at my school has no clue (there are a few that do). They have no idea how computers work and they recently learne

    7. Re:yes, they do! by Ganniterix · · Score: 5, Insightful

      Are you dumm??? :) You don't talk to girls about encoding!! Seriously ... watch some more TV and a bit less PC's :)

      Jokes aside, I don't think that the whole world needs to know how PC's are working. I don't think that the majority of people need to know that. As long as you know how to operate a word processor and a spreadsheat program, maybe some software to create presentations (notice how I am using generic terms).... I think you can be considered computer literate. To be able to program in C++ in notepad and compile it using a command line interface, I THINK goes beyond the purpose of computer literacy. I don't think that locked down computers are a bad thing. In fact from what you've been saying (software loading off pen drives, accessing external proxies...) I don't think you computers at school are actually locked down enough. Keep in mind that computers at school are not you computers at home. It's there for public use and has to cater for mostly kids. I don't think that schools should make it a priority on their schedule to allow 12-13 year olds change their desktop picture, color of the taskbar and access porn!

    8. Re:yes, they do! by yurnotsoeviltwin · · Score: 4, Insightful

      This is beyond true. In fact, the teacher doesn't even need to actively encourage them, all they need to do is provide an environment in which the kids CAN program if they want to. Of course, I'm not telling teachers that they shouldn't encourage kids to program, but even just giving them easy access to netbeans will get them working on stuff. I took both Programming in Java and AP Computer Science in high school and really all our teacher did, especially in AP after we'd learned the basic syntax in the first class, was give us assignments and a link to the API and let us figure them out as a class. It was awesome, most of us did great on the AP exam and they actually ended up having to bring a professor in this year from University of Delaware (where I'm currently a student) in order to teach the next level of compsci to a lot of the then-juniors who had taken AP (I was a senior when I took it). If you have kids with brains and an inclination towards compsci, just give them a computer and a problem to solve and they'll do it, often at a level that exceeds expectations (adding cool GUIs and such). One friend of mine in the class held a summer job (and still works a little bit) as a database scripter/porter for a small car dealership, and he hasn't even graduated high school yet.

    9. Re:yes, they do! by carninja · · Score: 5, Funny

      Seriosuly, stop learning how to program, or you'll never get laid.

    10. Re:yes, they do! by zCyl · · Score: 5, Funny

      When C++/Java/Perl/Python have long since been consigned to the garbage colletor in the sky Lisp/Smalltalk/C will still be used to solve problems. I rather think the current period of programming will be seen as the dark ages before the re-birth.

      (((((((Hopefully(the))(result(of(the))car)(cdr)(re -birth)will(be))))(car)(car)cdr car)(()readable))(.)car)

    11. Re:yes, they do! by MonoSynth · · Score: 5, Funny

      Like when my girlfriend needed to update her podcast and kept screwing up the XML file, I just wrote a little app to do it for her.

      What? screwing up the XML file?

    12. Re:yes, they do! by fuzzix · · Score: 5, Interesting
      I have experience in HTML, C, C++, and Java.

      Cool. The thing is, learning languages isn't really the most important thing to consider when programming - languages can be picked up depending on requirements at any time. Once you know the fundamentals of one it's easy to pick up another.

      The real art of programming comes from an understanding of algorithms and complexity. You can know every feature of a language but without the ability to apply it in an efficient manner that works it's not going to get you far. The focus on filling people's heads with syntax is a serious failing of many college courses. There should be more time spent on the fundamentals of programming theory with a single language being taught alongside to show how this theory is put into practice.

      When you familiarise yourself with common methods for every day problems you'll start to notice ways to make your own solutions more elegant and efficient. You'll be able to tell which algorithm takes more operations to process some data set or which one requires more RAM... then you can implement it in any language that takes your fancy. To me, that's the important stuff in programming. You have all the time in the world to learn languages, but without this stuff it won't come to much.

      I learned this the hard way. I say it here so you don't have to :)

      Luckily there is as much free help on algorithms out there as there is on any programming language. I just found a decent looking algorithms tutorial collection and there's also the Dictionary of Algorithms and Data structures. Hmmm... looks like I found some weekend reading material!

      Oh, and there's no shame in designing on paper... the day will come when you don't need to do it, but until then it does no harm. Jees, I sound like an old fart here. I'm in my 20s, I swear!
    13. Re:yes, they do! by earthbound+kid · · Score: 4, Informative

      Computers no longer ship with an easy to use basic that gives instant results.

      Mine did. Applications -> Utilities -> Terminal.app; % python.

    14. Re:yes, they do! by khellendros1984 · · Score: 5, Insightful

      The current state in some schools is worse than a lack of encouragement. Using the computers for anything that the instructors don't understand constitutes "hacking", much of the time. I've gotten in trouble for writing programs on computers (in basic, non-viral, etc). It gets worse. One of my friends tells a story about changing to a non-default printer (the default was set improperly) and getting sent to the vice-principal's office.

      For the most part, I was lucky, though. It is the one way I can think of that having out of date equipment was a boon. Most of my schools had machines running windows 3.1, and therefore a full copy of dos including the qbasic.exe binary. That always excited me, being able to add functionality to a machine with something I created. Then again, I'm most of the way through a computer science bachelor's degree now...

      --
      It is pitch black. You are likely to be eaten by a grue.
    15. Re:yes, they do! by Mr+Z · · Score: 4, Interesting

      I think many teachers already have a hard time anticipating what the computer is going to do. The thought of letting the kids make it do something different must be terrifying for them. At least, that was my experience.

      Every so often, you find a clueful teacher or two. Problem is, as computers get more complex, the bar for cluefulness keeps rising and all the clued get jobs in industry.

      --Joe
    16. Re:yes, they do! by zCyl · · Score: 4, Insightful

      > I've never been able to understand this. Why do so many otherwise
      > intelligent people have this irrational phobia about parentheses?
      > What is it about them that causes people's minds to lock up? I can
      > understand complaining about other aspects of Lisp, but this?

      It's quite simple, really.  Each parenthesis has a slightly different function in the context of the larger program, yet you cannot tell this quickly from looking at them.  I mean, look at the above joke sequence, and tell me if there are 7 or 8 parentheses at the opening left side of the sentence (by glancing, without counting).  And yes, you can use a program that does parenthesis matching to avoid having mismatches, but it is about more than having the numbers balance, because an infinite number of different configurations of parentheses can have balanced numbers but different behaviors.

      Control structures more like the C style have been significantly more popular because there are visual markers indicating function.  { and ( are used in different contexts, as are ", ', ;, and so forth.  It's always reasonably clear upon looking at C code what is a function, what is a parameter, and where the return values are going.  LISP can have the same function, parameters, and return values, but which goes where is determined entirely by the ordering of parentheses.

      So it's not that people are afraid of the parentheses, it's that the parentheses are cumbersome to visually parse into meaning whenever complexity rises.  In C style code, a single routine which is becoming more complex tends to simply get longer sequentially.  In LISP, a single routine which is becoming more complex tends to get more depth of parentheses, and you start getting structures that look like: ))) (( in the middle.  Let's take a piece of example code:

               (cond
                ((< x 400)
                 (cond
                  ((< x 100)
                   (prin1 'XC) (decf x 90) )
                  (T
                   (prin1 'C) (decf x 100) ) ) )
                (T
                 (prin1 'CD) (decf x 400) ) ) )

      I now take a working piece of code, change only a few parentheses, and the behavior has changed.  In this case, it should crash, but there are less trivial cases where code will actually run but do something different.  Either one is of course bad, since in an ideal situation, a human programmer should be able to discern the function and behavior of a program easily by visual inspection.

               (cond
                (< x 400)
                 (cond
                  (< x 100)
                   ((prin1 'XC) (decf x 90) )
                  (T
                   ((prin1 'C) (decf x 100) ) ) )
                (T
                 ((prin1 'CD) (decf x 400) ) ) ) )

      And I'm sure any reasonably competent LISP program can look at the simple code example above and figure out what is wrong with it, but this isn't the point.  The point is, the language hinders this process with its symmetry, rather than helps it.  For most tasks, languages shouldn't be chosen for their reductionist beauty, but instead, for their ease of use for forming complex structures with human psychology in mind.

      I hope that clears it up.  :)  <-- (This parenthesis functions as a smiley, and not as a comment closing.)

  3. Primitive interfaces by CRCulver · · Score: 4, Interesting

    Learning programming was so frequent back in the day because the primitive nature of early PCs required people to be able to do so low-level work to use them well. Heck, the Altair didn't even have a monitor, you had to flip switches to process commands. Freiburger & Swaine's Fire in the Valley shows you some of these early computers and their users. Everyone was programming back then because these simple machines attract a crowd of people willing to think analytically.

  4. Yep, they are. by FireballX301 · · Score: 5, Interesting

    I cut my teeth on C++ when I was nine. Graduating from HS this year with a few years of C++, some cursory Java, some cursory web 'languages' below my belt.

    The main issue here is that programming isn't necessary anymore for kids - whatever any kid wants to do they can rush out and buy a bit of software for, or find a utility online. All the functionality they'd want is at their fingertips already, so programming is left to the tinkerers.

    And I rarely program anything for fun anymore because I'm overscheduled. Too many classes, too many bloody standardized tests, and programming itself isn't rewarded at the HS level because of a refocus on reading, 'riting, 'rithmetic. Out of the set of dedicated students, the more well off kids burn time at prep schools and cram classes, the less well off burn time studying. Few chances to program 'for fun' - I've got a really old RPG engine that I add bits and pieces to every now and then, but there's no way I can finish it anytime soon.

  5. Who could teach it? by r00t · · Score: 4, Insightful

    Let's see, what will a qualified programmer do?

    Work in an environment where pay and job security is according to seniority, not competance. Work with lazy and dumb students who disrupt class, yet can not be kicked out or even (except in Texas) spanked. Get stuck doing odd jobs like minding the bus loading/unloading area and trying to stop food fights.

    Work in a cubicle for $40000 to $150000 while surrounded by fairly intelligent nerds and all the Mountain Dew you can drink.

    Gee, I dunno...

    1. Re:Who could teach it? by BigZaphod · · Score: 4, Insightful

      Teach it? No one taught me anything about programming when I was a kid. I checked out books from the library and fired up my Atari 800 and typed stuff in myself. No teacher required. (And no one to ask for help - I was the only person I knew who had a clue what I was doing.) The only reason I did it was because I had a computer and it didn't do much on its own. I had a need, so I set out to fill that need not knowing what I was getting myself into. That's the charm of being young and ignorant. Now, though, computers do so much out of the box that it's hard to imagine a kid thinking "gee, there's nothing to do with the darned thing." Combined with the Internet, it almost completely removes the old motivations we had for learning the craft. Other factors drive the modern geek-ling - such as the notoriety of building your own web page, making javascript programs in the browser that your friends can play with from anywhere in the world, and working on stuff in Flash that's so much cooler than I had ever dreamed possible back when I was saving my BASIC programs to an audio cassette. The geeks are still there - they just look different. It's hard to imagine what they will come up with in the future after growing up on such powerful tools.

  6. Comment removed by account_deleted · · Score: 5, Insightful

    Comment removed based on user account deletion

  7. Well, coming from... by cshank4 · · Score: 4, Informative

    ...a current highschool student. I must say, programming is a dying art among my peers because it's seen as 'uncool, unhip and boring.' There's no drive for it any more. I'm in my Junior (Grade 11.) year and I'm just picking up some C++ and C. Granted, I learned how to program for LinguaMOO's and I picked up some HTML back in 5th and 6th grade, so it's a little easier for me. But the point is, it's been... convoluted? I guess that'd be the word I'm looking for. It's been washed out by things like sports, staying fit and doing drugs. Hooray.

  8. It's Too Hard!!! by AaronBrethorst · · Score: 4, Informative

    Seriously, the complexity associated with modern development tools is way too steep a curve for your average 14 year old to wrap their heads around. We're trying to address this to a certain extent with the Visual Studio 2005 Express Editions, but it's a tough problem. It's no longer as simple as getting a bare-bones BASIC interpreter built into your computer's ROM. I think there have been some cool advances in this space, though, in the recent past. Take the Kids' Programming Language, for example. It's is expressly aimed at the younger crowd. I've seen a demo of it (the guys from Morrison Schwartz who created it came by to give a talk on it last year), and I must say that I am suitably impressed their work. Check it out if you have a younger child who you want to introduce to development.

    --
    No, but I used to work for Microsoft.
    1. Re:It's Too Hard!!! by theJML · · Score: 5, Insightful

      I've been programming since I was 6. Had a C=128 and just HAD to figure out how to program it. Not sure why, just made it my quest. Then we got a 386, and I learned C. I didn't think it was that hard then (in fact, c made a lot more sense to me than BASIC did). After that I took a class in HS in which they taught Turbo Pascal, which I thought was kinda boring until I figured out that I could use ASM statements inline... Now I program in linux.

      Now let's look at the one continuity there, they were ALL Command Line environments. Sure I had Win 3.1 but I never did that much in it. And when 95 came out and I wanted to program MFC it seemed like way too much trouble for what I was trying to do. I was eventually able to come up with a patern for setting up the window and everything, but it was kinda more a pain in the ass than it was really productive. And I come to the last part... Now I program in linux. Sure you can do X-windows programming in linux (which I think is easier than MFC and Visual WhatEver++), but I've always gravitated towards simple things like kernel programming and utilities.

      Back to my point, the command line based OSes were easy to learn to program with. Minimal setup for your program (heck, include and you're pretty much done.) output is exactly what you want (it's all just text anyway), it's easy to visualize, it's easy to learn, it's easy to get results quickly. Kids have short attention spans in general, so you want something that allows them to be somewhat productive quickly, so they can do a few things and see the fruit of their labor and think "Wow! That's cool! I just made that!" instead of some random windows error. That'll Hook them and they'll want to do more and learn more... sitting down to read a book to figure out the best windowing setup or if they want a DirectX window or a menu bar is kinda a pain and isn't going to grab many kids.

      --
      -=JML=-
    2. Re:It's Too Hard!!! by iamdrscience · · Score: 4, Insightful

      I think the fact that Ruby and Python have interactive interpreters makes them great places to start. Just like many of the old basic interpreters, you can just punch in commands and see what happens. You don't have to open a file, edit it, save it, close it, run it, and then repeat all that when you get errors, you can just type in a command and see what happens -- you get the errors immediately and you even have a command history so you can bring the last line you typed right back up, edit it and try again.

  9. Learning curve of linear vs OO? by jgaynor · · Score: 4, Interesting

    Do you think the desire to program computers has declined in the younger generations? If so, what reasons might you cite as the cause?

    When I was in elementary school we had this GREAT program called 'LAMP' (logic, art, mathematics, programming) where they took the smart kids out of class every once and a while and had us do extracurriculars in the above-mentioned subjects. The 'programming' aspect consisted of nothing but logo and some linear BASIC on TRS80s, but it at least got me interested in futzing with my Commodore 64 to the point where I could make rudimentary text programs and dream of mastering the 'poke' command.

    Without an easy-to-learn language like BASIC where do you begin to teach the fundamentals of programming? The syntax, class structure, includes, etc of modern object-oriented programming languages are a huge barrier to picking up the basics. Would you start a third or fourth grader out on Java? C++? I certainly wouldn't be able to handle that - I had a difficult enough time making my LOGO turtle move around. Perhaps the best solution would be some sort of drag-and-drop IDE, like visual basic for 6 year olds, where children could understand the concepts of programming without being overwhelmed by the syntax all at once. Anyone know of one? I seem to remember something similar using java beans demoed by Sun while I was in college . . .

  10. No more GWBASIC by songbo · · Score: 5, Insightful

    Frankly, I think the real problem lies in the fact that the standard OS nowadays (Windows) does not come with a readily accessible programming language. Back in the good ol' days, there was GW-BASIC and (later) Q-Basic. Qbasic even came with some games (remember gorilla?), that you could look at and see how things are done. All that made for a low technical barrier to entry (but not for good programming style). Now, unless you've got an inclination for programming, there's no way you can get started easily.

    --
    There are 10 kinds of people in the world - those that know binary, and those that don't.
  11. I'll take a stab at this ... by gstoddart · · Score: 4, Insightful

    My nephew used to brag to me about how he was some l337 haxor with mad skills.

    He was hanging out on various web sites with all of the other cool script kiddies. In his mind, getting stuff from the web without knowing what it was; or designing web pages with a WYSYWIG HTML editor; or using a level-editor to make a new map -- all of that WAS cool. He just couldn't grasp that he wasn't doing anything difficult, and certainly not worthy of his haxor belief about himself. In reality, he was running other people's programs and using interfaces to do stuff.

    Kids today either don't fully understand what it is they're doing, or think something utterly trivial is l337.

    They can accomplish a whole lot of 'meaningful' tasks with the software which is readily available for free. They don't *need* to try and cobble together little wee programs to achieve minor tasks. Back in the day, we were happy to achieve tasks which are, nowadays, stinkin' trivial. Because the computer didn't do much unless we made it so.

    Kids nowadays don't find themselves confronted with the need to program -- they're not staring at a blinking cursor trying to figure out what to do. They go onto teh intarweb and download it. They're not trying desperately trying to figure out how to write something to make the creation/management of D&D characters (or, whatever). They're downloading free (or pirated) software which already accomplishes what they need to do.

    People aren't programming out of necessity anymore, they're running software on the magic box which has always been there. They don't need to think about how software gets made in the first place. The generation before them have filled in most of the gaps for them.

    --
    Lost at C:>. Found at C.
  12. As a kid... by PurpleMonkeyKing · · Score: 5, Insightful
    Programming kids are few and far between. In Grade School, I always had the desire to make "a cool video game," but no adult I knew had a clue where I should start. It wasn't until 7th grade when my parents got dialup internet access that I had any clue what to do. I found GameMaker, but I outgrew it rather quickly, because I wanted to be like the "real" game programmers, so I made it a priority to learn C++.

    For three years, I taught myself through online tutorials here and there. Freshman year of high school I did a lot of programming, because I wanted to show my stuff off the the computer programming teacher (the class is only offered to sophmores and higher). Last year, once I was in the class I discovered how terrible high school is. In a one semester class, the other students only had a rudimentary knowledge of functions and no idea what OOP was. Basically it was a study hall for me, though I did write a tic-tac-toe game in C using SDL to show I did something.

    I'd have to say that my knowledge of C++ is pretty rough. I may know syntax, but I sure as hell don't know how to use it for anything complicated. That said, sophmore year, I competed in the National FBLA competition for C++ programming and got 6th! This absolutely surprised me. Surely there must be more people who know C++ than this?

    I'm disappointed in the US, in my teachers, and the school board. I've tried as hard as I could to learn in high school, but I end up being a slacker. Even classes at the local technical college (I've taken C# so far) have been a disappointment.

    In general, students aren't encouraged to do programming at all. Math books have logic cicuits, boolean logic, and tons of example BASIC programs, but teachers skip over them. Educators need to educate, not push kids through school.

  13. Kids have moved beyond the computer as a tool. by Runesabre · · Score: 5, Insightful

    I'm actually amazed at what kids are doing with computers today and at such a young age.

    Kids are instant messaging and emailing their friends, creating articles on MySpace, creating nifty Flash movies, modding their favorite fps game and distributing their effort over the Internet for 1000s of others to enjoy. They are actually using computers for a purpose rather than as quirky, nerdy obsession

    This is WAY more productive and creative than what my friends and I were doing with our computers in the 80s. Kids are not only creating (and hopefully learning along the way) but they are connecting with LOTS of other people in the process!

    Perhaps us oldbies view the seemingly lack of interest in actually programming a computer as a problem because we come from a background where the computer was more about what it could potentially do for us rather than what it could actually do at the time. Programming was a necessity to fill that gap, often in relative seclusion and obscurity.

    I'm sure our dads say the same thing about us young whipper-snappers not knowing the first thing about the cars we drive and nod knowingly to each other about what a tragedy that is.

    --
    Runesabre
    Enspira Online
  14. Re:Advice to smart people by Daniel+Dvorkin · · Score: 4, Insightful

    Perhaps you need the education to understand what "anecdotal" means in this context.

    --
    The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
  15. Some do... by mkiwi · · Score: 4, Interesting
    Some kids really do care about programming, but really good development software costs lots of money. That was definately my barrier into programming: I wanted to learn when I was really young, however I could not afford Metrowerks CodeWarrior nor were my parents willing to buy it for me. When your net worth is less than the cost of a computer program that makes it hard to enter the field.

    Now, enter open source software. Guided by the right people and articles, anyone can learn to program. Guidance is the key word here. Most kids aren't going to go off and buy textbooks just to learn how to Do Cool Stuff.

    A lot of programming is a mystery and there needs to be better education earlier in schools about what programming is. Programming is just like Math or Chemistry these days- it is required for many B.S. majors and can turn out to be hell if someone did not know what they were doing. In order to prepare kids for college, programming in a language like JavaScript would be a good starting tool. There is no barrier to learning JavaScript- the compiler exists in (almost) every web browser, which students should have access to.

    Some of the problem is that few people how to teach at the High School level very well. VB is not a good language to learn on, and it causes awful headaches for students who later decide to learn Java and C. VB, though, seems to be what is taught, even though most students do not have access to a VB compiler at home. Learning in school is not enough- it is homework that is also important. I advocate teaching kdis HTML and JavaScript so they can make a cool web site with image rollovers, calculators, and other various algorithms.

    Not only does this introduce the concept of programming, but it also gives students a great tool for publishing resumés and marketing themselves as an intelligent young people who have something going for them.

    A nice web page can do a lot, even if it is just a little.

  16. Re:Define Program by Daniel+Dvorkin · · Score: 5, Insightful

    Yes, HTML is a programming language.

    I know this is heresy, but bear with me for a moment. No, HTML isn't Turing-complete, and anyone who's done any kind of dynamic content work with Javascript, PHP, etc. is well aware of HTML's limitations. Nonetheless, writing a web page in plain HTML is much, much closer to "real" programming than it is to the way most people interact with computers.

    Most people do something on a computer that gets an immediate response. Hit a key in a word processor, see the letter you typed appear on screen. Click a mouse button in a game, shoot the bad guy. Type a URL into a browser, get a page.

    OTOH, writing a page in HTML (using a text editor, I mean) even a page that just says "Hello, world" on a colored background, requires understanding the concept of code. Instead of action-and-response, you have text that makes the computer do something that does not follow immediately from the text at the time you enter it. This may seem trivial to techies, but it's an enormous conceptual leap for most users -- and once they've made that leap, programming as a concept is no longer nearly so mysterious.

    This is the way it worked for me, as an adult. I was the kind of user whom non-techies think of as "computer-literate," which meant I could use all kinds of different programs and do some low-level troubleshooting, but I simply had no understanding of what programming was, and in fact had a kind of mental block against it dating from when my Dad tried to teach me C when I was a teenager in the 80's. It wasn't that I couldn't learn it, but I had convinced myself that I couldn't learn it, and that amounted to the same thing.

    In the 90's, I decided that I really wanted to at least learn how to make a decent web page, so I started doing "view source" on every page I liked, and got reasonably competent at reusing other people's HTML. Next I started writing my own. Then I realized that a lot of the stuff I wanted to do would be a lot easier if I learned this Javascript thing people were talking about, and, well, off I went. By the time I found my way back to C (and C++, and PHP, and Java, and Perl, and MATLAB, and Python, and R, in roughly that order) I realized this programming stuff wasn't so mysterious and scary after all.

    During my academic CS career, I saw a lot of people go this same route. Don't sell HTML short.

    --
    The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
  17. Better advice for smart people by linguae · · Score: 4, Insightful

    But what if you want to be this person or this person or this person? These people did very wonderful things, but those wonderful things require that they have the education to do them.

    My advice to smart people; don't drop out. It is possible to do wonderful things without a degree, but a degree will open much more doors, which makes doing those wonderful things much easier than without a degree.

  18. Re:Programming by chthon · · Score: 5, Insightful

    So if I write something in Perl it is a script ?

    When I write the same functionality in Common Lisp and run it using clisp, it is a script ?

    When I compile it with CMUCL or SBCL, then it suddenly becomes a program ?

    I hate this bloody artificial division between 'programs' and 'scripts'. They are all a way of automating things, be it for embedded applications or data processing, and I use Perl daily for data processing, from starting up external applications, gathering data, process results, store and retrieve data from a database and generate reports.

  19. Advice to the young by Just+Some+Guy · · Score: 5, Interesting
    Since I'm taking the online course in AP Computer Science next year, I have yet to figure out how one would do programming without a compiler installed.

    Just so you know, computer science has almost nothing to do with programming. You'll write some code to explore compsci concepts, sure, but no respectable college will make that the focus of your degree. I mention this because there were a lot of surprised freshmen at my school, and I'd like to help you not be one of them.

    I have experience in HTML, C, C++, and Java. I have not mastered any yet, but still working on it.

    Apprentice: "I still have so much to learn..."
    Intermediate: "I know this language inside and out!"
    Expert: "I still have so much to learn..."

    If you think you've mastered a language, you haven't. Don't let yourself forget that.

    --
    Dewey, what part of this looks like authorities should be involved?