Programming computers is not easy but still very exciting to do. Since 1970 when I started working at the University of Technology Eindhoven (TU/e) lots of things have been improved. Nobody would have been able to predict that the gigantic big computers at that time are now available at everybody's home desk.
In the beginning of the informatics there were very few education possibilities. In 1965 started the Dutch course 'Wetenschappelijk Rekenaar' (Scientific computator) to train people in writing programs for numerical applications. This course did consist of an A and B examen. For the A certificate one had to reach the mathematic level of the Dutch propedeuse and the basics of numerical mathematics. In the B course there were extra diciplines like discrete mathematics, the art of computer programming and operational research.
In computer science on the University of Eindhoven there was a great emphasis on neat programming languages like Algol and Pascal. The strong typing of these languages allows the compiler to detect human errors which otherwise would only be visible during the processing of the program. Niklaus Wirth has enhanced Pascal with the module concept in his Modula-2 and extended with object oriented programming techniques in his latest child Oberon-2. With the arrival of the Unix operating system less stringent languages like C and C++ became popular. These are closely related to assembly languages which makes the writing of programs in it very laboursome. With scripting languages like the popular PERL writing programs is a lot faster. The arrival of the world wide web resulted in Java and the scripting languages JavaScript and PHP.
On the end of my professional carreer I have been busy with the creation and maintenance of websites, first on the basis of HTML, CSS (Cascading Style Sheets) en JavaScript, later with the content management system TYPO3. The advantage of a good designed CMS is that the basic functionality can easily be extended with plugin modules (extensions). The current implementation of TYPO3 (4.x) reaches it's limits, hopefully they can be solved in the newly developped TYPO3 (5.0).