Now blogging at diego's weblog. See you over there!

the importance of high-level semantics


Today I was in (yet) another discussion over why somebody would use something like RMI or XML-RPC when it was possible to do the same thing in Perl, and using less code. My argument was (as usual) that the line of Perl code might be simpler to write, but then, maintenance is much harder.

This boils down to the discussion of whether high-level semantics are important or not. For example, object orientation provides an abstraction more complex (thus higher-level) than, say, procedures. Objects are harder to write, but they are easier to maintain (if properly written in the first place). Also, because the structure of the code itself conveys more meaning, they require simpler documentation (again, depending on a good design).

Another, less noted, but also important reason, is that they make life easier, in large part because their behavior is more complex. Lots of problems are already solved, and in many cases the programming language can then verify that certain things are done properly (like for example, encapsulation). It is possible to redo these things in "lower-level" languages such as C or Perl, but it takes longer to write, longer to debug, and the end product is much more complex.

On the other hand, it is tempting to just use Perl or C because using them is typically simpler at first: just write code and compile. OO tools and distributed systems sometimes require multiple steps in compiling, or the use of different tools, which creates a problem for casual users.

Hopefully in time better OO-design tools will exist (particularly for distributed programs) to make them useful not only for complex development but also for more casual use.

Categories: technology
Posted by diego on July 22 2002 at 7:39 PM

Copyright © Diego Doval 2002-2011.
Powered by
Movable Type 4.37