On Feb 9, 2010, at 6:12 PM, Josh Dersch wrote:
You can indeed use C#, via the Mono project. Generics
are a very
basic form of C++ templates that are good for creating generic
containers, and that's about it. C++ templates are considerably
more involved, and metaprogramming tricks are used to do all manner
of insane things at compile time. At a very basic level, the two
are the same. It's like saying a Yugo and a Maserati are
equivalent because they are both cars. (yes, you can use analogies
here :)
Ok, I understand that a bit better now. I will go read up on
generics a bit. Thanks for the clarification.
It may be, at
least in part, speculation...but with lots of
experience to back it up. Quite simply, almost everything I've
seen written in C++ and Java (even with native compilation) is
slow, and most everything I've seen written in C, assembler, and
Forth is fast.
I could argue that I've also seen the exact opposite, but I'm
not sure what that would prove.
You have? Seriously?
Yep. Again, it's a case of bad programmers doing stupid things.
Well ok, but is that the rule or the exception? ;)
Playing
music, playing video files, telnetting, sshing, editing,
compiling, browsing the web, etc etc etc. The apps are a bit
prettier now, certainly moreso than with fvwm, but I'd happily
live without that.
See, here's where I see a disconnect; you are doing the same
*class* of thing, but you're not really doing the same thing.
Programs have gotten more complex because people want more from
their software.
Sure, I see where you're coming from, and I agree. But I'm
actually doing the same thing. With the exception of Firefox and
Mail.app, the stuff I run is all pretty lightweight. I wish Mail.app
were a bit lighter, in particular, because I, even being a VERY heavy
email user, barely scratch the surface of [most of] its [pointless]
features.
Regardless of whether Firefox 3.5 was written in
assembly or C++
you'd never hope to run it on your IPX. I just think you are
blaming the wrong thing (or just blaming one thing) for the
performance degradations you are perceiving. OO overhead adds some
not imperceivable overhead; so do each of extensibility,
abstraction, support for "modern standards" (CSS, JavaScript, XML)
ui theming, support for "advanced" desktop metaphors, etc... Code
reuse and abstractions also bring overhead; these exist even in C,
but the overhead is worth it in terms of maintenance and usability
(from a programming and a user perspective.)
I do see where you're coming from. Perhaps I give OO too much
blame, but I stand by my accusations...it does deserve a lot of it,
in my opinion. It wasn't until very recent releases of common C
compilers, for example, that a simple "hello world" program in C++
generated a 600KB (yes, six hundred kilobyte) binary. I've
demonstrated that (along with its 4KB C equivalent) many times. I
was, admittedly, pleased to see that this particular brand of idiocy
has been addressed. I have no idea what was in that damn binary.
-Dave
--
Dave McGuire
Port Charlotte, FL