background preloader

Coding Books

Facebook Twitter

Books online to help with programming.

Ruby on Rails Explained for Front End Developers. As you probably already know if you've downloaded this book, Ruby on Rails is an open source web application framework written in Ruby ( It was created by David Heinemeier Hansson ( quickly adopted by the ruby community, and has even come pre-shipped on every new Mac since October 2007.

Ruby on Rails Explained for Front End Developers

Rails, much like Ruby, has very strong opinions about what engineering patterns should be in use, and if you're not familiar with those patterns, Rails will be very hard to understand. At the very least, you need to understand the following: Ruby syntax ( This is an obvious one. You need to understand the basic syntax of ruby to understand what the code is doing.Rake ( Rake is a build program written in ruby that's similar to unix's make. It's used to automate a lot of tasks that you would normally do by hand.Gems and Bundler ( and Gems are how ruby, and thus rails, manages dependencies. Structure and Interpretation of Computer Programs. A powerful programming language is more than just a means for instructing a computer to perform tasks.

Structure and Interpretation of Computer Programs

The language also serves as a framework within which we organize our ideas about processes. Thus, when we describe a language, we should pay particular attention to the means that the language provides for combining simple ideas to form more complex ideas. Every powerful language has three mechanisms for accomplishing this: primitive expressions, which represent the simplest entities the language is concerned with,means of combination, by which compound elements are built from simpler ones, andmeans of abstraction, by which compound elements can be named and manipulated as units.

In programming, we deal with two kinds of elements: procedures and data. In this chapter we will deal only with simple numerical data so that we can focus on the rules for building procedures.4 In later chapters we will see that these same rules allow us to build procedures to manipulate compound data as well. Programming Ruby: The Pragmatic Programmer's Guide.

A Book Apart, HTML5 For Web Designers. Foreword by Jeffrey Zeldman HTML5 isn’t as confusing as it once was, but it still isn’t straightforward.

A Book Apart, HTML5 For Web Designers

It’s an evolutionary, rather than revolutionary, change in the ongoing story of markup—and if you’re currently creating websites with any version of HTML, you’re already using HTML5. Harness the power of this essential evolving spec with help from Jeremy Keith and Rachel Andrew. Brush up on syntax and updated elements, and get ready to work with responsive images, microformats, and microdata. Through clear, practical examples, you’ll be up to speed in no time.

What’s new in the second edition? A lot has changed since this little book was first published. Contents A Brief History of Markup (Read this chapter online)The Design of HTML5Rich MediaWeb Forms 2.0SemanticsUsing HTML5 Today. The Algorithm Design Manual. Book Description This book is intended as a manual on algorithm design, providing access to combinatorial algorithm technology for both students and computer professionals.

The Algorithm Design Manual

Most professional programmers that I’ve encountered are not well prepared to tackle algorithm design problems. Practical Ruby Projects. Programming Ruby: The Pragmatic Programmer's Guide. Chapter 1: The way of the program. Warning: the HTML version of this document is generated from Latex and may contain translation errors.

Chapter 1: The way of the program

In particular, some mathematical expressions are not translated correctly. The goal of this book is to teach you to think like a computer scientist. This way of thinking combines some of the best features of mathematics, engineering, and natural science. Like mathematicians, computer scientists use formal languages to denote ideas (specifically computations).

Like engineers, they design things, assembling components into systems and evaluating tradeoffs among alternatives. The single most important skill for a computer scientist is problem solving. On one level, you will be learning to program, a useful skill by itself. 1.1 The Python programming language The programming language you will be learning is Python. As you might infer from the name "high-level language," there are also low-level languages, sometimes referred to as "machine languages" or "assembly languages. " print 1 + 1 input. Ruby Programming - Ruby Sparkles. Take a true object-oriented language, such as Smalltalk.

Ruby Programming - Ruby Sparkles

Drop the unfamiliar syntax and move to more conventional, file-based source code. Now add in a good measure of the flexibility and convenience of languages such as Python and Perl. You end up with Ruby. OO aficionados will find much to like in Ruby: things such as pure object orientation (everything's an object), metaclasses, closures, iterators, and ubiquitous heterogeneous collections. Smalltalk users will feel right at home (and C++ and Java users will feel jealous). Variables and Assignment - Learn to Program. Thinkocaml. Structure and Interpretation of Computer Programs.