Introduction to Computing
Programming Languages
First computers had mechanical switches to provide input to the systems. Subsequently the input interface of the initial computers were improved to process punched cards which contained a set of holes positioned on a standard card board. This method increased the initial configuration speed of the computers allowing them to be "programmed" in a shorter time. Punched cards also provided a way of storing information that could be altered and reused easily.
Feeding the bit streams to the computer has multiple alternatives. Executing a conventional computer application is fundamentally based on providing a set of bits to the system step by step. The computer may feedback a subset of the output bits generated in the previous steps as new input, and the process would go on until either the system completes the execution or halts.
The programmable computers receive the binary executable code as a bit stream as well. Programming a computer is preparing the executable binary instructions either by
The latter is the common practice for most of the end user applications, as the source code can be improved or inspected far more easily by other people compared to the previous alternatives. It is harder even for the original author of the source code to maintain the application in future, if it was not written in a well structured and human readable format earlier.
What is a computer bug?
Legend has it that, as the punched cards were piled up, an insect was wandering around and got stuck in a hole on one of those cards. Back then, the cards were being fed into the input interface in decks. The computer was unable to process the cards correctly since the bug was blocking the hole which was there to provide input to the computer.
Since then, all programming errors are called "bugs" and removing the errors in the code is called "debugging". There are many tools for debugging in modern programming environments.
The wide spread programming languages can be listed as C, C++, Java, Python, Fortran, Pascal, C#, Objective C, and many other. Each language has its own set of rules, syntax of keywords and operators, and so on. On the other hand, many programming languages share a basic common practice of coding which we will cover throughout this course.