• QJo (unregistered) in reply to newfweiler
    newfweiler:
    ubersoldat:
    TRWTF is teaching C to a middle-school student.

    Yeah, like letting a middle-school student learn to play the pipe organ or take the part of Hamlet in a school play or learn ancient Greek.

    I think you are assuming that this particular middle-school student has never had any exposure to programming and computer science before learning C. I doubt that this is the case. Some parents and schools do allow children who take interest in a field to excel in it at an early age.

    Ancient Greek used to be made available to students considerably younger than nowadays; I believe that in some of the more traditional preparatory schools in Britain it still is. At the school I attended, Greek was one of the options at age 14 (I took Russian), while Latin was embarked upon seriously at age 11.

    The only problem with teaching a small child how to play a reed-and-pipe organ is that his/her feet will have trouble reaching the pedals, but apart from that, musical keyboard skills can be picked up before a child has learned to talk.

    As for playing Hamlet, I also believe there are establishments where Shakespeare plays are studied by children still in single-figure ages. We were definitely getting him by 12, and (again at my school) a friend of mine played Lady Macbeth at age 12

    The trouble with children nowadays is none of them get any education to stretch their capabilities worth a damn. Serious knowledge and learning is blocked from them by the misguided patronising attitude that they won't appreciate it. This is probably why childhood in certain nations of the Western world stretches into a person's 20's. It was less than a century ago that children were treated as adults by the time they were 14.

  • trtrwtf (unregistered) in reply to eViLegion
    eViLegion:
    trtrwtf:
    There might also be a simpler assumption that learning C is a bad way to start learning to program. This is incorrect.

    C is clearly an excellent language to start them off on... separate the wheat from the chaff early, and don't lull a bunch of morons into a false sense of capability by using something like Java.

    If you can't get the basics of programming in C, you probably can't understand them in any language. If you can't teach the basics of programming in C, you probably can't teach them in any language. Don't get me wrong, Java is also a fine language to learn in, and it has its strong points and weak points for the beginner as well, but if you want to get someone from zero to sorts/heaps/graphs, then C is as good as any language I know of, and better than some. Yes, it makes you work hard to master the indirections, but this is productive work, in that you really get an understanding of the memory problems that higher-level languages quite correctly hide from you.

  • katastrofa (unregistered) in reply to Xarthaneon the Unclear
    Xarthaneon the Unclear:
    2) The teacher nicely asked a middle school student not to write a program to take over the school. This means, that the minute he walked away, that was her first priority in life. She may or may not succeed, but still.

    And that's how you motivate kids to learn programming.

  • katastrofa (unregistered) in reply to QJo
    QJo:
    The only problem with teaching a small child how to play a reed-and-pipe organ is that his/her feet will have trouble reaching the pedals, but apart from that, musical keyboard skills can be picked up before a child has learned to talk.

    Children can pick up many things if you don't convince them first that they can't.

  • (cs)

    TRWTF was not mentioning that the Middle School Student is in fact the President's Daughter.

  • John M (unregistered)

    TRWTF is that my school didn't have anything like this :(

  • Someone (unregistered) in reply to trtrwtf

    BTW, I think GCC warns about the line continuation from \ in comments. I've hit this exact situation a few times in somewhat similar circumstances (comments including ASCII art diagrams of finite state machines), and my memory is that the first couple times the compiler pointed me right to the problem.

    trtrwtf:
    Other languages are also good ways to start learning to program, but C is a fine first language. The hard part is learning to program, not learning one syntax or another.
    Interestingly, that exact reason is why I think that C isn't a very good language for most people. Why add a bunch of distractions (a poor standard library, lots of abbreviations, memory safety) when the task is already difficult? I think staging off of another language like Python is the way to go.

    I'm not saying you can't start with C, or even that there aren't people for which C is the right choice -- I'm just saying that if someone comes and says "hey, I want to learn to program", C isn't what you should suggest in the absence of other information.

  • (cs) in reply to trtrwtf
    trtrwtf:
    newfweiler:
    ubersoldat:
    TRWTF is teaching C to a middle-school student.

    Yeah, like letting a middle-school student learn to play the pipe organ or take the part of Hamlet in a school play or learn ancient Greek.

    I think you are assuming that this particular middle-school student has never had any exposure to programming and computer science before learning C. I doubt that this is the case. Some parents and schools do allow children who take interest in a field to excel in it at an early age.

    There might also be a simpler assumption that learning C is a bad way to start learning to program. This is incorrect.

    Other languages are also good ways to start learning to program, but C is a fine first language. The hard part is learning to program, not learning one syntax or another. Any general-purpose language that's actually used to write real programs is probably a good language to start learning with. Mostly it's down to the teacher and the student, not the language.

    I don't think you can really teach a middle-scholar how to programming level you're referring to, since they mostly don't know many of the things they'll learn in a more advanced education (complex math, statistics, data structures, etc), so you're basically down to teaching them what it feels like to have a computer do what you want it to do.

    For this I think it's better to provide them with the fastest route without them having to learn all the complexities of memory handling, strict syntax and build cycles. You want them to see what they can achieve without losing their attention. This is why I find Python or JavaScript better suited to learning the basics of programming. You don't need to know what a compiler is to start having fun. Specially Javascript is cool to learn with because all you need is browser.

    Hell, I can see many web developers today haven't built any code in their lifetime.

  • Minos (unregistered)

    At first glance, I thought the code was some variant of Befunge.

  • Someone (unregistered) in reply to eViLegion
    eViLegion:
    C is clearly an excellent language to start them off on... separate the wheat from the chaff early, and don't lull a bunch of morons into a false sense of capability by using something like Java.
    Since when did the purpose of a class become "separating the wheat from the chaff" instead of, you know, teaching? Whatever or not you agree with my previous post saying I don't think C is a good choice for an intro class, the choice of language should be guided by what will get the students to learn best. Picking the hardest language to can separate the students is the opposite of what teachers should be doing.
    ubersoldat:
    I don't think you can really teach a middle-scholar how to programming level you're referring to, since they mostly don't know many of the things they'll learn in a more advanced education (complex math, statistics, data structures, etc), so you're basically down to teaching them what it feels like to have a computer do what you want it to do.
    There is a lot of programming that you can do without having had move advanced math. And I'm not even sure what you mean by putting data structures in that list, because that's not something that you'll find outside of CS/programming courses, and I'm not convinced there's too much in the way of prerequisites for learning it.
  • trtrwtf (unregistered) in reply to Someone

    [quote user="Someone"] Whatever or not you agree with my previous post saying I don't think C is a good choice for an intro class, the choice of language should be guided by what will get the students to learn best. Picking the hardest language to can separate the students is the opposite of what teachers should be doing.

    [quote]

    I think you need your sarcasm detector recalibrated. ubersoldat was making exactly this point.

    My position is that C is in fact a good language to teach with, not because it somehow weeds out the weak ones, but because it can teach you a lot about programming that you'll otherwise not get without making a special effort - that effort is one most programmers won't make, since they will (quite correctly) prioritize moving forward rather than backfilling the basics. The time to get the basics is at the beginning, and C will do that for you. This is a very good reason to teach people the basics in C.

    Now, many programmers do just fine without really understanding memory, but if you can get that visceral understanding of the stack and the heap into a kid's head from the start, you've made them a better programmer, and that's a good thing.

  • (cs) in reply to kotaKat
    kotaKat:
    I was in an actual robotics class with VEX robots (awesome, but getting pricey). Teacher forced the class to use LabVIEW. I fought and used RobotC for Vex.

    I was the only one to actually complete assignments (including his 'challenge course' that nobody got as far as I would) and he would bitch because I wasn't using LabVIEW.

    ... hey, it's easier to subroutine everything in C!

    There's TWWTF (worse...) : using LabView to do anything even vaguely complicated. It's a shining example of non-commentable, unreadable, undebuggable code.

  • (cs) in reply to QJo
    QJo:
    newfweiler:
    ubersoldat:
    TRWTF is teaching C to a middle-school student.

    Yeah, like letting a middle-school student learn to play the pipe organ or take the part of Hamlet in a school play or learn ancient Greek.

    I think you are assuming that this particular middle-school student has never had any exposure to programming and computer science before learning C. I doubt that this is the case. Some parents and schools do allow children who take interest in a field to excel in it at an early age.

    Ancient Greek used to be made available to students considerably younger than nowadays; I believe that in some of the more traditional preparatory schools in Britain it still is. At the school I attended, Greek was one of the options at age 14 (I took Russian), while Latin was embarked upon seriously at age 11.

    The only problem with teaching a small child how to play a reed-and-pipe organ is that his/her feet will have trouble reaching the pedals, but apart from that, musical keyboard skills can be picked up before a child has learned to talk.

    As for playing Hamlet, I also believe there are establishments where Shakespeare plays are studied by children still in single-figure ages. We were definitely getting him by 12, and (again at my school) a friend of mine played Lady Macbeth at age 12

    The trouble with children nowadays is none of them get any education to stretch their capabilities worth a damn. Serious knowledge and learning is blocked from them by the misguided patronising attitude that they won't appreciate it. This is probably why childhood in certain nations of the Western world stretches into a person's 20's. It was less than a century ago that children were treated as adults by the time they were 14.

    I forgot to use the sarcasm tags in my "ancient Greek" comment and not everyone picked up on it. You're right, QJo. Ancient Greek and Shakespeare were taught in grammar schools 200 years ago. Greek was optional but Latin was mandatory in many schools.

    Most of the people who are now world-class performers, scientists, athletes or anything else were highly proficient in high school or even before then. It's not a WTF to let them achieve all they can.

  • (cs) in reply to katastrofa
    katastrofa:
    QJo:
    The only problem with teaching a small child how to play a reed-and-pipe organ is that his/her feet will have trouble reaching the pedals, but apart from that, musical keyboard skills can be picked up before a child has learned to talk.

    Children can pick up many things if you don't convince them first that they can't.

    No, children WILL pick up many things if you TELL them they can't!

    Tell them "just play the games, don't look at the code." They'll have the code disassembled before the week is out.

  • (cs) in reply to QJo
    QJo:
    newfweiler:
    ubersoldat:
    TRWTF is teaching C to a middle-school student.

    Yeah, like letting a middle-school student learn to play the pipe organ or take the part of Hamlet in a school play or learn ancient Greek.

    I think you are assuming that this particular middle-school student has never had any exposure to programming and computer science before learning C. I doubt that this is the case. Some parents and schools do allow children who take interest in a field to excel in it at an early age.

    Ancient Greek used to be made available to students considerably younger than nowadays; I believe that in some of the more traditional preparatory schools in Britain it still is. At the school I attended, Greek was one of the options at age 14 (I took Russian), while Latin was embarked upon seriously at age 11.

    The only problem with teaching a small child how to play a reed-and-pipe organ is that his/her feet will have trouble reaching the pedals, but apart from that, musical keyboard skills can be picked up before a child has learned to talk.

    As for playing Hamlet, I also believe there are establishments where Shakespeare plays are studied by children still in single-figure ages. We were definitely getting him by 12, and (again at my school) a friend of mine played Lady Macbeth at age 12

    The trouble with children nowadays is none of them get any education to stretch their capabilities worth a damn. Serious knowledge and learning is blocked from them by the misguided patronising attitude that they won't appreciate it. This is probably why childhood in certain nations of the Western world stretches into a person's 20's. It was less than a century ago that children were treated as adults by the time they were 14.

    QFT. Most of the so-called "problems with adolescents" can be traced to the fact that "adolescence" is an artificial state, invented by the modern Western world, in which we begin to require its victims to behave with the responsibility and maturity of adults, while granting them none of the benefits of adulthood. No wonder teens get all rebellious!

    Every geek knows that with great power comes great responsibility, but somehow we miss the obvious converse: with responsibility comes power! Separate the two (in either direction) and you end up with an unbalanced system, and things start to go wrong.

    Ancient cultures understood this. For example, have you ever been to a bar mitzvah? These days it's just a fancy birthday party, but it was originally a celebration of the time when a boy formally becomes a man (at 13 years old) and begins to be treated as one, with everything that entails. And other cultures had very similar concepts. It's only in modern, "enlightened" times that we've managed to screw up young adults so badly.

  • Someone (unregistered) in reply to trtrwtf
    trtrwtf:
    Someone:
    Whatever or not you agree with my previous post saying I don't think C is a good choice for an intro class, the choice of language should be guided by what will get the students to learn best. Picking the hardest language to can separate the students is the opposite of what teachers should be doing.

    I think you need your sarcasm detector recalibrated. ubersoldat was making exactly this point.

    Note that my last post had replies to two people: the part you quoted was a reply to eViLegion, not to ubersoldat.

    trtrwtf:
    My position is that C is in fact a good language to teach with, not because it somehow weeds out the weak ones, but because it can teach you a lot about programming that you'll otherwise not get without making a special effort - that effort is one most programmers won't make, since they will (quite correctly) prioritize moving forward rather than backfilling the basics. The time to get the basics is at the beginning, and C will do that for you. This is a very good reason to teach people the basics in C.
    I definitely understand where you're coming from and am somewhat sympathetic to that argument but I still disagree.

    I see sort of three contexts where the choice of language comes up: 1.) An individual deciding what to use to self-teach 2.) An instructor of a programming class which is largely stand-alone 3.) An instructor of a programming class which is viewed as leading into a CS/software engineering/etc. program

    In all three cases, I think there's an argument against C. :-)

    1.) In this case, pretty much by definition you have someone who is self-motivated to learn, and as a result this is the category with the freeist choice. I suspect that, to a large extent, the person will have equal success with any language, unless they choose one that for one reason or another is entirely unsuitable for what they want to do. (E.g. I wouldn't recommend Haskell. :-)) I'd still suggest something like Python to such a person unless they actively wanted to learn a lower-level language so they can get to cooler programs sooner, but I also don't think they'd be appreciably less successful in the long term if they went with C.

    2.) What are the goals of a stand-alone CS class? I would say that the primary goal is to get people to be able to write as many useful programs in as short of a time as possible. Because of what I view as "distractions" in C (e.g. poor standard library, memory management, etc.), I think that the floor for what you have to learn to be useful is a lot higher in that language. Furthermore, people taking this class with no further CS education (see (3)) are probably not going to have programming as a significant job component (and those that decide to take it up as a hobby move toward category (1)), so getting a good understanding of what's going on behind the scenes is likely to be rather less important.

    3.) I view the goals of an intro CS class that is designed for majors as being (1) start providing a foundation for future classes and (2) attract and retain students. The first, of course, is fundamentally what the class has to do, but the second goal is also quite important. The second goal aligns somewhat with the previous category, as the attraction to programming is (or at least you want it to be :-)) the "fun" of making useful and neat stuff. The first goal means that you can defer teaching C until a later course and start with something that better meats the second goal. Even curricula that aren't terribly well-designed do an OK job at this; both universities I've been to require CS majors to take a course that involves assembly programming (arguably even better than C at learning what's going on!), and I suspect would be hard to get through without taking at least a class or two that have projects in C.

    That's my philosophy anyway. Like I said, I understand where "learn C" proponents are coming from (I definitely think it's important to learn at some point), but I think the circumstances where C is close to the best choice of languages are pretty narrow.

  • Someone (unregistered) in reply to Someone

    Oh God, and I still screw up the quotes. :-( Sorry.

  • (cs) in reply to Klistel
    Klistel:
    Couldn't they just have removed the fluffy story this time? A compiler that extends a comment via a backslash seems like a funny WTF, but the story around it make me not even realize what the hell was the point of it (was it middle-school children, was it the code itself etc?).

    Can we please cut down on all the fancy story-telling when it just obfuscates the WTF?

    I only read the articles so that the comments make sense. The best content on the site definitely comes from the comments, at least a small percentage of them.

  • (cs) in reply to Mason Wheeler
    Mason Wheeler:
    QJo:
    The trouble with children nowadays is none of them get any education to stretch their capabilities worth a damn. Serious knowledge and learning is blocked from them by the misguided patronising attitude that they won't appreciate it. This is probably why childhood in certain nations of the Western world stretches into a person's 20's. It was less than a century ago that children were treated as adults by the time they were 14.

    QFT. Most of the so-called "problems with adolescents" can be traced to the fact that "adolescence" is an artificial state, invented by the modern Western world, in which we begin to require its victims to behave with the responsibility and maturity of adults, while granting them none of the benefits of adulthood. No wonder teens get all rebellious!

    Every geek knows that with great power comes great responsibility, but somehow we miss the obvious converse: with responsibility comes power! Separate the two (in either direction) and you end up with an unbalanced system, and things start to go wrong.

    Ancient cultures understood this. For example, have you ever been to a bar mitzvah? These days it's just a fancy birthday party, but it was originally a celebration of the time when a boy formally becomes a man (at 13 years old) and begins to be treated as one, with everything that entails. And other cultures had very similar concepts. It's only in modern, "enlightened" times that we've managed to screw up young adults so badly.

    There's a great article exploring these points:

    "Why Nerds are Unpopular" - http://www.paulgraham.com/nerds.html

    (Filler text to placate Akismet) QJo and Mason have effectively summarised a major theme of that article - even if they've never read it before!

  • feature this (unregistered) in reply to wrojr
    wrojr:
    The same code was posted in http://orbiter-forum.com/showthread.php?p=410945 by Artlav almost 3 months ago. He asks if someone can see his mistake. He produces add-ons for Orbiter, as you can see here: http://www.orbithangar.com/searchauth.php?search=artlav

    The real WTF is inventing a class, with young students, with a fictional edu-C compiler, instead of making fun of those funny comments and the importance of commenting evrything in code.

    This should be a featured comment

  • (cs)

    Learn a language??

    Look, when I started to learn programming, all you could get ahold of was Fortran. In some ways, it is a pretty good language to learn starting out. It is a nice procedural language, and if you go back a few years and talk about earlier versions (Fortran-66 comes to mind), it can probably be reduced to about 10 different statements (I seem to recall a book called "10 Statement Fortran"). The problem (with most languages) is that the standards people want to cloud them up with "new". It has happened with C, and Fortran, and other languages, and the result is sillyness like '' followed by new lines being continued and some compilers doing different things.

    Sticking to older implementations had a certain foundation in it, and reverts to simpler times. Most likely a lesson for us all to learn.

    Maybe this is why I listen to channel 6 on XM radio.

  • (cs) in reply to Someone
    Someone:
    eViLegion:
    C is clearly an excellent language to start them off on... separate the wheat from the chaff early, and don't lull a bunch of morons into a false sense of capability by using something like Java.
    Since when did the purpose of a class become "separating the wheat from the chaff" instead of, you know, teaching? Whatever or not you agree with my previous post saying I don't think C is a good choice for an intro class, the choice of language should be guided by what will get the students to learn best. Picking the hardest language to can separate the students is the opposite of what teachers should be doing.

    Needs more self righteous indignation.

    But seriously, whats with this modern fad of teaching programming to high-school kids. The ones that are interested in it should already know more than the teachers by this point, and the ones that don't aren't really interested and so there is a limit to what you'll be able to teach them.

  • trtrwtf (unregistered) in reply to Someone
    Someone:
    Like I said, I understand where "learn C" proponents are coming from, but I think the circumstances where C is close to the best choice of languages are pretty narrow.

    I don't say it's the best. I say it's one of many, many good choices. There's no such thing as "best" in this domain, at least until we get much more specific about our goals.

    (I definitely think it's important to learn at some point)

    Nope, can't agree with you here. It's not something you'll ever go back to. Learn it first, or let it go. I know far too many programmers who have a laundry list of things to learn, and "learn C" or "really learn C" is always on the list for the ones under, say, 40. They never do learn it, because they don't need it, so it just becomes mental overhead - a little "thing to do" that will never happen. Chuck it and move on. This is the main argument for learning C first: that's when you'll actually benefit from it. Very few programmers actually need C, what they need is the stuff C will teach them.

  • Cole (unregistered) in reply to ubersoldat
    ubersoldat:
    TRWTF is teaching C to a middle-school student.

    Don't get me wrong, I think C is one of the best things to happen to humanity, but using it as a teaching tool for kids doesn't seem appropriate to me when you have other tools/languages which might prove more educational and spark their interest instead of burying it below 6 feet of compiler errors.

    I'm sorry, I didn't realize I learned programming when I was 8 and learned C 3 years ago when I was 13. If I remember correctly, I was in middle school when I was 13.

  • (cs) in reply to Cole
    Cole:
    ubersoldat:
    TRWTF is teaching C to a middle-school student.

    Don't get me wrong, I think C is one of the best things to happen to humanity, but using it as a teaching tool for kids doesn't seem appropriate to me when you have other tools/languages which might prove more educational and spark their interest instead of burying it below 6 feet of compiler errors.

    I'm sorry, I didn't realize I learned programming when I was 8 and learned C 3 years ago when I was 13. If I remember correctly, I was in middle school when I was 13.

    Did you teach yourself? If so your point is not relevant.

  • (cs) in reply to trtrwtf
    trtrwtf:
    Someone:
    Whatever or not you agree with my previous post saying I don't think C is a good choice for an intro class, the choice of language should be guided by what will get the students to learn best. Picking the hardest language to can separate the students is the opposite of what teachers should be doing.

    I think you need your sarcasm detector recalibrated. ubersoldat was making exactly this point.

    Was he? I have run across the attitude of using some course to weed out people. How do you tell the difference between someone holding view A and expressing it sarcastically to sound like the opposite view B and someone expressing view B?

    Sincerely,

    Gene Wirchenko

  • Your Mom (unregistered)

    Maybe teens can learn C just fine. Maybe your own inabilities are what makes you think that they couldn't.

    Yeah some compilers think that \ before a line break escapes the lien break. And using a compiler that doesn't when one that does is intended (or vice versa) could cause bugs like the one described. But using an unintended compiler is not a WTF, it is just a mistake. Big deal.

  • (cs) in reply to Gene Wirchenko
    Gene Wirchenko:
    Was he? I have run across the attitude of using some course to weed out people. How do you tell the difference between someone holding view A and expressing it sarcastically to sound like the opposite view B and someone expressing view B?

    Sincerely, Gene Wirchenko

    Dear Sir/Madam, Your internet style is very formal.

    I simultaneously hold both views A and B, and will express either sarcastically or genuinely dependent on context and as the mood takes me.

    In this case, context is everything: If your aim is to educate as many kids in programming as you can, obviously you should pick a relatively tame language to ease them into it. If your aim is to employ the best possible programmers out of school, you'd probably rather their teachers subjected them to the most brutal of courses possible, so that the only ones left are certifiable geniuses (or, I guess, simply certifiable).

    Yours faithfully, eVil

  • Anomaly (unregistered)

    Maybe thats why we should be teaching theory in middle school and syntax/language in high school. You don't even need a language to learn the concepts or basics. I started with C++ in highschool then moved on to Java. years and years later, I couldn't tell you how to write a c++ program but I can look at one and tell you what it does. Sure the syntax matters but not as much as the ideas behind it.

  • (cs) in reply to Anomaly
    Anomaly:
    Maybe thats why we should be teaching theory in middle school and syntax/language in high school. You don't even need a language to learn the concepts or basics. I started with C++ in highschool then moved on to Java. years and years later, I couldn't tell you how to write a c++ program but I can look at one and tell you what it does. Sure the syntax matters but not as much as the ideas behind it.

    Quite right.

    This is how decent university courses do it; all my professors simply assumed you either already knew C like syntax (or would pick it up as you went), and they spent their time teaching transferable language-agnostic skills.

  • urza9814 (unregistered) in reply to ubersoldat
    ubersoldat:
    TRWTF is teaching C to a middle-school student.

    Don't get me wrong, I think C is one of the best things to happen to humanity, but using it as a teaching tool for kids doesn't seem appropriate to me when you have other tools/languages which might prove more educational and spark their interest instead of burying it below 6 feet of compiler errors.

    I started learning with C++ in elementary school. Couldn't quite get pointers and such for a few more years, so starting with C is probably perfect. Far better than scarring them for life with something like Python or VB like so many schools do...

    Of course, I wouldn't try to teach it to EVERYONE in middle school, but for the few students who are interested C seems like a great choice to me...

  • urza9814 (unregistered) in reply to CA
    CA:
    I have never complained about the quality of the articles here until now. I think it is written somewhere that TDWTF does not post stories of students or amateurs, but instead tends to post stories of our so beloved "elite programmers". So wtf is this? Next thing you know we will be seing stories where nerdy parents complain that their 5 year old son does not know how to debug PHP.

    Did the student write the code that wouldn't compile? No. Did the student write the compiler that wouldn't compile it? No.

    The student was just part of the plot and had no influence into the actual WTF. Nor did the teacher. Not sure that it's a WTF, but if it is it certainly wasn't done by a student or amateur.

  • (cs) in reply to urza9814
    urza9814:
    CA:
    I have never complained about the quality of the articles here until now. I think it is written somewhere that TDWTF does not post stories of students or amateurs, but instead tends to post stories of our so beloved "elite programmers". So wtf is this? Next thing you know we will be seing stories where nerdy parents complain that their 5 year old son does not know how to debug PHP.

    Did the student write the code that wouldn't compile? No. Did the student write the compiler that wouldn't compile it? No.

    The student was just part of the plot and had no influence into the actual WTF. Nor did the teacher. Not sure that it's a WTF, but if it is it certainly wasn't done by a student or amateur.

    Don't worry, this article was just a reading comprehension test for the users of this site, and CA (and others) just failed. Alex is working on a special redirect so they get sent here instead.

  • (cs)

    No mention of QBASIC yet?

  • Darth Paul (unregistered) in reply to tin
    tin:
    Klistel:
    Couldn't they just have removed the fluffy story this time?

    The fluffy story is what differentiates TDWTF from FreeVBCode.com ;)

    drumroll

  • trtrwtf (unregistered) in reply to QJo
    QJo:
    Ancient Greek used to be made available to students considerably younger than nowadays

    In ancient Greece, for example...

  • (cs) in reply to Falcon
    Falcon:
    Mason Wheeler:
    QJo:
    The trouble with children nowadays is none of them get any education to stretch their capabilities worth a damn. Serious knowledge and learning is blocked from them by the misguided patronising attitude that they won't appreciate it. This is probably why childhood in certain nations of the Western world stretches into a person's 20's. It was less than a century ago that children were treated as adults by the time they were 14.

    QFT. Most of the so-called "problems with adolescents" can be traced to the fact that "adolescence" is an artificial state, invented by the modern Western world, in which we begin to require its victims to behave with the responsibility and maturity of adults, while granting them none of the benefits of adulthood. No wonder teens get all rebellious!

    Every geek knows that with great power comes great responsibility, but somehow we miss the obvious converse: with responsibility comes power! Separate the two (in either direction) and you end up with an unbalanced system, and things start to go wrong.

    Ancient cultures understood this. For example, have you ever been to a bar mitzvah? These days it's just a fancy birthday party, but it was originally a celebration of the time when a boy formally becomes a man (at 13 years old) and begins to be treated as one, with everything that entails. And other cultures had very similar concepts. It's only in modern, "enlightened" times that we've managed to screw up young adults so badly.

    There's a great article exploring these points:

    "Why Nerds are Unpopular" - http://www.paulgraham.com/nerds.html

    (Filler text to placate Akismet) QJo and Mason have effectively summarised a major theme of that article - even if they've never read it before!

    Not so much. I was a bit horrified at first when you said I was making the same points as Paul Graham, because so much of what he says is not only wrong but harmfully wrong, the kind of stuff that can really mess you up if you listen to it. So I read the article to see what he was saying.

    It looks like he was actually making the opposite point that I was. He doesn't say that adolescents are adults and need to be treated as such; he said, explicitly and repeatedly, that adolescents are still children and their problems come from being mismanaged. He follows the conventional wisdom entirely on this point.

    For example, he answers the question of why nerds are persecuted by other teens thus: "Partly because teenagers are still half children, and many children are just intrinsically cruel." He even seems to think that in ancient cultures (he specifically mentions Mongols and Renaissance Europe) teens were treated as older children, like they are today. In fact, historical records suggest the exact opposite: they were treated as young adults.

    Today "young adult" is a euphemism for "old child," but back then it was taken literally: you were an adult and were both expected and allowed to act like one. That's something that our society has lost, to its detriment.

  • (cs) in reply to eViLegion
    eViLegion:
    urza9814:
    CA:
    I have never complained about the quality of the articles here until now. I think it is written somewhere that TDWTF does not post stories of students or amateurs, but instead tends to post stories of our so beloved "elite programmers". So wtf is this? Next thing you know we will be seing stories where nerdy parents complain that their 5 year old son does not know how to debug PHP.

    Did the student write the code that wouldn't compile? No. Did the student write the compiler that wouldn't compile it? No.

    The student was just part of the plot and had no influence into the actual WTF. Nor did the teacher. Not sure that it's a WTF, but if it is it certainly wasn't done by a student or amateur.

    Don't worry, this article was just a reading comprehension test for the users of this site, and CA (and others) just failed. Alex is working on a special redirect so they get sent here instead.

    The article is a dog's breakfast. Sesame Street is way ahead of this.

  • (cs) in reply to Hatshepsut
    Hatshepsut:
    Sesame Street is way ahead of this.

    You could even say it's streets ahead. Eheheheheheheheheugh.

  • Barf 4eva (unregistered) in reply to eViLegion

    Your world comprised of just software-developing geniuses will not, and cannot, exist.

    Do you think those who were interested since the days of high school defines enough programmers to fill the jobs in the United States? I highly doubt it. Supply and demand dictates this trend, not some personal view that all developers should have been in love with it since grade school.

  • (cs) in reply to Mason Wheeler
    Mason Wheeler:
    Falcon:
    Mason Wheeler:
    QJo:
    The trouble with children nowadays is none of them get any education to stretch their capabilities worth a damn. Serious knowledge and learning is blocked from them by the misguided patronising attitude that they won't appreciate it. This is probably why childhood in certain nations of the Western world stretches into a person's 20's. It was less than a century ago that children were treated as adults by the time they were 14.

    QFT. Most of the so-called "problems with adolescents" can be traced to the fact that "adolescence" is an artificial state, invented by the modern Western world, in which we begin to require its victims to behave with the responsibility and maturity of adults, while granting them none of the benefits of adulthood. No wonder teens get all rebellious!

    Every geek knows that with great power comes great responsibility, but somehow we miss the obvious converse: with responsibility comes power! Separate the two (in either direction) and you end up with an unbalanced system, and things start to go wrong.

    Ancient cultures understood this. For example, have you ever been to a bar mitzvah? These days it's just a fancy birthday party, but it was originally a celebration of the time when a boy formally becomes a man (at 13 years old) and begins to be treated as one, with everything that entails. And other cultures had very similar concepts. It's only in modern, "enlightened" times that we've managed to screw up young adults so badly.

    There's a great article exploring these points:

    "Why Nerds are Unpopular" - http://www.paulgraham.com/nerds.html

    (Filler text to placate Akismet) QJo and Mason have effectively summarised a major theme of that article - even if they've never read it before!

    Not so much. I was a bit horrified at first when you said I was making the same points as Paul Graham, because so much of what he says is not only wrong but harmfully wrong, the kind of stuff that can really mess you up if you listen to it. So I read the article to see what he was saying.

    It looks like he was actually making the opposite point that I was. He doesn't say that adolescents are adults and need to be treated as such; he said, explicitly and repeatedly, that adolescents are still children and their problems come from being mismanaged. He follows the conventional wisdom entirely on this point.

    For example, he answers the question of why nerds are persecuted by other teens thus: "Partly because teenagers are still half children, and many children are just intrinsically cruel." He even seems to think that in ancient cultures (he specifically mentions Mongols and Renaissance Europe) teens were treated as older children, like they are today. In fact, historical records suggest the exact opposite: they were treated as young adults.

    Today "young adult" is a euphemism for "old child," but back then it was taken literally: you were an adult and were both expected and allowed to act like one. That's something that our society has lost, to its detriment.

    QFT, FFS. Not only is Paul Graham is a prick, he's a stupid prick.

    Calls to mind a quote I saw once (buggered if I know where):

    "When I was a child I thought I hated everybody. When I grew up I realised it was only children I hated."

  • (cs) in reply to Matt Westwood
    Matt Westwood:
    "When I was a child I thought I hated everybody. When I grew up I realised it was only children I hated."

    And while I think about it, it was a few days ago I saw a piece where a student had been unfairly discriminated against for being a native American, and was referred to in the article as a "little girl". Bollocks to that, she was 17.

  • Simon (unregistered) in reply to Someone
    Someone:
    Interestingly, that exact reason is why I think that C isn't a very good language for most people. Why add a bunch of distractions (a poor standard library, lots of abbreviations, memory safety) when the task is already difficult?

    Because teaching C isn't just teaching them a programming language - it's teaching them how things actually work. And while it might be harder to learn that way, it covers some stuff that's good to know before they learn languages that are a bit more tolerant of bad habits.

    Of course for similar reasons, Python is also a very good choice for a first or second programming language - it teaches good habits around having readable well-formatted code, being one of the few languages where messed-up formatting can actually be a bug.

  • Jazz (unregistered) in reply to psmears
    psmears:
    Different compilers may not follow the C standards correctly in a number of ways

    Then I guess they aren't standards, are they?

  • Kyle Huff (unregistered)

    TRWTF is why am I reading this garbage?

  • Metaluim (unregistered)

    I guess OP plays Metro.

  • Adolph H. (unregistered) in reply to trtrwtf
    trtrwtf:
    justsomedudette:
    "An middle-school student" - ugh! There's nothing worse than using an instead of a
    Six million Jews might disagree with you on this
    No they wouldn't, because they're dead.

    Our comments don't matter though. This thread terminated when someone mentioned the president's daughter.

  • Norman Diamond (unregistered) in reply to newfweiler
    newfweiler:
    katastrofa:
    QJo:
    The only problem with teaching a small child how to play a reed-and-pipe organ is that his/her feet will have trouble reaching the pedals, but apart from that, musical keyboard skills can be picked up before a child has learned to talk.
    Children can pick up many things if you don't convince them first that they can't.
    No, children WILL pick up many things if you TELL them they can't!

    Tell them "just play the games, don't look at the code." They'll have the code disassembled before the week is out.

    What happens if the child's expertise is psychology? You'll never figure out what to do, you'll fail irregardless of whether you try reverse psychology or forward psychology or quantum mirrored antipsychology.

    I kind of think Andre Rieu should have waited until Akim Camara was 5 before presenting him. Some other 5 and 6 year olds on Youtube are far more impressive.

    One of my middle school teachers said that the language used by computers was Cobol. I brought in manuals for a few other languages. By that time I could have learned C. I don't think C would be good as a first language though. BASIC was invented to be a first language and the original version still seems suitable for that purpose. Just spend a few weeks on it before advancing to something else.

  • Gribbles (unregistered) in reply to trtrwtf
    trtrwtf:
    The hard part is learning to program, not learning one syntax or another. Any general-purpose language that's actually used to write real programs is probably a good language to start learning with. Mostly it's down to the teacher and the student, not the language.

    (this would exclude toy languages like LOGO and web-specific languages like PHP,

    Trolly troll is trolly. Logo is a Lisp.

    as well as hipster affectations like Haskell

    You misspelled Clojure. Hope this helps.

  • Gribbles (unregistered) in reply to chubertdev
    chubertdev:
    No mention of QBASIC yet?

    I taught beginning programming in QBASIC as recently as 2001 with great success--after two terms of QBASIC my students breezed through C and C++ classes.

    I will defend to the death imperative languages with Englishy syntax as the best way to learn programming for normal people. Precocious, autistic future Zucks can have Scheme.

    (captcha: abigo. Tengo un frio en mi cabeza, mi abigo.)

Leave a comment on “A Bad Leg”

Log In or post as a guest

Replying to comment #:

« Return to Article