I must have missed the definition of "what a given programming language and API should do". What was that URL again?
The newer versions don't address the older problems
Yeah, that's so that the older content will continue to run in the same way. Breaking old content is pretty uncool, and old content often relies on the old bugs to be present.
Yeah. And HTML pretty much sucks too -- I'm always seeing HTML pages that have annoying shit (like people using "loose" when they mean "lose"). Let's hope they can kill HTML off.
Basically, guy wakes up in someone else's body hundreds of years in the future, where the State controls everyone and everything... from their point of view, they gave a convicted criminal a new personality (by extracting it from his frozen corpse). He has no rights, no family, no money, no nothing... except for the knowledge that if he doesn't prove useful to the state, they'll just wipe him and move on to the next frozen personality...
An excellent book, BTW -- one of Niven's better work, IMHO.
And I harbor a suspicion that Apple won't necessarily stay mono-architectured. Mac OS X binaries, by design, can accommodate multiple (not just two) processor architectures. Apple will pursue the direction(s) that make the most sense as things play out over the next few years.
If this is the case, one wonders why Apple hasn't tried emulating something like CLR or JVM as a standard "architecture" to forestall future such changes. Obviously native code is required for some things, but at this point, a well-crafted virtual machine code (JIT'ed at load time) would seem to be more than adequate for most things...
I'm ready to be modded offtopic for this, but I find it sadly ironic that on the same day an article on "On the Subject of Slashdot Article Formatting" is posted, we find that the editors don't bother to fix a blatant error in the text.
(Yeah, yeah, I know, the aforementioned article basically said "our readers don't care about spelling or grammar, so neither do we". I find this sad. Especially given the fact that spelling/grammar checkers are commodity technology. Can't we perhaps get one integrated into Slashcode?)
Perhaps we should extend this to language wars: "One man's sensibly designed language is another man's mutant freak."
You may really dig Obj-C, but personally, I look at it and get the heebie-jeebies. It has its moments, but I hate the syntax, and for me, I'll take C++'s rigid type system over it any day.
> main point of using firefox is to block ads and > annoyances which 99% of flash and java is used for.
Wow, two gross inaccuracies in one statment.
(1) Maybe that's the main point for you. For most users the main point is that it's a better browsing experience. For me, tabbed browsing and integrated search bar alone make it superior.
(2) There are plenty of annoyances and ads done in Flash and Java. There are also lots of annoyances and ads done in plain HTML. I choose to stop visiting sites that inflict either one on me. It's not the medium, it's the message.
(Principal Software Engineer, Flash Player for Linux)
Re:C/C++ dying? What are they smoking?
on
Demise of C++?
·
· Score: 4, Informative
Dunno what you mean by "advanced software", but C has its place when programming near hardware. C++ will hopefully die and take buffer overflows and memory leaks with it.
BWA hahahahah
That's pretty funny, pointing out that C++ has buffer overflows and memory leaks when compared with C. Especially since C++ has vastly better techniques for dealing with those particular problems.
Ahem.
But seriously, there is absolutely no reason why properly-written C++ can't be precisely as efficient as straight C, and as an added bonus, you get a more strongly-typed language with extra features.
I've been writing in C and C++ for close to 20 years, and C++ is just plain a better language than C. Sure, it has some crazy warts and dangerous bits, and things that can be problematic if you don't know what you are doing... but I submit to you that if you don't know what you are doing, you need to find another line of work.
Sure, other languages are definitely better in some scenarios -- it's all about using the right tool for the job! -- but for "close to the machine" work, you need a language like C or C++, and frankly, I can't understand why anyone with sufficient programming experience, and a real working knowledge of both languages, would voluntarily choose plain C over C++.
Even if the handwriting recognition is *perfect*, I don't want it... I've taken a hardline approach to this after years of screwing around with Palms and the like. (My handwriting sucks with pen and paper.)
Nokia, add a thumbboard and call it the Nokia 771, and I'll pick one up in a snap.
Did you mean to pass bar or something (in which case it would still be clear, bar is passed by value, what bar is pointing to is passed by pointer)?
Yes, I mistyped:-(
And yes, it is clear that bar is passed by value, but the fact that your local value can be modified is not clear.
But it doesn't make it nigh impossible for the object to be invalid
No, but is a particularly common (and fatal!) case that can be eliminated at compile-time rather than caught at runtime (hopefully in testing, rather than by the customer...)
No argument, but there is a vast body of C++ code that's not going to go away anytime soon.
Frankly, I could do without the extra template-based features, but adding GC and threads as language features are waaaay overdue IMHO and will be greatly appreciated.
In C or C++, you don't know whether foo() can change the value of i.
Or, for a more likely case:
char* s = "howdy";// I'm old-school, I refuse to use const
foo(s);
Note that changing the contents of s is clearly illegal (or at least a Bad Idea) in most runtime environments, but nothing prevents the code from doing so, nor does anything in the code indicate whether it might happen or not.
Summary: both languages allow you to write unclear code in common cases. You just cherry-picked one case. Yeah, it'd be nice for both languages to require this to be clear in all cases, but till they do, it's your responsibility as a programmer make it clear, either by coding convention or by comment.
There is no syntax at the place the function is called that indicates that it is pass by pointer
Not necessarily the case with explicit pass-by-pointer either. e.g.
int foo = 1;
int* bar =// a few dozen lines of code here...
do_something(foo);// so, is this pass by value or by pointer?
Bjarne put references into C++ in order to support overloaded operators for complex objects that use the same syntax as operators for basic types. This is pretty much the only reason you should use it
I strenuously disagree! Passing a parm by reference, rather than pointer, makes it well-nigh impossible for the parm to be null. (If you play truly evil casting games you can manage to make it happen, but it really requires a deliberate attempt.) Our coding guidelines specify that any parms that can't legally be null should be passed by ref (or const-ref, if possible). No more sanity-checking-for-null at the entry to the routine...
In point of fact, I find this the single best use of references -- since I consider operator overloading something to be avoided in most cases. (Overloading operator* to do matrix multiplication -- sure, fine. Overloading the left-shift operator to do stream I/O.... wtf?)
Is that America's highest goal -- preventing another terrorist attack? Are there no principles of law and liberty more important than this? Who would have remembered Patrick Henry had he written, "What's wrong with giving up a little liberty if it protects me from death?"
Actually, I *have* been in the industry that long, but you did nail me on exaggerating the situation.
The reason for my personal lack of encounters with parallel ports: I worked primarily on Macintosh systems prior to the mid-90s... thus all my connections were Appletalk based. (AFAIK no Mac has *ever* come with a parallel port standard, except maybe for the Lisa-based Mac XL)
Flash ActionScript doesn't do 1/2 what it should
I must have missed the definition of "what a given programming language and API should do". What was that URL again?
The newer versions don't address the older problems
Yeah, that's so that the older content will continue to run in the same way. Breaking old content is pretty uncool, and old content often relies on the old bugs to be present.
99% all websites that have Flash components on them
/. standards, 100% of Flash usage is intrinsically improper because it's not open-source... )
That's some authoritative research you cited there.
use them improperly
Dang, knew I should have checked that authoritative "how to use Flash properly" W3C spec...
(Of course, by
Yeah. And HTML pretty much sucks too -- I'm always seeing HTML pages that have annoying shit (like people using "loose" when they mean "lose"). Let's hope they can kill HTML off.
Yeah, I could google for it.
But I guess I'm just an old fart, because while I've at least *heard* of "Ambient", I don't know WTF "Gabber" is...
Yeah, see "A World Out Of Time" for the great spin on this.
Basically, guy wakes up in someone else's body hundreds of years in the future, where the State controls everyone and everything... from their point of view, they gave a convicted criminal a new personality (by extracting it from his frozen corpse). He has no rights, no family, no money, no nothing... except for the knowledge that if he doesn't prove useful to the state, they'll just wipe him and move on to the next frozen personality...
An excellent book, BTW -- one of Niven's better work, IMHO.
And I harbor a suspicion that Apple won't necessarily stay mono-architectured. Mac OS X binaries, by design, can accommodate multiple (not just two) processor architectures. Apple will pursue the direction(s) that make the most sense as things play out over the next few years.
If this is the case, one wonders why Apple hasn't tried emulating something like CLR or JVM as a standard "architecture" to forestall future such changes. Obviously native code is required for some things, but at this point, a well-crafted virtual machine code (JIT'ed at load time) would seem to be more than adequate for most things...
OK folks, I can see modding my post "Offtopic" (I said as much in it), but "Flamebait"? C'mon.
You would like Slashdot to retain a loose communal feeling
Or, in normal Slashdot (mis)usage, a "lose communal feeling"...
I'm ready to be modded offtopic for this, but I find it sadly ironic that on the same day an article on "On the Subject of Slashdot Article Formatting" is posted, we find that the editors don't bother to fix a blatant error in the text.
(Yeah, yeah, I know, the aforementioned article basically said "our readers don't care about spelling or grammar, so neither do we". I find this sad. Especially given the fact that spelling/grammar checkers are commodity technology. Can't we perhaps get one integrated into Slashcode?)
From http://www.lessontutor.com/eeslose.html:
LOSE means to lack the possession of, to come to be without.
LOOSE means not tight.
LOOSEN means to unfasten something or make it less constraining.
> Objective-C is a strict superset of C
... }
Yes, but what version of C?
It's been a while since I coded in Objective-C, but last time I did, it didn't appear to implement C99 standards... e.g.,
for (int i = 0; i 99; ++i) {
would not compile because it didn't recognize the inside-the-for-loop variable declaration.
> They're using a language that actually makes sense,
> rather than one that's just a bunch of ideas cobbled together on top of C
"One man's theology is another man's belly laugh."
Perhaps we should extend this to language wars: "One man's sensibly designed language is another man's mutant freak."
You may really dig Obj-C, but personally, I look at it and get the heebie-jeebies. It has its moments, but I hate the syntax, and for me, I'll take C++'s rigid type system over it any day.
> main point of using firefox is to block ads and
> annoyances which 99% of flash and java is used for.
Wow, two gross inaccuracies in one statment.
(1) Maybe that's the main point for you. For most users the main point is that it's a better browsing experience. For me, tabbed browsing and integrated search bar alone make it superior.
(2) There are plenty of annoyances and ads done in Flash and Java. There are also lots of annoyances and ads done in plain HTML. I choose to stop visiting sites that inflict either one on me. It's not the medium, it's the message.
You could always apply for this job...
(Principal Software Engineer, Flash Player for Linux)
Dunno what you mean by "advanced software", but C has its place when programming near hardware. C++ will hopefully die and take buffer overflows and memory leaks with it.
BWA hahahahah
That's pretty funny, pointing out that C++ has buffer overflows and memory leaks when compared with C. Especially since C++ has vastly better techniques for dealing with those particular problems.
Ahem.
But seriously, there is absolutely no reason why properly-written C++ can't be precisely as efficient as straight C, and as an added bonus, you get a more strongly-typed language with extra features.
I've been writing in C and C++ for close to 20 years, and C++ is just plain a better language than C. Sure, it has some crazy warts and dangerous bits, and things that can be problematic if you don't know what you are doing... but I submit to you that if you don't know what you are doing, you need to find another line of work.
Sure, other languages are definitely better in some scenarios -- it's all about using the right tool for the job! -- but for "close to the machine" work, you need a language like C or C++, and frankly, I can't understand why anyone with sufficient programming experience, and a real working knowledge of both languages, would voluntarily choose plain C over C++.
Even if the handwriting recognition is *perfect*, I don't want it... I've taken a hardline approach to this after years of screwing around with Palms and the like. (My handwriting sucks with pen and paper.)
Nokia, add a thumbboard and call it the Nokia 771, and I'll pick one up in a snap.
Yes, it's AC, but would be poetic justice :-)
Well, yes, actually.
Minor inconvenience x 280 million = One Big Freaking Inconvenince to Society.
And as they say: if you can't do the time, don't send the spam.
Did you mean to pass bar or something (in which case it would still be clear, bar is passed by value, what bar is pointing to is passed by pointer)?
:-(
Yes, I mistyped
And yes, it is clear that bar is passed by value, but the fact that your local value can be modified is not clear.
But it doesn't make it nigh impossible for the object to be invalid
No, but is a particularly common (and fatal!) case that can be eliminated at compile-time rather than caught at runtime (hopefully in testing, rather than by the customer...)
What are you smoking?
Objective-C has its pros and cons (which I don't want to get into here), but advanced template support is NOT among them.
No argument, but there is a vast body of C++ code that's not going to go away anytime soon.
Frankly, I could do without the extra template-based features, but adding GC and threads as language features are waaaay overdue IMHO and will be greatly appreciated.
given the following code:
// I'm old-school, I refuse to use const
int i = 32;
int* j =
foo(j);
In C or C++, you don't know whether foo() can change the value of i.
Or, for a more likely case:
char* s = "howdy";
foo(s);
Note that changing the contents of s is clearly illegal (or at least a Bad Idea) in most runtime environments, but nothing prevents the code from doing so, nor does anything in the code indicate whether it might happen or not.
Summary: both languages allow you to write unclear code in common cases. You just cherry-picked one case. Yeah, it'd be nice for both languages to require this to be clear in all cases, but till they do, it's your responsibility as a programmer make it clear, either by coding convention or by comment.
There is no syntax at the place the function is called that indicates that it is pass by pointer
// a few dozen lines of code here... // so, is this pass by value or by pointer?
Not necessarily the case with explicit pass-by-pointer either. e.g.
int foo = 1;
int* bar =
do_something(foo);
Bjarne put references into C++ in order to support overloaded operators for complex objects that use the same syntax as operators for basic types. This is pretty much the only reason you should use it
I strenuously disagree! Passing a parm by reference, rather than pointer, makes it well-nigh impossible for the parm to be null. (If you play truly evil casting games you can manage to make it happen, but it really requires a deliberate attempt.) Our coding guidelines specify that any parms that can't legally be null should be passed by ref (or const-ref, if possible). No more sanity-checking-for-null at the entry to the routine...
In point of fact, I find this the single best use of references -- since I consider operator overloading something to be avoided in most cases. (Overloading operator* to do matrix multiplication -- sure, fine. Overloading the left-shift operator to do stream I/O.... wtf?)
Do you honestly expect to recieve due process when that same process will end up killing thousands? Are you that selfish?
s ts/13487511.htm :
For one, I fail to see how issuing warrants will "kill thousands".
For two, I cite http://www.miami.com/mld/miamiherald/news/columni
Is that America's highest goal -- preventing another terrorist attack? Are there no principles of law and liberty more important than this? Who would have remembered Patrick Henry had he written, "What's wrong with giving up a little liberty if it protects me from death?"
So a parallel port is like a Ferrari V12?
Umm... whatever.
Actually, I *have* been in the industry that long, but you did nail me on exaggerating the situation.
The reason for my personal lack of encounters with parallel ports: I worked primarily on Macintosh systems prior to the mid-90s... thus all my connections were Appletalk based. (AFAIK no Mac has *ever* come with a parallel port standard, except maybe for the Lisa-based Mac XL)