Skip to content
Image with logo, providing a link to the home page
  • United Stated of America flag, representing the option for the English language.
  • Bandeira do Brasil, simbolizando a opção pelo idioma Português do Brasil.

Let There Be Light

Sunshine illuminating the image.

Image credits: Image created by the author using the sparks brush with the Gimp image editor.

From the Code to the Light

Information and Communication Technologies (ICTs) permeate the modern life. However, it was not always so. Modern computers were not available about two or three generations ago. Back then, computers were people -- those who were specialists in performing mathematical calculations.

From the XXth century on, computers have since become machines. Mainframes started becoming popular circa the 1950s. They were huge machines, usually requiring entire rooms for placement. Those were large rooms, often around the size of sports courts.

Mainframe prices were impediments for broader access. Universities and larger corporations were often the only institutions that could purchase, maintain and operate mainframes.

Although the possibility of performing mathematical operations fast were revolutionary for the time, the machines' specifications were odd nowadays. Perhaps, they could even be disappointing. Frequencies were in the order of tens of Hertz; memory was counted in bytes or kilobytes. The numbers, therefore, can be hard to conceive if compared to the standards set by modern machines.

In fact, the capacity and performance of mainframes have exponentially improved in the next decades, while the prices have decreased. Slowly, the machines transitioned from institutions to homes, with the advent and popularization of the personal computer (often abbreviated as PC).

From Home to the Pocket, From the Pocket to the Body

Circa the decade of 1960, Gordon Moore observed that the number of integrated circuits double around every two years. This observation became known as Moore's Law. Although it was empirical, it holds until around the early 2000s.

While the number of integrated circuits increased, their size continued to reduce. In simple terms, one can imagine that there was a computer which performed two times as well as its older counterpart every two years. The new computer was more capable, cheaper and smaller; new processors were faster, for they were able to perform more complex operations in less time. The frequencies of the processors increased quickly from tens of Hertz (Hz) to thousands (kilohertz or kHz), to millions (megahertz or Mhz), to billions of Hertz (gigahertz or Ghz). Then factors such as physical limits became more significant in manufacturing processes. Since the end of 1990s until the day of writing this article, computers are still operating in the range of gigahertz.

Computer memory improved as fast, both in frequencies and sizes of storage. Bytes (B), kilobytes (KB), megabytes (MB), gigabytes (GB), terabytes (TB), petabyte (PB), exabytes (EB)...

From sport courts, computers became smaller to fit home desks (desktops). From tables to the lap, in the form of laptops. From the lap to the pocket, with smartphones. More recently, there has been a transition from the pockets to clothes (with wearable technologies) and even to the human body itself. Cybernetic people, although the cyborgs foreseen by science fiction.

From the Mind to the Machine

Perhaps it can be surprising to affirm that, in certain ways, current computers are still as limited as from their conception. Computer are not smart machines, on the contrary; they are limited machines without intelligence. Computers are able to repeat and follow instructions without tiring. However, the source of these instructions are external. The machines do not understand words nor drawings, they do not know what are numbers. They emit light and noise; vibrate. Some get warm.

However, people provide the machines' intelligence. Computers follow the instructions defined by people, in the form of programs. People define instructions in a form that machines are able to understand, which is code. The solution of computational problems originates on ideas and solutions conceived by people.

People communicate with machines with code. Programming languages are textbook examples of code; nevertheless, there are others. Some are lower level (for instance, combining circuits), others are higher level (for instance, visual languages and demonstrations).

From the Code to the Light: the Learning of Programming

People implement the solution one time, creating programs (applications or, more recently, simply apps). A computer can run the instruction as many times as needed, by executing compatible programs.

Software developers create the code. The code let there be light. From problem to idea, from idea to solution, from solution to implementation. Over time and with the next entries, I hope to help you to create your own computer programs and solve problems using digital machines.

Programming is a kind of magic. Words code instructions. From the light of the idea to the light of the solution presented by the program onto the screen. Let there be light.

  • Informatics
  • Programming
  • Beginner

This is the oldest post