Preview

Why Learn Assembly Language

Powerful Essays
Open Document
Open Document
3719 Words
Grammar
Grammar
Plagiarism
Plagiarism
Writing
Writing
Score
Score
Why Learn Assembly Language
| |

| | | Why Learning Assembly Language Is Still a Good Ideaby Randall Hyde, author of Write Great Code (No Starch)
05/06/2004 |
The world is full of case studies outlining software engineering disasters. Almost every programmer has had to work on a project involving "less than stellar" source code that was difficult to read and maintain. On rare occasion, some programmers get the opportunity to work on a well-designed system, an awe-inspiring piece of craftsmanship that usually produces the exclamation, "This is truly great code!" Clearly, professional software engineers should strive to achieve this level of greatness in all their code. But the real question is, "What makes code great?" Simply "meeting specifications" is not how one writes great code. True, in today's software environment, some might actually believe that simply meeting the specifications sets an application apart, as many development projects fail to meet their basic design goals. However, in other areas greatness is rarely defined by doing the expected and succeeding; greatness is defined by going above and beyond what is expected. Software engineers should expect no less from great software--it should go above and beyond the standard conventions for software development. Efficiency Is the KeyBecause greatness is a multifaceted attribute, a short article such as this one cannot begin to describe all the possible components of a great piece of software. Instead, this article will describe one component of writing great code that has been neglected in recent years as computer systems have increased in capacity and power: efficiency.Anyone who has been around the computer industry for a decade or more is well aware of this phenomenon: machines are getting exponentially more powerful per unit cost, yet users do not perceive this improvement in the applications that they purchase. For example, while word processors are clearly faster today than they were 21 years ago, they aren't 16,384

