The best programming book I've read to date
357036
Without a doubt the best programming book I've read to date, and I read a lot. Thanks to the author for writing this book specifically for programming the Mac. There are very few. The book is clear, accurate, explains things very clearly without losing sight of the context in which the programmers then apply the concepts they are learning. The approach of the book is comprehensive and deals with all matters with an unprecedented clarity.
2497319
On the advice of a coworker, I picked up this book by Peter.  I have experience in C and C++, and this book is a *fun* read and doesn't have the overly stuffy, boring elements of most programming books.  Learning can be enjoyable, and this book is a great read.  I like the fact that his style does assume you have some programming knowledge; all too often I find books that waste hundreds of pages giving you the basics, and other books that jump completely into the middle - i.e. "Let's write a database application!"  Here you get the classic "Hello World" followed by a slow buildup in Java programming concepts.  Peter also takes pains to point out the uniqueness of Java in many areas, giving the experienced programmers something to hold on to (and look forward to).  Get it!
1872262
I am somewhat more than an amateur at coding, but in my opinion, far from being a real powerhouse pro. I am slow since I don't code often and need to constantly refer to manuals. But I do understand programming concepts, so I can spec the job out and get it done, either by myself or hiring someone.

 That may change, though. Im sitting here, actually excited about the possibilities and potential of the Wolfram Language.

 It is totally mind-blowing.

 I am particularly interested in text and image processing. To date, I have been using Python for text processing because it is an easy, yet powerful, language to learn and use.

 But processes and functions that would be fairly complex and time consuming to create in Python can be expressed in a single line of Wolfram Language code.

 Likewise, I wouldnt think of attempting image processing myself in Python  but in Wolfram, I can invoke very sophisticated image analysis processes in a single line.

 Totally mind-blowing.

 It is unfortunate that the Amazon See Inside feature has not yet been implemented for this book because it would be immensely valuable to potential purchasers who know nothing of the Wolfram Language. In lieu of this, you might check the Wolfram Language website for the Fast Introduction For Programmers. This may seem a bit of a cop-out in a review of a book about the language, but this language is radically different than any language Ive ever used and I needed an overview before I could really believe what I was seeing and reading.

 The book itself is very clearly written with dozens, if not hundreds, of operations and functions described in one or two paragraphs, each containing examples.

 I would not recommend skipping around in this book: start at the beginning and read it through to the end, working the examples (even for the parts that may not be of great interest to you) on Wolframs website. Wolfram Language is so powerful and so unique I really think you need to go for a complete overview in the beginning and then begin developing your specialized knowledge of the aspects that interest you.

 The oddest thing I found in the book is that the locations where you can learn about and use the language are kept obscure. Youll find the list under Other Resources on Page xv pf the Introduction.

 People who have experienced Wolframs Mathematica may find many, most or all the concepts enumerated. I had no such familiarity and, frankly, am blown away by the elegant power of the Wolfram Language, which is clearly explained for beginners in this excellent book.

Jerry
3285163
This book is hands down the best beginnger programming book. While C++'s learning curve is steeper than, say, Python, it forces the author to explain deeper programming theory. Many C++ books do this, and most fail. This book is overwhelmingly the best book I've encountered to explain OOP concepts and usage to a beginner. Regardless of the language you want to write in, this is the book you should start out with if you are going to learn programming for real.
787069
I absolutely enjoyed this book. I would highly recommend it for people new to programming and computer science. I think Wladston has done an outstanding job making the concepts in this book easily digestible. As a newcomer to computer science, not once did I scratch my head or felt overwhelmed by the information in this book. Wladston in my opinion did an outstanding job explaining the concepts through pseudocode and visuals. The satire images also helped with the explanation and keeping it fun. Though I wish there were a view more. This is a great book for getting your feet wet with computer science. I can't wait for a follow up on this book or one that tackles a more specialized area. Great Job!
1632227
What an absolute gem of a book.  Automate the Boring Stuff with Python fills just about every need.  Whether you're completely new to programming, interested in transitioning to Python from another language, or have been thinking about automating processes at work, this book has it all.  Filled to the brim with code samples, pictures, and anything else you could possibly need, it really is a one stop shop.

