From the early days of the Internet’s mainstream breakout, the major search engines and ecommerce companies wrestled with ever-growing quantities of data. More recently, social networking sites experienced the same problem. Today, many organizations realize that the data they gather is a valuable resource for understanding their customers, the performance of their business in the marketplace,…
HTML5 makes the Web a first-class environment for creating real applications. It reinforces JavaScript’s existing tool set with key extensions to the browser APIs that make it easier to create applications that feel (and can be) complete in themselves, not just views on some distant server process. The Web began as a way to share files, stored on a web server, that changed only occasionally. …
I started my professional development career in 1999, when I first was paid a salary to be a developer. (I don’t count the few years before that when I was just having fun playing around on the Web.) In 1999 the Web was a scary place. HTML files were loaded down with font and table tags. CSS was just coming on the scene. JavaScript1 was only a few years old, and a battlefield of various imple…
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…