Actualy one of the few feature in Opera I don't like and could not change to my liking is that Google search. Reason:
I use a german opera from swisserland. So opera will either use goggle.de or google.ch to search. But I am an IT proffesional: 8 of 10 searches I need from google.com.
But you can't. Some idiot decided that dynamic_cast is for class pointers only. But in real live you are far more likely to cast signed unsigned or short long.
And boost has no:
typedef range day_of_month;
either. It's possible - I wrote such a template myself. But is't not part of the all mighty boost.
Allways arrays and pointer - but you know: that JPEC virus uses an interger overrun to worm itself into your computer. Windows, Linux, MacOS - they all hat to replace there jpec library because integer ranges are not checked in C or C++.
The problem with C/C++ is not that you can do dangerous thing. Ada's has very interesting low level contructs. The problem is that it is the normal way to do things. Example:
signed int x = -1;// 200 lines later... unsigned int y = x;
Remember: Programms are often done by teams and monitors usualy hold less then 200 lines. And it is such a simple thing for a compiler to just tell me that the value just does not fit.
but we are all only Humans and we err from time to time. And if I use a programming language that finds 10 times as many of my mistakes (i.E. by automaticly "check for ANY AND ALL invalid data") then C that this is a huge difference. Ada would be such a language
But the OP speaks "Ultra-Stable". If he truly mean what he says then he needs to get the big guns out which find 100 times an more of the all so human mistakes then C. Static analysis tools like SPARK would be such a tool.
Of course there are static analysis tools for C. While they are better then nothing they are very tedious use because C/C++ have so litte to offer security wise.
Blaming the coder only shows that you do not know what it entails to write true high integrity software.
There are no two ways around it. Speed is no issue - Ada is just as fast as C++. The libraries are more tricky. But then: have you ask yourself: "Are those libraries ultra-stable?"
If they are not then your efforts are furtile. And most likely they are not. Most C/C++ library vendors don't have ultra-stable in mind when they create there libraries. That's unlike for example Ada library vendors which allways take stability into account.
Others said it before, suggestion other languages and I repeat it: C++ is a no go for ultra stable.
Yes - your are right. "Ultra-Stable" is only possible when the libraries are also "Ultra-Stable". But C/C++ libraries are never Ultra-Stable since they are written in C/C++ and those languages are no good stable code.
ANSI C for safety is critical software? Excuse me!
First there is almost no true ANSI C avaliable today. Most of them are missing features like variant arrays or restrict pointers.
And the C is about the unsafest language available. Was that old saying not: There is no space between C and assember for an even unsafer programming language?
But on one point you are right: *not* in C++. I pitty the guy: He needs to write Ultra-Stable software in a programming language unsuitable for Ultra-Stable software.
Just like XBox or Playstation you will need a special developers version of Windows and/or PC-Hardware. I belive for XBox it's called a Modchip or so. Or the special "blue" PS1.
Only trusted and wealthy corporations will be allowed to officialy purchaise those. They will then develop the programm have it signed by MS and all is good - for them.
Hobbist will have to do with pirate copies and black marked Modchips turning every hobbiest programmer into a criminal.
Martin
Send it by E-Mail
on
Beyond Java
·
· Score: 2, Interesting
How about sending "Hello World!" by E-Mail? In Java you just use the appropiate E-Mail class and the programm will only be about 3 lines larger. Those 3 lines will set FROM, TO and SUBJECT.
I am not a fan of Java - but I think comparting languages like this is plain stupid - because you are not comparing languages but the libraries.
printf is not C - it's a C library function. OutputStreamWriter is not Java - is's a Java library class.
Shure the standart libraries. But they are library function which you can replace if you don't like them.
These are language features. Both show a common bug not detected by the compiler. A library can be replaced by a better one - a bug generating language feature will be with you all the time. No matter how much experience.
When I did C/C++ work I was hunting down bugs based in integer ranges, buffer overuns, dangeling or null pointers all the time.
Now I have an Ada assignment and those kind bugs are all gone. If it compiles it runs. I am a happier man now.
There is more to a programming language then the count of lines for "hello word".
Martin
PS: I did not use strcpy (which does the very same) because I want to show languages features.
PS2: Declaring a variable inside "for" has become valid for C99.
Damm where does this FUD come from. All base gcc front ends - that is (in alphabetical order) Ada, C, C++, Fortran, Java and Objective-C are standart compiler systems - compiling directly into object code. No intermediate C at all.
is that so? Is producing an Objective-C preprocessor realy that easy? If so: How about any other progamming language. There is Objective-C and Objective-C++ - could there be Objective-Ada or Objective-Fortran as well?
I read a little about Objective-C (- I know I never become a real/.ter - I inform myself about the subject at hand instead of repeating FUD -). AFAIK or understand Objective-C lives from it's object orientated runtime environment. But could that not be accessed from any programming language?
Actually there are more then niggling details which seperate C99 and C++ 2003. C++ has new keywords which C++ won't understand. Also C99 has varing arrays which C++ has not got.
Martin
PS: I only care only of and compare the official ISO standarts and not any broken implementation. And older ISO standart have benn superseeded.
PS2: I find it paticular sad that most C vendors are unable or unwilling to implement features which had been part of ALGOL 60, ISO Pascal and Ada 83.
PS3: vector is no replacement for varing arrays since vector needs heap memory and while varing arrays can be created on the stack.
Shure, but replies are not about how easy a -D can sort the incompatiblities out but on how little the OP knows about programming languages - and the differences between them.
Thats a poor test. This particular feature has been with C++ for a while and most C vendors are also C++ vendors. All they had to do is copy it across to C. A good test whould be a C feature which is _NOT_ a C++ feature.
BTW: The place where most so called C99 compiler fail are variant arrays - A feature even ALGOL 60 had (40 years ago) - and it's decendants like Ada and ISO-Pascal still have today. But C vendors can't get it right or worse don't even try.
Time is changing and what was true a few years ago won't hold true any more.
My father just given his 64 bit MS-Windows back to the shop for refuned because of bad driver and software support. At the same time I plan to deinstall my 32 bit Linux since I have not started it in 6 Month.
For clarification: I have not started the MS-Windows on that computer for 2 years. I use a 64 bit Linux.
And of corse I don't have to send my 32 bit Linux back for refund as I got both 32 and 64 bit Linux on the same DVD paying only once.
With GTK+ - like most modern widget toolkit - you can replace the widgets if you don't like them. There are literaly hundreds of different so called "Themes".
And you don't have to pay for them - unlike Windows Widgets kits which usually cost $$ and the development kit isn't free either.
Yes indeed this supprised me. Even the long standing UNIX competition (VIM) got most of those features allready - including the GTK+ widgets. In fact: you can get qt widgets for VIM as well.
But then EMACS is more an IDE then an editor anyway.
How do you know? Prehaps the owner has hired a real Artist do do some work on the wall. He might me sceduled to arrive tomorrow - only he won't be able to start because the vandalism has to be cleand up before hand.
Unless you ask the onwer for permissing you won't know his planns for the wall.
Pepole got into trouble for that in Germany - and had to reverse there work or beeing fined. Without the city concils permission you are not allowed to do gardening on public ground.
If it's not yours you are not allowed to change it! There are no two ways around it.
Actualy one of the few feature in Opera I don't like and could not change to my liking is that Google search. Reason:
I use a german opera from swisserland. So opera will either use goggle.de or google.ch to search. But I am an IT proffesional: 8 of 10 searches I need from google.com.
Martin
Actualy I was more thinking about the RL and RR speaker - should they not be on the same hight as the listener. You put them behind.
Martin
"The page you requested may no longer exist on Dell.com"
Hmm, I allways thought it was:
If only dynmaic cast could be used for:
// 200 lines of code
sigend int x = -1;
unsigned int y = dynamic_cast (x);
But you can't. Some idiot decided that dynamic_cast is for class pointers only. But in real live you are far more likely to cast signed unsigned or short long.
And boost has no:
typedef range day_of_month;
either. It's possible - I wrote such a template myself. But is't not part of the all mighty boost.
Allways arrays and pointer - but you know: that JPEC virus uses an interger overrun to worm itself into your computer. Windows, Linux, MacOS - they all hat to replace there jpec library because integer ranges are not checked in C or C++.
Martin
The problem with C/C++ is not that you can do dangerous thing. Ada's has very interesting low level contructs. The problem is that it is the normal way to do things. Example:
// 200 lines later...
signed int x = -1;
unsigned int y = x;
Remember: Programms are often done by teams and monitors usualy hold less then 200 lines. And it is such a simple thing for a compiler to just tell me that the value just does not fit.
Martin
Hello,
r eshold=1&commentsort=1&mode=thread&cid=14649951 and follow the links.
but we are all only Humans and we err from time to time. And if I use a programming language that finds 10 times as many of my mistakes (i.E. by automaticly "check for ANY AND ALL invalid data") then C that this is a huge difference. Ada would be such a language
But the OP speaks "Ultra-Stable". If he truly mean what he says then he needs to get the big guns out which find 100 times an more of the all so human mistakes then C. Static analysis tools like SPARK would be such a tool.
See my other post: http://ask.slashdot.org/comments.pl?sid=176280&th
Of course there are static analysis tools for C. While they are better then nothing they are very tedious use because C/C++ have so litte to offer security wise.
Blaming the coder only shows that you do not know what it entails to write true high integrity software.
Martin
Hello,
p
I am sorry to tell you: If you need to write ultra-stable software then you need a propper "High Integrity Toolchain". My suggestions:
http://www.praxis-his.com/
and
https://www.adacore.com/gnatpro_high_integrity.ph
There are no two ways around it. Speed is no issue - Ada is just as fast as C++. The libraries are more tricky. But then: have you ask yourself: "Are those libraries ultra-stable?"
If they are not then your efforts are furtile. And most likely they are not. Most C/C++ library vendors don't have ultra-stable in mind when they create there libraries. That's unlike for example Ada library vendors which allways take stability into account.
Others said it before, suggestion other languages and I repeat it: C++ is a no go for ultra stable.
Martin
Yes - your are right. "Ultra-Stable" is only possible when the libraries are also "Ultra-Stable". But C/C++ libraries are never Ultra-Stable since they are written in C/C++ and those languages are no good stable code.
Martin
ANSI C for safety is critical software? Excuse me!
First there is almost no true ANSI C avaliable today. Most of them are missing features like variant arrays or restrict pointers.
And the C is about the unsafest language available. Was that old saying not: There is no space between C and assember for an even unsafer programming language?
But on one point you are right: *not* in C++. I pitty the guy: He needs to write Ultra-Stable software in a programming language unsuitable for Ultra-Stable software.
Martin
Just like XBox or Playstation you will need a special developers version of Windows and/or PC-Hardware. I belive for XBox it's called a Modchip or so. Or the special "blue" PS1.
Only trusted and wealthy corporations will be allowed to officialy purchaise those. They will then develop the programm have it signed by MS and all is good - for them.
Hobbist will have to do with pirate copies and black marked Modchips turning every hobbiest programmer into a criminal.
Martin
How about sending "Hello World!" by E-Mail? In Java you just use the appropiate E-Mail class and the programm will only be about 3 lines larger. Those 3 lines will set FROM, TO and SUBJECT.
c
s /range
s /array
I am not a fan of Java - but I think comparting languages like this is plain stupid - because you are not comparing languages but the libraries.
printf is not C - it's a C library function.
OutputStreamWriter is not Java - is's a Java library class.
Shure the standart libraries. But they are library function which you can replace if you don't like them.
What you can't replace is:
unsigned int = -1;
or
char const y[] = "Hello World!";
char x[5];
for (int i = 0; y[i] != '\0'; i++)
{
x[i] = y[i];
}
These are language features. Both show a common bug not detected by the compiler. A library can be replaced by a better one - a bug generating language feature will be with you all the time. No matter how much experience.
When I did C/C++ work I was hunting down bugs based in integer ranges, buffer overuns, dangeling or null pointers all the time.
Now I have an Ada assignment and those kind bugs are all gone. If it compiles it runs. I am a happier man now.
There is more to a programming language then the count of lines for "hello word".
Martin
PS: I did not use strcpy (which does the very same) because I want to show languages features.
PS2: Declaring a variable inside "for" has become valid for C99.
PS3: Hello World in Ada:
http://en.wikibooks.org/wiki/Ada_Programming/Basi
PS4: Integers in Ada:
http://en.wikibooks.org/wiki/Ada_Programming/Type
PS5: Arrays in Ada:
http://en.wikibooks.org/wiki/Ada_Programming/Type
... morphs Ada code into C.
Not the first time I hear this crap.
Damm where does this FUD come from. All base gcc front ends - that is (in alphabetical order) Ada, C, C++, Fortran, Java and Objective-C are standart compiler systems - compiling directly into object code. No intermediate C at all.
Martin
Hello,
/.ter - I inform myself about the subject at hand instead of repeating FUD -). AFAIK or understand Objective-C lives from it's object orientated runtime environment. But could that not be accessed from any programming language?
is that so? Is producing an Objective-C preprocessor realy that easy? If so: How about any other progamming language. There is Objective-C and Objective-C++ - could there be Objective-Ada or Objective-Fortran as well?
I read a little about Objective-C (- I know I never become a real
Martin
Hello,
Actually there are more then niggling details which seperate C99 and C++ 2003. C++ has new keywords which C++ won't understand. Also C99 has varing arrays which C++ has not got.
Martin
PS: I only care only of and compare the official ISO standarts and not any broken implementation. And older ISO standart have benn superseeded.
PS2: I find it paticular sad that most C vendors are unable or unwilling to implement features which had been part of ALGOL 60, ISO Pascal and Ada 83.
PS3: vector is no replacement for varing arrays since vector needs heap memory and while varing arrays can be created on the stack.
True - but C++ was a preprocessor language when it started out as well.
Shure, but replies are not about how easy a -D can sort the incompatiblities out but on how little the OP knows about programming languages - and the differences between them.
Martin
*good* C code would use "restrict" where appropiate but C++ does not know about the keyword "restrict".
Just one more example where C != C++.
Martin
Thats a poor test. This particular feature has been with C++ for a while and most C vendors are also C++ vendors. All they had to do is copy it across to C. A good test whould be a C feature which is _NOT_ a C++ feature.
BTW: The place where most so called C99 compiler fail are variant arrays - A feature even ALGOL 60 had (40 years ago) - and it's decendants like Ada and ISO-Pascal still have today. But C vendors can't get it right or worse don't even try.
Martin
Time is changing and what was true a few years ago won't hold true any more.
My father just given his 64 bit MS-Windows back to the shop for refuned because of bad driver and software support. At the same time I plan to deinstall my 32 bit Linux since I have not started it in 6 Month.
For clarification: I have not started the MS-Windows on that computer for 2 years. I use a 64 bit Linux.
And of corse I don't have to send my 32 bit Linux back for refund as I got both 32 and 64 bit Linux on the same DVD paying only once.
Martin
With GTK+ - like most modern widget toolkit - you can replace the widgets if you don't like them. There are literaly hundreds of different so called "Themes".
And you don't have to pay for them - unlike Windows Widgets kits which usually cost $$ and the development kit isn't free either.
Martin
No it's: "LET THERE BE LIGHT!"
Others have posted the whole story, here the link (again):
http://mit.edu/tylerc/www/twt/LQ1.htm
Yes indeed this supprised me. Even the long standing UNIX competition (VIM) got most of those features allready - including the GTK+ widgets. In fact: you can get qt widgets for VIM as well.
But then EMACS is more an IDE then an editor anyway.
Martin
How do you know? Prehaps the owner has hired a real Artist do do some work on the wall. He might me sceduled to arrive tomorrow - only he won't be able to start because the vandalism has to be cleand up before hand.
Unless you ask the onwer for permissing you won't know his planns for the wall.
Martin
Pepole got into trouble for that in Germany - and had to reverse there work or beeing fined. Without the city concils permission you are not allowed to do gardening on public ground.
If it's not yours you are not allowed to change it! There are no two ways around it.
Martin