Re: [GD-General] Eiffel
Brought to you by:
vexxed72
From: Patrick M D. <pa...@wa...> - 2001-12-23 21:50:47
|
On Sat, 22 Dec 2001, Brian Hook wrote: > I would put this another way: C++ was trying to be idiom-neutral and > provide all the tools for any kind of programming style. Because of this, > you can become very proficient in one tiny aspect of C++. I feel I know > C++ very well for my purposes, but because I purposefully have avoided > templates, exception handling, MI and many other things that I consider > more problematic than worthwhile, I can't say I "know" C++. In fact, I'm > not sure many people can say they know the whole language since the whole > language is overkill for any specific framework design. There are many kinds of programming styles that C++ fails to implement. It does a decent job with traditional structured programming and object-oriented programming. Generic programming is extremely awkward, as is functional programming. There is no support for logic programming. I feel I can honestly say that I know C++ well - but this knowledge comes from using other languages that are better than C++, and also developing in it for the past 10 years or so. The language is far from overkill - it fails to offer crucial functionality in almost every programming paradigm. Despite some major semantic limitations, there were terrible choices made regarding syntax. As an example, consider a case where some code needs to be made generic. It has a dependency on a particular structure that should now be parameterizable. To make this transition in C++ requires changing almost every line of code. Contrast this with OCaml which requires two lines of code for the implementation and one line of code in the namespace using the new parameterized structure. > I would even argue that any framework that uses EVERY element of C++ is > probably a disaster. Hmm... I'm not aware of any feature of C++ that has not seemed appropriate in some context -- they are there for a reason. The desire for such features does not inherently make the framework a disaster, although bending over backwards to conform to C++ syntax might make the programmer go crazy. Patrick |