Two things set this book apart from others on the subject.  First, it doesn't treat you like an idiot or an expert, but strikes a good balance in between.  Examples begin rudimentarily, but build on each other and ramp up quickly.  Despite this, you never feel as if you're getting lost in complexity.  It's pretty clear the author made a concerted effort to keep the pace challenging, but not overbearing.

Second, the book does not throw superfluous code at you.  These are real world examples with a stringent focus on functionality and implementability.  It's really a breath of fresh air.  I'm completely exhausted with programming literature that teaches the language without any degree of applicability.  One of the biggest complaints of beginning programmers is that, after they've learned their loops, data types, etc, they're still left without any practical knowledge of how to code.  This book bridges that gap effortlessly and you will learn real world applicable skills by the time you're done.

I'm very demanding when it comes to handing out perfect scores, but I'm more than happy to give this book a 5-star review.  If you have even the most remote interest in learning Python and applying it in your day to day work, do yourself a favor and pick up a copy of this book.
3623969
This book is fabulous! This is my first review on Amazon and I felt compelled to write it, given the lovely experience I have, every time I pick this book up for quick chapter reads.

I have been a Java developer for more than 8 years for various companies like Netflix, Amazon and Yahoo! I have zero experience on the functional side (not even the Map Reduce paradigm). This book makes it a breeze to understand the poetry of Scala and Functional Programming in general. Chapters are rightly sized to get a good understanding of one feature of the language (e.g. Traits, Implicit Conversions, Pattern Matching have their own chapters). The writing is to the point and very insightful. We have started using Scala for a few projects at work and that practical effort has been helping too.

I did give the Coursera course (Functional Programming in Scala) a shot but found it to be much more theoretical. This book is much more action packed.
2665237
There are many books on how to write programs in C and C++, and many people learn to write programs from them. What few (if any) of them tell you is the safe way to develop programs. With the release of Secure Programming Cookbook there is now a wealth of knowledge on the subject in one handy tome.
The examples are clearly written and show clearly how the recipe will help in specific or general situations.  There are a lot of solid discussion of input validation, environment handling, string handling, access controls, and cryptography.  In fact there was more crypto discussion than I expected, but it's all very good and if not applicable today, hopefully it will be some day.
This book is jam packed with excellent examples and discussion of ways to prevent programs from doing bad, and most of the time unexpected or unplanned, things. The diligent C or C++ programmer should add this as yet another volume on the bookshelf tool chest that is next to their desk. Smart programmers will realize that having this book will only help them in the long run.
2075144
I have spent the past 6 months purchasing/reading numerous books about a variety of programming languages (i.e. ASP, Visual Basic, C++, PHP, VBScript, Javascript, XML, SQL etc.) to become adept at a high level in web development project management to better understand why each language is chosen over another in any given scenario. I also enrolled in an online Intro to Programming class for the past 8 weeks that focused on the C++ language. I started reading this book from the beginning and immediately the basic concepts for programming that the C++ class tried to instill were so much more clear in this book's presentation that many lightbulbs have been going off moment by moment as I read further. This book lays out a great foundation for understanding programming in an organized and easy to grasp presentation of the material. Of course it's all about JavaScript but it gives the much needed foundation for those of us who know HTML but haven't gone on to the next step to fully dive into scripting languages and beyond to create dynamic websites.
2695633
I've bought a lot of technical books over the years, maybe 100 or more.  Recently picked up fluent python and several django and python programming books.  This is definitely one of the better books on python and django.  In fact this book covers so much ground and touches on so many different related topics and subjects, I felt like it was answering general questions about python that I've had floating around in the back of my mind for at least a year.  Overall, I would put this book in my top 5 (ever) programming books list, up there with Wrox Beginning Linux Programming 4th edition and Fluent Python. This book casually takes you from zero to hero in one night. It even manages to cover installing Jenkins for CI, and introduces you to fabric for automating deployments, I could go on.

