Apress Low-Level Programming: C, Assembly, and Program Execution on Intel® 64 Architecture
A**A
Great book, all around
A learning experience worth having. The author presents the subject matter in a way that is concise and student friendly. I felt he has done a good job at breaking down the most important fundamentals of low level programming while providing insight to both its basic and advanced feature set. A treat of a book, best consumed with a pencil and paper in hand for note keeping, A great addition to my collection, This book covers a broad spectrum of information and doesn't fall short from being excellent. 2 thumbs up!
H**T
Bad written/translated
The ideas of this book and the topic covered are really good. Problem is the writing style or I guess the translation to English. Mostly it is just annoying to read but there are sentences that really doesn't make sense. At least when writing a book like this you should invest in a professional proof reader and translator.
V**V
A good introduction to all levels of programming
What this book is not about: it's not an x86 assembly manual, in fact, it doesn't give thorough description of any of the topics mentioned.It's better than that! It's more like a guide book, i.e. it's an overview of the whole modern software stack, starting with low-level assembly and ending with relatively high-level C code. So if you want to get an idea of how things work under the hood, and how those pieces stick together - this is the book for you.
R**R
No target group and errors
Tl;dr:- This book isn't well suited both for beginners and people already familiar with Assembly and C.- It contains quite a lot of spelling and grammatical errors.- The author tells you on numerous occasions to just look it up online or in the documentation.- The answers to the questions asked in the book are only available online.- Contains errors regarding C pointers and arrays.- Other than that it is actually a decent book.Let me explain...Firstly, the topic of this book is very interesting and there aren't any similar books as far as I know. Thus, I appreciate the effort that the author and the technical reviewer put into it.The author seems to be very knowledgeable with the exception of a few significant errors regarding C (more on that later). However, his writing style isn't the best. Unfortunately, the editor did a bad job because this book contains numerous spelling errors (e.g. "can not" instead of cannot). If you can't afford a proper editor, just ask on Twitter etc. if some people would be interested in proofreading a draft of the book in exchange for a free copy of the final product. There are even a few sentences that end completely different than they started as far as I remember. At least you can figure out what he meant.Who is this book for? I don't know it either.The book says on the cover "[...] teaches you to freely write in assembly language". But it simply doesn't. The author doesn't even teach the basics of assembly. All you get it an impression of how assembly works. There is no way that anyone can write freely in assembly after reading this, you probably can't even write a running program that is more complex that "hello world". Instead he focuses on all the fancy stuff in favor of teaching actual assembly language. For most things that would actually be helpful for learning assembly, he just tells you to look it up in the Intel/NASM documentation. I don't get it. If a beginner wanted to learn assembly from the documentations, then why would he buy this book?Since this book is mainly targeted to intermediate or advanced programmers (at least that's what the cover says), one might argue that this book doesn't need to be beginner friendly. In that case, why write that it teaches assembly when it clearly doesn't. Additionally, including an introduction to Assembly and C wouldn't be necessary in that case. So clearly there is no actual target group for this book except students who read this alongside a course in college. That's a shame since it offers some useful bits of information that most intermediate programmers probable don't know already.Further, I almost lost it when I saw the answers to the questions are only available online. I didn't buy a hardcopy of an expensive book just to use a computer anyway!For me personally it was over when the author said, and I quote: "[...] an expression myarray [an int array] has actually a type int*, because it is a pointer to the first array element!", p. 153. That's wrong. An array is more than just a pointer to its first element. If you don't believe me, check out "Understanding and Using C Pointers" by Richard Reese. At that point, the book lost some of its credibility. In case I misinterpreted this, it should be explained more carefully. He also mixes pointer and array notation (e.g. using array notation on a pointer), which could be considered bad practice.My advice for a possible 2nd edition would be to decide whether this book should teach asm/C or not and to market it accordingly. If they decide not to teach them, change part one and get rid of part two. Otherwise, append part one and actually teach assembly and maybe get rid of the unnecessary Models of Computation chapter. In any case, include the answers to the questions, at least summarize some of the contents of the documentations when you're referring to them, hire an editor and fix the chapters about pointers and arrays in C.If you do that, the 2nd edition will be a decent book.
V**N
Great book on the low-level programming in the mixed C/Assembly languge environment
Very well written book on Intel 64 architecture and programming using both Assembly language and C. Clear instructions, numerous code samples compilable from the first try and many assignment forcing the reader to apply his newly acquired knowledge to writing useful and quite complicated code from scratch. The chapters on using C and Assembly in ensemble are especially valuable. There are many good books about C but this one is the best I've seen so far on Assembly and its productive use with C.
ترست بايلوت
منذ 3 أسابيع
منذ 3 أيام