I would like to preface this review by explaining that I have never been a great fan of the classic classroom approach to learning programming. I truly believe that educators need to take a real-world approach to teaching this subject, instead of the classic "theoretical" approach. Programming is a craft, and needs to be taught as such, not an abstract concept needing mathematical constructs and proofs to be totally understood. Yes, this stuff is ultimately necessary to know. But it falls on deaf ears to beginning programmers for at least two possible reasons: It fails to provide instant gratification to those students that want to see results, and/or it discourages students who cannot as yet see the "30,000 foot view", and therefore see the definitions out of context.
Which brings me to this book. The authors have apparently "seen the light" and have tried to adapt to the current programming standards by making their introduction to programming revolve around the web and internet environment. This is definitely a step in the right direction. The authors are to be applauded for that and also for their attempt to cover all the standard languages required to develop web applications today, a list which seems to go on forever. Unfortunately, they do it by limiting the scope to the usual pedantic exercises you get in Programming 101 at WhatsaMatta U. Examples: recursion is explained by creating a "factorial" calculator, a Java Script program that calculates a class's grade point average, references to the Fibonacci series. I would figure by now that professors would have gotten away from the penchant of using math examples for programming class, but I guess not. Bottom line: very little useful code. The authors spend much time teaching the classics: Arrays, Lists, sorting algorithms, control structures, and very little time actually using them. I would like it the other way around. I wouldn't spend more time defining a hammer than showing how to use it. Why do programming instructors think that their students need definitions more than they need real world examples?
Deitel and company try to cover alot of material in a rather slim volume. Accolades for that. Anyone looking for their first programming book, look no further....this is as good a place to start as any. You will as a result of buying this book, save lots of money and time. Where can you find an introduction to HTML, JavaScript, DHTML, VBScript, ActiveX, CGI, Perl, Java Servlets and XML all under one cover, not to mention basic programming? However, don't assume you will be creating your first website with this book, either, practically speaking, although it is certainly feasible to create something rudimentary. Buy this book if you always wanted to take Programming 101. Or......buy this book if you realize that the plethora of tools necessary to do web programming is intimidating, or at least, confusing, and you are looking for a guide that will explain how it all fits together, and "where to go from here".