Slashdot Mirror


Revisiting Why Johnny Can't Code: Have We "Made the Print Too Small"?

theodp writes: In What is Computer Science?, the kickoff video for Facebook's new TechPrep diversity initiative, FB product manager Adriel Frederick explains how he was hooked-on-coding after seeing the magic of a BASIC PRINT statement. His simple BASIC example is a nice contrast to the more complicated JavaScript and Ruby examples that were chosen to illustrate Mark Zuckerberg's what-is-coding video for schoolkids. In How to Teach Your Baby to Read, the authors explain, "It is safe to say that in particular very young children can read, provided that, in the beginning, you make the print very big." So, is introducing coding to schoolkids with modern programming languages instead of something like BASIC (2006) or even (gasp!) spreadsheets (2002) the coding equivalent of "making the print too small" for a child to see and understand?

57 of 270 comments (clear)

  1. Dice, by Anonymous Coward · · Score: 5, Insightful

    Please stop shilling for Facebook. You do it endlessly. No one likes Facebook or its douchebag in chief.

    1. Re:Dice, by Anonymous Coward · · Score: 2, Informative

      Is that you, Mark?

    2. Re:Dice, by bistromath007 · · Score: 2

      Nope. I don't even use Facebook. CAN'T, in fact. Had an account years ago and intentionally scrambled my password, since I only even signed up to talk to one person who I then fell out of contact with. Why the hell would I engage with that shitpile on purpose? Why would anyone? People "like" Facebook for the same reason they "like" their bank or their employer. Not having to use Facebook is the sole benefit of being incredibly unpopular.

    3. Re:Dice, by TWX · · Score: 4, Funny

      Well my HS wardrobe would be *very* hipster today.

      Oh. My. God. You just went on to be Hipster by claiming you were Hipster before it was hip to be Hipster...

      --
      Do not look into laser with remaining eye.
    4. Re:Dice, by desdinova+216 · · Score: 2

      never go full hipster?

    5. Re:Dice, by ShanghaiBill · · Score: 3, Informative

      Please stop shilling for Facebook.

      The point made in the summary is stupid, so it is not effective shilling anyway. It was written by someone who has no idea what is actually happening in the schools. I am involved in teaching elementary school kids programming. None of the schools that I know of are starting with Ruby, or Python, or Java, or any other language being criticizing. They all use Scratch, which is a much better introduction to programming than BASIC.

      The high schools tend to use Java, because that is what the AP-CS test uses, but high school students can handle small print.

    6. Re:Dice, by ShanghaiBill · · Score: 3, Interesting

      Pascal is still probably the best.

      For 4th graders? I don't think so. With Scratch, they can have something up and moving around on the screen the first day. In a week, they can get a shooter working (boys) or an animated dollhouse (girls). With a language like Pascal, they are going to be bogged down in syntax, and there is no native graphical output.

      Pascal is a poor choice for older kids as well. It has no OO, and uses ancient BEGIN END syntax. Java or Python are much better choices. They use modern syntax, are object based, are widely used in industry, prepare the kids for college, jobs, etc. Java is also the language used for the AP-CS test.

    7. Re:Dice, by Jane+Q.+Public · · Score: 2

      "Begin...End" may be ancient, but a lot of languages, including new languages, still use it for good reasons.

      If you want to make comparisons, a lot of people can't stand Python's "significant white space". And good reasons for that, too: why should the spacing of your code be important to the code? Using your own reasoning: that's ancient. It went out of style with FORTRAN.

    8. Re: Dice, by LordKronos · · Score: 2

      It could be a lie. Or you could just be an ignorant asshole.

      http://touch.facebook.com/r.ph...

      "Phone Number or Email"

  2. Statements are too long by Anonymous Coward · · Score: 5, Funny

    The statements are too long.
    Writing a working program should be as easy as:

    LOL
    LMFAO
    ROFL

    Therefore I suggest we teach beginners assembly language and exchange the mnemonics for common texting short forms.

    1. Re:Statements are too long by MagicM · · Score: 4, Funny

      ROFL > LMFAO because ROFLCOPTER

    2. Re:Statements are too long by Anonymous Coward · · Score: 5, Funny

      https://en.wikipedia.org/wiki/LOLCODE

  3. BASIC by Anonymous Coward · · Score: 4, Informative

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

    -- Edsger W. Dijkstra

    1. Re:BASIC by 91degrees · · Score: 5, Insightful

      "Dijkstra's a dick"

      -- 91degrees

      Influential and important to CompSci, certainly but that doesn't mean he wasn't a bit up himself at times. Not everything he says is gospel.

    2. Re:BASIC by Z80a · · Score: 3

      And what about people that were exposed to java?

    3. Re:BASIC by plover · · Score: 5, Funny

      They run around and talk too fast, but the effects soon wear off.

      --
      John
    4. Re:BASIC by BarbaraHudson · · Score: 4, Informative

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

      -- Edsger W. Dijkstra

      Knock it all you want, but it's simply not true. And it wasn't true 30 years ago either. One of the lessons BASIC teaches is that you better be rigorous about what you type in - even a small error will screw you. Especially the buggy code that actually runs but doesn't do what you think it does.

      The "B" in BASIC stands for "Beginners" for a reason. It was never supposed to be the be-all and end-all of languages, just a way to get your feet wet (and addicted) to making a computer do what we tell it to.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    5. Re:BASIC by Pseudonymous+Powers · · Score: 4, Insightful

      "Dijkstra's a dick"

      Yup. But the particular polarity of his dickishness helps to balance out its opposite--that is, all the millions of shitty programmers who hate rigor just because it's rigorous, and proselytize against it at every opportunity. He's a lot like Richard Stallman in this way--an impractical dick, to be sure, but a useful dick nontheless.

      Plus, Dijkstra had a sense of humor, which makes him more fun to quote.

    6. Re:BASIC by TWX · · Score: 2

      I don't even think it's that complicated. For kids to do a given thing, that thing either needs to be fun, or they need some form of reward for their success, or some combination thereof. I started playing with BASIC when I was ten or so and line numbers were still required. shortly thereafter I played with batch files. Then I played with rudimentary bash scripting. Then the TI calculator, then some light instruction in C and C++, and now I do some intermediate bash scripting incidentally when I do my non-programming admin job.

      I don't think it's wrong to use languages like BASIC for the very earliest exposure so long as the curriculum migrates off of BASIC very quickly and also works to avoid emphasizing language-specific methods that truly are dead-ends. Once the concept of programming is understood, then it's time to introduce other languages.

      --
      Do not look into laser with remaining eye.
    7. Re:BASIC by Sarten-X · · Score: 3, Insightful

      That is indeed the point that is often forgotten.

      I've long been an advocate of using BASIC (or a more forgiving variant) for the first two weeks of a programming curriculum... ...and no more.

      To use the analogy of TFS, BASIC has big text, and is useful for illustrating the alphabet of programming. Students should understand a few key concepts from the exercise, the misunderstanding of which often leads to difficulty following later classes.

      I've seen countless students who missed the core concepts that statements run in order (some language exceptions apply), variables change, and that every step of the process has to be listed.

      Frankly, I think those concepts are more important than learning how to build a class or compile a binary. BASIC was a good place to start.

      --
      You do not have a moral or legal right to do absolutely anything you want.
    8. Re:BASIC by Half-pint+HAL · · Score: 3, Interesting

      The thing that BASIC got right was simple IO: PRINT and INPUT. The reason "real" languages are usually unfriendly to beginners is the amount of hoops you have to jump through to get that input and output. Back when C was the language of choice for CS classes, I think the mistake was to start with "hello world" in C -- they should have started with BASH scripting and then introduced C in its original natural context -- writing commands to extend the shell. Input and output handling could have come later.

      Now, the problem with saying "we should go back to BASIC" is that people's expected I/O channel is not a scrolling text shell window, so PRINT and INPUT are no longer adequate. As they are the only specifically meritorious features of standard BASIC dialects, suddenly, BASIC is valueless. We can fit any language with a dialog "This is equivalent to print." and variable = inputDialog "Enter number of whatever:" and we're just as well off as we would be doing that to BASIC.

      Making a "simple" language is hardly even a question of language architecture (although JS's variable scoping rules are a right pain), because most are largely straightforward, if you leave OO models out of it. It's the general purpose nature of modern languages, and thus the reliance on libraries, that makes languages unfriendly to beginners (which also drags OO models back into the equation). Scratch isn't considered good for learners because of its programming model (it's just a standard C-alike, really) but because it has a specific purpose and therefore a very limited set of actions.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
  4. Basic logic and flow control by Richard_at_work · · Score: 5, Interesting

    Kids should be introduced to programming using marble runs and physical switches or conditionals. Get them interested in the toy aspect, introduce rewards for working out how to achieve goals, and gradually introduce virtual modelling of the physical layout as complexity increases - they will gradually move completely to the virtual model, and then you can introduce the next stage of exposing the code when managing click and drag objects becomes a hassle.

    Baby steps. Literally.

    1. Re: Basic logic and flow control by bill_mcgonigle · · Score: 5, Informative

      Lightbot is the phone app version of this. My boy loves it - it's roughly LOGO for 2015, and he's working on subroutines that call other subroutines now. Except he doesn't know that (we did basic IO and loops, verbally with pseudocode, on a long car ride prior to getting Lightbot). It's more fun than the VIC-20 assembly that was my only option at his age.

      Academic: does this theoretical problem exist?
      Market: download the free app.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  5. COBOL by Anonymous Coward · · Score: 2, Funny

    COBOL would be a good use for something that's extremely easy to read and understand and can do powerful things.

    1. Re:COBOL by silentcoder · · Score: 2, Funny

      On second thought... apparently a helluva lot of people want to give that power to Donald Trump... I'd trust the average 4 year old more with it.

      --
      Unicode killed the ASCII-art *
  6. Maybe Johnny just doesn't give a fuck by NotDrWho · · Score: 5, Insightful

    Maybe Johnny wants to choose his own fucking interests, instead of having them imposed by a corporate oligarchy only interested in cheap labor.

    --
    SJW's don't eliminate discrimination. They just expropriate it for themselves.
    1. Re:Maybe Johnny just doesn't give a fuck by Anonymous Coward · · Score: 3, Insightful

      Maybe Johnny wants to choose his own fucking interests.

      It's video games. Johnny wants to play video games. Leave him alone and let him play video games.

    2. Re:Maybe Johnny just doesn't give a fuck by Dahamma · · Score: 2

      Primary education isn't about Johnny's "own fucking interests". It's about trying to give all kids the same basic knowledge that they can use to get by in the world at a minimum, and as a stepping stone to more advanced education if they so choose. They are already learning basic math, science, language, geography, history, etc. Like it or not, simple programming concepts are now a pretty fundamental part of basic math/science education.

      Does that mean Johnny is being coerced to get a BS in Computer Science as a result? Obviously, no, not any more than learning algebra forces you to be a mathematician or learning biology forces you to be a doctor.

  7. Adult programmers don't understand it either by jfdavis668 · · Score: 4, Interesting

    I have seen a lot of programmers who are totally dependent on the IDE to develop the code. They have no idea how it works or where it runs from once it deploys.

    1. Re:Adult programmers don't understand it either by BlackPignouf · · Score: 2

      It really depends on the language.
      VIM is more than enough for Python and Ruby, but completely inadequate for Java.
      You need to write so much boilerplate code and redundant shit with Java that it's a torture to write it without Eclipse or Netbeans.

    2. Re:Adult programmers don't understand it either by Kjella · · Score: 3, Insightful

      I have seen a lot of programmers who are totally dependent on the IDE to develop the code. They have no idea how it works or where it runs from once it deploys.

      But is it part of what they need to know? A brick-layer needs to know how to use his tools to build a wall, he doesn't necessarily need to know how to make a brick or brick-laying tools from assembler. Nor is he the architect or the structural engineer who says what the wall is for or if it's thick enough to be a load bearing structure. But he does need to know enough to make a structurally sound wall. Sure, it wouldn't hurt him to know all these other things. But it might be more important for a GUI developer to understand the difference between a modal and non-modal dialog than learning all the plumbing to display a dialog. I'd say the most important part is being good enough at what you're good at, not necessarily what you're bad at. As long as you don't deploy straight to production, or rather if you do then you won't have that permission for very long.

      --
      Live today, because you never know what tomorrow brings
    3. Re:Adult programmers don't understand it either by jfdavis668 · · Score: 2

      Yes, but a brick layer needs to know where the wall goes. It is also really helpful if he knows what it's used for. I have had programmers write out files and then wonder why they don't show up on the customer's desktop computer. It worked in their IDE. They don't comprehend that they just wrote it out to the application server, and they need to use the web server to display it.

  8. Basic is good, but not enough by gb7djk · · Score: 4, Insightful
    Forty five years ago, I started with some BASIC. But the thing that really got me hooked was that I had a simple problem, that mattered to me, that needed solving.

    The need to solve a problem, being presented with a tool simple enough to understand and some help to get started seems to me to be the true trigger that can start someone off down the programming track.

  9. Of course the print's too small by Anonymous Coward · · Score: 3, Insightful

    Of course we have made the print too small. I recall attempting to 'grok' Fortran and Algol as a teenager and having difficulty understanding the difference between reserved words and variables and so forth.

    BASIC is a brilliantly-designed language for the beginner because the concepts you need to understand are so simple. Even the much-maligned line numbers are important in the learning curve. When you start, a variable, a reserved word and a label are all concepts you have real difficulty separating. BASIC line numbers, though, you can immediately map to the idea of a sequence of control. Once you have mastered this you can then absorb the more advanced concepts gradually.

    For those who take a snobbish attitude to BASIC I still feel that Kemeny and Kurtz understood absolutely how to create a language that simplified programming to its essence. As such, it really should be the starting point - it's easy to teach students better techniques once they have written some simple BASIC programs and hit issues like running out of places to insert a line, etc, because they can SEE why better techniques make their lives easier.

  10. Simplicity by JBMcB · · Score: 4, Interesting

    I think there's something to be said for learning programming on a very simple machine.

    First, you need to keep in mind that kids have absolutely no idea how a computer works, at even the most basic of levels. It's a box with a keyboard and stuff happens on the screen. You need to cement the idea that you have to tell the computer to do stuff, and link the idea of coding to that stuff.

    This is much easier to do when you have a computer that does pretty much nothing when you turn it on. A flashing cursor comes up and it's waiting for you to tell it what to do. 10 PRINT "HELLO" RUN and it does something. 20 GOTO 10 RUN and it does something else. You get the link between what you're telling the computer to do and what the computer is actually doing pretty quickly.

    Compare that with booting up Windows/MacOSX/Linux, getting into your desktop environment, loading up a browser or IDE, creating a new project, explaining the UI of the IDE, making sure you have the right includes to do IO, directing your output to console or a UI object, etc...

    --
    My Other Computer Is A Data General Nova III.
    1. Re:Simplicity by Solandri · · Score: 2

      I think there's something to be said for learning programming on a very simple machine.

      Well, not too simple. The computer I learned to program on didn't have external storage. I had to type in the programs again by hand every time I turned the computer off and back on. Course that's a lot easier when the computer only has 2kB of RAM...

      Compare that with booting up Windows/MacOSX/Linux, getting into your desktop environment, loading up a browser or IDE, creating a new project, explaining the UI of the IDE, making sure you have the right includes to do IO, directing your output to console or a UI object, etc...

      Actually, the biggest impediment (if you can call it that) I see with modern GUIs and learning programming is that they're all event based. You write up separate pieces of code and they all kinda float around out there until magically the right piece runs when a certain event occurs. The "magic" which makes the right piece run (like on a mouse click) is nearly always hidden in some included library, so you don't get the sense that the code you wrote is completely in control of the machine.

      Conceptually, it's a lot easier for a beginner to grasp procedural based code like BASIC or LOGO or even assembly (that's what we used in my jr. high computer math class on huge HP programmable calculators with punch card readers). You tell the computer to do something, and it does exactly what you told it to do. Or maybe not; maybe I'm biased because that's how I learned. I'd love to hear from people who learned event-based coding first.

  11. I would teach with graphics first by ranton · · Score: 2

    I learned to program in 4th grade, and yes the INPUT, PRINT and IF THEN ELSE statements made up the first tutorial I went through. But as soon as I got to the section of the tutorial on PSET, LINE, etc. is when I really got interested.

    I may have eventually had fun writing MUD-like text based games, I first got hooked writing games like Tic-Tac-Toe and space invaders.

    --
    -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
  12. Way too small by Anonymous Coward · · Score: 4, Insightful

    When I was a kid getting into programming, I constantly ran into a wall. The basics, like hello world, and command line input->output programs that can do an enormous variety of calculations, background work, execute even big and fun commands were always easy, instructions prevalent, how to's everywhere and easy to understand.

     
     
    Then you want to actually move from moderately complicated programs that are useless to real ones that do something, and I hit a wall. How to make a GUI work, how to make graphics appear, how to do anything useful at all in any kind of app, desktop program, etc, and the tutorials jumped from 5 easy to understand lines to 50 page books on how to get a single line to appear, much less do anything else.

     
     
    Excessively complicated syntax, and extremely difficult, complicated programming required for even simple programs in a useable context make it opaque, that is the small print. The resources are plentiful for the most basic coding, plentiful on algorithms and how they work, but the second you get to a moderately complex topic of actually making applications you can double click and use, I might as well be trying to learn how to do complex multivariable calculus in a non-euclidean geometry based on a few comments on a thread on a help page that was posted and died 8 years ago.

  13. According to Facebook, women are too dumb to code? by xxxJonBoyxxx · · Score: 2

    So...this is part of Facebook's "please don't class action us" effort and a product manager goes on video to say that the current batch of entry level languages and examples (which my kids mastered in middle school) are too hard for his target audience (women) so we need to step back to a simpler language with fewer moving parts? OK Facebook, do you really want to own that, "women are dumb so we'll come down to their level" (as long as you don't sue us) message?

  14. What's Facebook? by Anonymous Coward · · Score: 4, Funny

    I never hear of it. What's it? I even try go there today, but website is down. Maybe I tomorrow try again if it is good site.

    Sincerely,
    A Chinese

    1. Re:What's Facebook? by AmiMoJo · · Score: 3, Insightful

      It's like QQ or Wiebo, only the spying is worse.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  15. Logo (was Re:I would teach with graphics first) by WillAdams · · Score: 2

    Logo, and a moving turtle for the win.

    Tools such as Arduinos and gShields and inexpensive stepper motors (to say nothing of Grbl which is one of the most amazing programs I've ever seen in terms of memory efficiency and compactness) make this far more affordable than it was.

    Still kind of surprised no one has done a Logo to G-Code translator.

    --
    Sphinx of black quartz, judge my vow.
  16. Scratch by jonwil · · Score: 3, Interesting

    Here in Australia, a TV show called "Good Game SP" (which does gaming news, game reviews and other gaming related stuff aimed at kids) did a series of segments using the Scratch environment to build a game. I thought it was a great way to introduce kids to programming in a simple way (with things like if statements, loops etc) but without (as far as I can tell) teaching any of the bad habits you might get from something like BASIC.

    The LEGO Mindstorms robotics kit also seems like a great way to teach the simpler programming concepts without teaching bad habits (coincidentally both LEGO Mindstorms and Scratch came out of the MIT Media Lab)

  17. We've had the perfect language for the job by silentcoder · · Score: 4, Interesting

    for decades. I learned it when I was 7, learned basic when I was 9 and was using proper programming languages within 2 years of that.

    Give them LOGO and turtle graphics.

    It was the best tool for the job in 1967. It's still the best tool for the job today.

    The reason is because nobody has tried to build a better one. You don't teach 7 year olds ruby or javascript or python but FFS you don't teach them BASIC either - give them LOGO, and when they mastered that, they will be able to grasp any modern language you throw at them.
    And if you want something new and shiny, then design that something FOR CHILDREN. That's why LOGO remains the best for the job - because it was designed specifically for children by a team that included a behavioral child psychologist.

    --
    Unicode killed the ASCII-art *
    1. Re:We've had the perfect language for the job by AshPattern · · Score: 3, Interesting

      http://pencilcode.net/ is just that, designed for the web and made so kids can easily share their creations to friends and parents.

  18. Who Cares? by sycodon · · Score: 5, Insightful

    Johnny can't cook a souffle, Johnny can't make a dove joint, Johnny, can't fix a car, Johnny can't set a broken arm, Johnny can't balance and income statement, etc.

    But there is at least SOME people that can do it. These are all disciplines/careers that people elect to pursue. Not everyone needs to know how to code. That's stupid. Does everyone need to know how to design, cut, and sew together a pair of pants?

    Does knowing how to code make it any better when Windows or Windows apps go toe up? Really? Are you going to debug Windows or Mathematica because you took a coding class?

    --
    When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
    1. Re:Who Cares? by lister+king+of+smeg · · Score: 2

      Johnny can't cook a souffle, Johnny can't make a dove joint, Johnny, can't fix a car, Johnny can't set a broken arm, Johnny can't balance and income statement, etc.

      But there is at least SOME people that can do it. These are all disciplines/careers that people elect to pursue. Not everyone needs to know how to code. That's stupid. Does everyone need to know how to design, cut, and sew together a pair of pants?

      Does knowing how to code make it any better when Windows or Windows apps go toe up? Really? Are you going to debug Windows or Mathematica because you took a coding class?

      Then johnny didn't earn many merrit badges in scouts did he.

      Mine included Welding, Survival Skills, Cooking, First Aid, Sewing, Computer (PC) repair, Barbering, and more, I never got the ones in automotive repair but learned some the skills (changing filters, spark plugs, fluids, lights, rotor, etc) elsewhere. And carpentry is something I did as a hobby with my dad growing up.

      --
      ---Saying gnome 3 is better than windows 8 not so much a compliment as it is damning with light praise.
    2. Re:Who Cares? by tehcyder · · Score: 2

      I'm your pretty average hillbilly with a college degree. I can cook a soufflé

      I'm your pretty average lumberjack, and I cut down trees, I skip and jump, I like to press wild flowers, I put on women's clothing, and hang around in bars.

      --
      To have a right to do a thing is not at all the same as to be right in doing it
    3. Re:Who Cares? by Half-pint+HAL · · Score: 4, Insightful

      Any job that involves sitting at a computer leads to days when knowing how to automate a simple task is beneficial. My big brother's doing data entry, and he's been battering together VBA scripts (VBA because Excel is the nearest thing to a programming environment on his client's computers) to generate search strings that account for common mistypings of address formats etc, making him one of the quickest on his team. I did a 3-day data filtering job in 1 day because I scripted in in Windows .BAT rather than manually searching through the data. I'm now training to be a school teacher, and I'm programming my own web-pages to make use of the interactive whiteboard in a way that's natural to me and keeps me in control of everything happening in the class. Everyone can use some programming now and again.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
  19. Strawman by NewWorldDan · · Score: 4, Interesting

    As the parent of a 12 year old girl, I can assure you all, kids today are not having trouble learning to code. They have resources today that I couldn't have dreamed of when I was their age, and they are using them. There are two major problems that I see happening: there are too many languages out there and no one works in text/console mode anymore.

    Computers were text based when I was learning basic 3 decades ago. As such, BASIC made a perfectly sensible starting point. Instead, today, a web or mobile app requires knowledge of HTML, JavaScript, CSS, some backend language such as C# or Java, SQL, and probably some other things AI haven't thought of.

    Really, if you want to bring back a version of BASIC that was reasonably accessible but could still write something resembling a modern app, bring back Visual BASIC 6.

    But like I said, kids today aren't really having much of a problem. My kid and her friends are learning JavaScript and C# and C++ and I have no idea what else. There are lots of resources out there and kids are taking advantage of them.

  20. Johnny can code.... by Dcnjoe60 · · Score: 3, Insightful

    Johnny (and Jane) can code. They just don't want to. Back in the 80s and 90s, computers were new and cool and if you could code, you could even make the computer do what you wanted it to do. Back then coding was freedom. It's like hot rods in the 50s. If you could soup up a car and make it run fast, others looked up to you. Now, fast cars, like computers, are common place and the "skill" isn't needed or valued like it was.

    In the future, today's hot fields will be asking the same question. Once the newness and prestige wear off, the Johnny's and Jane's of the world move on to something else.

  21. It's all math word problems by wcrowe · · Score: 3, Insightful

    The reason Johnny (and Jenny) can't code is simple: coding is not easy. Most kids hate math word problems. Yet, that's what coding is. You're given a math word problem with all these variables and facts and rules, and you have to come up with a solution, that is translated into a foreign language of simple instructions for a very dumb machine that is fussy about how you talk to it. If you can't stand problems that start out, "A train leaves Chicago traveling 42 miles per hour...", then you are not ever going to like coding, and you most likely will never be very good at it.

    --
    Proverbs 21:19
  22. Inventor/Builder and Computers by Dareth · · Score: 2

    My first computer was a TRS-80 color edition. https://en.wikipedia.org/wiki/TRS-80_Color_Computer

    At the time I got it, I spent a large part of my time finding and making materials to build tree houses. The best part of the computer was I didn't need physical materials to build something. I could type up a set of materials and use them. This really satisfied my need to invent and build stuff.

    I have just started showing my daughter, age 7, how she can build stuff on a computer using the Unreal Engine. She already does "art work" in Minecraft design mode. The idea of more realistic materials got her interest.

    --

    I only look human.
    My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
  23. Unlearning by cnaumann · · Score: 2

    The first programming language I learned was BASIC.

    I had to unlearn BASIC to learn FORTRAN.

    I had to unlearn FORTRAN to learn C.

    My brain is at its erase cycle limit.

    Now I basically program in FORTRAN using C.

  24. Re:One interesting thing he can do by sycodon · · Score: 4, Informative

    Actually, he can't edit a fucking comment once posted.

    --
    When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
  25. Re:How about a BASIC interpreter web page? by BarbaraHudson · · Score: 2

    Or you could just dig up an old BASIC interpreter and a simple text editor. No need for linux, vim, gcc or whatever. Let them run it locally in a terminal (full-screen is nice for kid's eyes and makes it easier to spot a typo such as a single quote instead of a double quote, etc. Absolutely no need to add overhead such as a web browser and the need for both an internet connection and a server. You could do this on computers that are two or more decades old, so if they don't have a box at home (or someone else is using it) they can still play around. And no hassles about malware, antivirus, etc. A simpler, gentler time.

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  26. Overkill indeed by Tablizer · · Score: 2

    I generally agree. When I went to teach one my children programming, I chose BASIC over newer alternatives. There's too many features and abstraction for newbies in say Python.

    I can explain BASIC in simple English: "A GOSUB statement allows you to reuse the same lines of code from different spots in the program. It's like our little "execution guy" [already explained to kid] has a rule: when he sees GOSUB X, he writes down the line number of the next statement after that GOSUB in the "Return List". He then jumps to the given destination (line # X) and keeps executing until he sees a RETURN statement. When he sees that, he then checks the Return List we talked about to see where to go back to, crosses it out, and goes back."

    It's simple "mechanical" rules of the form: if the "execution guy" sees such and such, he does this and that.

    No crazy abstraction speech that goes over a kid's head, just easy step by step rules and clear-cut "parts". Statements have a clear-cut reference ID (line numbers) that can be written down per our model's "rules". You can check their work to see the line numbers.

    (I don't need to get into stacks yet when starting out, but when the time comes, it's merely a clarification on how multiple items on the Return List are written and used by the Execution Guy. One can build on existing explanation idioms.)

    If you think otherwise, I challenge you to present a simpler, more approachable way to explain function or sub-routine calls in say Python...