HTML5 Up and Running, Mark Pilgrim, O’Reilly, 2010
Web programmers will want to read this book. If the waiting list for the book is too long, it is also available online here. Legendary O’Reilly quality, 200 pages.
HTML5 Up and Running, Mark Pilgrim, O’Reilly, 2010
Web programmers will want to read this book. If the waiting list for the book is too long, it is also available online here. Legendary O’Reilly quality, 200 pages.
Rails 3 in a Nutshell, by Cody Fauser, James MacAulay, Edward Ocampo-Gooding, and John Guenin, O’Reilly, 2013
For experienced web programmers interested in expert-level Ruby on Rails material, written by some of the lead programmers of Shopify. Read it online at O’Reilly. Hopefully this book will be in the Ottawa Library in the future!
The Well-grounded Java Developer – Vital Techniques of Java 7 and Polyglot Programming, Benjamin Evans, – 2013
Java programmers will want to read this book. Java 7 has NIO2, allowing input/output on multiple connections concurrently within a single process. The book also introduces several new languages that run on the JVM. Groovy gives you the convenience of dynamic typing as seen in scripting langages. Scala makes concurrent programming easier using immutable classes. Clojure gives you safer programming. 450 pages.
Learning JavaScript Design Patterns, by Addy Osmani, O’Reilly, 2012
Web programmers will want to read this book, which is free online.
Unfortunately, this book is not yet at the OPL.
Learning PHP Design Patterns, William Sanders, O’Reilly 2013
Web programmers will want to read this book, in particular users of PHP.
PHP’s success as a web app language comes largely from its freedom from structure: you can hack code together and do almost anything. But what if your app is large, you don’t want errors, and you want to understand it? Think of Vtiger, which combines (yikes) code from SugarCRM, Smarty, ckeditor, antlr, PearDatabase, adodb, freetag, nusoap, phpmailer, tcpdf, PDFMaker, htmlpurifier, php_writeexcel, kcfinder, log4php, AjaxUpload, HTMLSax3, iCal, qCal, PHPMailer, and Image_Graph projects, not to mention several Javascript libraries. The many subprojects are structured using Object Oriented (OO) concepts, which gives you a hope of understanding it.
To succeed in larger projects you need some structure, and PHP Design Patterns proposes that you use the same high level structures that have been useful to C++ and Java programmers for many years. The author read the ‘Gang of 4′ book (Gamma, Helm, Johnson and Vlissides), and has interpreted it in the PHP context. He starts with a refresher on Object Oriented programming, which will be easy reading for anyone with knowledge of OO. Then he shows how to make best use of the OO features in PHP since version 5, referencing the most useful design patterns. Inheritance, polymorphism, encapsulation are all discussed with example code in php.
Returning to the Vtiger example, when the code uses some OO structure, it is often not clear what pattern is in use. A file should start with comments on what design pattern is being used, and if not, then a discussion of how the objects are used. If the designers had started with the common design patterns from this book, then it would all be more clear.
I want you to read this well written book in the hopes that the next php projects I need to enhance will be well structured and easier to work with. This means you! Why would you not just Google The Fine Thing (GTFT)? Because then you get snowed with poorly edited info. Read the book for a well organized presentation of the few important, common patterns.
Disclaimer: I read the electronic version of the book, on a smartphone. The reading experience is quite different from bound, paper books with pros and cons. Disclaimer 2: I got the book through the O’Reilly blogger program.
If this book interests you, then you might also want to read Javascript patterns By Stoyan Stefanov for a complementary treatment of the client side language.
Unfortunately, the OPL does not have PHP Design Patterns yet. 350 pages.
The Epigenetics Revolution How Modern Biology Is Rewriting Our Understanding of Genetics, Disease, and Inheritance, Nessa Carey, – 2012)
NoSQL Distilled – A Brief Guide to the Emerging World of Polyglot Persistence, Pramod Sadalage, – 2013
Programmers will like this book if they understand relational databases and are open to alternate database concepts. Non-SQL databases are useful when you want and object oriented design, perhaps spanning distributed servers, and you are willing to forgo SQL’s compelling benefits. This well written book is by one of the founders of the Nosql ‘movement’ and co-authored by Martin Fowler.
Cypherpunks Freedom and the Future of the Internet By Assange, Julian (Book – 2012)
Rant? This book by the leader of Wikileaks is unreadable polemic.
Big Data A Revolution That Will Transform How We Live, Work, and Think By Mayer-Schonberger, Viktor/ Cukier, Kenneth (Book – 2013)
Build Your Own Teams of Robots With Lego Mindstorms Nxt and Bluetooth Build Your Own Networked Robots, Cameron Hughes, – 2013
Programmers will like this book, which shows how to use Java libraries in place of the standard NXT toolset, for much improved functionality. The book also discusses communications between robots, so they can cooperate in their tasks. The author previously wrote the book Professional Multicore Programming with Java. 350 pages.
Python for Data Analysis, Wes McKinney, O’Reilly, 2013