You May Also Find These Documents Helpful

  • Good Essays

    Pt2520 Unit 3 Metrics

    • 544 Words
    • 3 Pages

    In this presentation, the author has explained different metrics and there attributed used to measure software. A person can only measure and represent it in number when he knows something about it. On the other hand, if has no idea about it then he doesn’t have any idea about it [1]. There are two types of software complexity metrics. One gives the efficiency of the machine while running the software which is called as computational complexity. Another one is giving us the factors which affect the software developer capacity to develop good software which is known as psychological complexity. There are two types of software metrics. The process metrics which gives details of the process used such as software life cycle used for development, the time consumed for the development etc. The…

    • 544 Words
    • 3 Pages
    Good Essays
  • Better Essays

    Venit, S., & Drake, E. (2011). Prelude to Programming Concepts and Design (5th ed.). Boston, MA: Addison-Wesley.…

    • 1800 Words
    • 6 Pages
    Better Essays
  • Powerful Essays

    I. A “random survey” was conducted of 3274 people of the “microprocessor generation” (people born since 1971, the year the microprocessor was invented). It was reported that 48% of those individuals surveyed stated that if they…

    • 618 Words
    • 6 Pages
    Powerful Essays
  • Better Essays

    Int Task 3

    • 2010 Words
    • 9 Pages

    Research into which operating system performs better is extremely relevant in today’s technological environment. Every task that a computer performs is a mathematical operation. An area that is highly affected by the performance of the operating system is computer programming. When a computer programmer writes a program, the program must be converted from a programming language into a language the computer can understand, a process called compiling. Compiling is very hardware intensive and completely dependent on mathematical operations. The faster a computer is able to perform mathematical tasks, the faster compiling will run as well. Knowing which operations system performs better can save software developers time, which in turn saves money in development.…

    • 2010 Words
    • 9 Pages
    Better Essays
  • Powerful Essays

    Eric Schmidt Google Ceo

    • 1294 Words
    • 6 Pages

    Born April 27, 1955 in the United States capital, Washington D.C. Dr. Eric Emerson Schmidt spent most of his early childhood in Northern Virginia, and Italy, where his father taught at John Hopkins in Bologna. After only two short years, spent during his third and fourth grade, while overseas, by 1965 he was relocated back to the United States, in Blacksburg, Virginia, where his father was appointed chairman of the Department of Economics at Virginia Tech. As a young boy, Schmidt was very technically adept, spending most of his time dissembling and reassembling things. At the ripe age of fifteen, while he attended Yorktown High School, he got his first exposure to computing, utilizing the school’s time-shared terminal on an ASR-33 teletype machine. His father had been so impressed that he rented his very own terminal at home, where Schmidt continued working for the school, rewriting software, which at that time consisted of only tape with punched holes.…

    • 1294 Words
    • 6 Pages
    Powerful Essays
  • Powerful Essays

    It 210 Weeks

    • 2760 Words
    • 12 Pages

    Venit, S., & Drake, E. (2011). Prelude to programming: Concepts and design (5th ed.). Boston, MA: Addison-Wesley.…

    • 2760 Words
    • 12 Pages
    Powerful Essays
  • Better Essays

    Venit, S., & Drake, E. (2009). Prelude to programming: Concepts & design (4th ed.). Boston, MA: Addison-Wesley.…

    • 890 Words
    • 4 Pages
    Better Essays
  • Good Essays

    Everyone around me had trouble understanding what could possibly draw me to such a difficult language. But the truth is that I wasn’t even sure what made coding so fascinating to me. The only thing I knew was that I was captivated by its intricacy and the ability to express my thoughts in neat lines of brackets and semicolons. There was no stopping once I started tapping away at the keyboard. Even though using computers was banned in our school dormitory, I always found a way to sneak in my laptop and trade off sleep for more perfect, beautiful code. I was a computer freak.…

    • 673 Words
    • 3 Pages
    Good Essays
  • Best Essays

    [3] A. Abran and J. W. Moore, Guide to the software engineering body of knowledge: trial version (version 0.95)…

    • 2683 Words
    • 11 Pages
    Best Essays
  • Powerful Essays

    Dijkstra Paper

    • 1691 Words
    • 7 Pages

    Edsger Dijkstra wrote a Letter to the Editor of Communications in 1968, criticizing the excessive use of the go to statement in programming languages. Instead, he encouraged his fellow computer scientists to consider structured programming. The letter, originally entitled “A Case Against the Goto Statement,” was published in the March 1968 issue under the headline “Go To Statement Considered Harmful.” It would become the most legendary CACM “Letter” of all time; “Considered Harmful” would develop into an iconic catch-all. Dijkstra’s comments sparked an editorial debate that spanned these pages for over 20 years. In honor of the occasion, we republish here the original letter that started it all. Editor: For a number of years I have been familiar with the observation that the quality of programmers is a decreasing function of the density of go to statements in the programs they produce. More recently I discovered why the use of the go to statement has such disastrous effects, and I became convinced that the go to statement should be abolished from all “higher level” programming languages (i.e. everything except, perhaps, plain machine code). At that time I did not attach too much importance to this discovery; I now submit my considerations for publication because in very recent discussions in which the subject turned up, I have been urged to do so. My first remark is that, although the programmer’s activity ends when he has constructed a correct program, the process taking place under control of his program is the true subject matter of his activity, for it is this process that has to accomplish the desired effect; it is this process that in its dynamic behavior has to satisfy the desired specifications. Yet, once the program has been made, the “making” of the corresponding process is delegated to the machine. My second remark is that our intellectual powers are rather geared to master static relations and that…

    • 1691 Words
    • 7 Pages
    Powerful Essays
  • Good Essays

    In an article, Lynda Cohen states “By 2020, there will be more than a quarter-million jobs in the (coding) field” (Cohen). This quotation proves that coding jobs are becoming more important. It is necessary to learn about them to prepare for the future. Learning about coding is essential because coding is becoming more available, relevant with all people, and prominent in daily life, so people need to know what options there are for careers.…

    • 1006 Words
    • 5 Pages
    Good Essays
  • Powerful Essays

    Dyba, T., Dingsoyr , T. (2008) Empirical studies of agile software development: A systematic review, Information and Software Technology, 50: 833–859…

    • 3027 Words
    • 13 Pages
    Powerful Essays
  • Good Essays

    When it comes to writing a program there are so many ways a person can approach the problem. Think of it this way, a chef following a recipe can look at the ingredients and decided to add more of one thing and less of another or the chef can follow the recipe exactly. As long as the chef uses common logic on blending foods the dish will come out correctly. The same is true when building a program. A programmer has many tools to choose from to make it more or less complicated. The programmer also has several tools to choose from to ensure the program runs. So let me go over some of these essential tools right now and how they relate to one another.…

    • 779 Words
    • 4 Pages
    Good Essays
  • Good Essays

    It was Mr. Nonito Bano, the first speakers with his expertise tackle about the “The Core Principles of Software Engineering”. During the seminar, Mr. Bano explained to us that having IT as our course is a big benefit knowing that technology is always advancing and the expertise of IT professionals will be a necessity. He even ask us, who wants to be a software engineer someday? Unluckily, only one answered “yes”. The said seminar benefited not just our skills in programming but as well as our self confidence in making the outline of our profession.…

    • 823 Words
    • 4 Pages
    Good Essays
  • Good Essays

    Sad Exam Paper

    • 1120 Words
    • 5 Pages

    Answer ALL parts. Total marks awarded for this question: 30. a) b) What are the characteristics of good software? 5 marks. Describe the unique features of the Object-Oriented paradigm, and illustrate polymorphism with pseudocode or coding fragments. 5 marks. Distinguish multiple classification from generalisation, and illustrate with a diagram. 5 marks. How are contracts supported in software engineering, and illustrate with a diagram. You should briefly discuss support for enforcement of contracts. 5 marks. Draw a diagram to illustrate the principle of “programming to interfaces, not implementation”. What benefits are…

    • 1120 Words
    • 5 Pages
    Good Essays