Memes
Short, self-contained ideas. Grains of thought that provoke further exploration and experiment.
They could lead to an adjustment in my basic point of view, or they already might have influenced it.
Some ideas survive better than others; ideas can mutate through, for example, misunderstandings;
and two ideas can recombine to produce a new idea involving elements of each parent idea.
| This note is about abstraction. Abstraction meaning "ignoring the details, concentrating on the important mechanism". A substantial software application consists of several important mechanisms. While writing code, a developer cannot keep the complete program in the brain. |
| A colleague of mine gave a short presentation about "Ruby on rails". I already looked at Ruby before, but probably not thoroughly enough. |
| In my opinion the outlines of where the programming languages are heading are becoming clearer. In the beginning, there only was assembly language, followed by languages that supported structured programming and finally they evolved to object oriented languages. |
| Making abstraction of detail is the key technique in developing software. Programming languages provide different mechanisms to accomplish this. Here are some thoughts about the differences between Java and Lisp. |
Essays
The articles illustrate my point of view regarding software design and implementation.
They can be seen as the basis of my approach to software development.
| A software project typically contains a number of stakeholders with conflicting interests. We will have a look at the stakeholders that are normally involved in a software project, the relationships between them and the impact on the project result. |
| First of all, I like both platforms (ZOPE, J2EE) and both languages (Python, Java) very much. I do not prefer one above the other. The goal of this comparison is not to select the "best one", the goal is to highlight some of the differences in order to get an indication about which platform is better suited for which task. |