Slashdot Mirror


Ask Slashdot: Do Kids Still Take Interest In Programming For Its Own Sake?

nirgle writes "I have been wondering lately if there are any kids interested in programming for its own sake anymore. When I was my nephew's age, computers were still fascinating: There wasn't a laptop on every table, facebook wasn't splattered on every screen, and you couldn't get any question answered in just a couple seconds with Google. When I was 10, I would have done anything for a close programming mentor instead of the 5-foot high stack of books that I had to read cover-to-cover on my own. So I was happy when my nephew started asking about learning to do what "Uncle Jay does." Does the responsibility now shift to us to kindle early fires in computer science, or is programming now just another profession for the educational system to manage?" Another reader pointed out a related post on the Invent with Python blog titled "Nobody wants to learn how to program."

49 of 276 comments (clear)

  1. Programming for programmings "own sake" by ProgrammerJulia · · Score: 5, Insightful

    Anyone rarely does anything just for its sake. There's always some ultimate goals. As a become adult, programming became means of getting money and helping with business. When I was a kid, programming enabled me to make games and sandboxes that weren't otherwise available. I did some great things too.. but I never wanted to program "just for the sake of it". I wanted the results of that programming. Even if that meant a little fun sandbox game made by me.

    It's not just computers, this is true for everything. Everyone does something for a reason. For me, programming was a way to create the games and sandboxes I dreamed of and enjoyed. I never really even finished anything, but I had my mind going around the AI and the general gameplay mechanics. Especially when I was waiting for bus or doing something other boring stuff. But, I was never really fascinated about computers or programming *per se*. I was interested at what those techniques could give me.

    So rather than trying to educate programming, computer history or other boring stuff, try to tell what fun stuff you can do, or whatever he would be interested at. Everything else will come later, and the kids will either pick it up themselves or ask, if they want to.

    1. Re:Programming for programmings "own sake" by Hogmoru · · Score: 5, Interesting

      I disagree, so instead of modding down I'll reply :-)
      I guess there are several kinds of people, those like you (I think I get your point), and those like me : *I* was really fascinated about computers and programming *per se*.
      It was not about one or a few particular goals, it is about the idea of an infinity of things that became possible, and being able to bring new kinds of solutions to almost anybody on the planet. In this regard, somehow I'm joining your point, because of course there always are ultimate goals, but they were not my own : they were other people's goals that I thrived to reach using my craft : programming.

    2. Re:Programming for programmings "own sake" by eulernet · · Score: 4, Interesting

      Everyone does something for a reason. For me, programming was a way to create the games and sandboxes I dreamed of and enjoyed.

      In psychology, the motivation can be intrinsic or extrinsic:
      http://en.wikipedia.org/wiki/Motivation#Intrinsic_and_extrinsic_motivation

      Intrinsic means that you do the things for the pleasure of doing them. In your case, creating games for your enjoyment.

      Extrinsic means that you do the things to get a reward or avoid a punishment. In your case, it's about getting money.

      If the extrinsic motivation becomes bigger than the intrinsic motivation, you don't enjoy your work anymore, and you get bored.

      Education encourages extrinsic motivation, by grading people, which basically kills enjoyment in learning when grades become more important than learning.
      The more educated you are, and the more you are dependent on extrinsic motivation, which makes people search for fame or money.
      People with strong extrinsic motivation (and who have good grades at school) tend to fail in real life, because they search for the immediate rewards.

      To avoid being bored, the only way is to do things with intrinsic motivation, and that doesn't mean not getting paid !
      If you enjoy what you do, you'll be happier, and you can get paid for it, sometimes making a lot of money, but that's not the main goal.
      But this also requires to determine if you can accept to earn a little less money in exchange of being happier...

    3. Re:Programming for programmings "own sake" by Anonymous Coward · · Score: 3, Interesting

      It saddens me how boring computing has become. When I was a kid, computers were my friends, mysterious odd creatures with their own faults, oddities and dark corners. Thus I learned to talk, dream and breathe in binary so that I could better understand and associate with them. Apparently not so today.

    4. Re:Programming for programmings "own sake" by RadioElectric · · Score: 5, Interesting

      It is much more motivating to be learning to program with a particular project in mind. I'd argue it also teaches you to program better because you can't avoid the bits of the task that you find difficult or tedious. I'm a scientist but I spend a lot of my time programming experiments, models or analysis code.

      I teach a research methods module to undergraduate life sciences students. The vast majority of these people have never programmed and never expect to. This is a bit strange when so much of being a professional scientist in my field involves programming. Recently, we changed the research assignment they have to do so that it now involves some very basic programming. Mostly GUI stuff where they build a timeline and a "flow" out of blocks, but there are a few lines of code they need to write too.

      I was expecting there to be much wailing and gnashing of teeth about the content being too difficult, and a rebellion against being made to program. In reality, nobody complained and most of the students seemed to enjoy it. Some of them got very excited about writing a program that made a computer do what they wanted it to do. They also got quite competitive about writing their programs better than their colleagues (to the point of argument, but it was still encouraging to see). These people were not nerds, and talking to them I got the impression some thought computers were just "magic". One student didn't even understand that computer programmers existed who wrote software to make computers do things.

    5. Re:Programming for programmings "own sake" by Nursie · · Score: 4, Interesting

      For me I delighted in making the machine do something, and then when I learned that programming was a thing, yes, I programmed and learned about programming for it's own sake.

      I was also fascinated by algebra as a child. Guess I'm just weird.

      I agree though - don't try to teach kids what it means to be turing complete, or how to normalise data tables, not at first. Show them something with simple cause and effect, see if you can keep their interest.

    6. Re:Programming for programmings "own sake" by SirGarlon · · Score: 2

      Education encourages extrinsic motivation

      The point of a true education is to enable one to find *intrinsic* motivation. The trouble is, most of what passes for "education" is merely training.

      --
      [Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
    7. Re:Programming for programmings "own sake" by Runaway1956 · · Score: 2

      Very interesting. Soooo - what would a shrink have to say about a guy who has changed careers a half dozen times? I don't mean just changed jobs, but changed careers. I worked at one type of work because I enjoyed it. Then, I went into the navy because I thought that I would enjoy it, and I did actually enjoy it. After 8 years, I got out, and started doing another type of work, because I found that work enjoyable.

      Had I ever actually stuck with a career, I'd probably be well off, or even wealthy today. Instead, I kept chasing after work that I could enjoy.

      Kinda sounds like a cowboy movie, huh? Poor fool can't settle down because he might miss something happening out over the horizon.

      --
      "Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
    8. Re:Programming for programmings "own sake" by Runaway1956 · · Score: 2

      "I would like to quote Buddha: "Happiness is the way"."

      Damn, I thought Bubba said that!

      --
      "Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
    9. Re:Programming for programmings "own sake" by SQLGuru · · Score: 2

      Even the demoscene had a purpose. Either it was for the "art" or the "neat hack" or "pushing the hardware". It really is about the end result, even if you don't think of it in those terms. I love to code -- anything. But I can't just sit down and write code with no purpose. But, give me a goal, and I'm all over it. The FirstPost was spot on......show someone where they can go and point them in the right direction when they are lost and they'll love programming more than just saying "here's a bunch of tools, go play".....sure, some motivated individuals will come up with their own goal, but not everyone has that end-goal in mind.

      I've long used the quote "I'm like Vanilla Ice -- Give me a problem. Yo, I'll solve it." I can code well, I just need that end goal to be motivated to code it.

    10. Re:Programming for programmings "own sake" by SQLGuru · · Score: 2

      But in the end, there was still a goal (whether yours or someone else's). It's very hard to just start writing code with no idea of where it will end up (unlike say abstract art where just putting brush to canvas begins a process that wanders where it wants).

      The parent post is right in that you can show someone an end-point and help them get there. The more interested they are in the end goal, the more motivated they will be to learn what they need to get there. Most classes use contrived end goals (usually because the contrived project specifically needs a technique that is being illustrated), but if you work with an individual (say a nephew), you can tailor the end goals to them specifically and increase their interest in learning.

    11. Re:Programming for programmings "own sake" by WankersRevenge · · Score: 3, Informative

      Not sure if you are joking (I'm guessing you are), but pro tip - only mod down items that contribute nothing to a discussion like trolls or flamebait. I've been using the site for over a decade and I've probably modded down five or six people over that course.

      Mod up the arguments that speak for you and contribute something. If someone says something that you dislike, look for a counter argument and mod that up.

      Lately, I've been seeing a lot of well thought comments modded down (check any smartphone discussion) for disagreeing with the groupthink. This is like group censorship which is never a good thing for any community.

    12. Re:Programming for programmings "own sake" by sootman · · Score: 2

      I figure that, for any field, 1% of people are just into it for the sake of doing it, 9% are willing to learn it to achieve a result and/or are naturally talented, and 90% just don't care. I'm willing to bet that the author isn't that into cooking or the mechanical condition of his car or music or politics. And every six months, someone in this 1% posts to Slashdot because they're worried that not enough young kids are into programming or engineering or whatever.

      Take food, for example. Some people are really into it, and love learning about and working with all the subtle interactions that happen when you mix different ingredients--"optimizing" the experience, in programmer parlance. A few more care enough about food to put some effort into what they cook because they want to have a meal that's healthy and/or delicious. And most don't care--they're happy enough to eat whatever fills the void and tastes decent.

      As a kid, I learned some programming and had something of a knack for it, but I just didn't care enough to pursue it. Later in life, the Web came along, and all of a sudden there were a lot of (to me) interesting things that could be done with computers so I got into it. I'm not interested in creating an algorithm to find square roots faster but I have written my own little things to pull info from Amazon and IMDB for my book and movie collections.

      It's good that everyone has different skills and desires because most programmers, as smart as they think they are, a only so-so writers and horrible designers. :-)

      --
      Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
    13. Re:Programming for programmings "own sake" by eulernet · · Score: 2

      You also fail to see other forms of intrinsic motivation that drive the really successful people.

      I don't think so. I just hope we have the same definition of "success".
      "Success" means that you have "failure", and thus I'm not sure we have the same definition.

      Work ethic is, I'd say, an intrinsic form of motivation that can be learned or ingrained. If you think otherwise go talk to some immigrants from Asian or Easter Europe. They can't not work, it's in their very blood and nothing short of death will make them stop (and in some cases they try to make sure even that isn't a barrier via instructions to their kids).

      Wow, the educational system in Asia is definitely entirely based upon extrinsinc motivation.
      The goal is always to have the best grades in school. Competition may be useful, but not when you are young. It just spoils all your life.

      You should read what is Maslow's pyramid. Maslow explained that once your basic needs were covered, you tend to search for self-fullfilment needs.
      In poor countries, basic needs are not covered, so people just focus on survival.

      On an individual level, people over 40 encounter their mid-life crisis.
      Those who were the most dedicated on extrinsic motivators start to search intrinsic motivators.
      Some of them try to have sex whenever possible, other tend to have an happy family because they failed one before.
      I guess you are below 40.

      That last one is by the way apparently genetic and correlated well with long term success. If you don't understand it then, well, sorry to hear that.

      You just proved my point !
      I don't believe on genetics, but on parental education: perhaps these students have parents that are less focused on results and more on the joy of learning.
      Personally, my parents were completely focused on me having good grades, and it put me tremendous pressure.

      BTW, stop speaking about success !

      What is success ? Frankly, I'm over 40, and I still don't know what is success.
      Do you think that getting rich means success ?
      Do you think that having 3 wives means success ?
      I'm pretty sure all these external signs are just bragging...

    14. Re:Programming for programmings "own sake" by eulernet · · Score: 3, Interesting

      Soooo - what would a shrink have to say about a guy who has changed careers a half dozen times?

      Wow ! You have a very rich life ! I'm really jealous. You should be very open-minded. It took me a lot of time to accept myself and the others, I'm sure it's easy for you.

      Personally, I have been a game programmer during 18 years, and did almost all companies at the time.
      I lost interest in game programming, and I accepted a job of developer in a startup, just for extrinsic reasons (earning money for my wife).
      Recently, I evolved incredibly, thanks to a work on myself since 15 years. I know myself pretty well now, but I also discovered that I have no real limit, since all my limits were self-imposed: I can probably become a CEO or develop an innovative product, or become wealthy.
      But what interests me after all these years of working behing computers is humans. I have to admit that I never had a lot of interaction with people, and now, I love that.

    15. Re:Programming for programmings "own sake" by mcgrew · · Score: 3, Interesting

      I don't remember a single thing that I enjoyed learning at school.

      If you're talking about pre-college public education, yes. A teacher can take the most interesting subject matter in the world and make it boring as hell. I never enjoyed public school at all. College was way different, my instructors could take "mundane" things and make them fascinating. I really enjoyed college, and plan on taking classes again when I retire in a couple of years. I was grateful that my employer occasionally had me take classes, too. I love learning.

      Also, grading is just spoiling all joy, because it's in general completely arbitrary.

      Grades let you know how well you have absorbed the information. It's simply feedback.

      The only thing that grades show is how good the teacher is !

      Well, if you get poor grades you didn't learn, and if you were trying to learn and didn't then yes, the teacher failed.

    16. Re:Programming for programmings "own sake" by sjames · · Score: 2

      Back in the '70s, some kids learned BASIC (or very occasionally Fortran) for no reason other than to make a machine do something. Anything. Not a particular thing, just *ANYTHING*.

      Only after the novelty of 10 PRINT "Hello"; GOTO 10 wore off did they turn to getting it to do more specific things. Even then, the specific things weren't as much the point as getting the computer to do it.

      That is, write blackjack program. Play once or twice, on to the next program. The game wasn't the objective, writing a program to make the computer do something was the goal. Just because we could.

      YOU clearly weren't one of those kids, but they existed.

  2. Doing what Uncle Jay does... by DontScotty · · Score: 4, Funny

    Doing what Uncle Jay does... Yeah - tried that. My parole officer is still upset.... However the Catholic Church has contacted me back on that job offer....

  3. People who are naturally interested in programming by Daniel+Dvorkin · · Score: 4, Insightful

    ... are a tiny minority. Always have been, always will be. The submitter seems to think the average 10-year-old should be interested in programming because he was at that age. Well, good for him, and I guarantee there are still 10-year-olds interested in it, but they're going to be awfully thin on the ground -- and this was just true back then as it is now.

    --
    The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
  4. I think you just need two things by goldcd · · Score: 5, Insightful

    The ability - which generally just takes a PC, a book and some time.
    The desire. You've got to want to build something. You then get to add stuff to it. You then realize you don't know how to add something (this is where you go to the index of the book you abandoned days before, realize it's not in there, rush online, find the solution, realize you've done something else in a stupid way, decide you might want to fix that etc etc). Basically the hump is getting hello world up on the screen and then creating the very first bit of your 'thing'

    I don't even think it has to be programming per se. Quite fun playing with APIs on sites that you're familiar with, with something friendly like PHP.
    I wanted to look up the prices of my old DVDs I wanted to sell. Pain in the arse on Amazon... oh, hold on they have an API.
    Oh, then how about using a CSV to load and dump results to?
    Shit, I seem to be getting results back from the wrong bits of amazon, lets add some array sorting.
    Would be nice to store lookups I've made - MySQL
    Oooh, how about other sites... they don't have an API *googles*... "Oooh Curl" etc.

    Basically, if you're interested in something and have time, it will all follow. You can later learn how to do it properly later, but it tends to flow. Nobody wants to sit down and read a chapter on exception handling - but once your program is mysteriously failing, you suddenly find you've become quite fascinated with the intricacies of exceptions. You'll just bolt them on until the problem is fixed, but on your next project you'll have that pain in your mind from the start, and may find yourself now dutifully adding them.

    I'm meandering all over the place here now - I think you just need to ask your nephew what he wants to build, make sure it's realistic (or choose a functional subsection to start with). Also nice if it's something that could go online, be run on a smartphone or similar - once you've built this thing, you want to show it off.

    1. Re:I think you just need two things by kale77in · · Score: 4, Insightful

      I would say mod parent up... But remembered that *I* have mod points. MAHAHAHAHHHH!!!!

      Seriously, you just say: "You know that ANYONE can do that, yeah?" when they like something a computer does.

      Myself, I took the 1986 Scientific American article with the fractals on the cover and coded up the algorithm on little PC with 64K or RAM, and never looked back. I've used to assume that the question for a ten year old would be "Would you like to write your own game?" ... But actually, it's "What do computers do that is cool?" and the realization that literally _anyone_ can do that. It's a level playing field. Anything you can see on a computer, you can take apart or rebuild, and then change to make it do what you want.

  5. Programming means understanding by Anonymous Coward · · Score: 4, Interesting

    Programming is a fundamental skill, almost like reading and writing. Children learn the shape of the characters in one year, but they keep learning how to read and write for many more years, because reading and writing aren't mechanical skills. Programming is a formalization of a solution, and this skill is fundamental. The most important aspect of programming is understanding the problem in detail, and that's something everybody could use. It's like writing up a complicated story without loose ends and contradictions: We're not all going to write books and screenplays, but almost everybody needs to express more complicated thoughts than "I want a cheeseburger".

  6. Be Careful What You Ask For by walkerp1 · · Score: 3, Funny

    My cousin and I both started programming when we were ten, back in the golden days of the Apple II and the TI-99/4a (for us). We got into it for different reasons. He delighted in creating varied and colorful system crashes. This behavior turned out to be indicative of a larger mental health issue. I did it because I appreciated the beauty and purity of logic. Eventually I ended up concentrating heavily on computers to the partial exclusion of natural human companionship. This too indicated issues of a different nature. Nevertheless, my hobby matured into a lucrative career. My cousin never matured. You have been warned.

    1. Re:Be Careful What You Ask For by evanism · · Score: 4, Funny

      So your cousin is a senior manager at Microsoft?

      --
      Just bought a new quantum computer, but I'm uncertain how it works.
  7. OK, still mod grandparent. by kale77in · · Score: 3, Funny

    I can't use my mod points when I've posted in the thread.

    Mod +1 Informative...

  8. Pure programming for programming sake? by SmallFurryCreature · · Score: 2, Insightful

    No. That is like asking if there are kids who want to weld for welding sake. Or fuck for fuck sake. We don't fuck for fuck sake, we fuck for the climax. Without the climax, fucking would be fucking boring.

    Most people code because they want to get something done. Those who don't work in government. Kids want to code a game, the kids that want to code a database or search algorithm tend to be watched by the FBI, from a safe distance, through a snipers scope.

    It is the same as with a spoken language. Nobody wants to learn French for the sake of the language, they want to impress chicks. Japanese is only studied by people with a fantasy of picking up school girls, desu. Latin for those who wished to be picked up by Catholic priests.

    The easiest way to keep kids interested is to make sure things beep and whistle and spin. It does't matter that much if it is text graphics, direct 3d or leds on a Arduino board, or a programming robot game. What matters is that the concepts have clear examples with easy to understand results.

    It is the reason PHP is so popular, its examples are extremely clear and light on the jargon. It is the reason Lego is such a success, nobody has to spend time learning the building blocks of Lego, they are clear... then you can spend all your energy on creating.

    Kids haven't really changed but nerdy pursuits have always been the domain of the select few... the few selected by girls not to be dated.

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

    1. Re:Pure programming for programming sake? by RadioElectric · · Score: 5, Funny

      We don't fuck for fuck sake, we fuck for the climax. Without the climax, fucking would be fucking boring.

      This is amusing because the Slashdot sterotype totally applies (a virgin who is very opinionated regarding things he knows nothing about).

    2. Re:Pure programming for programming sake? by antifoidulus · · Score: 2

      I pity you, you really do live a sad, pointless existence if you think thats true. A lot of people enjoy learning things for the pleasure they get in learning them. Do you really think anyone learns ancient Greek, or attempts to recreate the large number of dead languages because they want to get laid? If so, they are doing it wrong.

      It's views like yours that have made university education into the trade school farce it is today, learning something solely for your own edification is one of the rare unique pleasures of being human, I suggest you try it sometime.

    3. Re:Pure programming for programming sake? by HopefulIntern · · Score: 4, Insightful

      I disagree, I think it is entirely possible to want to program for the sake of it. You need a goal, something you are making, but the motivation for doing it doesn't just need to be "I want that thing, so I'm gonna code it together!". It could simply be "I like programming, so I'm gonna build my own thing!"
      It's the same reason you had Legos as a kid. Did you make functional things out of Lego, that improved your quality of life? Or did you just like building things?

  9. Chasing Paychecks by SkydiverFL · · Score: 5, Insightful

    After 30 years of professional development, I feel that many developers SUCK! They wear some "architect" or "senior developer" badge but struggle through the most basic concepts. I believe the reason is that MANY coders are simply chasing paychecks or have been pushed into the field. They lack the PASSION that I remember when I first got into it. Everyone was learning to program because they loved these cook PC things and WANTED to do something with them AFTER they soldered everything together. Most "geeks" share that same type of passion. They gravitate to the next cool innovation and, in the process, become great at what they love. However, today, the industry is flooded with bodies that are simply working the cliche' 9-5 and drooling over a six-figure paycheck.

    1. Re:Chasing Paychecks by Bigbutt · · Score: 4, Insightful

      Shoot, I didn't realize I wasn't logged in so here it is again, properly attributed :)

      That why I'm a SysAdmin instead of a programmer. As as sysadmin, I can write programs (scripts) that do what I want vs working in an environment where folks tell me what to do. I started out learning to program back on the Sinclair (writing programs that assist with my gaming) then got jobs as a programmer. I found that being told what to do made programming boring and tedious (and a little frustrating). The nice thing about being a sysadmin is a good portion of the time is spent looking for problems (at least for me as I'm very proactive). So when I find something, I script up a solution and push it out to all servers to see if something else has the same problem. It gives me a creative outlet and I look good because I found all the servers with failing cache batteries that are only reported in the logs. The number of reactive problems drops significantly and we all look good for staying on top of things.

      A couple of years ago when I started here, I converted an excel spreadsheet of our equipment list into a php front ended mysql backended database. From there, as I wanted to add new things, I'd research how to do what I wanted to do and implement it. As I improved in writing php, javascript, and mysql code, I'd keep adding features that scratch my itch as well as others to the point that the inventory program is being used by quite a lot of people and I spend a portion of my time either working on enhancements (recently added a network map) and even adding modules that provide non-inventory related enhancements. Right now I think I found the right code to create multi-layer PNG images so I can use javascript to hide layers for the network map. And heck, I'm about ready to step up and get a php or mysql cert along with my CCNP and Solaris certs and a coveted 3Wizard cert I earned way back in the day :)

      It's loads of fun.

      [John]

      --
      Shit better not happen!
  10. Re:People who are naturally interested in programm by migla · · Score: 2

    True.

    And the submitter should beware not to drown any spark the nephew thinks he may have. Therefore, it is very important to try to understand where the kid is coming from and where he wants to go.

    Maybe programming can be it, but it might be some other, more general interest in computers, if the kid isn't quote clear on what programming is.

    Explore with your nephw. If it turns out programming was not exactly what the kid will find interesting, at least you might be able to teach him to be a power user. Or if the nephew decides on pretty much any other interest, you could probably still help him get the most out of a computer to pursue whatever it is he might find a passion for.

    Nowadays a computer (and perhaps even some custom app you design together) could be useful even if the kid wants to be a ballet-anthropologist, drag queen or beekeper or whatever.

    --
    Some of my favourite people are from th US; Vonnegut, Chomsky, Bill Hicks.
  11. Back in the 80s you could compete... by Chuffpole · · Score: 5, Interesting

    When I was an 80s teen with my ZX Spectrum, I could write games that weren't too far behind the earliest commercial games. (back then it was even a novelty to have control over what appeared on your old telly screen!)

    I wrote games that gave me as much fun as the coin-op machines back then, when things were primitive.

    Now though, how can any kid write a fluid 3D FPS shoot-up? I take my hat off to any who can! Where's the incentive? Where's the novelty?

    Little 2D games on the kids' Android phones, maybe. Perhaps.

  12. Kids have little context by Richard_at_work · · Score: 4, Informative

    We had a 14 year old work experience lad, who was the nephew of one of the owners of the business, and he wanted to become an app developer - when we chatted about this further, it turned out that his claimed "programming experience" amounted to using the drag-and-drop style of online website wizards, and using apps from the iTunes store.

    He had a goal in mind, and he was raring to go, so we decided to embrace this enthusiasm and run with it - so we decided that the best thing for him to do during the two weeks with us was to design and build a basic app - he was thrilled by this. We gave him a task for two hours on the first morning, which was to research the apps out there and decide what was best to build (building a copy of something out there is easier for this sort of thing than coming up with the concept itself).

    He came back with "I want to build World of Warcraft". Crap.

    We eventually scaled him back to building a HTML5 version of tic-tac-toe, as the logic is simple, the graphics are simple, and the HTML experience travels well. He was given a lot of personal tutorials from myself and the other developers for the first two days, basically a beginners guide to HTML, and then told to see if he could come up with a basic page with a table in which would hold the game board - no styling, no JavaScript, just a basic page with a table.

    Despite help from us developers being on tap (we encouraged questions, we discouraged "do it for me" - examples are fine so long as work and understanding was needed to translate the code into what he was doing, so a simple copy and paste wouldn't solve the set issue), by the end of the first day he hadn't grasped the concept of nested elements to build the table. What he came up with even IE barfed over.

    The poor kid had no grasp for it at all. I hope it was a failure on our part rather than inability, but really it was inability. He never realised software development was so difficult, no realisation as to what was actually involved in the process or the building itself. He saw pretty things and thought they were simple to produce.

    So, anyone who gets the chance to introduce a child to software development, please take it nice and slow and be prepared for lots of failures, lots of frustration and lots of patience.

    By the end of the two weeks he was proclaiming he wanted to be a farmer. And now, I hear, he wants to hire out construction equipment (after he was given a day of work experience on a farm).

    1. Re:Kids have little context by thegarbz · · Score: 3, Interesting

      He never realised software development was so difficult, no realisation as to what was actually involved in the process or the building itself.

      This can be said for any technical profession when you are 14. Electrical engineering? That's all about putting a few circuits together and the robot just works right? Then in first year of their EE degree they get introduced to concepts like imaginary numbers and it just gets harder from there.

      I remember tutoring one subject at uni and a pissed EE student came to me to complain about their assignment. They were asked to simulate an EM wave propagation through a semiconductor in Matlab, quite simple maths but highly iterative so a perfect task to code up on a computer. The student said "I'm an electrical engineer not a computer programmer!" triumphantly. I said, "Ok, then do the assignment using this," and dropped a pencil and calculator on his desk.

      His pre-conception on what it is to do engineering jaded his view of what his was doing. None of the people in the class were programmers, but they were simply using a tool they had to solve an electrical engineering problem, and that was writing a bit of code into a computer to solve a math problem that would otherwise take waaaay too long.

  13. Graphical programming by jouassou · · Score: 2

    Rather than doing the classic "hello world" in BASIC, kids today start out by e.g. modding games.

    Personally, I remember having fun by developing platformers using GameMaker back when it was free. This sort of graphical programming got me used to thinking in terms of loops, conditionals and variables -- as well as offering a high-level scripting language that let you access extra features.

  14. I can't remember "for its own sake" by Rogerborg · · Score: 2

    When I were a lad, working down the coal mines in the snow 30 hours a day, I learned programming in order to achieve a goal - make computers do fun stuff.

    If you want to get a kid interested in programming, give them a simple game compiled from source, ask them what they'd like to change, and let the voyage of discovery begin.

    --
    If you were blocking sigs, you wouldn't have to read this.
  15. It's not so bad by wienerschnizzel · · Score: 2

    My experience is that the kids don't want to do the same kind of programming we did in the 80's and early 90's. At that time it was mind-blowing for me to just have the computer do a simple animation of a couple of lines on the screen. No kid is interested in that anymore.

    Later in the late 90's and early 2000's it was all about the internet. Kids wanted to write html and then later PHP etc. They still do it to an extent now but more often then not kids now-days just want to set up and customize packages and templates with very little programming effort (like Drupal).

    There is one thing though that kids like to do in the 80's that has survived and flourished to this day - hardware/robotics. Kids love to play around with Arduino, especially with sensors, actuators, LED matrices etc. With all the content available on the internet, including how-to videos this is easier than ever and I think more people do these kind of things than before.

  16. Not for programming's sake by HornyBastard · · Score: 4, Interesting

    I started programming when I was about 10 years old for one very simple reason. I enjoy making things.
    I recently built my own house for that same reason. I also made most of the furniture in it as well.
    If, at the end of the day, I can say "I made that", then I am happy.

    --
    Death has been proven to be 99% fatal in lab rats.
  17. Shortest possible way to produce something by Kjella · · Score: 4, Interesting

    Well, when I started on my Commodore 64 you started at the command prompt read to write code, so yeah I'd say it takes at least a little more prodding than before to get into programming. Also you started with just two lines:

    10 PRINT "HELLO WORLD"
    20 GOTO 10

    Okay, so it doesn't produce a very impressive result but as "bang for the buck" it's pretty good. If the reaction is "All that to produce so little?!" you've lost. Hell, you might have lost anyway if they point you to a $100 million AAA game and say that is cool, I want to make something like that. But since you can't ask for time to be turned back to simple sprite based graphics you can't change that, but at least not start them off down the long road.

    Personally today I think I'd actually start them off with a game toolkit where you can script events, like Neverwinter Nights or something like that. First of all because it's a game and looks good and produces something cool, second of all because you can start with a level that already exists. Have them modify it and they'll start thinking about objects, attributes, state, conditions, boolean logic (assuming you want to start them down the OOP path) without banging their head on the really hard issues. Plus you get to make your own adventure, which is creative and fun while learning.

    --
    Live today, because you never know what tomorrow brings
  18. No they don't by prefec2 · · Score: 4, Insightful

    A lot changed since the 1970s. In the 1970s computer were science fiction and science fiction was en vogue. We tried to build our own computers based on transistors and later on microchips. In the 1980s things already improved so much, that a lot of people could by a home computer like ZX spectrum, Commodore C64 or Amstrad CPC 464. These machines provided a simple BASIC interface. They were designed for start and play. Where play meant programming. And you could dig into those machines and learn to peek and poke around in the hardware. Then you learned assembler etc. In the 1990s this moved to PCs. While old PCs still allowed you to access the hardware and you had to work with the console. Upcoming GUIs made the direct experience of the machine much more complicated. You couldn't re-program Pong in a week, while learning BASIC.

    So on one side, computers get more complex and shield people from the machine and the machine feeling, and on the other side the sci-fi feeling is no longer so intriguing today than in those days. While in the 1970s, if you understood computers you could build your own moon lander software. At least a facsimile. And a lot of the people did. And the program would only display longitude, latitude and height above ground, as well as, speed and fuel. But all without graphic (which had to be imagined). Today moon landing is lame. Especially compared to those days. the whole society is no longer in technology.

    In short: The whole setting is different. And the nerds of today go into gaming and become dorks.

  19. What about carpentry? by maple_shaft · · Score: 4, Interesting

    This entire submission misunderstands the real draw of programming. The desire to learn programming is out of an intrinsic desire in some people to create or build artifacts from resources we have obtained. Some of us are builder/creator archetypes and we are drawn to the process of creation.

    If the argument held up, then the quality of carpentry would have degraded considerably with the advent of power tools. Nobody needs to hand-spin a spade to drill a large hole anymore, and while I am handy with a chisel, I can still do things faster and with better quality by using a router for certain situations. The power-tools have allowed us to put arguably better quality wood products in a MUCH faster timeframe, and all with the same sense of satisfaction that you get from a beautiful new table, cabinet or chair.

    I do think however that in todays age it is a lot harder to stay focused amidst constant distractions, and it is a lot easier to find information than ever before, making us all slightly lazy from time to time. We are more prone to get frustrated and do something else, so the extreme convenience doesn't come without its faults for sure.

  20. Re:NO! by ghostdoc · · Score: 2

    Assembly might actually teach them something useful, while BASIC and COBOL serve to do as much damage to their understanding or real programming as possible.

    Please don't get into this purist crap.
    You really expect a ten-year-old to dive right into Smalltalk or LISP so they will have as pure an understanding of coding as possible?

    BASIC and COBOL both had their place and their time, and they did their jobs well. If BASIC hadn't been around I doubt the GenX coders would have got into it so young or so keenly, since most of our generation learned how to code on home computers in BASIC (and then migrated to Assembler when BASIC wasn't quick enough). There's a reason that there's still millions of lines of mission-critical COBOL code quietly running our infrastructure too.

    If I had to pick a language to teach someone new in now, it'd be a hard call. I'd love to say C++ and get them into game coding but the amount of work to get from a standing start to something that runs and you can go 'I made that' at is pretty huge, and C++ doesn't cope with newbie errors very well.
    Java and C# would be OK, but massive...there's a *lot* of ground to cover in each of them, and while you could start small it'd be hard to stop them zooming off into irrelevant tangents and exploring half-dead libraries.

    Python's good, and pretty well-structured and easy to follow, I'd probably go with that as a modern-day BASIC. So (and I know I'm feeding the troll here) would Python do any 'damage to their understanding of real programming'?

    --
    Business/App ideas are like arseholes: everyone's got one, they're mostly shit, but very rarely they contain a diamond
  21. Absolutely out of control by evanism · · Score: 3, Interesting

    Absolutely they do.

    My son is in year 8 at Melrose high in Canberra Australia. They are doing two courses specific to this: games programming and general programming. 3d modeling is also a choice. He is doing all of them (chip off the old block!)

    Their assignment, for 14 year olds is quite hard. It raised my eyebrows when I read it. I'm a multi time CTO with a deep history is c, c++, java, ror, PHP and perl. They were asked as a 15% assignment over two weeks to write a number of very complex programs displaying skill in some quite complex areas in JavaScript, vb, actionscript and powershell. This is quite an amazing thing! These little fellas are in year 8!

    The class is voluntary, but wow, is is hard. The kids absolutely love it. They apparently are hyper involved and super enthusiastic. While the teacher may be a messiah (I don't know her) but its obvious the kids are revved up beyond control.

    --
    Just bought a new quantum computer, but I'm uncertain how it works.
  22. Re:People who are naturally interested in programm by icebraining · · Score: 4, Funny

    They're ORs, not XORs!

  23. Yesterday's expertise is today's literacy. by Remus+Shepherd · · Score: 2

    I can't say why kids aren't learning this stuff anymore, but they're not.

    My girlfriend's sons are at the ages when they're looking for their first jobs -- they're 14, 16, and 18. I asked her what programming languages they know, and she said none. They've never programmed, at all. Not even a high school course in it.

    By the time I was 14 I knew Atari BASIC, LOGO, and a little Pascal. I had already authored games and applications on my Atari 400. By the time I was 18 I was designing a relational database in FORTRAN using edlin for my father's insurance business. (I told my girlfriend this and she said -- and I quote -- "But you're a genius, hon." That's why I love her. :) But her kids are just as bright as I am, IMHO.)

    On the other hand, kids today know applications. All of her kids have experience with Word, Excel, and Photoshop. Maybe that's all they need.

    The signs are that programming expertise is going to become a far rarer skill in the next generation, but general computer literacy will be widespread. I think maybe that's a step forward. But I worry that it's not a good pool of talent to help us take another step forward in the generation after theirs.

    --
    Genocide Man -- Life is funny. Death is funnier. Mass murder can be hilarious.
  24. Re:People who are naturally interested in programm by Stormthirst · · Score: 5, Interesting

    It's funny you should mention boredom and building blocks.

    When I was a kid, LEGO was all the rage in the UK (and probably many other places too). They were just simple building blocks. They had all the simplicity of wooden blocks, but the advantage that if a clutzy kid like me jogged the surface they were on they didn't all fall down. As they go more complex, they started including manuals to show you how to build different things with the pieces they'd included. (Mechano did the same thing)

    Then I noticed a shift in philosophy and the manual had fewer and fewer designs - until they only had one design in the manual. This may have changed since, but I'd be surprised. Since my son was born, I've noticed how toys these days seem to be single serving. They only have one prescribed function. I'm sure that's not how it used to be when I was 5! I've also noticed how my soon to be 1 year old son is more interested in the boxes toys come in, than the toys themselves.

    I still remember my Mum coming back from a night class where someone had demonstrated how to program the BBC Acorn Electron in BASIC (at the time a new machine - there I go showing my age!) to work out the average of two numbers, and she complained that it took longer to program the computer than to do the maths on a piece of paper. She clearly didn't understand the power this machine *could* have. My Dad on the other hand did. Not for working out the averages of numbers, but to do other things.

    My question for the audience is this; Are kids these days bored because they only have single use toys? The toys they have only do one thing. This leads back to the original article, because when I learnt to program (on that Acorn Electron no less), I learnt because I was fascinated by how I could get the computer to do stuff, other then the prescribed functions that came with the machine.

  25. Re:People who are naturally interested in programm by Deus.1.01 · · Score: 2

    Now, I'm probably being hypocritical(or something) for saying this, because...while i grew up with PC's in the early ninties (my father co-founded the first computing store in the city), I never did do anything productive with it.

    I managed to navigate dos and get into A-colon.
    And start up windows to play SKIFREE!

    Now, back then I'm unsure on how i could ever get into trying to play around with the computer creatively.(to dumb to know what Qbasic was or to even find it)
    I see the value and richness of the early day computers, but its not from personal experience.

    So my idea is...kids, aren't bored, they have games and content delivered to them, they have so much easy access to simulations then they know what to do with it.
    And the hows are buried beneath accessibility paradigms.

    But back then, a kid with a trash80, C64 and all the rest, had what was bough in stores or what they got ahold of in BBS'es or copy parties.
    That, with the C64 BASIC OS, which shoved the programming environment in your face, really was the BEST circumstances to stimulate a kids curiosity.

    The PC's of yore had its programming ability advertised, today they are basically appliances.
    And for me who couldn't even get into Qbasic, WASN'T even familiar with the concept of programming, Imagine how it is today.

    You need to actively seek out a compiler and possibly an IDE.

    That little bar to even run a simple build can block someone before they discover the joy of making a loop that iterates the sid-chip

    --
    My -1 Troll is actually a +1 funny. And my -1 flame is actually a +1 insightfull.
  26. *Raises Hand* by ioncann0ns · · Score: 2

    I'm 19 years old, and although I've only been coding for 2-3 years, I love it immensely. I've always loved computers, but never really took the time to get to know the computer. My junior year of high-school, I took an intro to programming course, just to see what it was like. My parents are computer-illiterate,and I didn't haveany real tech-mentors. Nonetheless, I excelled in the course, discovered my passion, and have been attacking a programming career ever since. I can't explain it, but I love code. I might be an exception rather than the rule, but there's still people out there.