Write Great Code, Volume 2

ebook Thinking Low-Level, Writing High-Level

By Randall Hyde

cover image of Write Great Code, Volume 2

Sign up to save your library

With an OverDrive account, you can save your favorite libraries for at-a-glance information about availability. Find out more about OverDrive accounts.

   Not today

Find this title in Libby, the library reading app by OverDrive.

Download Libby on the App Store Download Libby on Google Play

Search for a digital library with this title

Title found at these libraries:

Library Name Distance
Loading...
Explains how compilers translate high-level language source code (like code written in Python) into low-level machine code (code that the computer can understand) to help readers understand how to produce the best low-level, computer readable machine code.
In the beginning, most software was written in assembly, the CPU's low-level language, in order to achieve acceptable performance on relatively slow hardware. Early programmers were sparing in their use of high-level language code, knowing that a high-level language compiler would generate crummy, low-level machine code for their software. Today, however, many programmers write in high-level languages like Python, C/C++/C#, Java, Swift. The result is often sloppy, inefficient code.
But you don't need to give up the productivity and portability of high-level languages in order to produce more efficient software.
In this second volume of the Write Great Code series, you'll learn:
    How to analyze the output of a compiler to verify that your code does, indeed, generate good machine code
    The types of machine code statements that compilers typically generate for common control structures, so you can choose the best statements when writing HLL code
    Just enough 80x86 and PowerPC assembly language to read compiler output
    How compilers convert various constant and variable objects into machine data, and how to use these objects to write faster and shorter programs
NEW TO THIS EDITION, COVERAGE OF:
    Programming languages like Swift and Java
    Code generation on modern 64-bit CPUs
    ARM processors on mobile phones and tablets
    Stack-based architectures like the Java Virtual Machine
    Modern language systems like the Microsoft Common Language Runtime
With an understanding of how compilers work, you'll be able to write source code that they can translate into elegant machine code. That understanding starts right here, with Write Great Code, Volume 2: Thinking Low-Level, Writing High-Level.
Write Great Code, Volume 2