Verwandte Artikel zu Write Great Code, Volume 2, 2nd Edition: Thinking Low-Level,...

Write Great Code, Volume 2, 2nd Edition: Thinking Low-Level, Writing High-Level - Softcover

 
9781718500389: Write Great Code, Volume 2, 2nd Edition: Thinking Low-Level, Writing High-Level

Inhaltsangabe

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
  • Die Inhaltsangabe kann sich auf eine andere Ausgabe dieses Titels beziehen.

    Über die Autorin bzw. den Autor

    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.

    Auszug. © Genehmigter Nachdruck. Alle Rechte vorbehalten.

    INTRODUCTION

    There are many aspects of great code—far too many to describe properly in a single book. Therefore, this second volume of the Write Great Code series concentrates on one important part of great code: performance. As computer systems have increased in performance from MHz, to hundreds of MHz, to GHz, the performance of computer software has taken a back seat to other concerns. Today, it is not at all uncommon for software engineers to exclaim, “You should never optimize your code!” Funny, you don’t hear too many computer application users making such statements.

    Although this book describes how to write efficient code, it is not a book about optimization. Optimization is a phase near the end of the software development cycle in which software engineers determine why their code does not meet performance specifications and then massage the code to achieve those specifications. But unfortunately, if no thought is put into the performance of the application until the optimization phase, it’s unlikely that optimization will prove practical. The time to ensure that an application has reasonable performance characteristics is at the beginning, during the design and implementation phases. Optimization can fine-tune the performance of a system, but it can rarely deliver a miracle.

    Although the quote is often attributed to Donald Knuth, who popularized it, it was Tony Hoare who originally said, “Premature optimization is the root of all evil.” This statement has long been the rallying cry of software engineers who avoid any thought of application performance until the very end of the software-development cycle—at which point the optimization phase is typically ignored for economic or time-to-market reasons. However, Hoare did not say, “Concern about application performance during the early stages of an application’s development is the root of all evil.” He specifically said premature optimization, which, back then, meant counting cycles and instructions in assembly language code—not the type of coding you want to do during initial program design, when the code base is rather fluid. So, Hoare’s comments were on the mark. The following excerpt from a short essay by Charles Cook (www.cookcomputing.com/blog/archives/ 000084.html) describes the problem with reading too much into this statement:

    I’ve always thought this quote has all too often led software designers into serious mistakes because it has been applied to a different problem domain to what was intended.

    The full version of the quote is “We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.” and I agree with this. It’s usually not worth spending a lot of time micro-optimizing code before it’s obvious where the performance bottlenecks are. But, conversely, when designing software at a system level, performance issues should always be considered from the beginning. A good software developer will do this automatically, having developed a feel for where performance issues will cause problems. An inexperienced developer will not bother, misguidedly believing that a bit of fine tuning at a later stage will fix any problems.

    Hoare was really saying that software engineers should worry about other issues, like good algorithm design and good implementations of those algorithms, before they worry about traditional optimizations, like how many CPU cycles a particular statement requires for execution.

    Although you could certainly apply many of this book’s concepts during an optimization phase, most of the techniques here really need to be done during initial coding. If you put them off until you reach “code complete,” it’s unlikely they will ever find their way into your software. It’s just too much work to implement these ideas after the fact.

    This book will teach you how to choose appropriate high-level language (HLL) statements that translate into efficient machine code with a modern optimizing compiler. With most HLLs, using different statements provides many ways to achieve a given result; and, at the machine level, some of these ways are naturally more efficient than others. Though there may be a very good reason for choosing a less-efficient statement sequence over a more efficient one (e.g., for readability purposes), the truth is that most software engineers have no idea about the runtime costs of HLL statements. Without such knowledge, they are unable to make an educated choice concerning statement selection. The goal of this book is to change that.

    An experienced software engineer may argue that the implementation of these individual techniques produces only minor improvements in performance. In some cases, this evaluation is correct; but we must keep in mind that these minor effects accumulate. While one can certainly abuse the techniques this book suggests, producing less readable and less maintainable code, it only makes sense that, when presented with two otherwise equivalent code sequences (from a system design point of view), you should choose the more efficient one. Unfortunately, many of today’s software engineers don’t know which of two implementations actually produces the more efficient code.

    Though you don’t need to be an expert assembly language programmer in order to write efficient code, if you’re going to study compiler output (as you will do in this book), you’ll need at least a reading knowledge of it. Chapters 3 and 4 provide a quick primer for 80x86 and PowerPC assembly language.

    In Chapters 5 and 6, you’ll learn about determining the quality of your HLL statements by examining compiler output. These chapters describe disassemblers, object code dump tools, debuggers, various HLL compiler options for displaying assembly language code, and other useful software tools.

    The remainder of the book, Chapters 7 through 15, describes how compilers generate machine code for different HLL statements and data types. Armed with this knowledge, you will be able to choose the most appropriate data types, constants, variables, and control structures to produce efficient applications.

    While you read, keep Dr. Hoare’s quote in mind: “Premature optimization is the root of all evil.” It is certainly possible to misapply the information in this book and produce code that is difficult to read and maintain. This would be especially disastrous during the early stages of your project’s design and implementation, when the code is fluid and subject to change. But remember: This book is not about choosing the most efficient statement sequence, regardless of the consequences; it is about understanding the cost of various HLL constructs so that, when you have a choice, you can make an educated decision concerning which sequence to use. Sometimes, there are legitimate reasons to choose a less efficient sequence. However, if you do not understand the cost of a given statement, there is no way for you to choose a more efficient alternative.

    „Über diesen Titel“ kann sich auf eine andere Ausgabe dieses Titels beziehen.

    • VerlagNo Starch Press
    • Erscheinungsdatum2020
    • ISBN 10 1718500386
    • ISBN 13 9781718500389
    • EinbandTapa blanda
    • SpracheEnglisch
    • Auflage2
    • Anzahl der Seiten656
    • Kontakt zum HerstellerNicht verfügbar

    Gebraucht kaufen

    Zustand: Gut
    Ship within 24hrs. Satisfaction...
    Diesen Artikel anzeigen

    EUR 7,01 für den Versand von USA nach Deutschland

    Versandziele, Kosten & Dauer

    Gratis für den Versand innerhalb von/der Deutschland

    Versandziele, Kosten & Dauer

    Suchergebnisse für Write Great Code, Volume 2, 2nd Edition: Thinking Low-Level,...

    Beispielbild für diese ISBN

    Hyde, Randall
    ISBN 10: 1718500386 ISBN 13: 9781718500389
    Gebraucht Paperback

    Anbieter: BooksRun, Philadelphia, PA, USA

    Verkäuferbewertung 5 von 5 Sternen 5 Sterne, Erfahren Sie mehr über Verkäufer-Bewertungen

    Paperback. Zustand: Very Good. 2. Ship within 24hrs. Satisfaction 100% guaranteed. APO/FPO addresses supported. Bestandsnummer des Verkäufers 1718500386-8-1

    Verkäufer kontaktieren

    Gebraucht kaufen

    EUR 11,13
    Währung umrechnen
    Versand: EUR 7,01
    Von USA nach Deutschland
    Versandziele, Kosten & Dauer

    Anzahl: 1 verfügbar

    In den Warenkorb

    Beispielbild für diese ISBN

    Hyde, Randall
    Verlag: No Starch Press, 2020
    ISBN 10: 1718500386 ISBN 13: 9781718500389
    Gebraucht paperback

    Anbieter: Bellwetherbooks, McKeesport, PA, USA

    Verkäuferbewertung 5 von 5 Sternen 5 Sterne, Erfahren Sie mehr über Verkäufer-Bewertungen

    paperback. Zustand: As New. 2. LIKE NEW/UNREAD!!! Text is Clean and Unmarked! Has a small black line or red dot on the bottom/exterior edge of pages. Bestandsnummer des Verkäufers NS-PB-LN-1718500386

    Verkäufer kontaktieren

    Gebraucht kaufen

    EUR 10,56
    Währung umrechnen
    Versand: EUR 20,23
    Von USA nach Deutschland
    Versandziele, Kosten & Dauer

    Anzahl: 1 verfügbar

    In den Warenkorb

    Beispielbild für diese ISBN

    Hyde, Randall
    Verlag: No Starch Press, 2020
    ISBN 10: 1718500386 ISBN 13: 9781718500389
    Gebraucht Paperback

    Anbieter: ThriftBooks-Atlanta, AUSTELL, GA, USA

    Verkäuferbewertung 5 von 5 Sternen 5 Sterne, Erfahren Sie mehr über Verkäufer-Bewertungen

    Paperback. Zustand: Good. No Jacket. Former library book; Pages can have notes/highlighting. Spine may show signs of wear. ~ ThriftBooks: Read More, Spend Less 2.8. Bestandsnummer des Verkäufers G1718500386I3N10

    Verkäufer kontaktieren

    Gebraucht kaufen

    EUR 13,21
    Währung umrechnen
    Versand: EUR 18,46
    Von USA nach Deutschland
    Versandziele, Kosten & Dauer

    Anzahl: 1 verfügbar

    In den Warenkorb

    Beispielbild für diese ISBN

    Hyde, Randall
    Verlag: No Starch Press, 2020
    ISBN 10: 1718500386 ISBN 13: 9781718500389
    Gebraucht Softcover

    Anbieter: SecondSale, Montgomery, IL, USA

    Verkäuferbewertung 4 von 5 Sternen 4 Sterne, Erfahren Sie mehr über Verkäufer-Bewertungen

    Zustand: Good. Item in good condition and has highlighting/writing on text. Used texts may not contain supplemental items such as CDs, info-trac etc. Bestandsnummer des Verkäufers 00083537645

    Verkäufer kontaktieren

    Gebraucht kaufen

    EUR 13,15
    Währung umrechnen
    Versand: EUR 30,72
    Von USA nach Deutschland
    Versandziele, Kosten & Dauer

    Anzahl: 1 verfügbar

    In den Warenkorb

    Foto des Verkäufers

    Randall Hyde
    Verlag: No Starch Press, 2020
    ISBN 10: 1718500386 ISBN 13: 9781718500389
    Neu Softcover

    Anbieter: moluna, Greven, Deutschland

    Verkäuferbewertung 4 von 5 Sternen 4 Sterne, Erfahren Sie mehr über Verkäufer-Bewertungen

    Zustand: New. 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 M. Bestandsnummer des Verkäufers 329317694

    Verkäufer kontaktieren

    Neu kaufen

    EUR 46,64
    Währung umrechnen
    Versand: Gratis
    Innerhalb Deutschlands
    Versandziele, Kosten & Dauer

    Anzahl: 5 verfügbar

    In den Warenkorb

    Foto des Verkäufers

    Hyde, Randall
    Verlag: No Starch Press, 2020
    ISBN 10: 1718500386 ISBN 13: 9781718500389
    Neu Softcover

    Anbieter: GreatBookPrices, Columbia, MD, USA

    Verkäuferbewertung 5 von 5 Sternen 5 Sterne, Erfahren Sie mehr über Verkäufer-Bewertungen

    Zustand: New. Bestandsnummer des Verkäufers 37702157-n

    Verkäufer kontaktieren

    Neu kaufen

    EUR 30,87
    Währung umrechnen
    Versand: EUR 17,55
    Von USA nach Deutschland
    Versandziele, Kosten & Dauer

    Anzahl: 15 verfügbar

    In den Warenkorb

    Foto des Verkäufers

    Hyde, Randall
    Verlag: No Starch Press, 2020
    ISBN 10: 1718500386 ISBN 13: 9781718500389
    Gebraucht Softcover

    Anbieter: GreatBookPrices, Columbia, MD, USA

    Verkäuferbewertung 5 von 5 Sternen 5 Sterne, Erfahren Sie mehr über Verkäufer-Bewertungen

    Zustand: As New. Unread book in perfect condition. Bestandsnummer des Verkäufers 37702157

    Verkäufer kontaktieren

    Gebraucht kaufen

    EUR 30,97
    Währung umrechnen
    Versand: EUR 17,55
    Von USA nach Deutschland
    Versandziele, Kosten & Dauer

    Anzahl: 15 verfügbar

    In den Warenkorb

    Beispielbild für diese ISBN

    Randall Hyde
    Verlag: No Starch Press,US, 2020
    ISBN 10: 1718500386 ISBN 13: 9781718500389
    Neu Softcover

    Anbieter: Kennys Bookshop and Art Galleries Ltd., Galway, GY, Irland

    Verkäuferbewertung 5 von 5 Sternen 5 Sterne, Erfahren Sie mehr über Verkäufer-Bewertungen

    Zustand: New. Bestandsnummer des Verkäufers V9781718500389

    Verkäufer kontaktieren

    Neu kaufen

    EUR 49,06
    Währung umrechnen
    Versand: EUR 2,00
    Von Irland nach Deutschland
    Versandziele, Kosten & Dauer

    Anzahl: 15 verfügbar

    In den Warenkorb

    Beispielbild für diese ISBN

    Randall Hyde
    Verlag: No Starch Press,US, 2020
    ISBN 10: 1718500386 ISBN 13: 9781718500389
    Neu Paperback / softback

    Anbieter: THE SAINT BOOKSTORE, Southport, Vereinigtes Königreich

    Verkäuferbewertung 5 von 5 Sternen 5 Sterne, Erfahren Sie mehr über Verkäufer-Bewertungen

    Paperback / softback. Zustand: New. New copy - Usually dispatched within 4 working days. 1248. Bestandsnummer des Verkäufers B9781718500389

    Verkäufer kontaktieren

    Neu kaufen

    EUR 47,71
    Währung umrechnen
    Versand: EUR 11,27
    Von Vereinigtes Königreich nach Deutschland
    Versandziele, Kosten & Dauer

    Anzahl: 3 verfügbar

    In den Warenkorb

    Foto des Verkäufers

    Randall Hyde
    Verlag: No Starch Press Aug 2020, 2020
    ISBN 10: 1718500386 ISBN 13: 9781718500389
    Neu Taschenbuch

    Anbieter: AHA-BUCH GmbH, Einbeck, Deutschland

    Verkäuferbewertung 5 von 5 Sternen 5 Sterne, Erfahren Sie mehr über Verkäufer-Bewertungen

    Taschenbuch. Zustand: Neu. Neuware - 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 codeThe types of machine code statements that compilers generate for common control structures, so you can choose the best statements when writing HLL codeEnough assembly language to read compiler outputHow compilers convert various constant and variable objects into machine dataWith 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 JavaCode generation on modern 64-bit CPUsARM processors on mobile phones and tabletsStack-based architectures like the Java Virtual MachineModern language systems like the Microsoft Common Language Runtime. Bestandsnummer des Verkäufers 9781718500389

    Verkäufer kontaktieren

    Neu kaufen

    EUR 59,24
    Währung umrechnen
    Versand: Gratis
    Innerhalb Deutschlands
    Versandziele, Kosten & Dauer

    Anzahl: 2 verfügbar

    In den Warenkorb

    Es gibt 7 weitere Exemplare dieses Buches

    Alle Suchergebnisse ansehen