When the modern computer was first invented in the 1940′s, users had a very big problem. How do you tell the computer what to do?
All they had was a list of number codes that equalled an action in the computer processor (CPU). These are called machine code or binary code. Working in with machine codes was and still is hard to do. The programmer need to understand what the code meant and did in the CPU.
Assembly language was developed to make programming computer easier. Letter mnemonics were used for the CPU functions. This made the CPU functions easier to understand by a person. An assembler program would then convert the mnemonics into the binary codes the CPU could understand. While assembler was easier than machine code, it was still difficult and slow to do.
John Backus at IBM is credited with creating the first complete computer programming language called FORTRAN. This stood for formula translation. Grace Hooper from the US Navy implemented COBOL which became a standard for business programming for many years. BASIC was created in 1964 by John George Kemeny and Donald Kurtz at Dathmouth University in the US. It was designed to allow students to write programs for the university computer.
When the PC was developed during the 1970′s, it met with the same problems that first computers had in the forties. One of the first people to implement BASIC for the PC were Bill Gates and Paul Allen who went on to create Microsoft. This version of BASIC was Microsoft’s first product. In the early nineties, Visual Basic was developed as a simplified way to write programs for Windows. It solved the problem of horrendously difficult Windows programming was. Suddenly Visual Basic made Window Programming easy to do and it took off like a Saturn V rocket to the moon.
So for a long time, the only way to automate tasks on a computer was to write a computer programs to do it. In Unix enviroments, scripting languages were developed but they still relied on programming. It meant learning programming, logic and techniques to write code.
So where did macros come from? When computers became big enough to have an interactive display with keyboard, early programmers wrote editors for themselves so that they could make writing programs easier. The first macros were embedded codes in the text of a program that were automatically expanded to multiple strings of characters. Eventually someone started to attach these strings of characters to keys on the keyboard. Modern macro systems still use these techniques today.
The first macro systems were part of word processing programs used for code writing. When commercial word processing program were implemented, it was natural for programmers to bring their programming aids with them to word processing. This is why we see macros in programs like Microsoft Word and Excel.
People found that macros could very useful in other parts of the operating system, not just word processing. So the early macro systems were created to help in operating systems like MS-DOS. Common commands were attached to keys to reduce typing and make it faster.
With graphic user interface (GUI) operating systems like Apple Mac OS and Microsoft Windows, keystrokes are not enough. The macro system needs to know about the mouse and essential system functions to work well. Fortunately, there are good macros systems available that can do it all for us.
Tags: computer programming language, cpu assembly, cpu functions, formula translation, grace hooper, john backus, rocket to the moon, saturn v, scripting languages, window programming