Wizard Code, A View on Low-Level Programming

Categories:

Recommended

Wizard Code

Wizard Code is intended to provide a close look on low-level programming using the ISO C and sometimes machine-dependent assembly languages. The idea is to gather together information it took me years to come by into a single book. I have also included some examples on other types of programming. This book is GNU- and UNIXfriendly.

1.1.3 Goals

One of the goals of this book is to teach not only how to optimise code but mostly how to write fast code to start with. This shows as chapters dedicated to optimisation topics as well as performance measurements and statistics for some of the code in this book. I hope this book satisfies both budding young programmers and experienced ones. Have fun and keep the curious spirit alive.

1.1.4 Rationale

Why C?

One of the reasons I chose C as the language of preference is that it’s getting hard to find good information on it; most new books seem to concentrate on higher-level languages such as Java, Perl, Python, Ruby, and so on – even new books on C++ don’t seem to be many these days. Another reason for this book is that I have yet to see a book on the low-level aspects of C as a close-to-machine language.

Know the Machine

I think every programmer will still benefit from knowing how the machine works at the lowest level. As a matter of fact, I consider this knowledge crucial for writing highperformance applications, including but not limited to operating system kernels and system libraries.

GNU & UNIX

1.1. FIRST THINGS 23

Where relevant, the example programs and other topics are UNIX- centric. This is because, even though things are getting a bit awkward in the real world, UNIX is, deep in its heart, a system of notable elegance and simplicity.

As they’re practically de facto standards today, I chose to use the GNU C Compiler and other GNU tools for relevant parts of this book. For the record, Linux has been my kernel of choice for one and a half decades. Some of the freely available programming tools such as Valgrind are things you learn to rely on using Linux.

Attribution

Wizard Code, A View on Low – Level Programming – Tuomo Tuomo Venäläinen. https://web.archive.org/web/20170712195930/http://vendu.twodots.nl/files/wizardcode4.pdf

VP Flipbook Maker

Created a flipbook like this. This flipbook is made with Visual Paradigm Online. Try this free flipbook maker and create you own flipbook now!