جزییات کتاب
Author Interview with David & Dawn GriffithsWhat made you write the book?There are already great C books, but many of them are pretty hard for a new developer to understand. Many of the existing books were written several years ago when people were still focused on memory and chips and assembly language. That's not the case any more and we felt that the world was ready for a modern introduction to C.Why is your book especially important now?Because C is still hugely popular. Tiobe currently list C as the second most popular language after Java; langpop.com list it as the most popular language in the world. In the last few years, the number of platforms has increased dramatically. People don't just use desktop Windows machines any more. There are tablets, phones, and even custom Arduino devices. People are hacking Linux. Makers are building things to do who-knows-what and all of these platforms have one thing in common: they have applications written in C, or use languages that are based on C. The first thing that normally happens when a new platform is created is someone builds a C compiler for it. This book teaches people how to make the most of that.What is the single most important thing readers will be able to do after reading your book?Head First C takes you deeply into how memory and pointers work and how to avoid the pitfalls. That sounds like a small thing, and for most languages memory-use is not a big issue. But things like memory-pointers are a huge stumbling block for new C programmers. We teach the ways that array variables are like pointer variables, and the ways that they are very different. We take you on a journey through the stack and the heap. Show you how literals work. We even show you how to use advanced tools like valgrind to track down and fix memory problems in your code. In a fundamental way, if you understand how C uses memory, then you understand C.Who is your intended audience?Really anybody who's new to C, whether they're writing Linux code, or programming Arduino. But our primary audience is college students who are building their first C projects. C is popular in colleges because it's such a foundational subject. But if you're suddenly thrust into an introductory C course and you start to have problems with the code, where do you go? What do you think is on the horizon for your readers?C is important because it gives you a much more fundamental understanding of how the computer works. If you really understand C, you will be more equipped to learn other languages. If you know C, you can become a better Java programmer. If you learn C, you will have a better understanding of how Python works. Once you learn C, you have the foundations in place to, say, program games in C++, or write code in Objective C that will make the most of the hardware on the iPhone or iPad. Or to enter the world of open source development on Linux. C is an entry point to a whole other level of development.