Percival has an amazing ability to demystify and penetrate even dense topics such as introducing JavaScript to the non web programmer, which I am not.  My favorite part about the book is how aware the author is of the reader's shock at the very beginning of just how many tests the pure TDD paradigm espouses.  Every time doubts start creeping up in the back of your mind, and you think to yourself  "There's just no way I am going to write this many tests or develop using this methodology!", Percival sidebars you with brilliant analysis and commentary, and lauds you to have the patience to plow forward and trust the process.  Very rarely do technical authors have this kind of insight into what their target audience is thinking, and even fewer are able to incorporate antidotes to the "resistance" that undoubtedly many readers will experience while reading through the first few chapters, in their initial foray into what TDD is all about and most importantly, THE WHY of TDD.  Bravo Percival!

Well worth the price, and up to date being released August 2017.  Very few up to date books about django anymore, which is sad for those like me that are very late to the party (apparently), though i did manage to find one or two that cover 1.11.

Buy this book, and learn TDD, it will solve problems you've experienced while writing code that you didn't know could be solved.
466756
I am about half way through this book and so far it gets two thumbs up from me.  This is my second programming book, my first was 'Python Programming for the absolute beginner(2ed)' by Michael Dawson, which i thought was excellent, especially for the price!  If you are utterly new to the programming scene and don't want to learn a particular language i would recommend that book because it's great at explaining basic programming concepts, and Python is a relatively easy language to pick up.  But enough about that, let's talk about this book and why i think it's a great learning resource and have no idea why some people gave it one star(even after reading their explanations).

the GOOD:
~no BS, no "let's add jokes to every other paragraph in the book when it's not necessary to make it appeal more to the masses" who the publishers must think are idiots or dummies;)  This is a textbook, it reads like one, there is no program jargon that isn't explained in the text.  Wow, a book that treats me like an adult, yaya.
~great layout, before every chapter you're given bullet points of what that chapter consist of
~all chapters are layed out in a clear fashion
~lots of color, great examples, charts, etc
~Tons of examples, and the examples are in color, similiar to how they will look in your IDE(i use NetBeans).
~key concepts throughout every chapter
~end of chapter programming projects to work through(actual hands on coding)
~end of section word problems(all answers supplied in back of book)
~comes with a cd including different IDE's and the java language
~and probably my favorite feature(which no one has mentioned); VIDEO NOTES!  Usually about 5-6 a chapter, accessed through the website provided by the book.  These video notes are the author actually working through some of the sample code and atleast one of the programming projects at the end of the chapter.  Again, there are video notes for all chapters, very well done, he takes you through the most important aspects of each chapter by using code, very hands on.  There are about 5 mins a video, and he doesn't rush through it.  I found the feature to be extremly beneficial when ever i felt lost.

the BAD:
~none really come to mind, maybe more video notes would be nice.

Bottom line:  This is a great book, java is an interesting and beneficial language to learn, i definitely recommend this book to anyone interested in learning java.  This book doesn't treat you like a child, nor an expert, just an adult who wants to learn java.
1247733
This is the best damn book on programming I have ever read and DONE!  I cannot believe no one has ever used  this
technique before.  IT REALLY WORKS!
648249
I kept hearing about functional programming so I figured I would take some time to check it out. One day, after failed attempts at learning Scala, Haskell and Clojure, I stumbled upon Elixir. Then I saw that Dave Thomas was writing a book on Elixir and I just knew it had to be my companion to learning Elixir.

