The goal of computer science is to find the best ways to write a program. The reality of computer science is that nobody really knows what they’re doing, so they’re making up stuff as they go along and pretending that there’s a scientific basis for everything they do. The fact that multimillion dollar programming projects routinely fall behind schedule and sometimes never work at all pretty much shows that computer programming is still less a science than an art.


Despite these problems, computer scientists are always searching for ways to make programming easier, faster, and more reliable by constantly developing ✦ Better tools ✦ Better programming languages ✦ Better techniques for writing programs Just as a carpenter doesn’t build a house with rusty saws and a broken hammer, computer scientists are always developing better tools to help them write, fix, and create programs. One of the first improvements computer scientists made was in developing faster compilers. Instead of waiting overnight to see if a pro- gram worked, programmers could use a fast compiler that could show them the results in seconds.


Other tool improvements included editors that would show programmers the specific line where an error occurred and special programs (known as debuggers) for making sure that every part of a program worked correctly. Another way to improve programmer efficiency involves creating better programming languages. Assembly language was easier to write and modify than machine language, and high-level languages are easier to write and modify than assembly language.