Programs and Programming

The Art of Programming

The purely technical definition of programming defines it as the process of writing, testing, debugging (sometimes calles troubleshooting), and maintaining computer programs. Programms are written in a programming languages. Generally, the purpose of programming is to create a program - either from scratch or by modifying existing code - that accomplishes a certain desired behavior. Writing code often requires skills in many different areas: First of all expertise in programming and algorithmic principles and a deep understanding of the chosen programming language. But the devoloper of the code needs in most cases profound knowledge of the application domain as well.

The Origins of Art and Programming

Art stems from the Latin ars, artis, which means "skill". To be more precise: The skill in joining or fitting. Fitting, that's exactly what the programmer or computer scientist does: He writes a piece of code to make it fit or suitable to solve the problem or to adapt it to the purpose intended. The programmer is joining as well, putting modules together to create something new. But nevertheless, what the computer scientist has joined together, can be put asunder by other programmers.
Computer science is an art like other arts. The first universities, way back in the medieval times, taught the seven arts: grammar, rhetoric, logic, arithmetic, geometry and astronomy. Apparantly, there is hardly anything closer to logic and airthmetic than programming. But few are aware, that programming has a lot to do with grammar as well. Any computer language is governed by a grammar. And the grammar of a language is one of the essential factors which influence the rhetoric possibilities of the language.

My courses at Bodenseo:

  • My favorite programming language is Python. In my Python Training Courses you will experience the art and beauty of this language. I have written a turial about Python as well. You find this tutorial with an introduction into Python and Python3 at Python course.
  • C has been my first programming language: Programming in C
  • To use Linux efficiently, you will need to know the Shell programming. The right course for you might be: Linux Shells for Beginners
    A shell script programming course aiming at those new to programming, who want to progress rapidly towards an advanced or an intermediate level.
  • Bodenseo offers its Python courses in Canada, Toronto, as well: Bodenseo Canada
  • Last but not least Fundamentals of Perl.

Gödel, Escher and Bach

Nowadays science and art seem to have hardly anything in common. They even appear to be opposite terms. Which hasn't been the case in the past, when art and science have been used as synonyms. Douglas R. Hofstadter has successfully woven together in a "golden braid" the graphic recursive art of Escher with the eterna music of Bach and the pure and deep logic and profound mathematics of Gödel.

Music and Programming

Whenever you listen to the music, there is a good chance that some computer is producing the sound, e.g. CD-Player, MP3-Player or even at live performances. But Programming itself is comparable to music, especially composition. If the modules of a program are not in harmony, the program will either be inefficient or not working at all. Edsger Dijkstra, a famous Dutch computer scientist, wrote in his book "Short Introduction to the Art of Programming": "It is my purpose to transmit the importance of good taste and style in programming ... In this respect I feel akin to the teacher of composition at a conservatory: He does not teach his pupils how to compose a particular symphony, he must help his pupils to find their owhn style and must explain to them what is implied by this."
Text written by Bernd Klein


If you are looking for a training course in Toronto, Canada, you can check our website to find the optimal class for you.

Trainings in Toronto

© Copyright 1996 - 2012, Bernd Klein
My German site