PDA

View Full Version : C++ to C#, upgrade or downgrade ?



black
05-16-2004, 09:28 PM
i used to learn C++ but many times get confused by pointers and forgot to free memory they held. C# have many exciting new featuers but recently i heard more and more people complained on it and most of them said C# is just what a cover for C++ and hid many many things we cant reach. i dont know much on C# and now i want to know what your guys, C++ and C# user think as the topic, do you think it is upgrade or downgrade from C++ to C# ?

thanx for all who actives on this topic~

DavidP
05-16-2004, 09:58 PM
well, literally speaking it would be a downgrade. why?

because C# uses the # sign, which is supposed to connotate a "sharp" note in music, which is a half-step up.

C++, however, uses the ++ operator, which is a full increment up.

Therefore, literally speaking:

C = 1
C# = 1.5
C++ = 2

However, enough with that. That's just joking around.

C# I think has MANY MANY nice features. Indeed I think it is an excellent language, however, I have not had as much experience with it as I have had with C++.

With C#, GUI definitely becomes much simpler than with C++. That is a fact. Also, such things as delegates, and also the new features of structs and classes are very nice. C# also has pointers, but they are not used as much as they would be in C++.

Meanwhile, C# is an interpreted language, sort of. Technically that makes it slower than C++. I have an irking suspicion, however, that Microsoft programmers have developed C# in such a way that its programs will run at C/C++ speeds in Windows environments, and then, if they ever port C# to Linux/Unix/Mac environments, they will run at more Java-like speeds.

C++ is my language of choice. Yes, memory management can be a nuisance sometimes, but I think it is an important thing that every programmer should learn and be proficient in. I have come upon scores of Java programmers up at college that have been doing Java their whole programming career, and they dont know jack crap about memory management or how to handle pointers or what the difference between the stack and heap are, etc. That is why I am so against Java being taught as a beginners language because I have seen people that dont have a clue about how to handle the memory, and they really should know how to do such things.

black
05-17-2004, 12:11 AM
C = 1
C# = 1.5
C++ = 2


that is the real reason :D lol

ZakkWylde969
05-17-2004, 08:13 PM
You cannot argue with music theory.

jverkoey
05-17-2004, 09:26 PM
i'll have to echo what DavidP is saying about Java being taught as an introductory language. It's going to be to the point where 5 years from now, we'll have very few people who actually know what a pointer is, understand making dynamic memory, and doing any of the other low-level stuff (compared to the number of people who know about 'em today).

In a sense this is almost the same as the step from assembly to C/C++, but where the step from asm to C++ was actually a step in the right direction , because you actually have the option to use inline assembly in C/C++ anyways, whereas in Java they just say: to hell with pointers and dynamic memory management, we'll just handle all that ourselves and make the programs run slower than mollasses, and also get rid of the low-level functionality that every programmer should have access to.

major_small
05-18-2004, 12:54 PM
Yes, memory management can be a nuisance sometimes, but I think it is an important thing that every programmer should learn and be proficient in. I have come upon scores of Java programmers up at college that have been doing Java their whole programming career, and they dont know jack crap about memory management or how to handle pointers or what the difference between the stack and heap are, etc. That is why I am so against Java being taught as a beginners language because I have seen people that dont have a clue about how to handle the memory, and they really should know how to do such things. at the school I'm going to, we have this nerd (very stereotypical nerd) that is teaching the C++ courses... so far he seems really cool, although most people don't like him... anyway, to the point...

he's fresh from the field (<.5year) and he teaches programming the way it should be taught... he gives you a background on memory and pointers, teaches functions, and then teaches pointers... he likes to make sure people write good code and know what their code is doing... I can't wait for next semester...

right now I'm in Advanced (haha) Visual BASIC, and I can't stand it... not because the language is bad, but because they tell you how to do things and don't explain how or why they work... for example, when we print something, we're using an e.graphics method... I kinda know how it works because of my previous programming experience, but the other person in my class is just typing because the book says so...

ggs
05-18-2004, 12:58 PM
where is comedy option "C" (not so comedy)

RoD
05-18-2004, 12:58 PM
ok enough with the polls

novacain
05-19-2004, 11:12 PM
As to getting paid to write code..
In Australia, generally bad for IT, twice the ave. unemployment rate for project managers and developers (but improving)

My observations.

C++ still good money but not many jobs, mainly graduate (<2) and seniors (>7)

C# plenty of work if you have 2+ years commercial experience (!) but average money

C no work, one job advertised in five months

MFC, Visual C, WIN32 some work at poor money with 5+ yrs comercial exp.

Java plenty of work at good money with experience

VB some work at poor money, better if you have commercial exp. in VB.NET

ASP.NET, SQL server commercial experience is in big demand


>>It's going to be to the point where 5 years from now, we'll have very few people who actually know what a pointer is, understand making dynamic memory, and doing any of the other low-level stuff (compared to the number of people who know about 'em today).<<

Hopefully.
I saw ads in 1999 for Y2K programmers who knew (then) obscure languages for $700 / hour.

Everyone familiar with the term 'planned obsolescence'?

Speedy5
05-20-2004, 02:43 PM
The # symbol comes from a Microsoft guy at meeting where he put two + signs together. When you think of it, it makes sense. The # sign can be made from two + signs.

Prelude
05-20-2004, 02:55 PM
So that means C# is just a fancy way of saying C++. Therefore, it's neither an upgrade or a downgrade and C++ should be used because everyone has been using it longer and knows the quirks. :)