- Paperback: 384 pages
- Publisher: Addison Wesley; Pap/Dvdr edition (4 September 2015)
- Language: English
- ISBN-10: 0321884922
- ISBN-13: 978-0321884923
- Product Dimensions: 17.3 x 2.8 x 23.1 cm
- Average Customer Review: Be the first to review this item
Amazon Bestsellers Rank:
#2,23,045 in Books (See Top 100 in Books)
- #121 in Books > Computing, Internet & Digital Media > Programming & Software Development > Languages > C & C++ > C
- #1764 in Books > Textbooks & Study Guides > Higher Education Textbooks > Computer Science > Programming Languages
- #9425 in Books > Textbooks & Study Guides > Higher Education Textbooks > Engineering
Learn C the Hard Way: Practical Exercises on the Computational Subjects You Keep Avoiding (Like C) (Zed Shaw's Hard Way) Paperback – 4 Sep 2015
Save Extra with 1 offer
- Cashback (3): Go Cashless: Get 10% cashback up to Rs. 50 using BHIM UPI (available only on mobile app/website) or RuPay cards. Offer period 1st September to 30th September. Cashback will be credited as Amazon Pay balance within 15 days from purchase. Here's how
- Go Cashless: Get 10% cashback up to Rs. 100 using Visa debit card, credit card or ATM card. Only on your first 2 cashless orders on Amazon.in (including mobile recharges and bill payments). Offer period 4th Sep to 30th Sep. Cashback within 10 days. Here's how
- Go Cashless: Get 10% cashback up to Rs. 100 using Visa Signature or Visa Infinite cards. Offer valid only once per customer (including mobile recharges and bill payments). Offer period: 11th Sep to 27th Sep. Cashback within 10 days. Here's how
Customers who viewed this item also viewed
Customers who bought this item also bought
About the Author
Zed Shaw is an avid guitar player, programmer, and writer whose books teach people all over the world how to write software. His books Learn Python the Hard Way and Learn Ruby the Hard Way (both now in their third editions) have been read by millions of people around the world. His software has been used by many large and small companies. His essays are often quoted and read by members of many geek communities. An entertaining and lively writer, he will keep you laughing and make you think.
From the Publisher
|Title||C Programming Absolute Beginner's Guide, 3/e||Learn C the Hard Way: Practical Exercises on the Computational Subjects You Keep Avoiding (Like C)||C Programming in One Hour a Day, Sams Teach Yourself, 7/e||C Primer Plus, 6/e||Programming in C, 4/e|
|Author(s)||Greg Perry, Dean Miller||Zed A. Shaw||Bradley L. Jones, Peter Aitken, Dean Miller||Stephen Prata||Stephen G. Kochan|
|Binding||Paper||Paperback with DVD||Paper||Paper||Paper|
|Series||Absolute Beginner's Guide||Zed Shaw's Hard Way Series||Sams Teach Yourself||Developer's Library||Developer's Library|
|Brief Description||Write powerful C programs. ..without becoming a technical expert! This book is the fastest way to get comfortable with C, one incredibly clear and easy step at a time. You’ll learn all the basics: how to organize programs, store and display data, work with variables, operators, I/O, pointers, arrays, functions, and much more. C programming has never been this simple!||Perfect for beginning C programmers eager to advance their skills in any language. Follow it and you will learn the many skills early and junior programmers need to succeed by working through 52 brilliantly crafted exercises with accompanying videos and exercises from Zed Shaw. Fix your mistakes. Watch the programs run. As you do, you’ll learn what good, modern C programs look like; how to think more effectively about code; and how to find and fix mistakes far more efficiently.||Filled with carefully explained code, clear syntax examples, and well-crafted exercises, this is the broadest and deepest introductory C tutorial available. It delivers step-by-step, hands-on experience that starts with simple tasks and gradually builds to professional-quality techniques. Each lesson is designed to be completed in hour or less, introducing and clearly explaining essential concepts, providing practical examples, and encouraging you to build simple programs on your own.||This book teaches principles of programming, including structured code and top-down design. Many short, practical examples illustrate one or two concepts at a time, encouraging readers to master new topics by immediately putting them to use. Review questions and programming exercises at the end of each chapter bring out the most critical pieces of information and help readers understand and digest the most difficult concepts. A friendly and easy-to-use self-study guide, this book is appropriate for serious students of programming, as well as developers proficient in other languages.||Whether you’re a novice or experienced programmer, this book will provide you with a clear understanding of this language, which is the foundation for many object-oriented programming languages such as C++, Objective-C, C#, and Java. This book teaches C by example, with complete C programs used to illustrate each new concept along the way. Stephen Kochan provides step-by-step explanations for all C functions. You will learn both the language fundamentals and good programming practices. Exercises at the end of each chapter make the book ideally suited for classroom use or for self-instruction.|
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter mobile phone number.
|5 star (0%)|
|4 star (0%)|
|3 star (0%)|
|2 star (0%)|
|1 star (0%)|
Most helpful customer reviews on Amazon.com
I have very mixed feelings about this book. As a bit of background on me, I am a CS student who worked through most of K.N. King's "C Programming: A Modern Approach" last year as my formal introduction to both C and programming in general. So I'm not a total beginner at C, but I'm certainly not an expert, by any means.
Let me start with the good points about this book:
+ You will be exposed to a lot of code. And not just "textbook" code where everything is reduced and condensed to show off some facet of programming (e.g. "class Cat extends Animal"), but real code, the kind of thing you might see in an actual C project on Github. You will have to work through the code and understand what it does with relatively little handholding.
+ You will be exposed to a lot of data structures. Linked lists of several varieties, databases, structures, search trees, hash maps, and more are all used in various exercises.
+ You will gain insight from a very experienced programmer--the author! It's clear from reading this book that Zed Shaw has a lot of experience writing C professionally. He has a lot of pointers (heh) on writing code.
+ The videos are very good. There's an included DVD with lectures related to each exercise. They add a lot to the value of the book.
+ You will be exposed to other useful ideas: testing, defensive programming, etc. These are useful no matter what language you're writing in.
Now, the bad points:
- Poor copy editing. One example: in the writeup of exercise 17, in the "how to break it" section Zed writes, "For example, remove the check on line 160..." In the code, line 160 is a blank line.
- Vague, incomplete, or totally missing explanations. This was the worst part of the book in my opinion. If you're the kind of person who likes to more or less completely understand how some feature or mechanism of a programming language works before using it yourself, you may find this book frustrating. I was often referring back to K.N. King's book to review things that Zed Shaw was introducing in his code and then explaining in one or two sentences, if at all. Sometimes I was reading entire chapters of K.N. King's book before being able to dive back in to Learn C the Hard Way. You may often finding yourself searching online for definitions of standard library or other functions to get an idea of how they're fitting into the code examples. Which makes me wonder, if I have to read another textbook to understand Learn C the Hard Way, why don't I just stick with that other textbook?
Here's one example off the top of my head. Mr. Shaw says of the "register" keyword: "Forces the compiler to keep this variable in a register, and the compiler can just ignore you." Isn't that self-contradictory? How can the compiler ignore something it is "forced" to do? K.N. King's explanation was longer but much more explanatory, including the sentence: "Specifying the storage class of a variable to be register is a request, not a command. The compiler is free to store a register variable in memory if it chooses." Mr. Shaw's use of the word "force" is misleading and sloppy, and his explanation confused more than clarified.
If the example code in the exercises had had a few more pages of explanation each, I could probably have really enjoyed this book. As it is, I found it tedious, as I was spending most of my time with other sources just to understand what was written. For most concepts, I couldn't understand Mr. Shaw's super terse explanations until I had already understood some other source's explanations of that concept.
So, would I recommend this book? Well, it depends. If you don't anything about C, then I'd suggest K.N. King's C book, which is much more thorough and precise with explanations. If you have already studied C, then this might be useful as a review.
Shaw is not an academic, and he has no intention to teach you C according to the standards. His teaching style is aimed at teaching you the street-smarts of C programming - things that may get you scoffed at by the grey-bearded UNIX dinosaurs of the 70's and 80's, but amount to software which is far more secure, practical, accurate, and reliable in the present age than what you can achieve by sticking to the olden C standards.
A big part of this is self-sufficiency. Shaw will explain precisely what is practical to you regarding the concepts of a language with the low-level of abstractions that C has. The rest, he wants you to learn from experience: By reading the right manpages, asking other programmers, well-phrased Google queries, and, most importantly breaking and augmenting the code samples he provides you, no training wheels. A 50-page writeup on how malloc() is implemented in the compiler may be through, but resourcefulness is a far more valuable skill for hackers to have, and Zed intends to teach you this, par excellence.
If you're a programmer wanting to learn C's secrets, this will be a great entry point. It will not be handed to you, and you will need to rely on your own cunning and resourcefulness to get the full value of the course. At the end, you'll know enough C to be dangerous, and producing code that's anything but.
Zed Shaw's course is like having a mentor guide you through not just the language, but the modern C development environment. Included are
tips on what tools to use, and traps for the naive.
This book, by no means, should be your only C book. This book is for you if you have modest programming experience in a high level, garbage collected language on a Unix-like system (ie. Python, Perl, Ruby, etc.), and need to learn how to speed up parts of the program by writing in C. Given the audience it is written for, certain things are oversimplified. But that does not mean the book is bad.
On the contrary, it is likely the best introductory book for new C programmers. If you are a kernel hacker who has dreams that correctly compile, you are likely to be disappointed.
Some caution about getting a used copy: make sure you get one that has the DVD, as it has info not contained in the text. They supplement each other, and the book isn't nearly as useful without it.
Other texts worth study (after this) include: 21st Century C: C Tips from the New School and Practical C Programming: Why Does 2+2 = 5986? (Nutshell Handbooks)