 |
Pragmatic Thinking and Learning: Refactor Your Wetware (Pragmatic Programmers) by Andy Hunt
Book Summary InformationAuthor: Andy Hunt Edition: Paperback Audio: English (Unknown); English (Original Language); English (Published) Published: 2008-11-04 ISBN: 1934356050 Number of pages: 288 Publisher: Pragmatic Bookshelf Product features: - ISBN13: 9781934356050
- Condition: New
- Notes: BRAND NEW FROM PUBLISHER! 100% Satisfaction Guarantee. Tracking provided on most orders. Buy with Confidence! Millions of books sold!
Book Reviews of Pragmatic Thinking and Learning: Refactor Your Wetware (Pragmatic Programmers)Book Review: You just might like this Summary: 5 Stars
I aspire to be a programmer. Not just an advanced novice of C++ programming, or a novice Java programmer, but a programmer. But right now, I am lacking. Yes, I've picked up on the trendy UML, the overused object oriented programming, and the quirky design patterns. Yes, I've picked up on the 'inefficient' C++ standard library, the flexible function pointers, the annoying differences between compiler interpretations of how C++ should be, etc. I've got all that. So what? Even with all that, it still took me forever to program applications with 3rd party libraries like QT, Ultimate++, wxWidgets, and Ogre3D -- forever would be something like taking over 100 hours implementing a standard interface for an 3D RPG game.
By some odd chance, I discovered this book while looking up on more efficient ways to program in Java.
Right now, I'm blown away by this book -- it has covered much of what my life experience has shown me and more. Ever since I was 12 -- maybe 13 -- I have been picking up and abandoning odd hobbies like TI-83 BASIC programming, web mastering with HTML, ocarina crafter, paper media designer, strength training, 3D animation, etc. Pursing these things were at first random -- for the most part I took up whatever seemed interesting at the time. Eventually however I found myself relating one field to another every time I encountered something new or unexpected. For the time being, my potential was at its peak -- my intuition jumped out and successes eventually replaced failure.
Once I was about 15 or so -- pardon the details, I was introduced to philosophy, formal logic, and formal methodology. All these made me believe that I had to be consistent and stick to rules. I was excited. I could try out a new way of thinking in order to cut the time I spent for school and expand my free time! At the time, I was confused why all my grades in school went down -- I never studied more than an hour for any particular day since insights just came to me during readings. What exactly went wrong?
So... why is this rather mundane life story relevant to the review? I ll tell you. This book addresses points I brought up through my story. In the introduction, the book addresses the first paragraph: Learning the rules, taking in the context, and breaking 'tradition'. Near the end of this intro the author mentions that experts suck when you force rules down their throat -- I had only realized this last year after I stopped trying to think during jiu-jitsu training.
To tell you the truth, the intro shocked me. A month ago, I wrote an essay for a college application that addressed a very similar topic -- intuition as an abstract concept and how one might go around to using it more effectively. It took me so long for these pretty trivial realizations that I was at first mad. How could the author sum up context, faulty conceptions, and intuition so nicely in just the first 50 pages? I had to discover these very things by myself with no outside source -- be it man, machine, or paper -- and the end result was still too abstract to be used in many contexts.
Despite the initial reaction, I was actually pretty happy inside. Finally I could discover a way to turn further my world of thinking upside down -- or sideways. Those pages that followed the introduction contained the meat of the book: pragmatism.
As you can see in the product description and in the book preview, the table of contents lists in order the following chapters: "Journey From Novice to Expert", "This is Your Brain", "Get in Your Right Mind", "Debug Your Mind", etc. All these phrases sounded pretty suspect -- gimmicky rang in my head. They reminded me of those self-help books that droned on and on about untapping potential, unleashing the so called unused 90% of the brain, and all of that excess verbiage. Hmm... journey... from novice to expert? Debug... your mind? You've got to be joking me.
Reading these chapters gave me the opposite impression. Three words -- maybe five depending on context -- popped into my head: Articulate, insightful, practical. The words in those chapters did not drone on, state merely the obvious, or theorized on a 3-step process to success; they imparted wisdom and gave me food for thought -- instead of saying "for this, you should probably do this", the author gives interesting pointers like "program into a language rather than within a particular language" and "a random approach... tends to give random results".
Countless analogies gave much clarity to things that I would have otherwise attempted to drill into my head. In a particular paragraph, the author parallels the shift from the horse to the buggy with procedural programming to object oriented programming -- in both cases they both have a common characteristic (getting to places and achieving tasks) but each has their own specialties that one would have to get used to. Unlearning, he notes, is just as important as learning. In order to do that, he suggests that instead of trying to find similarities, try to discover differences. For example, instead of applying the same techniques to two different programming languages, try a variation. A generalization would be applying a square to a sequence of integers: for C++, you might want to try std::transform on an int std::array or boost::array for compactness & speed while for Java you might just want to use the For loop on an ArrayList for clarity -- the use of C++ in this context might be proper if performance is desired and the use of Java in the context of rapid development would make its use in this instance appropriate.
Constant warnings made me aware about what might not work when I think of things in a particular way -- instructional books tend to make certain words and phrases vague, so the novice often has to guess what he should try doing at first and subsequently ends up being stuck as a novice of novices. In my case, I had a habit of strictly using tools and methods; before reading this book, I would have probably gawked at the use of object oriented programming in databases -- databases I thought had to be strictly procedural/relational.
I doubt the book will be the same for everyone. Heck, some people will probably read from front to back and declare, "That's it?" Some might even state, "That's totally wrong. This is how it is." Others may say, "You're just wasting your time, money, and energy reading these kind of books hoping to learn something new when you could just practice programming." In any case, I believe that at the very least this consideration should be taken: this is a book that transcends programming -- the pages within are very much applicable to other walks of life. Not just power to programming, but also power to you.
Summary of Pragmatic Thinking and Learning: Refactor Your Wetware (Pragmatic Programmers)Software development happens in your head. Not in an editor, IDE, or design tool. You're well educated on how to work with software and hardware, but what about wetware--our own brains? Learning new skills and new technology is critical to your career, and it's all in your head.
In this book by Andy Hunt, you'll learn how our brains are wired, and how to take advantage of your brain's architecture. You'll learn new tricks and tips to learn more, faster, and retain more of what you learn.
You need a pragmatic approach to thinking and learning. You need to Refactor Your Wetware.
Programmers have to learn constantly; not just the stereotypical new technologies, but also the problem domain of the application, the whims of the user community, the quirks of your teammates, the shifting sands of the industry, and the evolving characteristics of the project itself as it is built.
We'll journey together through bits of cognitive and neuroscience, learning and behavioral theory. You'll see some surprising aspects of how our brains work, and how you can take advantage of the system to improve your own learning and thinking skills. In this book you'll learn how to:
Use the Dreyfus Model of Skill Acquisition to become more expert Leverage the architecture of the brain to strengthen different thinking modes Avoid common "known bugs" in your mind Learn more deliberately and more effectively Manage knowledge more efficiently
|
 |