Jump to content

Herbert Schildt

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 203.218.80.153 (talk) at 17:56, 20 April 2010 (You have no way of verifying this author. Stop vandalizing this page.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Herbert Schildt is an American computer science author whose books, particularly on C programming, have been best-sellers in three decades.

Life

Schildt is a computer science author who holds both graduate and undergraduate degrees from the University of Illinois at Urbana-Champaign (UIUC). His earliest books were published in the 1985-1986 time frame. (The book Advanced Modula-2 from 1987 says on the cover that it is his sixth book.)

His books are all published by Osborne, an early computer book publisher which concentrated on titles for the personal computer, and after the acquisition of Osborne by McGraw-Hill, the imprint continued publishing Schildt's work until the imprint was subsumed completely into the larger company.

Little C

One of Schildt's most enduring projects is the Little C interpreter, which is a lengthy example of a hand-written recursive-descent parser which interprets a subset of the C language. The program was originally published in Dr. Dobb's Journal in August, 1989 entitled "Building your own C interpreter". This example was included in the book Born to Code In C (Osborne, 1989) and in a later edition of C: The Complete Reference.

The code for this interpreter can be found online in several places, including Internet archives of old Dr. Dobb's Journal disks and the McGraw-Hill web site for code downloads.

Schildt's book The Art of C++ features an interpreter for a language called Mini-C++ which is almost identical to the Little C interpreter. (Mini-C++ does not even support the "class" keyword, although minimal and artificial support for cin and cout has been added.) The code for Mini-C++ is online, although the book itself is no longer in print.

There is also a BASIC interpreter called Small BASIC in Turbo C: The Complete Reference, first edition. This implements a minimal version of the historical (i.e. non-Algol, non-structured) BASIC. It uses the same design as Little C.

Starcastle

In addition to his work as a computer scientist, Schildt is the original multi-keyboardist for the progressive rock band Starcastle, appearing on all of the group's albums, most of which were produced from 1976-1978. His style is distinguished by extensive use of Oberheim analog sequencers to create ethereal washes of sound colors, a pioneering technique which was quite cutting-edge for the pre-digital synthesizer period. He is also featured on the band's 2007 album "Song of Times."

Reception

Schildt's books have a reputation for being written in a clear style that is very easy to understand. However, their technical accuracy has been criticized. Peter Seebach, a former voting member of ISO C committee and moderator of the Usenet group comp.lang.c.moderated, alleges that Schildt's C: The Complete Reference contains code with beginner's mistakes and statements suggesting the wrong idea.[1] Schildt's The Annotated ANSI C Standard was similarly criticized by Clive Feather, who is also an ISO C committee member, and by Steve Summit, author of the C FAQ.[2][3]

From January 2010 through March 2010, an online discussion on comp.lang.c revealed that the source of most of the damaging information about Schildt was an article "C: the Complete Nonsense" posted in 1996 concerning the third edition of "C: the Complete Reference". This article had remained a source for many references to Schildt through Schildt's publication of a fourth edition of CTCR. Apart from an article by one Clive Feather on a later Schildt book ("The Annotated C Standard"), which copies the polemic style of "C: the Complete Nonsense") no independent work has reached the conclusions of "C: the Complete Nonsense".

A major misunderstanding was created in debating the demerits of using the idiom "void main()". This idiom, which was used in CTCR edition 3 but not in the fourth edition, was said to be nonstandard C.

However, the current C standard "blesses" this as "freestanding" C code that's standard as opposed to "hosted" C code. It is not good style according to a consensus of programmers since the implication is that the program's return value (which is unpredictable when void main() is used) can be used by a command line processor but it is not "nonstandard C".

"C: the Complete Reference" was replaced by its author with an admission that the previous article had had "deficiencies". However, the replacement article is at this writing a further list of new "errors" that the author claims to find in Schildt's fourth edition. It is also in a polemic style and cannot, according to some observers on comp.lang.c, constitute an NPOV document.

For this reason, a new "Biographies of Living Persons" issue has been opened on this wikipedia article, which may have been created in 2006 to destroy Schildt's reputation and credibility, and was based primarily on an edition of "C: the Complete Nonsense" which was polemic in tone, NNPOV, and, by its author's own admission, based on the wrong edition of "C: the Complete Reference" in 2006, yet was cited as a NPOV source.

Bibliography (of selected books)

  • Modula-2 Made Easy (ISBN 0-07-881241-0, Osborne, 1986)
  • Advanced Turbo Pascal (ISBN 0-07-881283-6, Osborne, 1987)
  • Advanced Modula-2 (ISBN 0-07-881245-3, Osborne, 1987)
  • Advanced Turbo Prolog 1.1 (ISBN 0-07-881285-2, Osborne, 1987)
  • Advanced Turbo C, foreword by Phillipe Kahn (ISBN 0-07-8814790, Osborne, 1987)
  • Artificial Intelligence in C (ISBN 0-07-881255-0, Osborne, 1987)
  • C: The Complete Reference (ISBN 0-07-881313-1 Osborne, 1987)
  • Advanced C (ISBN 0-07-881348-4, Osborne, 1988)
  • Turbo C: The Complete Reference (ISBN 0-07-881346-8, Osborne, 1988)
  • Advanced Turbo C (ISBN 0-07-881479-0, Osborne, 1989)
  • Born to Code In C (ISBN 0-07-881468-5, Osborne, 1989)
  • The Annotated ANSI C Standard (ISBN 0-07-881952-0, Osborne, 1990)
  • Teach Yourself DOS (ISBN 0-07-881630-0, Osborne, 1990)
  • Teach Yourself C (ISBN 0-07-881596-7, Osborne, 1990)
  • C++: The Complete Reference (ISBN 0-07-8816548, Osborne, 1991)
  • Teach Yourself C++ (ISBN 0-07-881760-9, Osborne, 1992)
  • Java: The Complete Reference, with Patrick Naughton (ISBN 0-07-882231-9, Osborne, 1996)
  • Java 2 Programmer's Reference, with Joe O'Neil (ISBN 0-07-212354-0, Osborne/McGraw Hill, 2000)
  • C#: A Beginner's Guide (ISBN 0-07-213329-5, Osborne/McGraw Hill, 2001)
  • C++: A Beginner's Guide (ISBN 0-07-219467-7, Osborne/McGraw Hill, 2002)
  • Java: A Beginner's Guide (ISBN 0-07-222588-2, Osborne/McGraw Hill, 2002)
  • The Art of C++ (ISBN 0-07-225512-9, Osborne/McGraw Hill, 2004)
  • Herb Schildt's C++ Programming Cookbook (ISBN 0-07-148860-X, Osborne/McGraw Hill, 2008)

References

  1. ^ Seebach, Peter. "C: The Complete Nonsense (4th Edition)". Retrieved 2010-04-08.
  2. ^ Feather, Clive. "The Annotated Annotated C Standard".
  3. ^ "Unfortunately, the book contains numerous errors and omissions, primarily in the annotations, and a few pages of the standard itself are missing. Many people on the Internet recommend ignoring the annotations entirely." Summit, Steve (1996). C Programming FAQs. Addison-Wesley. pp. 169–170. ISBN 0-20-184519-9.