Author: Randall Hyde
Publisher: No Starch Press
ISBN: 171850036X
Category : Computers
Languages : en
Pages : 474
Book Description
Understanding the Machine, the first volume in the landmark Write Great Code series by Randall Hyde, explains the underlying mechanics of how a computer works. This, the first volume in Randall Hyde's Write Great Code series, dives into machine organization without the extra overhead of learning assembly language programming. Written for high-level language programmers, Understanding the Machine fills in the low-level details of machine organization that are often left out of computer science and engineering courses. Learn: How the machine represents numbers, strings, and high-level data structures, so you'll know the inherent cost of using them. How to organize your data, so the machine can access it efficiently. How the CPU operates, so you can write code that works the way the machine does. How I/O devices operate, so you can maximize your application's performance when accessing those devices. How to best use the memory hierarchy to produce the fastest possible programs. Great code is efficient code. But before you can write truly efficient code, you must understand how computer systems execute programs and how abstractions in programming languages map to the machine's low-level hardware. After all, compilers don't write the best machine code; programmers do. This book gives you the foundation upon which all great software is built. NEW IN THIS EDITION, COVERAGE OF: Programming languages like Swift and Java Code generation on modern 64-bit CPUs ARM processors on mobile phones and tablets Newer peripheral devices Larger memory systems and large-scale SSDs
Write Great Code, Volume 1, 2nd Edition
Author: Randall Hyde
Publisher: No Starch Press
ISBN: 171850036X
Category : Computers
Languages : en
Pages : 474
Book Description
Understanding the Machine, the first volume in the landmark Write Great Code series by Randall Hyde, explains the underlying mechanics of how a computer works. This, the first volume in Randall Hyde's Write Great Code series, dives into machine organization without the extra overhead of learning assembly language programming. Written for high-level language programmers, Understanding the Machine fills in the low-level details of machine organization that are often left out of computer science and engineering courses. Learn: How the machine represents numbers, strings, and high-level data structures, so you'll know the inherent cost of using them. How to organize your data, so the machine can access it efficiently. How the CPU operates, so you can write code that works the way the machine does. How I/O devices operate, so you can maximize your application's performance when accessing those devices. How to best use the memory hierarchy to produce the fastest possible programs. Great code is efficient code. But before you can write truly efficient code, you must understand how computer systems execute programs and how abstractions in programming languages map to the machine's low-level hardware. After all, compilers don't write the best machine code; programmers do. This book gives you the foundation upon which all great software is built. NEW IN THIS EDITION, COVERAGE OF: Programming languages like Swift and Java Code generation on modern 64-bit CPUs ARM processors on mobile phones and tablets Newer peripheral devices Larger memory systems and large-scale SSDs
Publisher: No Starch Press
ISBN: 171850036X
Category : Computers
Languages : en
Pages : 474
Book Description
Understanding the Machine, the first volume in the landmark Write Great Code series by Randall Hyde, explains the underlying mechanics of how a computer works. This, the first volume in Randall Hyde's Write Great Code series, dives into machine organization without the extra overhead of learning assembly language programming. Written for high-level language programmers, Understanding the Machine fills in the low-level details of machine organization that are often left out of computer science and engineering courses. Learn: How the machine represents numbers, strings, and high-level data structures, so you'll know the inherent cost of using them. How to organize your data, so the machine can access it efficiently. How the CPU operates, so you can write code that works the way the machine does. How I/O devices operate, so you can maximize your application's performance when accessing those devices. How to best use the memory hierarchy to produce the fastest possible programs. Great code is efficient code. But before you can write truly efficient code, you must understand how computer systems execute programs and how abstractions in programming languages map to the machine's low-level hardware. After all, compilers don't write the best machine code; programmers do. This book gives you the foundation upon which all great software is built. NEW IN THIS EDITION, COVERAGE OF: Programming languages like Swift and Java Code generation on modern 64-bit CPUs ARM processors on mobile phones and tablets Newer peripheral devices Larger memory systems and large-scale SSDs
Write Great Code, Volume 1
Author: Randall Hyde
Publisher: No Starch Press
ISBN: 1593270992
Category : Computers
Languages : en
Pages : 461
Book Description
Today's programmers are often narrowly trained because the industry moves too fast. That's where Write Great Code, Volume 1: Understanding the Machine comes in. This, the first of four volumes by author Randall Hyde, teaches important concepts of machine organization in a language-independent fashion, giving programmers what they need to know to write great code in any language, without the usual overhead of learning assembly language to master this topic. A solid foundation in software engineering, The Write Great Code series will help programmers make wiser choices with respect to programming statements and data types when writing software.
Publisher: No Starch Press
ISBN: 1593270992
Category : Computers
Languages : en
Pages : 461
Book Description
Today's programmers are often narrowly trained because the industry moves too fast. That's where Write Great Code, Volume 1: Understanding the Machine comes in. This, the first of four volumes by author Randall Hyde, teaches important concepts of machine organization in a language-independent fashion, giving programmers what they need to know to write great code in any language, without the usual overhead of learning assembly language to master this topic. A solid foundation in software engineering, The Write Great Code series will help programmers make wiser choices with respect to programming statements and data types when writing software.
Write Great Code, Volume 2, 2nd Edition
Author: Randall Hyde
Publisher: No Starch Press
ISBN: 1718500386
Category : Computers
Languages : en
Pages : 658
Book Description
Thinking Low-Level, Writing High-Level, the second volume in the landmark Write Great Code series by Randall Hyde, covers high-level programming languages (such as Swift and Java) as well as code generation on 64-bit CPUsARM, the Java Virtual Machine, and the Microsoft Common Runtime. Today's programming languages offer productivity and portability, but also make it easy to write sloppy code that isn't optimized for a compiler. Thinking Low-Level, Writing High-Level will teach you to craft source code that results in good machine code once it's run through a compiler. You'll learn: How to analyze the output of a compiler to verify that your code generates good machine code The types of machine code statements that compilers generate for common control structures, so you can choose the best statements when writing HLL code Enough assembly language to read compiler output How compilers convert various constant and variable objects into machine data With an understanding of how compilers work, you'll be able to write source code that they can translate into elegant machine code. 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
Publisher: No Starch Press
ISBN: 1718500386
Category : Computers
Languages : en
Pages : 658
Book Description
Thinking Low-Level, Writing High-Level, the second volume in the landmark Write Great Code series by Randall Hyde, covers high-level programming languages (such as Swift and Java) as well as code generation on 64-bit CPUsARM, the Java Virtual Machine, and the Microsoft Common Runtime. Today's programming languages offer productivity and portability, but also make it easy to write sloppy code that isn't optimized for a compiler. Thinking Low-Level, Writing High-Level will teach you to craft source code that results in good machine code once it's run through a compiler. You'll learn: How to analyze the output of a compiler to verify that your code generates good machine code The types of machine code statements that compilers generate for common control structures, so you can choose the best statements when writing HLL code Enough assembly language to read compiler output How compilers convert various constant and variable objects into machine data With an understanding of how compilers work, you'll be able to write source code that they can translate into elegant machine code. 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
Write Great Code, Vol. 2
Author: Randall Hyde
Publisher: No Starch Press
ISBN: 1593270658
Category : Computers
Languages : en
Pages : 641
Book Description
Provides information on how computer systems operate, how compilers work, and writing source code.
Publisher: No Starch Press
ISBN: 1593270658
Category : Computers
Languages : en
Pages : 641
Book Description
Provides information on how computer systems operate, how compilers work, and writing source code.
Write Great Code, Volume 2
Author: Randall Hyde
Publisher: No Starch Press
ISBN: 1593271131
Category : Computers
Languages : en
Pages : 641
Book Description
It's a critical lesson that today's computer science students aren't always being taught: How to carefully choose their high-level language statements to produce efficient code. Write Great Code, Volume 2: Thinking Low-Level, Writing High-Level shows software engineers what too many college and university courses don't - how compilers translate high-level language statements and data structures into machine code. Armed with this knowledge, they will make informed choices concerning the use of those high-level structures and help the compiler produce far better machine code - all without having to give up the productivity and portability benefits of using a high-level language.
Publisher: No Starch Press
ISBN: 1593271131
Category : Computers
Languages : en
Pages : 641
Book Description
It's a critical lesson that today's computer science students aren't always being taught: How to carefully choose their high-level language statements to produce efficient code. Write Great Code, Volume 2: Thinking Low-Level, Writing High-Level shows software engineers what too many college and university courses don't - how compilers translate high-level language statements and data structures into machine code. Armed with this knowledge, they will make informed choices concerning the use of those high-level structures and help the compiler produce far better machine code - all without having to give up the productivity and portability benefits of using a high-level language.
The Art of Assembly Language, 2nd Edition
Author: Randall Hyde
Publisher: No Starch Press
ISBN: 1593273010
Category : Computers
Languages : en
Pages : 764
Book Description
Assembly is a low-level programming language that's one step above a computer's native machine language. Although assembly language is commonly used for writing device drivers, emulators, and video games, many programmers find its somewhat unfriendly syntax intimidating to learn and use. Since 1996, Randall Hyde's The Art of Assembly Language has provided a comprehensive, plain-English, and patient introduction to 32-bit x86 assembly for non-assembly programmers. Hyde's primary teaching tool, High Level Assembler (or HLA), incorporates many of the features found in high-level languages (like C, C++, and Java) to help you quickly grasp basic assembly concepts. HLA lets you write true low-level code while enjoying the benefits of high-level language programming. As you read The Art of Assembly Language, you'll learn the low-level theory fundamental to computer science and turn that understanding into real, functional code. You'll learn how to: –Edit, compile, and run HLA programs –Declare and use constants, scalar variables, pointers, arrays, structures, unions, and namespaces –Translate arithmetic expressions (integer and floating point) –Convert high-level control structures This much anticipated second edition of The Art of Assembly Language has been updated to reflect recent changes to HLA and to support Linux, Mac OS X, and FreeBSD. Whether you're new to programming or you have experience with high-level languages, The Art of Assembly Language, 2nd Edition is your essential guide to learning this complex, low-level language.
Publisher: No Starch Press
ISBN: 1593273010
Category : Computers
Languages : en
Pages : 764
Book Description
Assembly is a low-level programming language that's one step above a computer's native machine language. Although assembly language is commonly used for writing device drivers, emulators, and video games, many programmers find its somewhat unfriendly syntax intimidating to learn and use. Since 1996, Randall Hyde's The Art of Assembly Language has provided a comprehensive, plain-English, and patient introduction to 32-bit x86 assembly for non-assembly programmers. Hyde's primary teaching tool, High Level Assembler (or HLA), incorporates many of the features found in high-level languages (like C, C++, and Java) to help you quickly grasp basic assembly concepts. HLA lets you write true low-level code while enjoying the benefits of high-level language programming. As you read The Art of Assembly Language, you'll learn the low-level theory fundamental to computer science and turn that understanding into real, functional code. You'll learn how to: –Edit, compile, and run HLA programs –Declare and use constants, scalar variables, pointers, arrays, structures, unions, and namespaces –Translate arithmetic expressions (integer and floating point) –Convert high-level control structures This much anticipated second edition of The Art of Assembly Language has been updated to reflect recent changes to HLA and to support Linux, Mac OS X, and FreeBSD. Whether you're new to programming or you have experience with high-level languages, The Art of Assembly Language, 2nd Edition is your essential guide to learning this complex, low-level language.
Write Great Code, Volume 2, 2nd Edition
Author: Randall Hyde
Publisher: No Starch Press
ISBN: 1718500394
Category : Computers
Languages : en
Pages : 658
Book Description
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.
Publisher: No Starch Press
ISBN: 1718500394
Category : Computers
Languages : en
Pages : 658
Book Description
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.
Code Complete
Author: Steve McConnell
Publisher: Pearson Education
ISBN: 0735636974
Category : Computers
Languages : en
Pages : 952
Book Description
Widely considered one of the best practical guides to programming, Steve McConnell’s original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices—and hundreds of new code samples—illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking—and help you build the highest quality code. Discover the timeless techniques and strategies that help you: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor—or evolve—code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project
Publisher: Pearson Education
ISBN: 0735636974
Category : Computers
Languages : en
Pages : 952
Book Description
Widely considered one of the best practical guides to programming, Steve McConnell’s original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices—and hundreds of new code samples—illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking—and help you build the highest quality code. Discover the timeless techniques and strategies that help you: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor—or evolve—code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project
Code Craft
Author: Pete Goodliffe
Publisher: No Starch Press
ISBN: 1593271190
Category : Computers
Languages : en
Pages : 626
Book Description
A guide to writing computer code covers such topics as variable naming, presentation style, error handling, and security.
Publisher: No Starch Press
ISBN: 1593271190
Category : Computers
Languages : en
Pages : 626
Book Description
A guide to writing computer code covers such topics as variable naming, presentation style, error handling, and security.
The Art of WebAssembly
Author: Rick Battagline
Publisher: No Starch Press
ISBN: 1718501455
Category : Computers
Languages : en
Pages : 321
Book Description
A a thorough, practice-based introduction to WebAssembly. Learn how to create high-performing, lightning-fast websites and applications. WebAssembly is the fast, compact, portable technology that optimizes the performance of resource-intensive web applications and programs. The Art of WebAssembly is designed to give web developers a solid understanding of how it works, when to use it (and when not to), and how to develop and deploy WebAssembly apps. First you’ll learn how to optimize and compile low-level code, debug and evaluate WebAssembly, and represent WebAssembly in the human-readable WebAssembly Text (WAT) format. Once you have the basics down, you’ll build a browser-based collision detection program, work with browser rendering technologies to create graphics and animations, and see how WebAssembly interacts with other web languages. You’ll also learn how to: Embed WebAssembly applications in web browsers and Node.js Use browser debuggers to evaluate your WebAssembly code Format variables, loops, functions, strings, data structures, and conditional logic in WAT Manipulate memory Build a program that generates graphical objects and detects when they collide Evaluate the output of a WebAssembly compiler The Art of WebAssembly will help you make sense of this powerful technology to boost the performance of your web applications.
Publisher: No Starch Press
ISBN: 1718501455
Category : Computers
Languages : en
Pages : 321
Book Description
A a thorough, practice-based introduction to WebAssembly. Learn how to create high-performing, lightning-fast websites and applications. WebAssembly is the fast, compact, portable technology that optimizes the performance of resource-intensive web applications and programs. The Art of WebAssembly is designed to give web developers a solid understanding of how it works, when to use it (and when not to), and how to develop and deploy WebAssembly apps. First you’ll learn how to optimize and compile low-level code, debug and evaluate WebAssembly, and represent WebAssembly in the human-readable WebAssembly Text (WAT) format. Once you have the basics down, you’ll build a browser-based collision detection program, work with browser rendering technologies to create graphics and animations, and see how WebAssembly interacts with other web languages. You’ll also learn how to: Embed WebAssembly applications in web browsers and Node.js Use browser debuggers to evaluate your WebAssembly code Format variables, loops, functions, strings, data structures, and conditional logic in WAT Manipulate memory Build a program that generates graphical objects and detects when they collide Evaluate the output of a WebAssembly compiler The Art of WebAssembly will help you make sense of this powerful technology to boost the performance of your web applications.