The purpose of this book is to teach solid idiomatic Go programming using all the features the language provides, as well as the most commonly used Go packages from Go’s standard library. The book is also designed to serve as a useful reference once the language is learned. To meet both of these goals the book isquite comprehensiveand triestocover every topic in just one place—and with forw…
Dennis Ritchie at AT&T Bell Laboratories pioneered the C programming language in the early 1970s. However, this programming language did not begin to gain widespread popularity and support until the late 1970s. This was because, until that time, C compilers were not readily available for commercial use outside of Bell Laboratories. Initially, this growth in popularity was also partly spurred by…
Python is probably the easiest-to-learn and nicest-to-use programming language in widespread use. Python code is clear to read and write, and it is con- cise without being cryptic. Python isa very expressive language,which means that we can usually write far fewer lines of Python code than would be required for an equivalent application written in, say, C++ or Java. Python isa cross-platform l…
StandardMLisatype-safeprogramminglanguagethatembodiesmany innovative ideas in programming language design. It is a statically typed language, with an extensible type system. It supports polymorphic type inference, which all but eliminates the burden of specifying types of vari- ables and greatly facilitates code re-use. It provides efficient automatic storagemanagementfordatastructuresandfunct…
The scientist and philosopher Alfred Korzybski once remarked, “The map is not the territory,” and it’s in that spirit that this book was written. The map may not be the territory, but it is helpful for getting around the territory and for finding where you are and where you want to go. This book covers a vast range of topics from programming to electronics to interaction design to art, bu…
With the advent of version 2 of the iPhone system, Apple proved they could do a re- markable thing — adapt their existing Cocoa computer application programming framework to make applications for a touch-based device with limited memory and speed and a dauntingly tiny display. The resulting Cocoa Touch framework, in fact, turned out to be in many ways better than the original Cocoa. A program…
With the advent of version 2 of the iPhone system, Apple proved they could do a remarkable thing — adapt their existing Cocoa computer application programming framework to make applications for a touch-based device with limited memory and speed and a dauntingly tiny display. The resulting Cocoa Touch framework, in fact, turned out to be in many ways better than the original Cocoa. A programmi…
A programming framework has a kind of personality, an overall flavor that provides an insight into the goals and mindset of those who created it. When I first encountered Cocoa Touch, my assessment of its personality was: “Wow, the people who wrote this are really clever!” On the one hand, the number of built-in interface widgets was severely and deliberately limited; on the other hand, the…
This book is geared to iOS 8.1 and Xcode 6.1, both of which became publicly available in October, 2014. In general, only very minimal attention is given to earlier versions of iOS and Xcode. As I’ve already said, it is not my intention to embrace in this book any detailed knowledge about earlier versions of the software, which is, after all, readily and compendiously available in my earlier b…
Harald Ganzinger’s research career spanned over 3 decades during which he made numerous contributions to many areas of computer science, ranging from fundamental theory to low-level implementation techniques. During this time period, he also powerfully influenced many researchers’ lives. He had publications with more than 35 different coauthors from many different countries. In this arti…
Chapters 1 and 2 introduce you to the Mac OS X environment, providing a foundation for understanding the origins of the operating system, how it is structured, and what components it contains. The first two chapters explain how to use and navigate Mac OS X, and introduce you to technologies you will use throughout the book.
As emphatic as it may sound, that crazy little thing called Ajax changed the way we approach Web development. Ajax triggered a chain reaction in the world of the Web. Ajax truly repre- sents paradigm shift for Web applications. And, as the history of science proves, a paradigm shift always has a deep impact, especially in scenarios that were previously stable and con- solidated. We are now real…
In the spring of 2006, I had the privilege of taking a very early look at what would eventually become ASP.NET MVC. Scott Guthrie of Microsoft arranged a personal demo just for me backstage at the DevConnections conference in balmy Nice, France. At the time, I had just started playing with ASP.NET Web Forms and the Model-View-Presenter (MVP) p attern. I e xpected to see the usual great set of …
Microsoft SQL Server Integration Services is an enterprise-ready platform for developing data integration solutions. SQL Server Integration Services provides the ability to extract and load from and to heterogeneous data sources and destina- tions. In addition, it provides the ability for you to easily deploy, manage, and configure these data integration solutions. If you are a data integration…
HyperText Markup Language (HTML) makes the World Wide Web possible. Every website uses HTML to render content, and much of HTML’s popularity derives from its simplicity: with knowledge of just a few concepts, anyone can publish content to the Web. HTML may be a way of life for web developers, but when it comes to creating dynamic, data-driven websites, most developers turn to some kind of too…
When Andy and I wrote the first edition, we had to explain the background and appeal of Ruby. Among other things, we wrote, “When we discovered Ruby, we realized that we’d found what we’d been looking for. More than any other language with which we have worked, Ruby stays out of your way. You can concentrate on solving the problem at hand, instead of struggling with compiler and language…
This book is the second edition of the PickAxe, as Programming Ruby is known to Rubyists. It is a tutorial and reference for the Ruby programming language. If you have the first edition, you’ll find that this version is a significant rewrite. When Andy and I wrote the first edition, we had to explain the background and appeal of Ruby. Among other things, we wrote “When we discovered Ru…
As we can see from the rise of social networking sites like Facebook, LinkedIn, My- Space, the Yahoo! Application Platform (YAP), and hundreds of others around the world, there’s a major shift taking place in how humans interact with the Web and how the Web in turn interacts with them. The static web is an artifact of the past, having been replaced by the idea that sites or applications shoul…