
Write Great Code, Volume 2, 2nd Edition
Thinking Low-Level, Writing High-Level
Randall Hyde(Author)
No Starch Press
Published on 4. August 2020
656 pages
978-1-7185-0039-6 (ISBN)
System requirements
for ePUB without DRM
E-Book Single Licence
You are acquiring a single user licence for this eBook, which you might not transfer. [L]
Available for download
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
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.
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.
More details
Language
English
Place of publication
New York
United States
Product notice
Reflowable
File size
19,53 MB
ISBN-13
978-1-7185-0039-6 (9781718500396)
Schweitzer Classification
Other editions
Additional editions

Book
08/2020
No Starch Press
€47.00
Shipment within 3-4 weeks
Person
Randall Hyde is the author of The Art of Assembly Language, one of the most highly recommended resources on assembly, and the three volume Write Great Code series (all No Starch Press). He is also the co-author of The Waite Group's MASM 6.0 Bible. He has written for Dr. Dobb's Journal and Byte, as well as professional and academic journals.
Content
Introduction
Chapter 1: Thinking Low-Level, Writing High-Level
Chapter 2: Shouldn't You Learn Assembly Language?
Chapter 3: 80x86 Assembly for the HLL Programmer
Chapter 4: Compiler Operation and Code Generation
Chapter 5: Tools for Analyzing Compiler Output
Chapter 6: Constants and High-Level Languages
Chapter 7: Variables in a High-Level Language
Chapter 8: Array Data Types
Chapter 9: Pointer Data Types
Chapter 10: String Data Types
Chapter 11: Record, Union, and Class Data Types
Chapter 12: Arithmetic and Logical Expressions
Chapter 13: Control Structures and Programmatic Decisions
Chapter 14: Iterative Control Structures
Chapter 15: Functions and Procedures
Afterword: Engineering Software
Glossary
Chapter 1: Thinking Low-Level, Writing High-Level
Chapter 2: Shouldn't You Learn Assembly Language?
Chapter 3: 80x86 Assembly for the HLL Programmer
Chapter 4: Compiler Operation and Code Generation
Chapter 5: Tools for Analyzing Compiler Output
Chapter 6: Constants and High-Level Languages
Chapter 7: Variables in a High-Level Language
Chapter 8: Array Data Types
Chapter 9: Pointer Data Types
Chapter 10: String Data Types
Chapter 11: Record, Union, and Class Data Types
Chapter 12: Arithmetic and Logical Expressions
Chapter 13: Control Structures and Programmatic Decisions
Chapter 14: Iterative Control Structures
Chapter 15: Functions and Procedures
Afterword: Engineering Software
Glossary
System requirements
File format: ePUB
Copy protection: without DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use a reader that can handle the file format ePUB, such as Adobe Digital Editions or FBReader – both free (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePUB works well for novels and non-fiction books – i.e., 'flowing' text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook does not use copy protection or Digital Rights Management
For more information, see our eBook Help page.