[SOLVED] .NET vs C languages

Whether you're a newbie or an experienced programmer, any questions, help, or just talk of any language will be welcomed here.

Moderator: Coders of Rage

User avatar
GroundUpEngine
Chaos Rift Devotee
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

Post by GroundUpEngine »

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.
Last edited by GroundUpEngine on Wed Mar 09, 2011 7:16 am, edited 1 time in total.
Aleios
Chaos Rift Cool Newbie
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

Post by Aleios »

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 :)
Image
User avatar
TheBuzzSaw
Chaos Rift Junior
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

Post by TheBuzzSaw »

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.
User avatar
MrDeathNote
ES Beta Backer
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

Post by MrDeathNote »

Aleios wrote:but usually C++ is used the most
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.
http://www.youtube.com/user/MrDeathNote1988

Image
Image

"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
Aleios
Chaos Rift Cool Newbie
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

Post by Aleios »

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.
Image
User avatar
GroundUpEngine
Chaos Rift Devotee
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

Post by GroundUpEngine »

Aleios wrote:sorry if my writing is not understandable, im not the best at English :)
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.
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.
Yeah that sounds about right thanks! Also I agree, a true upgrade for C++ would be pretty sweet.
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.
Good point man, this definitely clears things up! Also I remember falco using C# for his job. 8-)

Cheers guys! :cheers:
User avatar
avansc
Respected Programmer
Respected Programmer
Posts: 1708
Joined: Sun Nov 02, 2008 6:29 pm

Re: .NET vs C languages

Post by avansc »

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.
Some person, "I have a black belt in karate"
Dad, "Yea well I have a fan belt in street fighting"
User avatar
MrDeathNote
ES Beta Backer
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

Post by MrDeathNote »

avansc wrote:That being said, knowing either of those languages are not really making you that competitive.
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.
http://www.youtube.com/user/MrDeathNote1988

Image
Image

"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
User avatar
GroundUpEngine
Chaos Rift Devotee
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

Post by GroundUpEngine »

MrDeathNote wrote:
avansc wrote:That being said, knowing either of those languages are not really making you that competitive.
That's a good point
I agree, thanks avansc ;)

EDIT: Lua is a 'glue language' I believe, I've been using it quite a bit recently.
User avatar
short
ES Beta Backer
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

Post by short »

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
User avatar
GroundUpEngine
Chaos Rift Devotee
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

Post by GroundUpEngine »

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.
Awesome ;) Great point!
User avatar
thejahooli
Chaos Rift Junior
Chaos Rift Junior
Posts: 265
Joined: Fri Feb 20, 2009 7:45 pm
Location: London, England

Re: .NET vs C languages

Post by thejahooli »

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.
User avatar
TheBuzzSaw
Chaos Rift Junior
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

Post by TheBuzzSaw »

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.
User avatar
Falco Girgis
Elysian Shadows Team
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

Post by Falco Girgis »

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...
User avatar
GroundUpEngine
Chaos Rift Devotee
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

Post by GroundUpEngine »

Wow, that was very insightful and at the same time reassuring! Thanks sir :bow:
Post Reply