|
![](/i/fill.gif) |
Kevin Wampler <wampler+pov### [at] u washington edu> wrote:
> In fact, I'd wager that some of the programming techniques which you
> use in C++ are exactly the sort of things that a higher-level language
> would do for you automatically (memory management, bounds checking,
> etc.)
Certainly. In most programming languages you don't have to care *at all*
about certain things which you have to be careful about in C++ (at least
in larger programs). Also many languages offer out-of-the-box features
that C++ doesn't (except as third-party libraries).
On the other hand, it feels like in most of the "higher-level" languages
these features are usually mutually incompatible with memory efficiency
(and sometimes even speed). There are some languages which offer both the
features and the possibility of efficient resource usage, but these languages
often seem to lack good compiler support for most platforms (either there are
no compilers, or they are limited, awkward to use and don't interact with
the rest of the system very well). Many scripting languages are better in
the portability side, but they often also tend to be inefficient.
> Also, his quip about cryptic compile-time error messages is definitely
> justified IMHO (at least as far as g++ goes).
If it's your first time compiling C++ programs with gcc, the error
messages can be quite cryptic, but having used gcc for quite many years
I can recognize all the relevant parts quite fast. It's rare to get
messages I have hard time deciphering. (Usually you get quite far by
simply skipping all the "instantiated from" lines.)
(gcc has improved a lot in its error messages. gcc 2.x tended to produce
extremely lengthy and cryptic messages, especially with template code, but
the current gcc has simplified it quite a lot.)
--
- Warp
Post a reply to this message
|
![](/i/fill.gif) |