Write Great Code, Volume 1

Write Great Code, Volume 1

PDF Write Great Code, Volume 1 Download

  • Author: Randall Hyde
  • Publisher: No Starch Press
  • ISBN: 1593270992
  • Category : Computers
  • Languages : en
  • Pages : 461

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 1, 2nd Edition

Write Great Code, Volume 1, 2nd Edition

PDF Write Great Code, Volume 1, 2nd Edition Download

  • Author: Randall Hyde
  • Publisher: No Starch Press
  • ISBN: 171850036X
  • Category : Computers
  • Languages : en
  • Pages : 474

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 2, 2nd Edition

Write Great Code, Volume 2, 2nd Edition

PDF Write Great Code, Volume 2, 2nd Edition Download

  • Author: Randall Hyde
  • Publisher: No Starch Press
  • ISBN: 1718500386
  • Category : Computers
  • Languages : en
  • Pages : 658

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


The Art of Assembly Language, 2nd Edition

The Art of Assembly Language, 2nd Edition

PDF The Art of Assembly Language, 2nd Edition Download

  • Author: Randall Hyde
  • Publisher: No Starch Press
  • ISBN: 1593273010
  • Category : Computers
  • Languages : en
  • Pages : 764

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.


Code Complete

Code Complete

PDF Code Complete Download

  • Author: Steve McConnell
  • Publisher: Pearson Education
  • ISBN: 0735636974
  • Category : Computers
  • Languages : en
  • Pages : 952

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


The Secret Life of Programs

The Secret Life of Programs

PDF The Secret Life of Programs Download

  • Author: Jonathan E. Steinhart
  • Publisher: No Starch Press
  • ISBN: 1593279701
  • Category : Computers
  • Languages : en
  • Pages : 505

A primer on the underlying technologies that allow computer programs to work. Covers topics like computer hardware, combinatorial logic, sequential logic, computer architecture, computer anatomy, and Input/Output. Many coders are unfamiliar with the underlying technologies that make their programs run. But why should you care when your code appears to work? Because you want it to run well and not be riddled with hard-to-find bugs. You don't want to be in the news because your code had a security problem. Lots of technical detail is available online but it's not organized or collected into a convenient place. In The Secret Life of Programs, veteran engineer Jonathan E. Steinhart explores--in depth--the foundational concepts that underlie the machine. Subjects like computer hardware, how software behaves on hardware, as well as how people have solved problems using technology over time. You'll learn: How the real world is converted into a form that computers understand, like bits, logic, numbers, text, and colors The fundamental building blocks that make up a computer including logic gates, adders, decoders, registers, and memory Why designing programs to match computer hardware, especially memory, improves performance How programs are converted into machine language that computers understand How software building blocks are combined to create programs like web browsers Clever tricks for making programs more efficient, like loop invariance, strength reduction, and recursive subdivision The fundamentals of computer security and machine intelligence Project design, documentation, scheduling, portability, maintenance, and other practical programming realities. Learn what really happens when your code runs on the machine and you'll learn to craft better, more efficient code.


Clean Code

Clean Code

PDF Clean Code Download

  • Author: Robert C. Martin
  • Publisher: Pearson Education
  • ISBN: 0132350882
  • Category : Computers
  • Languages : en
  • Pages : 464

This title shows the process of cleaning code. Rather than just illustrating the end result, or just the starting and ending state, the author shows how several dozen seemingly small code changes can positively impact the performance and maintainability of an application code base.


Code

Code

PDF Code Download

  • Author: Charles Petzold
  • Publisher: Microsoft Press
  • ISBN: 0137909292
  • Category : Computers
  • Languages : en
  • Pages : 563

The classic guide to how computers work, updated with new chapters and interactive graphics "For me, Code was a revelation. It was the first book about programming that spoke to me. It started with a story, and it built up, layer by layer, analogy by analogy, until I understood not just the Code, but the System. Code is a book that is as much about Systems Thinking and abstractions as it is about code and programming. Code teaches us how many unseen layers there are between the computer systems that we as users look at every day and the magical silicon rocks that we infused with lightning and taught to think." - Scott Hanselman, Partner Program Director, Microsoft, and host of Hanselminutes Computers are everywhere, most obviously in our laptops and smartphones, but also our cars, televisions, microwave ovens, alarm clocks, robot vacuum cleaners, and other smart appliances. Have you ever wondered what goes on inside these devices to make our lives easier but occasionally more infuriating? For more than 20 years, readers have delighted in Charles Petzold's illuminating story of the secret inner life of computers, and now he has revised it for this new age of computing. Cleverly illustrated and easy to understand, this is the book that cracks the mystery. You'll discover what flashlights, black cats, seesaws, and the ride of Paul Revere can teach you about computing, and how human ingenuity and our compulsion to communicate have shaped every electronic device we use. This new expanded edition explores more deeply the bit-by-bit and gate-by-gate construction of the heart of every smart device, the central processing unit that combines the simplest of basic operations to perform the most complex of feats. Petzold's companion website, CodeHiddenLanguage.com, uses animated graphics of key circuits in the book to make computers even easier to comprehend. In addition to substantially revised and updated content, new chapters include: Chapter 18: Let's Build a Clock! Chapter 21: The Arithmetic Logic Unit Chapter 22: Registers and Busses Chapter 23: CPU Control Signals Chapter 24: Jumps, Loops, and Calls Chapter 28: The World Brain From the simple ticking of clocks to the worldwide hum of the internet, Code reveals the essence of the digital revolution.


Write Portable Code

Write Portable Code

PDF Write Portable Code Download

  • Author: Brian Hook
  • Publisher: No Starch Press
  • ISBN: 1593270569
  • Category : Computers
  • Languages : en
  • Pages : 274

Contains lessons on cross-platform software development, covering such topics as portability techniques, source control, compilers, user interfaces, and scripting languages.


Think Like a Programmer

Think Like a Programmer

PDF Think Like a Programmer Download

  • Author: V. Anton Spraul
  • Publisher: No Starch Press
  • ISBN: 1593274564
  • Category : Computers
  • Languages : en
  • Pages : 260

The real challenge of programming isn't learning a language's syntax—it's learning to creatively solve problems so you can build something great. In this one-of-a-kind text, author V. Anton Spraul breaks down the ways that programmers solve problems and teaches you what other introductory books often ignore: how to Think Like a Programmer. Each chapter tackles a single programming concept, like classes, pointers, and recursion, and open-ended exercises throughout challenge you to apply your knowledge. You'll also learn how to: –Split problems into discrete components to make them easier to solve –Make the most of code reuse with functions, classes, and libraries –Pick the perfect data structure for a particular job –Master more advanced programming tools like recursion and dynamic memory –Organize your thoughts and develop strategies to tackle particular types of problems Although the book's examples are written in C++, the creative problem-solving concepts they illustrate go beyond any particular language; in fact, they often reach outside the realm of computer science. As the most skillful programmers know, writing great code is a creative art—and the first step in creating your masterpiece is learning to Think Like a Programmer.