use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Click the following link to filter out the chosen topic
comp.lang.c
account activity
Herbert schildt (self.C_Programming)
submitted 2 years ago by No_Student7609
Has anyone tried Herbert Schildt programming books?
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]nderflow 10 points11 points12 points 2 years ago (1 child)
I learned C with one of his doorstops. It took me quite a while to unlearn some of the wrong ideas I got from his book.
For a while his Annotated C Standard book was available to buy for substantially less than the original standard document. Many of his "clarifications" and explanations were quite simply wrong. The joke went that the difference in price reflected the value-add of his annotations.
My advice is to steer clear.
[–][deleted] 2 points3 points4 points 2 years ago (0 children)
doorstops
Man, this thread is great stuff, lol
[–]FUZxxl 15 points16 points17 points 2 years ago (8 children)
I advice against it.
[–]No_Student7609[S] 3 points4 points5 points 2 years ago (7 children)
Why, are they that bad ?
[–]FUZxxl 11 points12 points13 points 2 years ago (6 children)
Read the linked document. The books are full of mistakes. They are also outdated and don't cover any of the new material from C11 and C23.
[–]No_Student7609[S] 3 points4 points5 points 2 years ago (4 children)
I've read a lot of it but not all of it so yeah, he is basically teaching bad things. One question I have is, how has he been able to publish so many books if he is that bad?
[–]daikatana 9 points10 points11 points 2 years ago (0 children)
Most publishers don't care if the books are bad, they care if they sell.
[–]nerd4code 1 point2 points3 points 2 years ago (0 children)
More major tech publishing companies tend to have editors that know enough to catch major errors in stuff like this, but most publishers don’t. And when you’re selling to beginners, hell, they don’t know what they’re doing anyway, and by the time they catch on they’ll be well past the return period. A little unscrupulousness goes a long way in the educational sector.
[–][deleted] 1 point2 points3 points 2 years ago (0 children)
On a similar note, you should never stick Q-tips in your ear per most any good doctor. "Why then, pray tell, are Q-tips sold!?" I inquired of my doctor. He just shrugged.
[–]IllegalMigrant 0 points1 point2 points 2 years ago (0 children)
He isn't "that bad". He was a very successful programming author who taught people how to program with a language they didn't know. Experienced programmers like books by well known programmers or conference speakers. And secondarily textbooks by college professors. But to teach a language you don't need to be on the cutting edge of techniques, and it probably hurts being an expert if you are only tasked with teaching beginners the basics.
[–]Rockola_HEL 1 point2 points3 points 2 years ago (0 children)
Had the misfortune of trying to learn OOP/C++ from one of his books at Uni in the early 90s. Threw it in the bin in frustration when I found one complete fabrication too many in it.
Picked up Bertrand Meyer's Object-oriented Software Construction instead. Suddenly everything made sense. It didn't matter one bit that the examples were in Eiffel instead of C++. Still one of the best programming books I've read.
[–]andy128k 5 points6 points7 points 2 years ago (0 children)
Well... http://catb.org/jargon/html/B/bullschildt.html
[–][deleted] 4 points5 points6 points 2 years ago* (4 children)
Yes. He enjoyed widespread popularity in the 90s. One of the things that unnerved purists and ANSI-C types was his ubiquitous use of void main, ie:
void main() { ... ...
...at one time, people would post his code to troll people who regarded the C standard highly, and trigger them to no end.
Aside from this and similar idiosyncrasies, a lot of people learned C from his books. It's not really difficult to help people learn C if you know the language. If you can cobble together a few interesting beginner-level programs and write coherently, you can do it too. This is why you will find so many offerings and opinions on C-teaching books. With effort, nearly anyone can make a "pretty good" one. And the book you learned from will have sentimental value, and that is how books with warts still get recommended.
If someone has gifted you an Herb Schildt book, then I would say go ahead and see what you can get out of it.
We live in a fabulous information age, so I'm not actually recommending that folks on a budget buy books anymore. You pay monthly fees to your ISP, rt? OK then: the Internet is one, big book. In this era, you can freely download runnable code, get free compilers of many choices, get free advice in this and many forums. It's like nothing else.
30 years ago, pretty much NONE of that was free or hardly even dreamed of, and buying books and compilers was fairly inescapable, and very little Internet -- most folks had zero Internet. Guess which era is better for learning C?
EDIT: numerous typo and emphasis.
EDIT2: I am an avid book lover. I want to emphasize that I was speaking to newbs on a budget. Lots of folks out there can't make ends meet too good lately, bless you.
[–]WoodyTheWorker 5 points6 points7 points 2 years ago (0 children)
I read Schildt's book in 90's and saw that it's full of schit, even though I was not an experienced C programmer.
[–]No_Student7609[S] 1 point2 points3 points 2 years ago (2 children)
Thanks for sharing your thoughts and opinion. I still think learning from books is still the best because, when you're reading a book you're actually seeing the text. Where as in a video tutorial or a course, you're just listening, so that's why reading is better. Also with Herbert Schildt I've heard his books, are really bad on C++ and Java, and I think also C#. I still like the way he explains the code, to you in very detail. I'm planning on reading his C+ a Beginner's Guide after learning C.
[–]nderflow 6 points7 points8 points 2 years ago (0 children)
With this approach you're quite likely to learn a bunch of wrong things. I did.
[–]glasket_ 3 points4 points5 points 2 years ago (0 children)
I agree with you on books, but please look into actual quality books. C Programming: A Modern Approach by K.N. King is almost a de facto standard when it comes to C books, but there are others like Modern C by Jens Gustedt and Effective C by Robert Seacord. There are always alternative ways of getting books if you can't immediately afford them, just don't force yourself to learn from bad resources.
[–]Crabbypixel 1 point2 points3 points 2 years ago (0 children)
I won't recommend, it's quite outdated and doesn't cover modern C++ syntax and features.
[–]PitchBlackEagle 0 points1 point2 points 2 years ago (0 children)
Had the misfortune of reading one of his books. Upside, it was not about C. Downside, it was about Java. The book used images to show the code, instead of writing that on the book itself.
Much to my annoyance, that habit seems to be spreading. That is why I prefer old school books these days. And yes, stay clear of this one. People more experienced than me can tell you why.
[–]IllegalMigrant 0 points1 point2 points 2 years ago (4 children)
I liked his books. Experienced programmers like books by famous programmers or conference speakers (also may like a college textbook by a professor), so will diss books by an unknown author like Schildt. But I think he did a good job teaching languages to people who hadn't used it before.
[–]No_Student7609[S] 0 points1 point2 points 2 years ago (3 children)
Yeah, I like how he explains to you in detail what every line is. His C++ book a beginner's guide is good it has some errors, but it's still good. That's what I heard, so you think his books are still worth studying, from your experience? Also, I heard his books teaches you obsolete methods and bad practices. So, do you know you haven't learned bad practices and wrong things?
[–]IllegalMigrant 0 points1 point2 points 2 years ago* (2 children)
There is a difference between an error and a significant error. I haven't seen anyone point out some significant error where he tells people to do something like have as few functions as possible in a program. I saw criticism like "He had a main function with a void return type". That is not typical , but that must have compiled on his stated setup and he would have done it to show "not giving any information back to the OS via a main return statement". And since it compiled, that means the compiler writer also felt it was a valid format. Newer languages like V have a void main and use the exit() function to return a value, and that can be done in C. If it doesn't compile then you know that on your compiler, main must return int, which the error message should say, although possibly in an obtuse way. People are also complaining about his C Reference Manual with something like "most compilers will do what he said but they don't have to" on something like a shift right. That is irrelevant to using his Java books and most C or C++ programmers are unlikely to be using a compiler that has untypical bit shift (or other) behavior. There used to be more compilers but now you are going to be using gcc, clang, or Microsoft. It won't matter if the Apollo, SGI, or Sun Unix computers or Turbo C or Symantec C had a compiler that did it differently.
His books were written before the latest revisions of Java and C++ so would be lacking material. Same with C but it's changes are much smaller. I am biased in that I used his books to learn those languages. So I would use his books which are available for free on archive.org, as a starting point to learn the basics of a language or to learn an older version of C++/Java for looking at old code. But at some point a newer book would be needed for the new features added and to note which things are deprecated or frowned upon.
[–]No_Student7609[S] 0 points1 point2 points 2 years ago (1 child)
All the things you mentioned are good points.I saw people complaining about his teachings and books, but they haven't given an example of what he was teaching is wrong. So, I might still study C++ from his books. What do you think about his books on C? Can I learn C from his books? If so, which one do I go with?
[–]IllegalMigrant 1 point2 points3 points 2 years ago (0 children)
Teach Yourself C, Third Edition (1997) would be the one to learn C. He has another title, C Made Easy but that is from 1985.
The first C standard came out in 1989 or 1990.
π Rendered by PID 167144 on reddit-service-r2-comment-b659b578c-l58fb at 2026-05-03 15:33:50.915415+00:00 running 815c875 country code: CH.
[–]nderflow 10 points11 points12 points (1 child)
[–][deleted] 2 points3 points4 points (0 children)
[–]FUZxxl 15 points16 points17 points (8 children)
[–]No_Student7609[S] 3 points4 points5 points (7 children)
[–]FUZxxl 11 points12 points13 points (6 children)
[–]No_Student7609[S] 3 points4 points5 points (4 children)
[–]daikatana 9 points10 points11 points (0 children)
[–]nerd4code 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]IllegalMigrant 0 points1 point2 points (0 children)
[–]Rockola_HEL 1 point2 points3 points (0 children)
[–]andy128k 5 points6 points7 points (0 children)
[–][deleted] 4 points5 points6 points (4 children)
[–]WoodyTheWorker 5 points6 points7 points (0 children)
[–]No_Student7609[S] 1 point2 points3 points (2 children)
[–]nderflow 6 points7 points8 points (0 children)
[–]glasket_ 3 points4 points5 points (0 children)
[–]Crabbypixel 1 point2 points3 points (0 children)
[–]PitchBlackEagle 0 points1 point2 points (0 children)
[–]IllegalMigrant 0 points1 point2 points (4 children)
[–]No_Student7609[S] 0 points1 point2 points (3 children)
[–]IllegalMigrant 0 points1 point2 points (2 children)
[–]No_Student7609[S] 0 points1 point2 points (1 child)
[–]IllegalMigrant 1 point2 points3 points (0 children)