Download Objective-C Programming - The Big Nerd Ranch Guide (2nd Edition) PDF - Programming Ebook


Download Programming Ebook

Thursday, June 8, 2017

Download Objective-C Programming - The Big Nerd Ranch Guide (2nd Edition) PDF

 Objective-C Programming - The Big Nerd Ranch Guide (2nd Edition)

Book Details 
  • Title:Objective-C Programming
  • ISBN-10:1942879346
  • Author: Aaron Hillegass
  • Publisher:Big Nerd Ranch, Inc
  • Language:English
  • Subject:Objective-C/ Computers & Technology / Programming / Apple Programming
  • No. of pages:440
  • Format:PDF


It is a great honor that I get to work with such amazing people. Several of them put a lot of time and energy into making this book great. I’d like to take this moment to thank them.
  • Mikey Ward wrote several chapters of this book including Your First iOS Application, Your First Cocoa Program, and Blocks. If I were a nicer boss, I would have put his name on the cover.
  • The other instructors who teach the Objective-C materials fed us with a never-ending stream of suggestions and corrections. They are Scott Ritchie, Mark Fenoglio, Brian Hardy, Christian Keur, and Alex Silverman.
  • My tireless editor, Susan Loper, took my stream-of-consciousness monologue that stumbled across everything a programmer needs to know and honed it into an approachable primer.
  • Several technical reviewers helped me find and fix flaws. They are James Majors, Mark Dalrymple, Scott Steinman, Bart Hoffman, Bolot Kerimbaev, and Nate Chandler.
  • Ellie Volckhausen designed the cover.
  • Chris Loper at designed and produced the EPUB and Kindle versions.
  • The amazing team at Pearson Technology Group patiently guided us through the business end of book publishing.

C and Objective-C

When you run a program, a file is copied from the file system into memory (RAM), and the instructions in that file are executed by your computer. Those instructions are inscrutable to humans. So, humans write computer programs in a programming language. The very lowest-level programming language is called assembly code. In assembly code, you describe every step that the CPU (the computer’s brain) must take. This code is then transformed into machine code (the computer’s native tongue) by an assembler.

Assembly language is tediously long-winded and CPU-dependent (because the brain of your latest iMac can be quite different from the brain of your well-loved, well-worn PowerBook). In other words, if you want to run the program on a different type of computer, you will need to rewrite the assembly code.

To make code that could be easily moved from one type of computer to another, we developed “high- level languages.” With high-level languages, instead of thinking about a particular CPU, you could express the instructions in a general way, and a program (called a compiler) would transform that code into highly-optimized, CPU-specific machine code. One of these languages is C. C programmers write code in the C language, and a C compiler then converts the C code into machine code.

Chapter 1 You and This Book

The C language was created in the early 1970s at AT&T. The Unix operating system, which is the basis for Mac OS X and Linux, was written in C with a little bit of assembly code for very low-level operations. The Windows operating system is also mostly written in C.

The Objective-C programming language is based on C, but it adds support for object-oriented programming. Objective-C is the programming language that is used to write applications for Apple’s iOS and Mac OS X operating systems.

How this book works

In this book, you will learn enough of the C and Objective-C programming languages to learn to develop applications for the Mac or for iOS devices.

Why am I going to teach you C first? Every effective Objective-C programmer needs a pretty deep understanding of C. Also, a lot of the ideas that look complicated in Objective-C have very simple roots in C. I will often introduce an idea using C and then push you toward mastery of the same idea in Objective-C.

This book was designed to be read in front of a Mac. You will read explanations of ideas and carry out hands-on experiments that will illustrate those ideas. These experiments aren’t optional. You won’t really understand the book unless you do them. The best way to learn programming is to type in code, make typos, fix your typos, and become physically familiar with the patterns of the language. Just reading code and understanding the ideas in theory won’t do much for you and your skills.

For even more practice, there are exercises called Challenges at the end of each chapter. These exercises provide additional practice and will make you more confident of what you’ve just learned. I strongly suggest you do as many of the Challenges as you can.

You will also see sections called For the More Curious at the end of some chapters. These are more in-depth explanations of the topics covered in the chapter. They are not absolutely essential to get you where you’re going, but I hope you’ll find them interesting and useful.

Big Nerd Ranch hosts a forum where readers discuss this book and the exercises in it. You can find it at

You will find this book and programming in general much more pleasant if you know how to touch- type. Touch-typing, besides being much faster, enables you to look at your screen and book instead of at the keyboard. This makes it much easier to catch your errors as they happen. It is a skill that will serve you well for your entire career.

How the life of a programmer works

By starting this book, you’ve decided to become a programmer. You should know what you’ve signed up for.

The life of a programmer is mostly a never-ending struggle. Solving problems in an always-changing technical landscape means that programmers are always learning new things. In this case, “learning new things” is a euphemism for “battling against our own ignorance.” Even if a programmer is working with a familiar technology, sometimes the software we create is so complex that simply understanding what’s going wrong can often take an entire day.

If you write code, you will struggle. Most professional programmers learn to struggle hour after hour, day after day, without getting (too) frustrated. This is another skill that will serve you well. If you are

How the life of a programmer works

curious about the life of programmers and modern software projects, I highly recommend the book Dreaming in Code by Scott Rosenberg.

Now it’s time to jump in and write your first program. 

No comments:

Post a Comment