Slashdot Mirror


Learn How to Program Using Any Web Browser

honestpuck writes "Harold Davis has started with a marvelous idea, teaching programming using a language available on all platforms, JavaScript, and an interface familiar to everyone, the web browser. Learn How to Program Using Any Web Browser is written for absolute beginners to learn the basic principles of programming -- or at least that's what the cover would have you believe." Read on for honestpuck's evaluation of that claim. Learn How to Program Using Any Web Browser author Harold Davis pages 396 publisher Apress rating 5 reviewer Tony Williams ISBN 1590591135 summary Not much programming, but well written

The language is suitably light and simple, the book well-structured and broken down into easily digested chunks. The order in which concepts are introduced is fairly traditional for a language tutorial: first we get types, variables and statements, before moving on to conditionals, loops, and functions, followed by arrays and objects before finishing with event-driven programming. Davis' decision to leave string handling till last seems a little perverse and personally I would have introduced functions earlier.

My real complaints about this book centre on the abstract nature of the discussion. There are very few real world examples that could be useful to anyone. The best you get is a version of "Rock, Paper, Scissors" in Chapter 3, and an 'auction' application. The book would have been improved dramatically if the end result of your study was a few things you could actually point to.

I also have a complaint about the target audience for this book. The web page for the book at the publishers states that "The target reader is likely a twelve- or thirteen-year-old, who is just starting to get curious about what makes a computer work -- or an office worker who has been using computer applications for years, and would like to spend some time delving deeper into what makes them tick." Most adults and even teenagers don't want to 'learn how to program' as much as they want to learn how to use a tool to perform a task. If your tool is JavaScript, then it's almost certain your task is related to building web pages, but this gets little real attention from Davis. For even younger students, this book totally lacks anything to hold their attention -- the lack of real-world examples hurts here.

I also take issue with the title: this book doesn't really teach 'programming' much at all. It certainly teaches you to write JavaScript, but where are the sections about the real lessons of programming, such as top-down vs. bottom-up design, or breaking a task up into chunks? Even debugging has little coverage -- a single thirty-page chapter, half of which is specific to JavaScript or the throwing and handling of exceptions. Since the work of Papert and others at MIT twenty-five years ago, we've learned a great deal about how to teach programming concepts in a simple manner, but Davis appears to have ignored all this and given us a language tutorial. The publisher's web page for the book says "very emphatically, this is not a book about programming JavaScript." If that's so then I'd argue that it isn't a book about learning the principles of programming either.

It is obvious from this book that Davis is an excellent writer; if he had tried to write a book to teach JavaScript and had focused on the tasks for which it is often used this, volume may have been superb. As it is, he has shot for a higher goal and fallen far too short.

If you would like to check it out for yourself, you can go to the web page for the book where there is sample chapter, the Table of Contents (though they call it a "Detailed TOC" as distinct from the 'Table of Contents,' which is just a list of 11 chapter titles) and index, all in PDF format.

I went looking for a book that I could give to my 11-year-old daughter now that she has become interested in "what Daddy does." I'm still looking, I'm certain that this one isn't it.

You can purchase Learn How to Program Using Any Web Browser from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

