Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Why Johnny Can't Code 686

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."
This discussion has been archived. No new comments can be posted.

Why Johnny Can't Code

Comments Filter:
  • by GreyPoopon ( 411036 ) <gpoopon@gmaOOOil.com minus threevowels> on Thursday September 14, 2006 @08:09AM (#16103057)
    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.
  • Absolute nonsense (Score:5, Informative)

    by realnowhereman ( 263389 ) <andyparkins@gmai l . com> on Thursday September 14, 2006 @08:09AM (#16103059)
    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.
  • by Mprx ( 82435 ) on Thursday September 14, 2006 @08:12AM (#16103070)
    Visit http://www.salon.com/news/cookie756.html [salon.com] to get the cookie first.
  • by enrevanche ( 953125 ) on Thursday September 14, 2006 @08:16AM (#16103092)
  • BWBasic? (Score:3, Informative)

    by Intosi ( 6741 ) on Thursday September 14, 2006 @08:16AM (#16103093) Homepage
    How about bwbasic (https://sourceforge.net/projects/bwbasic/ [sourceforge.net])? 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..
  • FreeBASIC... (Score:5, Informative)

    by kerashi ( 917149 ) on Thursday September 14, 2006 @08:16AM (#16103094)
    If you really want to play with BASIC, you still can. There is Freebasic, at http://www.freebasic.net/ [freebasic.net], a GPL'ed open source BASIC compiler.
  • 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.
  • Wait... (Score:3, Informative)

    by Aladrin ( 926209 ) on Thursday September 14, 2006 @08:26AM (#16103152)
    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/ [kidsprogra...nguage.com]
    http://en.wikipedia.org/wiki/Alice_(software) [wikipedia.org]

    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.
  • by will_die ( 586523 ) on Thursday September 14, 2006 @08:35AM (#16103208) Homepage
    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.
  • Re:Absolute nonsense (Score:2, Informative)

    by NorthWestFLNative ( 973147 ) on Thursday September 14, 2006 @08:42AM (#16103270) Journal
    Have you looked at http://www.kidsprogramminglanguage.com/ [kidsprogra...nguage.com]? It has a simple syntax along with advanced graphics. It was designed to be used in classrooms to teach kids how to program.
  • Re:Absolute nonsense (Score:4, Informative)

    by helifex ( 921775 ) on Thursday September 14, 2006 @08:50AM (#16103320)
    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...
  • by ultranova ( 717540 ) on Thursday September 14, 2006 @09:29AM (#16103675)

    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 ?

  • by Abcd1234 ( 188840 ) on Thursday September 14, 2006 @09:34AM (#16103718) Homepage
    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.
  • 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.

Today is a good day for information-gathering. Read someone else's mail file.

Working...