Tools, Frameworks, Languages
Essential tools for version control, testing, and coding, plus major frameworks and languages to help get the job done.
Sort by: Title | Release Date
|
The Definitive ANTLR 4 Reference by Terence Parr
Programmers run into parsing problems all the time. Whether it’s a data format like JSON, a network protocol like SMTP, a server configuration file for Apache, a PostScript/PDF file, or a simple spreadsheet macro language—ANTLR v4 and this book will demystify the process. ANTLR v4 has been rewritten from scratch to make it easier than ever to build parsers and the language applications built on top. This completely rewritten new edition of the bestselling Definitive ANTLR Reference shows you how to take advantage of these new features. “Parr’s clear writing and lighthearted style make it a pleasure to learn the practical details of building language processors.” Dan Bornstein – Designer of the Dalvik VM for Android “ANTLR is an exceptionally powerful and flexible tool for parsing formal languages. At Twitter, we use it exclusively for query parsing in our search engine. Our grammars are clean and concise and the generated code is efficient and stable. This book is our go-to reference for ANTLR v4—engaging writing, clear descriptions and practical examples all in one place.” Samuel Luckenbill – Senior Manager of Search Infrastructure – Twitter, Inc. |
||
|
The ThoughtWorks Anthology, Volume 2: More Essays on Software Technology and Innovation by ThoughtWorks
When you hit a rough spot in software development, it’s nice to know that someone has been there before. The domain experts at ThoughtWorks share what they’ve learned in this anthology, bringing together the best field-tested insights in IT and software development. You’ll benefit from their experience in areas from testing to information visualization, from object oriented to functional programming, from incremental development to driving innovation in delivery. You’ll find yourself referring to this collection of solved problems whenever you need an expert’s insight. |
||
|
Raspberry Pi: A Quick-Start Guide by Maik Schmidt
The Raspberry Pi is a $35, full-blown micro computer that runs Linux. Use its video, audio, network, and digital I/O to create media centers, web servers, interfaces to external hardware—you name it. And this book gives you everything you need to get started. |
||
|
by Derick Bailey
With a nearly endless stream of success stories, blog posts, add-ons and frameworks built on top of Backbone.js, you don’t need another set of marketing materials to tell you why you should be working with Backbone.js. What you need is a way to get started quickly – to get up to speed with Backbone’s components, learning how to orchestrate them to create rich, interactive applications in a browser. This series of screencasts from Backbone.js expert Derick Bailey, will teach you what you need to know in a straight-to-the-point, hands-on way to building single page applications for today’s modern web. |
||
|
by Chris Strom
Psst! You’re not stuck with JavaScript anymore. Dart for Hipsters teaches you the fastest way possible: with real code and real projects starting on page 1. The unabashed goal of Dart is to make programming for the Web simpler, faster, and more powerful. And Dart for Hipsters is the fast-paced, most thorough way to learn it. You’ll explore the ins and outs of Dart by writing a simple application that grows in complexity from modest beginnings to a separate library that fully leverages the power of Dart. Caution: after reading you may develop an intense attachment to structured code and skinny jeans. |
||
|
by Jesse Storimer
Take advantage of system programming techniques without toiling away in C. If you program for the web, you might be missing some fundamentals in the name of getting stuff working. Now you can fill that gap. In Working With Unix Processes, you’ll reuse decades of battle-tested, highly optimized, and proven techniques to put your system to work for you. This book, available in PDF, mobi, and ePub formats, was entirely written and produced by the author. We are proud to be distributing it. |
||
|
Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement by Eric Redmond and Jim R. Wilson
Data is getting bigger and more complex by the day, and so are your choices in handling it. From traditional RDBMS to newer NoSQL approaches, Seven Databases in Seven Weeks takes you on a tour of some of the hottest open source databases today. In the tradition of Bruce A. Tate’s Seven Languages in Seven Weeks, this book goes beyond your basic tutorial to explore the essential concepts at the core of each technology. |
||
|
Programming Clojure (2nd edition) by Stuart Halloway and Aaron Bedra
If you want to keep up with the significant changes in this important language, you need the second edition of Programming Clojure. Stu and Aaron describe the modifications to the numerics system in Clojure 1.3, explain new Clojure concepts such as Protocols and Datatypes, and teach you how to think in Clojure. |
||
|
tmux: Productive Mouse-Free Development by Brian P. Hogan
Your mouse is slowing you down. The time you spend context switching between your editor and your consoles eats away at your productivity. Take control of your environment with tmux, a terminal multiplexer that you can tailor to your workflow. Learn how to customize, script, and leverage tmux’s unique abilities and keep your fingers on your keyboard’s home row. |
||
|
by Brian P. Hogan, Chris Warren, Mike Weber, Chris Johnson, Aaron Godin
Modern web development takes more than just HTML and CSS with a little JavaScript mixed in. Clients want more responsive sites with faster interfaces that work on multiple devices, and you need the latest tools and techniques to make that happen. This book gives you more than 40 concise, tried-and-true solutions to today’s web development problems, and introduces new workflows that will expand your skillset. |
||
|
by Hampton Catlin and Michael Lintorn Catlin
CSS is fundamental to the web, but it’s a basic language and lacks many features. Sass is just like CSS, but with a whole lot of extra power so you can get more done, more quickly. Build better web pages today with Pragmatic Guide to Sass. These concise, easy-to-digest tips and techniques are the shortcuts experienced CSS developers need to start developing in Sass today. |
||
|
The SPDY Book: Making Websites Fly by Chris Strom
Building high performance websites is hard—let’s go shopping! Better yet, let’s take the best ideas from the past 10 years on how to improve HTTP and wrap them up in a brand new protocol named SPDY. In The SPDY Book, you will learn all of the secrets behind this new protocol from Google. Compression, multiplexing, writing directly to the browser’s cache are not only possible with SPDY, but easy. Google is already using it in production on all of their sites to make their services even faster. Why shouldn’t your websites do the same? This book, available in PDF, mobi, and ePub formats, was entirely written and produced by the author. We are proud to be distributing it. |
||
|
CoffeeScript: Accelerated JavaScript Development by Trevor Burnham
CoffeeScript is JavaScript done right. It provides all of JavaScript’s functionality wrapped in a cleaner, more succinct syntax. In the first book on this exciting new language, CoffeeScript guru Trevor Burnham shows you how to hold onto all the power and flexibility of JavaScript while writing clearer, cleaner, and safer code. |
||
|
by Maik Schmidt
Arduino is an open-source platform that makes DIY electronics projects easier than ever. Even if you have no electronics experience, you’ll be creating your first gadgets within a few minutes. Step-by-step instructions show you how to build a universal remote, a motion-sensing game controller, and many other fun, useful projects. This book has now been updated for Arduino 1.0, with revised code, examples, and screenshots throughout. We’ve changed all the book’s examples and added new examples showing how to use the Arduino IDE’s new features. |
||
|
HTML5 and CSS3: Develop with Tomorrow's Standards Today by Brian P. Hogan
HTML5 and CSS3 are the future of web development, but you don’t have to wait to start using them. Even though the specification is still in development, many modern browsers and mobile devices already support HTML5 and CSS3. This book gets you up to speed on the new HTML5 elements and CSS3 features you can use right now, and backwards compatible solutions ensure that you don’t leave users of older browsers behind. |
||
|
by Travis Swicegood
Need to learn how to wrap your head around Git, but don’t need a lot of hand holding? Grab this book if you’re new to Git, not to the world of programming. Git tasks displayed on two-page spreads provide all the context you need, without the extra fluff. NEW: Part of the new Pragmatic Guide series |
||
|
by Christophe Porteneuve
JavaScript is everywhere. It’s a key component of today’s Web—a powerful, dynamic language with a rich ecosystem of professional-grade development tools, infrastructures, frameworks, and toolkits. This book will get you up to speed quickly and painlessly with the 35 key JavaScript tasks you need to know. NEW: Part of the new Pragmatic Guide series |
||
|
by Mike Mason
Subversion is the most popular open-source version control system on the planet. Development teams-big and small, enterprise and open source-use this fast, feature-rich tool daily. Pragmatic Guide to Subversion presents the 48 essential tasks you need to know. It’s your shortcut to the Subversion master’s recommended set of best practices. With this book, you can get to the good parts quickly, and be more productive and effective. NEW: Part of the new Pragmatic Guide series |
||
|
by Kent Beck
Test-driven development (TDD) is a programming technique that reverses the usual sequence of coding and testing. By writing tests just in advance of the code needed to satisfy them, programmers:
Note: Although the ideas aren’t language specific the author does use Java in the examples. |
||
|
by Jim Weirich
Git has significantly changed the way teams develop software. Its distributed nature and lightweight branching and merging have made it possible for developers to massage their code bases in ways they couldn’t have imagined before. However, Git has a reputation for being hard to learn. And when folks transition to Git, they often settle for using a handful of commands and treat Git just like their other source control system. But because of its different approach to source control issues, many of the techniques and terminology we have learned in other source control systems do not translate cleanly when using Git. To begin to use Git effectively, you need to understand the underlying concepts. In this 49-minute screencast you’ll learn Git in a different way: By not learning about Git itself. Instead, Jim Weirich takes you on a journey of how you might design and build a source control system from scratch. Along the way you’ll gain a deeper understanding of the first principles behind Git so things begin to make more sense. This screencast is for people who haven’t used Git yet and are thinking about it, and for people who have just started using Git, but are still in the “magic incantation” stage of learning. It’s a great introduction to source control for your manager, too! No prior experience with Git or source control systems is required. |
||
|
Modular Java: Creating Flexible Applications with OSGi and Spring by Craig Walls
Attack complexity in your Java applications using Modular Java. This pragmatic guide introduces you to OSGi and Spring Dynamic Modules, two of the most compelling frameworks for Java modularization. Driven by real-world examples, this book will equip you with the know-how you need to develop Java applications that are composed of smaller, loosely coupled, highly cohesive modules. This second reprinting of Modular Java has been revised to include updated information on OSGi Blueprint Services. It also details Pax-Runner’s new profiles feature that makes loading an OSGi runtime with bundles even easier, along with errata fixes and updates to bring the book up to date with current versions of the tools used. |
||
|
Pragmatic Version Control Using Git by Travis Swicegood
There’s a change in the air. High-profile projects such as the Linux Kernel, Mozilla, Gnome, and Ruby on Rails are now using Distributed Version Control Systems (DVCS) instead of the old stand-bys of CVS or Subversion. Git is a modern, fast DVCS. But understanding how it fits into your development can be a daunting task without an introduction to the new concepts. Whether you’re just starting out as a professional programmer or are an old hand, this book will get you started using Git in this new distributed world. |
||
|
by Scott Chacon
GitHub is where the action’s at: you can host your public and private projects there, use it to collaborate on projects in a truly distributed way, and expand your social coding network. But to really get the most out of this great resource, you need an experienced guide to show you the ropes. Learn how the pros use GitHub from Scott Chacon, a long-time Git user and GitHub insider. |
||
|
Mastering Dojo: JavaScript and Ajax Tools for Great Web Experiences by Craig Riecke, Rawld Gill, Alex Russell
Imagine a true thin-client web application environment, with no browser incompatibilities, no plugins, and an interface that’s closer to a desktop app. You can have it all, today. Welcome to The Dojo Toolkit. Mastering Dojo walks you through the whole range of modern web programming problems, from bringing simple web pages to life with widgets and animation, to designing and building an enterprise-class, single-page Rich Internet Application (RIA). Are your web pages becoming more and more complex, with hundreds of lines of sprawling JavaScript as clients demand modern Ajax designs? Or maybe you’re about to enter the new world of single-page, Rich Internet Applications? Dojo is the unified toolkit that you need to get the job done. VERSIONS: Applicable for Dojo Versions 1.1 to 1.7. Versions 1.2 onward contain additional widgets, experimental api’s and bugfixes. Please see the Dojorelease notes for detailed information. |
||
|
Using memcached: How to scale your website easily by Josef Finsel
memcached is a high-performance, distributed memory object caching system, used to speed up dynamic web applications. memcached was developed to enhance the speed of LiveJournal.com’s one million users with 20 million dynamic page views per day, providing faster page load times for users and better resource utilization. |
||
|
by ThoughtWorks
This collection of essays covers a wide range of issues facing software developers today. In this book, you’ll find a treasure trove of pragmatic advice to improve the effectiveness of your development efforts. You’ll find essays on testing, controlling a project, the creation of domain specific languages, issues of build and deploy, programming languages, techniques for software development, and more! |
||
|
GIS for Web Developers: Adding Where to Your Web Applications by Scott Davis
There is a hidden revolution going on: geography is moving from niche to the mainstream. GIS for Web Developers introduces Geographic Information Systems (GIS) in simple terms and demonstrates hands-on uses. With this book, you’ll explore popular websites like maps.google.com, see the technologies they use, and learn how to create your own. Written with the usual Pragmatic Bookshelf humor and real-world experience, GIS for Web Developers makes geographic programming concepts accessible to the common developer. |
||
|
Pragmatic Unit Testing in C# with NUnit (2nd edition) by Andy Hunt and Dave Thomas with Matt Hargett
Pragmatic programmers use feedback to drive their development and personal processes. The most valuable feedback you can get while coding comes from unit testing. Now in it’s second edition, Pragmatic Unit Testing in C# with NUnit, 2nd Ed. will show you how to do software unit testing, of course, but more importantly will show you what to test. For various technical reasons, the eBook version is a PDF: epub and mobi versions of this title will NOT be available. |
||
|
Programming Erlang: Software for a Concurrent World by Joe Armstrong
Learn how to write truly concurrent programs—programs that run on dozens or even hundreds of local and remote processors. See how to write high reliability applications—even in the face of network and hardware failure—using the Erlang programming language.
|
||
|
The Definitive ANTLR Reference: Building Domain-Specific Languages by Terence Parr
ANTLR v3 is the most powerful, easy-to-use parser generator built to date, and represents the culmination of more than 15 years of research by Terence Parr. This book is the essential reference guide to using this completely rebuilt version of ANTLR, with its amazing new LL(*) parsing technology, tree construction facilities, StringTemplate code generation template engine, and sophisticated ANTLRWorks GUI development environment. Learn to use ANTLR directly from the author! This book covers ANTLR 3. Please see the new edition, The Definitive ANTLR 4 Reference, which covers ANTLR 4. |
||
|
Release It!: Design and Deploy Production-Ready Software by Michael T. Nygard
|
||
|
TextMate: Power Editing for the Mac by James Edward Gray II
TextMate is a powerful tool for programmers, web designers, and anyone else who regularly needs to work with text files on Mac OS X. TextMate focuses on pragmatic automation, which means it will save you time—time that’s always in short supply. See how your lowly text editor can become a hard working member of your staff. |
||
|
Google Maps API (2nd edition): Adding Where to Your Applications by Scott Davis
This is the second edition of this Friday, which has been rewritten to use the Google Maps V2 API. |
||
|
Pragmatic Version Control using Subversion (2nd edition) by Mike Mason
Revised content to reflect all the major changes to Subversion 1.3 New chapter on Subversion’s optional file locking to help you manage unmergeable binary files New sections covering path-based security for both the svnserve and Apache networking servers New advanced topics chapter covering programmatic access to Subversion and advanced repository management |
||
|
Ship It!: A Practical Guide to Successful Software Projects by Jared Richardson, Will Gwaltney, Jr
Many software projects run into trouble, and many never ship at all. Others run like well-oiled machines. This book shows you the basics of how to get your project well on the road to success. Ship It! bucks current fashion trends and marketing hype; instead, you’ll find page after page of solid advice, all tried and tested in the real world: a collection of tips that show you what tools a successful team has to use, and how to use them well. You’ll get quick, easy-to-follow advice on modern techniques and when they should be applied. |
||
|
Pragmatic Project Automation: How to Build, Deploy, and Monitor Java Applications by Mike Clark
Pragmatic Project Automation shows you how to improve the consistency and repeatability of your project’s procedures using automation to reduce risk and errors. Simply put, we’re going to put this thing called a computer to work for you doing the mundane (but important) project stuff. That means you’ll have more time and energy to do the really exciting—and difficult—stuff, like writing quality code. |
||
|
Pragmatic Unit Testing in Java with JUnit by Andy Hunt and Dave Thomas
Pragmatic programmers use feedback to drive their development and personal processes. The most valuable feedback you can get while coding comes from unit testing. Let your Java code tell you what’s working and what isn’t. You’ll learn how to test using JUnit, but more importantly, you’ll learn what to test. For various technical reasons, the eBook version is a PDF: epub and mobi versions of this title will NOT be available. |







