Dave has an incredible talent for taking foreign and complex (for now) ideas like recursion and macros and explaining them in a way that makes learning effortless. This book not only shows you the features of Elixir, it also teaches you how to think in terms of functional programming and concurrency. The exercises at the end of each chapter are a must and it's fun to compare your solutions with other people's (as well as Dave's!).

This book has had a profound impact on the way I program. I highly recommend Programming Elixir by Dave Thomas.
3104468
For sure the best book on programming I've had the pleasure of reading. From the very beginning the author grabbed my attention and had me wanting to learn more. I am new to programming and wanted to learn more. I have read up on C and C++ programming and it seems like Java is the way to go! I really liked that the author included visuals to help you follow along with the steps. It was very detailed in each step to help you understand the awesome idea of the programming world.

The thing I like most about the book it is told you what the difference between Java and C and C++ programming. Which without being a programmer most people would not know. I will recommend this book to all my friends who program as well as anybody who wants to learn it!
3855308
This one is a very good book. It is essentially a book in natural philosophy, not quite "scientific", coming from observation to show you a little bit of everything. An insight to the entire world of programming if you like.

It goes from bottom up, from coding style through techniques and tools to paradigms and architecture. A lot (A LOT) of things explained, briefly, but perfectly understandable. It lacks any analysis or in-depth discussion, but that is on purpose.

Not that many things for an experienced programmer to learn from this book though. To a point where it is boring. It took me longer to read this book through than many others, because I knew much of it in the first place.

The language of the book, the author really is in for wordplay and puns of all sorts, it's all over the place. And although I do believe that proficiency (and desire to excel) in written language is a sure indication of a great programmer, this is not always to the book's best. It sure doesn't read like a textbook, but that's ok. There were a few really good jokes, but most of it is just wordplay for its own sake. For example,

[quote]
This is the really nasty one - when your program isn't pushing up the daisies, just pining for the fjords.
[/quote]

Look, I know what "pushing up the daisies" mean, and I can deduce the meaning for "pining for the fjords" from the context, but having it written like that doesn't really help.

Like some other reviewer, I also didn't like the "good programmers" vs. "bad programmers" checklists. See, being a good programmer (aren't we all ?), I wouldn't know how bad programmers  think, thus any attempt to declare "bad programmers do that" would be at best a guess.

What's really good about this book, is that it goes under a positive "do as I do" key, not a negative "don't do as I say", seen much more frequently. I'd guess that the guy is really keen on what he's doing, and you can feel it in his book.

I was pleased to see that yet another author's word supports my belief in that programming is simply patience, discipline and common sense. Oh, and PRACTICE.

Anyhow, a great book for a beginning pragmatic programmer.
2636341
Please add my positive comments toward the review of this book. I have used dozens of books over the years to help learn computer related issues and this book is by far the best I have ever seen.
Yes, it's geared  toward beginners. That's why it is so good. It doesn't assume that you know  anything. That even helped me. The last language I programmed in was 5  years ago before all the new object oriented concepts and event driven  coding.
For those who have never seen or heard the SDLC System  Development Life Cycle this book has one of the best coverages I have seen.  There are a couple of slight deviations in the chapter but I have written  those to John Smiley as suggested revisions for his next book.
I have  never read a book so quickly. In just two days I have completed almost 200  of the 700+ pages. The flow of material is unrestrictive.
I have seen  some things that get glossed over slighlty but nothing that will cause me  to not understand a concept. This book could easily be adapted to an  interactive CD ROM or video.
I'm happy and trust me when I say it takes a  lot to impress me. I was a bit unsure before my purchase so I e-mailed Mr.  Smiley and asked a couple of questions to which he gave me a very prompt  and curteous reply. I bought the first book the next morning. I will buy at  least some of his others. I don't know that I will have to buy them all, as  the projects I wish to code are not too complicated.
I wish all of the  authors of Technical Books would follow his lead. It makes learning so much  easier.
311494
This book is THE book from which I learnt .Net . I worship this book for all its contents, well laid out and concepts explained in developer-to-developer terms. This is the best book I have read so far in .Net . A definite yes on this book. You don't have to think twice to buy this book. It's worth every dollar. A very good book overall.