Summary:
Ever wished there was an easier way to learn C from a
book?
Head First C is a complete learning experience that
will show you how to create programs in the C language. This
book helps you learn the C language with a unique method that
goes beyond syntax and how-to manuals and helps you
understand how to be a great programmer. You'll learn key
areas such as language basics, pointers and pointer
arithmetic, and dynamic memory management, and with advanced
topics such as multi-threading and network programming,
Head First C can be used as an accessible text book
for a college-level course.
What 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. David Griffiths began programming at age 12, after being
inspired by a documentary on the work of Seymour Papert. At
age 15 he wrote an implementation of Papert's computer
language LOGO. After studying Pure Mathematics at University,
he began writing code for computers and magazine articles for
humans and he is currently an agile coach with Exoftware in
the UK, helping people to create simpler, more valuable
software. He spends his free time traveling and time with his
lovely wife, Dawn. Dawn Griffiths started life as a mathematician at a top UK
university where she was awarded a First-Class Honours degree
in Mathematics. She went on to pursue a career in software
development, and has over 15 years experience working in the
IT industry. Dawn has written several books, including Head
First C, Head First Statistics and Head First 2D
Geometry.
Also, like a college course, the book features labs:
projects intended to stretch your abilities, test your new
skills, and build confidence. You'll go beyond the basics of
the language and learn how to use the compiler, the make tool
and the archiver to tackle real-world problems.
We think your time is too valuable to waste struggling
with new concepts. Using the latest research in cognitive
science and learning theory to craft a multi-sensory learning
experience,
Head First C uses a visually rich format designed
for the way your brain works, not a text-heavy approach that
puts you to sleep.Amazon.com Review
Author Interview with David & Dawn Griffiths
About the Author