Linked by Takuya Murata on Tue 18th May 2004 06:26 UTC
General Development My physics teacher likes to say that physics like to make problems they face look like ones that they know how to solve. A simple harmonic oscillation was one he frequently used in class, as is presumably the case in physics in general.
Permalink for comment
To read all comments associated with this story, please click here.
re: article quality
by Joshua Cope on Tue 18th May 2004 14:33 UTC

The article could have gone in some interesting directions, were it more carefully thought out. But the author's arguments are weak at best.

1. No one knows what is OOP. There have been countless books and articles on object-oriented design principles, and there is general agreement on its usage. Certainly there are disagreements, but the basics of instantiation, data hiding, inheritance, polymorphism, etc. are well-documented and well understood.

2. Concurrency is a fantasy. No; large applications must be designed for concurrency. Whether built on a large SMP server, or on a cluster of hundreds of small, cheap systems, concurrency is real, and is more important than ever. The good news is that in many cases, we can use existing tools (such as databases) to hide concurrency from most developers.

3. While it's true that software component cannot be reused carelessly, there are countless examples of reuse, particularly in the free software world, where there is a vast body of work available at no cost. Every time you make a runtime library call in your language of choice, you are reusing code. Impressive programs can be written in Python, for example, using its huge set of built-in libraries. Registries or databases are used for persistent storage, HTML for user presentation, and various libraries for file and data compression.

4. Haskell... is a miserable failure. I personally find functional programming languages difficult to read, and (Emacs notwithstanding) agree that they haven't caught on as mainstream languages. But only a few new ideas take the world by storm; the rest will be specialized tools or academic curiosities. That in itself does not prove that programming hasn't changed in the past few decades. (Similarly for AI, genetic algorithms, and the like). Many would argue that OOP has changed programming; the web has undoubtedly also changed application design.

One might be able to argue that the programming paradigms used today evolved from more traditional ones, and that things haven't changed as much as one might think. But it would take more research and reflection than this article contains.