Re: C++ equivalent to spaghetti code
On Jul 18, 11:24 pm, Tim Smith <reply_in_gr... @mouse-potato.com>
wrote:
you can call it C++ code but without them you are just codding in C
and the trouble is that many high level featuers do not always suit to
kernel programming ,on the other hand C++ is not high level enough for
some tasks such as web programming,mul tithreading ...
In short words today`s C++ cannot be considered as general purpose as
C used to be in good old days.
Q:Is there any alternative?(I mean a true ** modern general purpose
flexible** language with **suitable for mixed-level programming**)?
regards,
FM.
On Jul 18, 11:24 pm, Tim Smith <reply_in_gr... @mouse-potato.com>
wrote:
In article <4c15l5-fk5....@darksta rgames.dnsalias .net>,
Wolfgang Draxinger <wdraxin...@dar kstargames.dewr ote:
>
>
>
>
>
>
>
I have yet to encounter a C++ compiler that will refuse to compile a
program if it does not use polymorphism, passing objects by reference,
and templates. There is nothing forcing someone who writes a kernel in
C++ to do those (possibly) questionable things.
>
--
Wolfgang Draxinger <wdraxin...@dar kstargames.dewr ote:
>
>
>
>
>
Well, I know only the comments Linus Torvalds made about the
implications of using C++ to develop a kernel. And I totally
agree with him in his statements. Programming a kernel you want
to control every bit of the program (yes I know, that this
sentence can be interpreted in many ways, and each way totaly
matches what I mean).
implications of using C++ to develop a kernel. And I totally
agree with him in his statements. Programming a kernel you want
to control every bit of the program (yes I know, that this
sentence can be interpreted in many ways, and each way totaly
matches what I mean).
A languages like C++, that hides (some) vital aspects of the
underlying mechanisms can break things at such a low level
application. I'm thinking mainly about the way, polymorphism is
implemented (there's no standard about that in current C++), how
name mangling is performed (dito), calling conventions if
objects are passed by reference (dito). Another problem is, that
the use of some C++ features (I'm looking at templates here)
will start a chain reaction in which code is created generically
w/o having any influence on the exact outcome. This is not the
same like using macros to create a similair effect; doing it
with a macro one must exactly know what's going on.
underlying mechanisms can break things at such a low level
application. I'm thinking mainly about the way, polymorphism is
implemented (there's no standard about that in current C++), how
name mangling is performed (dito), calling conventions if
objects are passed by reference (dito). Another problem is, that
the use of some C++ features (I'm looking at templates here)
will start a chain reaction in which code is created generically
w/o having any influence on the exact outcome. This is not the
same like using macros to create a similair effect; doing it
with a macro one must exactly know what's going on.
I have yet to encounter a C++ compiler that will refuse to compile a
program if it does not use polymorphism, passing objects by reference,
and templates. There is nothing forcing someone who writes a kernel in
C++ to do those (possibly) questionable things.
>
--
and the trouble is that many high level featuers do not always suit to
kernel programming ,on the other hand C++ is not high level enough for
some tasks such as web programming,mul tithreading ...
In short words today`s C++ cannot be considered as general purpose as
C used to be in good old days.
Q:Is there any alternative?(I mean a true ** modern general purpose
flexible** language with **suitable for mixed-level programming**)?
regards,
FM.
Comment