Learn How to Program Using Any Web Browser
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.
Why Java? Everyone knows VB is the language of certified professionals.
by someone who learned to code from JS :(
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
I bet this article is going to rise a lot of flames... come on.. javascript... slashdot? yeah sure...
document.write("First Post");
Don't you get it, Emacs is the browser and the IDE all in one! It does your laundry too!
Ironic.
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.
Otherwise, no need to be training any new programmers.
BC
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
Hope you like poop.
"If you're thinking what I'm thinking, you're right." -
Test your m4d n3rd skillz on this test.
/.-crowd can do better than that. But I warn you, the questions ARE ridiculously difficult at times... ;)
I just scored a meager 40,5% and I hope the
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.
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.
Helps weed out the slackers ;)
This is not the sig line you are looking for... -- Old Jedi Sig Line Trick
Where can I download the "Any" browser?
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.
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