The future masters of technology will have to be lighthearted and intelligent. The machine easily masters the grim and the dumb.
- Marshall McLuhan, 1969
Note: This is very preliminary and it may stay this way.
A computer offers an incredible creative space. Anything (and I virtually mean anything) we can precisely describe, we can somehow represent, simulate, or manipulate it in a computers bits and bytes. (John von Neumann when asked about intelligent computers is supposed to have answered that if anyone could tell how the brain works he could build a computer to simulate it.) Today, the computer is the premier research tool in many scientific and engineering research. The computer accomplish any computation accurately, fast, and cheaply. (I somewhere read that Gauss estimated the number of computations he did in his life were about 4 million. This equals about 300 computations every day for 40 years.) We can store huge amounts of data, process it, and visualize it.
Over the past decades, most researcher have developed a research environment. It probably comprises an editor, a text word processing or type setting program, a web page, a few compilers, a collection of research programs, and a collection of shared software such as a graphics or numerical library. But as the computer technology improves new opportunities arise and it is probably appropriate to continuously wonder, how to improve our little virtual lab. I do not suggest to implement all or any of these items: Often the diminishing return by replacing an okay-solution with an ideal-solution does not justify the effort. I advocate to stick to a mastered software as long as alternative only improve. I advocate a switch if the new software either accomplishes things impossible for the old, or if the new software promises a paradigm shift in my research. For Example, Java is the first language that incorporates the Internet. An object-oriented language such as Java is a new programming paradigm.