Hacking: The Art of Exploitation, 2nd Edition
by Jon Erickson
The Manga Guide to Statistics
by Shin Takahashi
Wicked Cool PHP
by William Steinmetz; Brian Ward
The Principles of Project Management
by Meri Williams
Java Persistence with Hibernate
by Christian Bauer; Gavin King
If you've asked someone the secret to writing efficient, well-written software, the answer that you've probably gotten is "learn assembly language programming." By learning assembly language programming, you learn how the machine really operates and that knowledge will help you write better high-level language code. A dirty little secret assembly language programmers rarely admit to, however, is that what you really need to learn is machine organization, not assembly language programming. Write Great Code Vol I , the first in a series from assembly language expert Randall Hyde, dives right into machine organization without the extra overhead of learning assembly language programming at the same time. And since Write Great Code Vol I concentrates on the machine organization, not assembly language, the reader will learn in greater depth those subjects that are language-independent and of concern to a high level language programmer. Write Great Code Vol I will help programmers make wiser choices with respect to programming statements and data types when writing software, no matter which language they use.
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 17 Ratings
Great information... But do you really need it? - 2006-10-25
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This is a great book but I have to disagree with the overall viewpoint. I've been doing embedded programming for a while and if that's all I'd ever done I would totally agree that understanding low level concepts helps write better code. However, I also write a lot of code in C#. People who normally use high level languages such as C#, VB.Net, or JAVA are probably not going to benefit much from this book. These languages are so far abstracted from the hardware level that the concepts are hard to apply anywhere. On the other hand, if you still use malloc on a daily basis, you need to read the book :) Anyway, the book is easy to read and I never caught any errors. If you want to learn about computers at a low level, then this is a great book to start with!
The computer book you'll NEVER read.. - 2007-07-24
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
If you're like most IT people out in the workforce today, you've got pressures from all sides - deadlines, keeping current with changes in platforms, hardware, software tools, etc. Gah! It never ends!
So, you pick up these "Write Great Code" books, thinking that you'll be a better programmer.
And it's interesting in a way that you remember when you were just getting into the IT field as a student and later as an employee and maybe now as a consultant or contractor.
But, then you realize that this is like thinking about how your car's components are working while you're driving madly to work on some beltway. Only your skills as a driver can keep you from getting hit by a big semi, not the working knowledge of your V8 engine. Guys who work on their cars on the weekend, know more about them than you do, but hey, it gets you to work and back.
And so, you sigh and put the book down and concentrate on your SQL, or your VB or whatever else keeps you employed.
Why?
Because your users and your manager don't care about what goes on at the machine level. They want the deliverables NOW. The efficiency of your code is of no importance to them, though it is to you.
However, with enough discipline and some thought to what you're doing, you CAN make this book work for you, and get an edge over someone else's sloppy code and maybe even save yourself some programming time.
Because this book is for the guys who are the computer counterparts of the greasy-looking guys on the street who could tell you what's wrong with your car, even if you can't.
Terific text - 2008-05-20
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
Well, I can't say much that the other reviewers haven't already said. This is a terrific text that very clearly explains how things work in computers, right down to the finest level. Hyde writes in a casual, conversation-like tone (sometimes bordering on poor grammar) that makes this text a lot more stomachable than I would have thought. Typos are minimal (I recall maybe 4 or 5).
Now that I've been through the book (after maybe 2 weeks, at an easy pace), I can't say that I'm going to go write assembly programs. I can say that I know a great deal more about how computers work, and how I can write code that works more harmoniously with computers. My background is mechanical engineering with a ridiculous dose of electrical engineering, so a lot of the concepts presented were review for me (digital circuitry, binary math, etc)...but it is always good to hear the same material again in a different way. As I said before, the casual tone makes the material easy to follow, as well as Hyde's very clear explanations. However, as a mechanical engineer my programming background was just "writing code," i.e. how to get various programs to run correctly. I read the chapter in the text on memory twice- I found that chapter alone to make the book well worth the money to me, as I am currently writing codes that demand every inch of speed and memory that the computer can offer.
So overall, its a good book, worth the money, and worth taking the time to read.
Lucid explanation of concepts - 2007-07-06
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
Author has explained low-level concepts lucidly. It is easy on eyes. Basic concepts become very clear. It is one of those 'can't keep down without reading few chapters at a stretch' kind of technical book. Very few books have this edge. Just don't feel like stopping reading it.
Beginners must read this book before attempting to read more in-depth low-level technical books. This book is a must for people who are exposed to high-level languages but have not studied Computer Science.
This is an amazing book. - 2008-09-30
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This book was required for a college course, and I must say, I'm glad it was. The book is greatly informative on all topics, and brings up relative points I had never thought of on programming. I'd highly recommend this book.
Some information on this page was provided using data from Amazon.com®. View at Amazon >