A
Arne Vajhøj
Daniel said:* C# is a virtual machine - a little like java and VB already - at
run-time your program is interpreted by another program called the
CLR.
Try google "JIT compiler".
Arne
Daniel said:* C# is a virtual machine - a little like java and VB already - at
run-time your program is interpreted by another program called the
CLR.
Nick said:Curious. I wouldn't see C# as fundamentally better for writing
Object-oriented code. I see the two languages as essentially the same
but C# has removed the need for explicit memory management and a few
other house keeping issues
Michael said:Huh? Our entire telecommunications industry is written in C and C++ and
C++ is still the way to go for embedded systems.
Arne Vajhøj said:More access levels, interfaces and delegates seems
to me to be features that makes good OOP easier.
Giovanni said:I agree with you, RFOG.
Only one point: Linux (the kernel) is built in pure C (not C++).
You're right.
Moreover, I doubt that very big and successfull apps (like Microsoft Office,
or Visual Studio, or even non-Microsoft apps like Photoshop) could be built
using C# (or Java...). Or, if they would be built with C# or some other
"managed" language, what would be the memory occupation and would they be as
snappy as the C++ versions?
En 21/06/2008 22:24:33 said:There are cases (embedded or kernel) where you want very tight control
over the generated code. In which case you will either pick C or
pick C++ and only use a subset of C++ (that likely will look
relative similar to C).
Arne
Alvin said:There's no such thing. That's why they are smart, they handle it for
you.
MC said:Peter Duniho said:C++ is a dying language. [...]
Huh? Our entire telecommunications industry is written in C and C++ and
C++ is still the way to go for embedded systems.
(And look at the first line on that second link. said:Right. C++ is no longer taught to computer science students, at least not as one of their fundamental skills -- Java dominates
academia now, and C# is catching on.
And I think you'll find that in embedded systems, what is actually written is closer to C than to C++. [...]
[...]
Back to the original poster -- One BIG point is that the transition
Visual Basic --> Visual Basic .NET --> C# --> C or C++
is a LOT easier to make than if you do the last steps in the reverse order.
MC said:[...]
That is a good point. Object-oriented programming wasn't mature when C++ came into use. There is a lot of bad C++ code in the
world, and C++ makes it easy to write bad code and create programs that crash.
I think C will outlive C++. C is going to continue to be a good language for small routines where performance is paramount. For
such things, I find myself writing "C-barely-plus-plus," which is C with slight use of the C++ extensions. [...]
Why is it more powerful and more flexible? I thought you could writeflexible and powerful,
Peter Duniho said:C++ is a dying language. [...]
Huh? Our entire telecommunications industry is written in C and C++ and
C++ is still the way to go for embedded systems.
I think he meant that "C++ is a dying language" in the same way that
FORTRAN and COBOL are "dying languages". Of course, those languages have
been dying for decades and still are in broad use. So C++ could take a
little while to finally kick the bucket too.
As far as embedded systems go, I think you will find that just as C++
superceded assembly and hand-written machine code for embedded systems,
so too is C++ likely to be superceded by some other language. For
example, Java is already in widespread use as a platform language for
mobile phones, and it's not unreasonable to expect that inasmuch as
Windows is the OS for some embedded systems, C# and .NET will wind up
being commonly used in embedded systems as well.
Pete
RFOG said:En 21/06/2008 06:39:43, MC <[email protected]>
escribió:
[...]
And actually it is impssible to buid an OS in Java or in a .NET languge.
[...]
Rudy Velthuis said:No, it isn't. At runtime, it is compiled just-in-time and it runs
natively, it is not interpreted. The CLR is not another program either,
it is the main runtime library that comes with .NET, and also runs
natively. AFAIK, most C++ products also have a runtime library. .NET's
CLR is just more extensive.
--
Rudy Velthuis http://rvelthuis.de
"This book fills a much-needed gap."
-- Moses Hadas (1900-1966) in a review
Arne Vajhøj said:Try google "JIT compiler".
Arne
Daniel James said:No, if you really /want/ bad, crashing, code you can write it just as
easily in C++ as in C (it might be a bit harder in C#, but you can
still do it).
[...]
Daniel.
Andre Kaufmann said:RFOG said:En 21/06/2008 06:39:43, MC <[email protected]>
escribió:
[...]
And actually it is impssible to buid an OS in Java or in a .NET languge.
What about Singularity and Cosmos ?
Giovanni said:Andre Kaufmann said:RFOG said:En 21/06/2008 06:39:43, MC[...]
And actually it is impssible to buid an OS in Java or in a .NET
languge.
What about Singularity and Cosmos ?
I think that those are experimental stuff, not commercial OSes,
available in shops to buy.
Rudy said:Giovanni said:Andre Kaufmann said:RFOG wrote:
En 21/06/2008 06:39:43, MCI think that those are experimental stuff, not commercial OSes,[...]
And actually it is impssible to buid an OS in Java or in a .NET
languge.
What about Singularity and Cosmos ?
available in shops to buy.
But it is possible, and it could well be that it is done, also
commercially, one day.
Hendrik said:MC said:[...]
That is a good point. Object-oriented programming wasn't mature when C++ came into use. There is a lot of bad C++ code in the
world, and C++ makes it easy to write bad code and create programs that crash.
I think C will outlive C++. C is going to continue to be a good language for small routines where performance is paramount. For
such things, I find myself writing "C-barely-plus-plus," which is C with slight use of the C++ extensions. [...]
IMO these to paragraphs contradict each other. C makes it a lot
easier to write bad, crashing code, than C++ does.
Cholo said:Just some clarification: In C++ you have interfaces (abstract classes) and
delegates (std::tr1::function or boost::function)