Page 1 of 1

C#...

Posted: Tue Mar 27, 2007 3:25 pm
by BlindSide
Everywhere I look for programming jobs, freelance projects, commercial projects etc etc. All I see is C#!! (Or VB.NET or Java or some other silly language) There is maybe one or two C++ jobs, but it really seems like .NET developement has taken over the market. Anyone else notice this? I think it kinda sucks personally. Is C# similar enough to C++ to claim to have experience in it without using it? :P

Posted: Tue Mar 27, 2007 4:40 pm
by rogerborg
I've yet to meet a "Java" developer who could do more than I learned in a week, and I doubt "C#" developers will be any different.

The O'Reilly Programming C# book is OK, but to be honest it's probably more than you need to blag your way into a C# job. Maybe the Sam's Teach Yourself C# in 24 Hours would be enough.

Posted: Tue Mar 27, 2007 5:16 pm
by BlindSide
Yeah i had java going within an hour or two lol. Just have some issues with the resources for the embedded enviroment, IDE stuff. (I was making some cellphone games :P )

Posted: Wed Mar 28, 2007 8:03 am
by KrazyKain
well i know C# and i'm learning C++.. its easy enough for me, so i'm sure you can do the reverse and learn C# after C++.. its probably easier that way actually

Posted: Wed Mar 28, 2007 10:26 pm
by virtual x
I don't see why people just can't learn C++ if they want to learn a language, I've had experience in quite a few languages and IMO C++ definately is the language to learn to help grasp the fundamental concepts of OOP.

when learning C++ your basically learning the others anyway as the majority of modern languages are OOP based, many new arrivals to coding don't realise that it's the 'concepts' they must understand (encapsulation, inheritance, polymorphism), once OOP is mastered it's easy to go on to any other OOP based language.

it's all to do with understanding the design methodology!

Posted: Thu Mar 29, 2007 3:24 am
by BlindSide
This has nothing with what you are saying. This is a topic about corporations having a commercial demand for C#, which in turn pisses me off. Though I just looked at a book for C# and I gotta say it seems very very easy, with less chance of crashes happening because of the manages enviroment, kinda reminds me of Java programming. (Euurghh i still hate java kinda tho haha) The only weird thing about it is having to define "static" and "abstract"...never had to do that in C++.

Posted: Thu Mar 29, 2007 1:01 pm
by bigfish
When you think "C#", don't think "C++". Think "Java". C# started off as a complete Java clone but has evolved from there. I think it's quite a bit better than Java now. Of course I have never really been fully on the Java bandwagon, mainly because of the performance hit that comes with an interpreted language. (although it's pretty minimal in Java these days) C# uses a just-in-time compiler to go from bytecode to native machine language at runtime so besides having a little bit of lag when starting up, it runs as fast as it can. I've been a C/C++ guy for longer than I care to remember and a Microsoft hater to the core, but I think C# is becoming my favorite language after only using it for about two months now.

While we're on the topic, the one thing that drives me nuts about it is their syntax for adding event handlers. They overload the += operator like this:
myObject.myEvent += myEventHandler;
At least I think that's how it's done... I usually close my eyes when I see that in some code. Who the hell thought that one up? I was so glad to find out C# allows operator overloading unlike Java, but c'mon! Arithmetic and event handlers don't go together. Argh! Okay, I'm done now.

[edit] Oh, I almost forgot. Blindside, you don't use static in C++? static is every bit as useful in C++ as it is in Java and C#. abstract is very nice too because it saves you from having to do the old cryptic 'virtual void heyImAnAbstractClass() = 0;' thing if you want to make sure no one can instantiate that class.

Posted: Thu Mar 29, 2007 1:22 pm
by Klasker
The true power of Java is in its enormous library. Our final project in Web Technology was coded in Java, and while I'm not a big fan of Java, I really had a change of minds during that project. You can't match an experienced Java programmer in a week; you can learn the language but not the libraries. I haven't used C# myself, but I think the same applies there: The libraries are the true powerhouse of C#.

In C++ you have nothing except the STL to start with. Now, a shitload of open source and/or free libraries are available for C++, and I personally prefer going C++ and picking my own libraries. But in a commercial application GPL'ed projects are generally out, and the Java libraries are a lot more comprehensive than most free projects I have seen.
While we're on the topic, the one thing that drives me nuts about it is their syntax for adding event handlers. They overload the += operator like this:
myObject.myEvent += myEventHandler;
At least I think that's how it's done... I usually close my eyes when I see that in some code. Who the hell thought that one up? I was so glad to find out C# allows operator overloading unlike Java, but c'mon! Arithmetic and event handlers don't go together. Argh! Okay, I'm done now.
Euw! I hear you man! That's really just using operators "because we can". Stupid Microsoft.