Slashdot Mirror


Why Johnny Can't Code

GoCanes writes "Salon has an article named 'Why Johnny Can't Code,' an interesting examination of the dearth of line programming languages available today. At first I wanted to read this and say aha, here's a simple line oriented language that's available through open source, but after reading the article I couldn't find any. And being an old fart, I remember the days spent with edlin and basic."

14 of 686 comments (clear)

  1. Re:passworded article by GreyPoopon · · Score: 2, Informative
    Please provide a URL that does not require signing up to crap.
    It doesn't. It just requires watching an advertisement for access for the day. You don't have to provide any information about yourself.
    --

    GreyPoopon
    --
    Why is it I can write insightful comments but can't come up with a clever signature?

  2. Absolute nonsense by realnowhereman · · Score: 4, Informative

    What a load of rubbish.

    apt-get install \
          bash \
          python \
          gambas2 \
          kturtle \
          fp-compiler fp-units-base \
          php5-cli


    The reason children don't code (if that is even true, as it's a completely unsubstantiated assertion) is because they don't want to.

    I started programming when I was ten, and I did it by hand-converting Z80 assembly language to machine code and then used BASIC poke commands to write them into memory. I had to work hard to scrape a C compiler from somewhere and that was heaven.

    Today it is a million times easier to write a program if you wanted to. Blame ease-of-use culture; blame video games; blame stupid parents; but blaming the lack of access to programming languages is ridiculous to say the least.

    --
    Carpe Daemon
    1. Re:Absolute nonsense by NorthWestFLNative · · Score: 2, Informative

      Have you looked at http://www.kidsprogramminglanguage.com/? It has a simple syntax along with advanced graphics. It was designed to be used in classrooms to teach kids how to program.

    2. Re:Absolute nonsense by helifex · · Score: 4, Informative

      On Windows... Right click on the desktop and create a new text file. Rename the text file to hello.vbs, then right click and choose edit. Enter the text 'msgbox "Hello world!"' and save it. Double click on the icon. The only thing that could make it easier was if they had added "vbs file" as a new document template. I don't think it's lack of availability that's the problem...

  3. Re:passworded article by Mprx · · Score: 5, Informative

    Visit http://www.salon.com/news/cookie756.html to get the cookie first.

  4. here is command line basic by enrevanche · · Score: 2, Informative
  5. BWBasic? by Intosi · · Score: 2, Informative

    How about bwbasic (https://sourceforge.net/projects/bwbasic/)? It's available for my FreeBSD system, my Ubuntu system, even MS-DOS... Sure, it might not be as über-sexy as buying a second-hand C64, but it's there for you to try BASIC programs..

    --

    Intosi

  6. FreeBASIC... by kerashi · · Score: 5, Informative

    If you really want to play with BASIC, you still can. There is Freebasic, at http://www.freebasic.net/, a GPL'ed open source BASIC compiler.

  7. BTW: The article is by SF writer David Brin by haplo21112 · · Score: 3, Informative

    The Original Post didn't mention that I thought it might be of interest to some people to know that ahead of time. Perhaps influencing the descion about reading it or not.

    --
    Power Corrupts,Absolute Power Corrupts Absolutely, leaving one person(group)in charge is absolutely corrupt.
  8. Wait... by Aladrin · · Score: 2, Informative

    Are you seriously telling me that with languages like VB.net, C#, Ruby, javascript and other 'easy' languages, kids can't learn to code these days? I call BS on this. Sure, I started on an Apple IIe in 4th grade, and gradually moved up to real languages (C, PHP, etc etc) eventually, but that doesn't mean the 'lack' of BASIC stops kids from coding.

    There are even languages developed solely to interest kids in programming.

    http://www.kidsprogramminglanguage.com/
    http://en.wikipedia.org/wiki/Alice_(software)

    I'm sure there's more out there, but Alice was the one I remembered, and found KPL on the way.

    No, there are no more barriers to programming than any other science.

    --
    "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
  9. Re:Why Line-Oriented? by will_die · · Score: 2, Informative

    a line oriented language is one where all the parts of the command have to be on a single line. some newer ones allow a line seperator so that you can make it easier to read.
    this is opposed to statement oriented where all parts have to be part of the single statment, usally multiple lines but with a statement ender, or a block oriented language that has begining and ending tags for the block.

  10. Re:Kids today...... :-) by ultranova · · Score: 2, Informative

    c, c++, java, perl, python, php, pascal, javascript, whatever - you can write all your source the old way - line-by-line, and most of us do. Heck, even Delphi, one of the better IDEs, doesn't require the IDE environment if you really want to go the type-in-all-the-source route. Last I looked, both c/c++ and java were available for free for all the major platforms.

    None of those are line-oriented programming languages. They are block-oriented and some of them are object-oriented programming languages. A line-oriented programming language looks like this:

    10 print "Hello World!"
    20 goto 10

    A block-oriented programming language looks like this:

    int main(void) {
    while(true) {
    fprint("Hello World!\n");
    fflush(NULL);
    }
    return 0;
    }

    And an object-oriented one looks something like this:

    public class HelloWorld extends Object {
    private class NoMessageException extends Exception {
    public NoMessageException(String cause) {
    super(cause);
    }
    }

    private final String message;

    public HelloWorld(String message) throws NoMessageException {
    if (message == null)
    throw new NoMessageException("No message.");
    this.message = message;
    }

    public void printMessageInEndlessLoop() throws IOException {
    /*
    * Some subclass in some distant future might throw IOException,
    * so better make everyone catch it already.
    */
    while(true)
    System.out.println(message);
    }

    public static void main(String args[]) {
    try {
    HelloWorld world = new HelloWorld("Hello World!");
    } catch (NoMessageException e) {
    System.err.println("No message ?!? AARRGGHH!!!");
    }
    try {
    world.printMessageInEndlessLoop();
    } catch (IOException e) {
    System.err.println("Got IOException, exiting...");
    }
    }
    }

    I realize that there's easier ways to do it with Java than the one shown, but as many in Slashdot have said, the guy who doesn't produce code that makes a computer science professor get an orgams by just reading it is not going to get a job - I'm talking to you, whoever it was that said that using a goto results in automatic rejection of the applicant.

    So, anyway: if you were a kid, you might write the two-line Basic script, or even the C one; but would you bother with Java, or would you give up ? And more importantly, since kids mostly learn from other people's code at the beginning: which code is the easiest to reverse engineer ?

    --

    Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

  11. Re:Why Line-Oriented? by Abcd1234 · · Score: 2, Informative

    I'm particularly glad you mentioned Squeak. For a kid who's very curious, Squeak is the ultimate learning environment. Not only can you write very interesting programs very easily using the powerful tools it provides, but you can also dig around in the system internals themselves! Just fire up the class browser, and voila, everything is laid bare before you. And if you bugger something up, you just terminate the VM and reload the image! Truly a *fantastic* system, one I wish I had access to when I was first dipping my feet into programming.

  12. Re:prof.dr.Edsger W.Dijkstra Is An Idiot by Doctor+Faustus · · Score: 2, Informative

    Do you even know who he was (he died a few years ago)?

    Yes, I think he overstated the case against BASIC (although I believe BASIC was much worse when he wrote that than by the time Commodore came along), but he's probably one of the top ten or so computer science figures of all time, along with John Bachus, John McCarthy, Tony Hoare, John Von Neuman, Alan Turing and a few others.