[SOLVED] .NET vs C languages
Moderator: Coders of Rage
- GroundUpEngine
- Chaos Rift Devotee
- Posts: 835
- Joined: Sun Nov 08, 2009 2:01 pm
- Current Project: mixture
- Favorite Gaming Platforms: PC
- Programming Language of Choice: C++
- Location: UK
[SOLVED] .NET vs C languages
i) A friend and I had a discussion about this topic, I told him how I practice programming (in C/C++) for multiplatform and graphics/games.
ii) He told me he used to do programming too (wanting to make software for accounting) and that he went to study the accounting side of things but then couldn't get into the industry properly because his knowledge of programming languages was old or aged.
He also told me that for programmers these days you want to keep up-to-date with the languages (so that this doesn't happen to me), e.g. for windows platform you need to be able to make your software blend in with the OS and also interface with it's software (examples.. Microsoft excel or database).
I do agree to some extent, but could you anyone give any input on this.
Thanks,
HebronS
EDIT: He did say C# was ok.
ii) He told me he used to do programming too (wanting to make software for accounting) and that he went to study the accounting side of things but then couldn't get into the industry properly because his knowledge of programming languages was old or aged.
He also told me that for programmers these days you want to keep up-to-date with the languages (so that this doesn't happen to me), e.g. for windows platform you need to be able to make your software blend in with the OS and also interface with it's software (examples.. Microsoft excel or database).
I do agree to some extent, but could you anyone give any input on this.
Thanks,
HebronS
EDIT: He did say C# was ok.
Last edited by GroundUpEngine on Wed Mar 09, 2011 7:16 am, edited 1 time in total.
-
- Chaos Rift Cool Newbie
- Posts: 78
- Joined: Mon Feb 21, 2011 2:55 am
- Current Project: Aleios Engine
- Favorite Gaming Platforms: PC, Dreamcast
- Programming Language of Choice: C++
- Location: Melbourne, Australia
Re: .NET vs C languages
Having more than 1 language under your belt is a good idea, but usually C++ is used the most, although i have noticed quite a lot of companies using C# to program their GUI based interfaces. This is probably because they use Windows for everything. But old/aged knowledge? I don't really understand, was he using C++ as well? Very strange, but if you are going to work for some kind of accounting business then you should gain knowledge for C#, the reason companies like to use Microsoft products is mainly due to the support. Linux, the support comes from the community, which i don't think businesses like too much.
sorry if my writing is not understandable, im not the best at English
sorry if my writing is not understandable, im not the best at English
- TheBuzzSaw
- Chaos Rift Junior
- Posts: 310
- Joined: Wed Dec 02, 2009 3:55 pm
- Current Project: Paroxysm
- Favorite Gaming Platforms: PC
- Programming Language of Choice: C++
- Contact:
Re: .NET vs C languages
This might be a bit of a tangent, but it kills me that anyone ever rips on a technology just because it is old. Yes, if something is old, it is probably time to review it and check to see why it is still in use. However, oftentimes, things are still in use because they are tried and true. A superior alternative simply has not arrived yet. If everyone knew how old TCP/IP was, they'd shout blasphemy and demand a new protocol for absolutely no reason.
I like C# for building Windows-based business applications. I use it every day at work, and it is a joy to work with. However, so far, I am not a fan of games written in XNA. They tend to perform much worse than their C/C++ counterparts. You have to pick the right language for the right job. So sure, it's good to stay up to date on languages, but C# is not some modern successor to C++. It uses many C++ conventions that developers are familiar with, but it focuses on a radically different set of problems and strips away low level control. Frankly, I would love to see a modern upgrade for C++, but there are no new languages in the works that I know of. C++0x is an incremental boost but doesn't really fundamentally change the way anyone does low level programming.
I like C# for building Windows-based business applications. I use it every day at work, and it is a joy to work with. However, so far, I am not a fan of games written in XNA. They tend to perform much worse than their C/C++ counterparts. You have to pick the right language for the right job. So sure, it's good to stay up to date on languages, but C# is not some modern successor to C++. It uses many C++ conventions that developers are familiar with, but it focuses on a radically different set of problems and strips away low level control. Frankly, I would love to see a modern upgrade for C++, but there are no new languages in the works that I know of. C++0x is an incremental boost but doesn't really fundamentally change the way anyone does low level programming.
- MrDeathNote
- ES Beta Backer
- Posts: 594
- Joined: Sun Oct 11, 2009 9:57 am
- Current Project: cocos2d-x project
- Favorite Gaming Platforms: SNES, Sega Megadrive, XBox 360
- Programming Language of Choice: C/++
- Location: Belfast, Ireland
- Contact:
Re: .NET vs C languages
This just isn't true anymore. I'll agree that c++ is still a widely used and popular language(and my favorite), but c# and java are probably the most sought after skills at the minute. At the company I work at Java programmers are particularly in demand right now.Aleios wrote:but usually C++ is used the most
http://www.youtube.com/user/MrDeathNote1988
"C makes it easy to shoot yourself in the foot. C++ makes it
harder, but when you do, it blows away your whole leg." - Bjarne Stroustrup
"C makes it easy to shoot yourself in the foot. C++ makes it
harder, but when you do, it blows away your whole leg." - Bjarne Stroustrup
-
- Chaos Rift Cool Newbie
- Posts: 78
- Joined: Mon Feb 21, 2011 2:55 am
- Current Project: Aleios Engine
- Favorite Gaming Platforms: PC, Dreamcast
- Programming Language of Choice: C++
- Location: Melbourne, Australia
Re: .NET vs C languages
dammit, i forgot about java :O and, yea i kinda (contradicted?) myself saying C++ is most used then saying C# is better in companies eyes, and of course so is java. Although it really depends on business type, i know C# is used for toolset development in game industry, and C++ for the main engine. Sorry if my facts suck, have been in uni and quit woking for software comapny to study for 3-4 years.... stupid double degree.
- GroundUpEngine
- Chaos Rift Devotee
- Posts: 835
- Joined: Sun Nov 08, 2009 2:01 pm
- Current Project: mixture
- Favorite Gaming Platforms: PC
- Programming Language of Choice: C++
- Location: UK
Re: .NET vs C languages
Nah that's fine, I totally understand what you mean. Also I'm not sure what languages he used, but he was just giving an example I guess.Aleios wrote:sorry if my writing is not understandable, im not the best at English
Yeah that sounds about right thanks! Also I agree, a true upgrade for C++ would be pretty sweet.TheBuzzSaw wrote:I like C# for building Windows-based business applications. I use it every day at work, and it is a joy to work with.
Good point man, this definitely clears things up! Also I remember falco using C# for his job.MrDeathNote wrote:but c# and java are probably the most sought after skills at the minute. At the company I work at Java programmers are particularly in demand right now.
Cheers guys!
Re: .NET vs C languages
yeah C# is coming up quick, but java is still by a decent amount ahead. That being said, knowing either of those languages are not really making you that competitive.
I would sugest you know..
procedural, C
OO, Java (read next line)
functional, Clojure (http://clojure.org/)
and probably most left out, know a "glue" language very well.(Scripting)
Perl, Python, Ruby, REXX, what have you. I think perl is a good choice, its ugly as hell but very powerful, and its used like you cannot believe.
I would sugest you know..
procedural, C
OO, Java (read next line)
functional, Clojure (http://clojure.org/)
and probably most left out, know a "glue" language very well.(Scripting)
Perl, Python, Ruby, REXX, what have you. I think perl is a good choice, its ugly as hell but very powerful, and its used like you cannot believe.
Some person, "I have a black belt in karate"
Dad, "Yea well I have a fan belt in street fighting"
Dad, "Yea well I have a fan belt in street fighting"
- MrDeathNote
- ES Beta Backer
- Posts: 594
- Joined: Sun Oct 11, 2009 9:57 am
- Current Project: cocos2d-x project
- Favorite Gaming Platforms: SNES, Sega Megadrive, XBox 360
- Programming Language of Choice: C/++
- Location: Belfast, Ireland
- Contact:
Re: .NET vs C languages
That's a good point, normally you'll see a lot of technologies coming together and just being profficient in a certain language doesn't make you employable. For example, the project i'm working on in my day job all the heavy lifting is done by java server code but there's also a lot of strut's, jsp, javascript(jquery) etc. stuff going on to create the front end application. And also junit and watir for testing purposes. I think avasc has the right idea, you could be an incredible c++ programmer but if you have no experience in anything but c++ your options are fairly limited.avansc wrote:That being said, knowing either of those languages are not really making you that competitive.
http://www.youtube.com/user/MrDeathNote1988
"C makes it easy to shoot yourself in the foot. C++ makes it
harder, but when you do, it blows away your whole leg." - Bjarne Stroustrup
"C makes it easy to shoot yourself in the foot. C++ makes it
harder, but when you do, it blows away your whole leg." - Bjarne Stroustrup
- GroundUpEngine
- Chaos Rift Devotee
- Posts: 835
- Joined: Sun Nov 08, 2009 2:01 pm
- Current Project: mixture
- Favorite Gaming Platforms: PC
- Programming Language of Choice: C++
- Location: UK
Re: .NET vs C languages
I agree, thanks avanscMrDeathNote wrote:That's a good pointavansc wrote:That being said, knowing either of those languages are not really making you that competitive.
EDIT: Lua is a 'glue language' I believe, I've been using it quite a bit recently.
- short
- ES Beta Backer
- Posts: 548
- Joined: Thu Apr 30, 2009 2:22 am
- Current Project: c++, c
- Favorite Gaming Platforms: SNES, PS2, SNES, SNES, PC NES
- Programming Language of Choice: c, c++
- Location: Oregon, US
Re: .NET vs C languages
Honestly, it doesn't take long to pick up the newer languages coming from procedural c. It took me about 2 months to say "I know C#" working about 15 hours a week while full-time student. It's so much more important to know whatever you've learned as a programmer generically.
My github repository contains the project I am currently working on,
link: https://github.com/bjadamson
link: https://github.com/bjadamson
- GroundUpEngine
- Chaos Rift Devotee
- Posts: 835
- Joined: Sun Nov 08, 2009 2:01 pm
- Current Project: mixture
- Favorite Gaming Platforms: PC
- Programming Language of Choice: C++
- Location: UK
Re: .NET vs C languages
Awesome Great point!short wrote:Honestly, it doesn't take long to pick up the newer languages coming from procedural c. It took me about 2 months to say "I know C#" working about 15 hours a week while full-time student. It's so much more important to know whatever you've learned as a programmer generically.
- thejahooli
- Chaos Rift Junior
- Posts: 265
- Joined: Fri Feb 20, 2009 7:45 pm
- Location: London, England
Re: .NET vs C languages
Out of interest, what would you consider 'knowing' a language. I've completed many beginner books (Sam's Teach Yourself, etc.) in languages such as C# and Java, but I don't really consider myself as 'knowing' them.
I'll make your software hardware.
- TheBuzzSaw
- Chaos Rift Junior
- Posts: 310
- Joined: Wed Dec 02, 2009 3:55 pm
- Current Project: Paroxysm
- Favorite Gaming Platforms: PC
- Programming Language of Choice: C++
- Contact:
Re: .NET vs C languages
Yeah, I wanna emphasize: be careful claiming you "know" a language. It's one thing being able to know the syntax, libraries, etc. It's a whole different beast using the language correctly. My team here at work is all very bitter at the previous generation of programmers. Despite coding in C#, the old programmers ported over almost all of their C programming habits. So, instead of a nicely designed layout of communicating objects, we have a globally controlled state machine. Needless to say, we're in the middle of redesigning it.
- Falco Girgis
- Elysian Shadows Team
- Posts: 10294
- Joined: Thu May 20, 2004 2:04 pm
- Current Project: Elysian Shadows
- Favorite Gaming Platforms: Dreamcast, SNES, NES
- Programming Language of Choice: C/++
- Location: Studio Vorbis, AL
- Contact:
Re: .NET vs C languages
It depends on what you do. The majority of you (and the majority of this forum) are very computer-science/software-engineering oriented. There is no denying that both Java and C# are far more widely used than C/++ for higher-level, multiplatform desktop applications (which is 90% of the job market for "programmers" these days). I have seen quite a few jobs using things like C++ with QT in place of the JIT languages for software development (because of speed and performance requirements). However, as somebody marketing yourself as a "programmer" in today's marketplace, you really must be acquainted with either Java or C#.
Before you freak out:
If you are at ANY level of competence with C or C++, Java and C# are literally a joke. They are C-based languages (at least syntactically). They also automatically handle lots of the low-level details that you were forced to do manually in statically compiled C/++. You Java/C# fans may want to punch me for this, but I don't care: the two languages are essentially C/++ with training wheels. There is absolutely no reason that a competent C/++ developer cannot pick either of these up with a few simple Google searches and a few days of dicking around with JIT compilers/interpreters. And honestly--I recommend you do.
On the flip side:
I like to emphasize the fact that the "mainstream" software development world of "average" computer scientists/software engineers does not reflect the entire market. Yes, trends in the industry have always leaned towards additional layers of abstractions and higher-level languages. With C# and Java, lower level C and C++ just aren't as important in the desktop application world which is where 90% of you will be working.
However, these languages aren't going anywhere. You will ALWAYS have computer engineers, embedded system developers, kernel developers, driver developers, real-time systems developers, game developers, and other kinds of programmers who WILL be developing at a lower level. Statically compiled C and C++ are not likely ever going to fade away from these areas. They are as relevant today as ever before. With the ever-growing embedded systems market (handheld gaming platforms, smartphones, GPSs, etc), even MORE jobs are being created for C/++ programmers. Calling C or C++ "outdated" is downright ignorant--maybe for your particular field of computer science, but they are still very relevant and necessary for other fields.
Just don't forget that it all depends on the job you are looking for. If you are planning to be a higher-level desktop applications developer, goddamn straight you're going to need to know C# and Java. However, just because these are the norm (or "industry standard") in that particular area does not mean that there is not a market for lower level C/++ developers. In many cases, I see the lower-level, software/hardware engineers writing these embedded applications making far more than your average Java/.NET developer...
Before you freak out:
If you are at ANY level of competence with C or C++, Java and C# are literally a joke. They are C-based languages (at least syntactically). They also automatically handle lots of the low-level details that you were forced to do manually in statically compiled C/++. You Java/C# fans may want to punch me for this, but I don't care: the two languages are essentially C/++ with training wheels. There is absolutely no reason that a competent C/++ developer cannot pick either of these up with a few simple Google searches and a few days of dicking around with JIT compilers/interpreters. And honestly--I recommend you do.
On the flip side:
I like to emphasize the fact that the "mainstream" software development world of "average" computer scientists/software engineers does not reflect the entire market. Yes, trends in the industry have always leaned towards additional layers of abstractions and higher-level languages. With C# and Java, lower level C and C++ just aren't as important in the desktop application world which is where 90% of you will be working.
However, these languages aren't going anywhere. You will ALWAYS have computer engineers, embedded system developers, kernel developers, driver developers, real-time systems developers, game developers, and other kinds of programmers who WILL be developing at a lower level. Statically compiled C and C++ are not likely ever going to fade away from these areas. They are as relevant today as ever before. With the ever-growing embedded systems market (handheld gaming platforms, smartphones, GPSs, etc), even MORE jobs are being created for C/++ programmers. Calling C or C++ "outdated" is downright ignorant--maybe for your particular field of computer science, but they are still very relevant and necessary for other fields.
Just don't forget that it all depends on the job you are looking for. If you are planning to be a higher-level desktop applications developer, goddamn straight you're going to need to know C# and Java. However, just because these are the norm (or "industry standard") in that particular area does not mean that there is not a market for lower level C/++ developers. In many cases, I see the lower-level, software/hardware engineers writing these embedded applications making far more than your average Java/.NET developer...
- GroundUpEngine
- Chaos Rift Devotee
- Posts: 835
- Joined: Sun Nov 08, 2009 2:01 pm
- Current Project: mixture
- Favorite Gaming Platforms: PC
- Programming Language of Choice: C++
- Location: UK
Re: .NET vs C languages
Wow, that was very insightful and at the same time reassuring! Thanks sir