F
Flash Gordon
jacob navia wrote, On 11/12/07 11:21:
You can use a subset of it.
Not necessarily as bad as you think.
There is a standard for Basic (although I don't know if there are any
current implementations) and you are only at the mercy of MS if you use
their implementation instead of one of the others.
Then there is Pascal (I've used several Pascal compilers targeting
embedded systems), Ada (definitely a standard for it) and many others.
The Pascal implementations I used definitely were not monsters.
There are plenty of those.
The Pascal's I used for embedded work were both simple and non-OO
Each enhancement adds complexity. That complexity needs justification.
It has a *very* long way to go for that.
Stop talking crap. You obviously don't know what most of the regulars
want otherwise you would not keep repeating statements like this.
Here is a quote from another message of yours...
| The main propositions developed here are:
| o Operator overloading
| o Garbage Collection
| o Generic functions
| o Default function arguments
| o References
Each of those sounds like a major change to me, and I count more than 2.
What he said. Different people would want different extensions so you
would end up with a far more complex language. For example, the things I
would most like added to the language are *not* the extensions you are
proposing. A try/catch mechanism would be on my list, but not one of the
top 2, and operator overloading would not be on it at all. The top two
would be fixed point arithmetic and decimal floating point. No, I would
not want operator overloading and implementing them using that, I would
want them part of the base language.
Oh, and don't you think the GNU and Linux people would want their
extensions added to C as a higher priority?
That is irrelevant.
It can hide things quite effectively.
I can't say that I missed it in my years of embedded development, and I
can't remember any bugs that would have been less likely if we had used
a try/catch mechanism. So it is definitely not needed in all embedded
systems. By the way, I used a language with a try/catch mechanism before
a lot of my embedded work.
Not in most of the Basics that I used to use. Possibly Visual Basic (I
can't be bothered to check at the moment) but definitely not the others.
You have not said why *your* top two extensions should be added in
preference to mine or anyone elses. Add all of them and you get a
monster language, add my top 2 and you don't get what you want, and so on.
Of course there are a wealth of monster languages available but they
are the wrong solution: adding more complexity to software instead of
keeping it simple:
o C++ is *the* monster language.
You can use a subset of it.
o Java/C# Proprietary stuff that is slow, memory hungry because
of their virtual machine runtime
Not necessarily as bad as you think.
o Basic. No standard, you are at the mercy of the changes Microsoft
makes to the language.
There is a standard for Basic (although I don't know if there are any
current implementations) and you are only at the mercy of MS if you use
their implementation instead of one of the others.
Then there is Pascal (I've used several Pascal compilers targeting
embedded systems), Ada (definitely a standard for it) and many others.
The Pascal implementations I used definitely were not monsters.
The choice of C is because it is a non OO language,
There are plenty of those.
that is basically
very simple.
The Pascal's I used for embedded work were both simple and non-OO
What looks like a paradox it is not any: I want to keep the
simplicity of C and *at the same time* I want to enhance it so it
can be used a s a normal programming language.
Each enhancement adds complexity. That complexity needs justification.
The way C is headed now is to extinction,
It has a *very* long way to go for that.
and that is what most of the
"regulars" here actually want: a language that is so frozen in its
bugs that all reasonable software developers do not see it as an
alternative.
Stop talking crap. You obviously don't know what most of the regulars
want otherwise you would not keep repeating statements like this.
This is not what I have ever proposed. I proposed 2 major enhancements:
operator overloading, and try/catch. That is all.
Here is a quote from another message of yours...
| The main propositions developed here are:
| o Operator overloading
| o Garbage Collection
| o Generic functions
| o Default function arguments
| o References
Each of those sounds like a major change to me, and I count more than 2.
What do you want to say with that statement?
What he said. Different people would want different extensions so you
would end up with a far more complex language. For example, the things I
would most like added to the language are *not* the extensions you are
proposing. A try/catch mechanism would be on my list, but not one of the
top 2, and operator overloading would not be on it at all. The top two
would be fixed point arithmetic and decimal floating point. No, I would
not want operator overloading and implementing them using that, I would
want them part of the base language.
Oh, and don't you think the GNU and Linux people would want their
extensions added to C as a higher priority?
If you ask 100 C++ developers what do they need you would end up with
the same answer.
That is irrelevant.
There is nothing "special" about try/catch.
It can hide things quite effectively.
It fills a hole in C,
a hole that is needed in one of the fields where C is actually used:
embedded systems.
I can't say that I missed it in my years of embedded development, and I
can't remember any bugs that would have been less likely if we had used
a try/catch mechanism. So it is definitely not needed in all embedded
systems. By the way, I used a language with a try/catch mechanism before
a lot of my embedded work.
Operator overloading is a technique used in venerable languages like
FORTRAN, BASIC, what have you.
Not in most of the Basics that I used to use. Possibly Visual Basic (I
can't be bothered to check at the moment) but definitely not the others.
Nothing really complex.
You have not said why *your* top two extensions should be added in
preference to mine or anyone elses. Add all of them and you get a
monster language, add my top 2 and you don't get what you want, and so on.