.NET Forum / Languages / C# / January 2008
C++ or C#..?
|
|
Thread rating:  |
Sobin - 28 Dec 2007 18:17 GMT Hi, I am new to programming...which language should I study to get a hot job. is it C# or C++...? Thanks In advance Sobin
Ignacio Machin ( .NET/ C# MVP ) - 28 Dec 2007 18:23 GMT Hi,
A hot job????
Sitting in front of a computer surrounded of a bunch of nerds (not hot at all) , do you call that a hot job?
 Signature Ignacio Machin http://www.laceupsolutions.com Mobile & warehouse Solutions.
> Hi, > I am new to programming...which language should I study > to get a hot job. is it C# or C++...? > Thanks In advance > Sobin Michael Bray - 28 Dec 2007 20:21 GMT "Ignacio Machin \( .NET/ C# MVP \)" <machin TA laceupsolutions.com> wrote in news:uMwtx6XSIHA.748@TK2MSFTNGP04.phx.gbl:
> A hot job???? > > Sitting in front of a computer surrounded of a bunch of nerds (not hot > at all) , do you call that a hot job? Oh come on... just type 'sexy nerd girl' into google and you'll find plenty of them. They just aren't where YOU work! :)
-mdb
Mike - 28 Dec 2007 18:32 GMT Unless your on a beach surrounded by girls in bikini's, then thats hot. Otherwise, sitting in a cubicle all day writing code, is NOT A HOT JOB!
but to answer your question, I say C# is a good lanuage to learn, but learn the framework first, then pick your language of choice.
> Hi, > I am new to programming...which language should I study > to get a hot job. is it C# or C++...? > Thanks In advance > Sobin Arne Vajhøj - 28 Dec 2007 18:44 GMT > I am new to programming...which language should I study > to get a hot job. is it C# or C++...? What answer do you expect to get in a C# group ?
My impression is that the demand for C# is rising and the demand for C++ is dropping, so C# seems as a good choice.
But I would expect C++ to be in demand for many years, so it is not a bad choice either.
Arne
Lasse Vågsæther Karlsen - 28 Dec 2007 20:11 GMT >> I am new to programming...which language should I study >> to get a hot job. is it C# or C++...? [quoted text clipped - 8 lines] > > Arne I would certainly think that C++ salaries will go up, as more and more people switch away from it, either because the teaching institutions they attend switch away from it, or just because they think that "new" must mean "better".
But then, those jobs will probably be reserved more for people that already have established a long job reputation in C++, so starting now might be a bit late to get in on that train :)
 Signature Lasse Vågsæther Karlsen mailto:lasse@vkarlsen.no http://presentationmode.blogspot.com/
Arne Vajhøj - 28 Dec 2007 20:22 GMT > I would certainly think that C++ salaries will go up, as more and more > people switch away from it, either because the teaching institutions > they attend switch away from it, or just because they think that "new" > must mean "better". I think we can call that "the COBOL effect".
Arne
Lasse Vågsæther Karlsen - 28 Dec 2007 20:37 GMT >> I would certainly think that C++ salaries will go up, as more and more >> people switch away from it, either because the teaching institutions [quoted text clipped - 4 lines] > > Arne Except that people still want to program in C++. I wouldn't touch COBOL again with a long stick, encased in flame-retardant clothing.
 Signature Lasse Vågsæther Karlsen mailto:lasse@vkarlsen.no http://presentationmode.blogspot.com/