19 of 456 comments (clear)

  1. HUH? by Anonymous Coward · · Score: 4, Funny

    Why Java? Everyone knows VB is the language of certified professionals.

    1. Re:HUH? by rsborg · · Score: 2, Funny
      Everyone knows VB is the language of certified professionals

      Don't you mean Certifiable professionals?

      --
      Make sure everyone's vote counts: Verified Voting
  2. I sure don't want to see code written by Anonymous Coward · · Score: 5, Funny

    by someone who learned to code from JS :(

  3. This is wrong on so many levels by Anonymous Coward · · Score: 5, Funny

    Having a programmer's first effort be a JavaScript pop-up with: "Hello YOUR COMPUTER IS BROADCASTING YOUR IP ADDRESS TO THE WORLD!" is just wrong

    1. Re:This is wrong on so many levels by nicodaemos · · Score: 2, Funny

      True, but they may be quickly employable by a number of irritating pop-up advertising companies.

  4. My thoughts on it by ShecoDu · · Score: 3, Funny

    I bet this article is going to rise a lot of flames... come on.. javascript... slashdot? yeah sure...

    document.write("First Post");

  5. Sure it is! by Anonymous Coward · · Score: 2, Funny

    Don't you get it, Emacs is the browser and the IDE all in one! It does your laundry too!

  6. Re:javascript is horrible by Anonymous Coward · · Score: 5, Funny
    not only does it's syntax suck

    Ironic.

  7. Just what we need by Silon · · Score: 2, Funny

    What this world really needs is more web pages by 12-year-olds with funny little interactive images and little rainbow sparkly things that follow your mouse around. Thanks, Harold.

  8. Can I get a Hindi version? by BigChigger · · Score: 4, Funny

    Otherwise, no need to be training any new programmers.

    BC

  9. the joy of js by Anonymous Coward · · Score: 4, Funny

    most program headers start off with something like

    if netscape
    if netscape3
    else
    else if opera
    if opera5
    else
    elsif explorer
    elseif mac
    elseif explorer 5
    elseif explorer 5.5
    elseif explorer 6.0
    else

    nothing like a consistant clean language.... and this is nothing like one.
    but then java has some of the same problems in some areas

  10. Re:Why teach programmers, period by the_consumer · · Score: 1, Funny

    Hope you like poop.

    --
    "If you're thinking what I'm thinking, you're right." -
  11. OT: test your nerd factor by Anonymous Coward · · Score: 1, Funny

    Test your m4d n3rd skillz on this test.

    I just scored a meager 40,5% and I hope the /.-crowd can do better than that. But I warn you, the questions ARE ridiculously difficult at times... ;)

  12. Re:Best way to learn by Anonymous Coward · · Score: 1, Funny

    There's a big difference between learning to program in another language (especially if you're just picking up another imperative language) and learning to program for the first time.

    It's kinda like the difference between getting laid & losing your virginity...

    Oh, wait.. this is slashdot; bad example.

  13. Re:JavaScript for Children? What about Flash? by TrollBridge · · Score: 2, Funny
    "I also don't think most 12-14 year olds really want an in-depth discussion of programming principals, like the review suggest."

    Nonsense! When I was a lad, I found discussions about developing clean algorithms and object-oriented programming concepts fascinating!

    Course, I did get robbed and beat up a lot in school... do you think the two are related in some way?

    --
    There's a Mercedes gap too. I want one and can't afford one, but it's not government's job to do anything about it.
  14. Machine Code by axis-techno-geek · · Score: 4, Funny
    Available on ALL platforms, runs at top speed.

    Helps weed out the slackers ;)

    --
    This is not the sig line you are looking for... -- Old Jedi Sig Line Trick
  15. Inevitable bad joke... by ivanmarsh · · Score: 2, Funny

    Where can I download the "Any" browser?

  16. Re:Java? by Moderator · · Score: 3, Funny

    Programming is a dangerous skill and should only be used by people mature enough to use it responsibly. The best way to make sure they are mature enough is to make learning hard enough that all of those script kiddies will run off to download pr0n instead of learning to program.

    Driving a car is a dangerous skill and should only be used by people mature enough to use it responsibly. The best way to make sure they are mature enough is to make learning hard enough that all of those people who drive automatics and can't perform a basic engine swap will turn to public transportation instead of learning how to use a car.

    --
    The World is Yours.
  17. Re:Java? by JamesOfTheDesert · · Score: 2, Funny
    Why not this:

    Harold Davis has started with a marvelous idea, teaching programming using a language available on all platforms, Java

    Maybe because, with Java, before you can even write Hello, World!, you need to have a class, plus public static void main, plus System.out. And then compile it.

    With ECMAScript and a browser, it's
    println( "Hello, World!");

    --

    Java is the blue pill
    Choose the red pill