Cor Ligthert[MVP] - 28 Dec 2007 19:24 GMT Sobin,
Most "hot" programming is probably done in JavaScript, be aware however that it is like eating cookies in a bakkery, when you are used to it then you don't like it anymore.
Just my idea adding to the already given answers.
Cor
cfps.Christian - 28 Dec 2007 19:36 GMT I'm finding in my personal life that people wanting C#/C++ for a position want a ton of experience before hiring. If you're leaning towards C# see if you can't get some formal training in VB since their hiring requirements tend to be much lower on the experience side and if you do the .NET thing VB/C# are closely related and you won't have wasted VB training since it translates right back to C#.
Ian Semmel - 28 Dec 2007 19:41 GMT If you want to know both languages (which I believe you should if you want to maximize your chances), it is probably better to learn native C++ first as you get a better idea of what is going on "under the hood".
If you know C++, you can pick up C# easily enough.
> -----Original Message----- > From: Sobin [mailto:sobin@live.in] [quoted text clipped - 8 lines] > Thanks In advance > Sobin Michael D. Ober - 28 Dec 2007 19:58 GMT > Hi, > I am new to programming...which language should I study > to get a hot job. is it C# or C++...? > Thanks In advance > Sobin I would learn to write C# and read C++. You should also learn the .NET framework and become familiar with the underlying Win32/64 API as many of the questions that arise here are directly related to how the Win32 API operates. Also, as another responder wrote, take the time to learn VB.NET as well since you may be able to land an entry level position using VB quicker than with C#.
As for hot, turn the heat up in you cubicle if you want hot.
Mike.
Brian Muth - 28 Dec 2007 20:26 GMT > Hi, > I am new to programming...which language should I study > to get a hot job. is it C# or C++...? > Thanks In advance > Sobin C# and C++ are tools. You don't automatically become an accountant by learning how to move a pencil.
Yes, it's good to learn how to use tools. But what gives you the hot job is learning the business. Which business are you interested in? (and for God's sake, please don't say "programmer").
My $0.02
Brian
Jon Skeet [C# MVP] - 28 Dec 2007 21:30 GMT <snip>
> C# and C++ are tools. You don't automatically become an accountant by > learning how to move a pencil. > > Yes, it's good to learn how to use tools. But what gives you the hot > job is learning the business. Which business are you interested > in? (and for God's sake, please don't say "programmer"). Well, I would safely say that I'm more interested in "software development" than insurance, content security, or mobile CRM - all of which have been the *business* parts of projects I've worked on.
I don't expect to be hired by anyone based on my knowledge of a particular business. I expect to be hired by being able to apply my experience to *any* business.
 Signature Jon Skeet - <skeet@pobox.com> http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet World class .NET training in the UK: http://iterativetraining.co.uk
Nick - 29 Dec 2007 14:29 GMT > <snip> > [quoted text clipped - 12 lines] > particular business. I expect to be hired by being able to apply my > experience to *any* business. This sounds similar to an author being interested in spelling and grammar but not content or meaning.
Some problems are more generic and their solutions can be applied to many projects in many businesses but we still need to understand the problem.
However in most of my work the users tend to be uncertain of their requirements and hence I need a solid understanding of the business in order to design the software and recognise common business patterns.
Jon Skeet [C# MVP] - 29 Dec 2007 14:56 GMT > > Well, I would safely say that I'm more interested in "software > > development" than insurance, content security, or mobile CRM - all of [quoted text clipped - 6 lines] > This sounds similar to an author being interested in spelling and > grammar but not content or meaning. Not really. When I write, I expect to know the content of what I'm writing about *and* be able to spell. When I develop software, I expect to work with customers and business analysts who understand what they want/need to do better than I'm likely to.
> Some problems are more generic and their solutions can be applied to > many projects in many businesses but we still need to understand the > problem. Absolutely - which is why we collaborate with others.
> However in most of my work the users tend to be uncertain of their > requirements and hence I need a solid understanding of the business in > order to design the software and recognise common business patterns. That's fair enough - but I suspect a lot of your knowledge of the business *comes* from the customers, even if they don't necessarily manage to turn those into requirements. I could be wrong, of course - it really depends on the line of business you're in.
All I can say is that my initial lack of understanding of insurance workflow certainly hasn't hampered my work on insurance products, etc - and I don't expect the information I've learned to be relevant to any other companies I may work for in the future.
Compare that with the experience I've gained in aspects of development and software engineering (even building code on different platforms) which has certainly been useful across companies.
 Signature Jon Skeet - <skeet@pobox.com> http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet World class .NET training in the UK: http://iterativetraining.co.uk
Family Tree Mike - 29 Dec 2007 04:54 GMT Learn both of the languages, and java, and vb.net, and Cobol (Y3K and Y5Digits are right around the corner).
But first learn when each language is the right tool for the solution.
Also, learn to communicate that the solution you choose is right. (I personally wish I took more psych and comm in school).
Also learn to build a team, and weed out the chaff on the team you are given.
These will get you further than the language de jeur.
> Hi, > I am new to programming...which language should I study > to get a hot job. is it C# or C++...? > Thanks In advance > Sobin colin - 29 Dec 2007 12:36 GMT I prefer c# these days, it frees up so much time otherwise spent with memory management.
If you going to do c# I would start with c#, moving from c++ to c# isnt that easy, as theres considerable diferences wich make it harder if your well used to c++ such as sprintf type format is totaly diferent and theres no macros or multiple inheritence etc.
I still use c++ for embeded microcontroller stuff wich then comunicates to a c# app on a PC.
I have no idea about relevant job opertunities though, but with c# being relativly new they cant realistically ask for like 10 yrs experience. c++ will be around for ages but theres already lots of c++ programmers.
Im stil waiting for a better language however, being a hardware engineer im also into vhdl wich would be an interesting concept to make into a full blown software programing language.
Colin =^.^=
> Hi, > I am new to programming...which language should I study > to get a hot job. is it C# or C++...? > Thanks In advance > Sobin Arne Vajhøj - 29 Dec 2007 18:54 GMT > I prefer c# these days, > it frees up so much time otherwise spent with memory management. There are also ways of making that easier in C++.
> If you going to do c# I would start with c#, > moving from c++ to c# isnt that easy, > as theres considerable diferences wich make it harder if your well used to > c++ > such as sprintf type format is totaly diferent and theres no macros or > multiple inheritence etc. I don't think it will take a C++ programmer many minutes to convert from sprintf format to String.Format and note the lack of macros and multiple inheritance. And if he forget then the compiler will' remind him.
I think it is worse the other way around. The things that is taken care of the runtime in .NET and that you have to do yourself in C++. And they do not give a compiler error. Instead they give various runtime errors that are often very hard to locate the original cause for.
Arne
colin - 31 Dec 2007 13:41 GMT >> I prefer c# these days, >> it frees up so much time otherwise spent with memory management. > > There are also ways of making that easier in C++. im interested in the sort of thing you refer to ?
for example, I had a decision tree I wrote in c++ wich it generated from some input data, there was quite a bit of recusrion or loops wich had to be handled by recognising repeating branches and instead of going onto infinity just looping the branch back to some equivalent point.
this meant often an entire branch would be deleted but at the time of deletion some of the elements in the branch may be still used elsewhere, although elements might be used by things in the same branch wich was about to be deleted.
with c# this is taken care of, you just simply unreference it and it eventually deletes anything that isnt referenced from some static point. I had to write the code to do the same thing with my tree.
>> If you going to do c# I would start with c#, >> moving from c++ to c# isnt that easy, [quoted text clipped - 7 lines] > and multiple inheritance. And if he forget then the compiler will' > remind him. I remember it took me a long time to find the right page wich told me how to print out a simple hex dump with 2 hex digits for each byte, I found 100s of pages wich told me how to print out the basic stuff with String.Format but stoped short of saying how to print out exactly 2 digits. most other things I seemed to find fairly easy.
ok I know its not dificult, its easy when you know how, but its just new. I made the mistake of thinking it was easy transition, instead of treating it as a new language and burying my head in a few books for a few days.
its not a question of just noting they dont exist, but what I meant was if your realy used to using a macro for certain things it can be hard to code the the equivalent of the macro template functions can be used but I find they are limited ...
for example I have several structs wich have some of the same elements and I want to have a function wich does the same operation on those elements for diferent structs... in a template function I cant access any members of a <type> unless I put a constraint, but then I am limited to only alowing one class, unless I am mistaken or there is a way round this? unfortunatly I dont have the option to add an interface to the structs definition.
a macro would easily take care of this. again the same for multiple inheritence, sometimes its just difuclt to figure out how to do the equivalent. although I think macros can be very badly misused, and multiple inheritence could realy suck sometimes.
> I think it is worse the other way around. The things that is taken > care of the runtime in .NET and that you have to do yourself in C++. > And they do not give a compiler error. Instead they give various > runtime errors that are often very hard to locate the original cause > for. yep transition the other way is probably dificult too, I still need C/C++ for my microcontrollers though, its like switching to a diferent world. and ofc its still usefull to know basic c++ if you want to do some unsafe stuff in c#...
Colin =^.^=
Arne Vajhøj - 31 Dec 2007 18:48 GMT >>> I prefer c# these days, >>> it frees up so much time otherwise spent with memory management. >> There are also ways of making that easier in C++. > > im interested in the sort of thing you refer to ? Templates, smart pointers etc..
>>> If you going to do c# I would start with c#, >>> moving from c++ to c# isnt that easy, [quoted text clipped - 13 lines] > String.Format but stoped short of saying how to print out exactly 2 digits. > most other things I seemed to find fairly easy. I admit that http://blog.stevex.net/index.php/string-formatting-in-csharp/ is much better than the official docs.
Arne
Ben Voigt [C++ MVP] - 31 Dec 2007 19:46 GMT > Hi, > I am new to programming...which language should I study > to get a hot job. is it C# or C++...? > Thanks In advance > Sobin Neither of those is a very good first language. Actually, object-oriented *anything* isn't a good first language. Start with something that starts executing at the top of the file and goes until it hits the bottom, maybe python (perl and tcl also qualify but are going out of vogue, maybe ruby would be another good alternative, even straight C wouldn't be too bad but there's still some -- to the beginner -- magic incantations to learn to get a program started).
Then, once you've mastered simple I/O, loops, and arithmetic, and are ready for some file access or graphical windows, switch to an object-oriented language or learn the O-O extensions to the language you started with.
I would basically have the following rule: don't start with any language where "hello world" is more than five lines. Here's the C version for reference, exactly five lines:
#include <stdio.h> int main( void ) { puts("Hello world\n"); }
OTOH C#:
using namespace System; public class MyProgram { public static void Main(void) { Console.WriteLine("Hello World"); } }
As you can see, there's a lot of extra junk that you won't learn for a while.
Whereas PERL has no fluff:
print "Hello world\n";
Arne Vajhøj - 31 Dec 2007 21:28 GMT >> Hi, >> I am new to programming...which language should I study [quoted text clipped - 11 lines] > for some file access or graphical windows, switch to an object-oriented > language or learn the O-O extensions to the language you started with. Personally I agree that a simple procedural programming language is better to start with than an object oriented one.
But it is far from universal accepted.
Arne
PS: I would prefer a language like Pascal over the dynamical typed languages.
Ben Voigt [C++ MVP] - 03 Jan 2008 19:47 GMT > Arne > > PS: I would prefer a language like Pascal over the dynamical typed > languages. That's a good point. Pascal is one of the languages I've never come in contact with, but if it makes life as simple as "(1) load IO library (2) print something" then I imagine it would be a very good choice.
Free MagazinesGet these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...
|
|
|