VBForums >
.NET >
C# > [RESOLVED] Keep going with C#.Net or begin learning from C then C++ then C#?
Click to See Complete Forum and Search --> : [RESOLVED] Keep going with C#.Net or begin learning from C then C++ then C#?
gjon
Apr 12th, 2007, 08:20 PM
I have been told by a few professionals as well as I have seen how some online courses have stated this. That the best way to start learning programming is to begin with the C language then move into C++ to learn object orientation. Then from there go to C#. I've been told that it is best to learn low level programming in this way so that you can better understand why your program isn't working when you begin to work with C# and many other languages. I've been trying to learn C# and am wondering whether I should take that advice and start all over again or whether I should continue with my studies in C# as is and onwards.
It seems to me the most advanced helpers on forums have had experience in a prior language but I am wondering if we can all get their no matter what as long as we keep experiencing a language no matter what it is.
I was hoping I could get some feedback on this from this forum's members.
Thanks in advance for your time.
jmcilhinney
Apr 12th, 2007, 09:07 PM
If you want to program in C then learn C. If you want to program in C++ then learn C++. If you want to program in C# then learn C#. If you learn all three then you'll know a lot but it won't necessarily make you a better C# programmer. You'll have to learn about pointers, which you may never use in C#. Also, learning OOP with a .NET language is easier than with C++. I learned C at university, then C++ in the workplace, then C# on my own time. Having C++ experience made learning C# easier but I don't know that it made me any better at it. Would it be better to spend a year learning C++ and six months learning C# or just a year learning C#? If I wa sstarting from scratch I know which I'd choose.
gjon
Apr 13th, 2007, 12:25 AM
Thanks, that's what I was hoping someone would say.
Kudos!
wossname
Apr 13th, 2007, 04:06 PM
C# is probably a good precursor to C++ provided you got into unsafe code very quickly so you don't have to spend too much time using a managed language.
It is impossible to recommend one over the other though, without acknowledging what kind of programming you want to become proficient in.
vbNeo
Apr 14th, 2007, 08:40 AM
The somewhat depressing truth is that there isn't one language to rule them all. It all depends on the task, and it's often a good idea to weigh out con's and pro's in the final product before choosing the language to use.
If you did it in C++ over C#, it might take longer, but you'd be able to port it to other platforms than windows(If we forget about Grasshopper), yet on the other hand, you might not have a need for cross platform compatability with your application.
My 2c.
wossname
Apr 14th, 2007, 03:53 PM
C++ and C# can both be moved to other platforms.
vbNeo
Apr 14th, 2007, 05:02 PM
C++ and C# can both be moved to other platforms.
C# Requires the .Net framework, and as far as I know microsoft hasn't ported it to other systems yet- correct?
I know there are projects like Mono and Grasshopper, but as far as I've heard, they don't achieve the same functionality as .Net on a windows system... I don't have any experience is the matter though, so chances are I'm wrong.
Please correct me :).
gjon
Apr 15th, 2007, 07:35 PM
I want to learn a language. I chose C#, but I had been told that I should really learn C then C++ before learning C#. I think that I was only told that so I would take the classes and pay for them. I was hoping I made the right choice and picked a language I could learn on my own. I was just afraid that I bit off more than I could chew. But from what you are all telling me, there's no right or wrong way to approach learning C#. Just pick up the language of your choice and get experienced with it. That's what I was hoping to read. Thanks for the feedback.
chemicalNova
Apr 15th, 2007, 07:55 PM
Truth is, any language before a C-style language makes learning easier - at least it was for me. I started with VB, and when I switched to C#, variable declarations and just basic programming was much easier. C++ from there was heaps easier to pickup.
Basically, for me, with the knowledge of another language before a new one, it just became easier to pick up the basic concepts, and even made it more interesting to read into how they worked behind the scenes.
Theres no proper order, its just what suits your needs (which is basically what people have said above).
chem
penagate
Apr 16th, 2007, 01:27 AM
Learn everything.
superbovine
Apr 22nd, 2007, 06:28 PM
Might read up on the history of C#.
Know where the creators came up with the syntax and structure of c# might be important to you.
http://en.wikipedia.org/wiki/C_Sharp
First off, I learned c, c++, vb, php, perl, then c#. knowing c/c++ has allowed me to do projects cross platform on os x/ linux / windows before as well. This might or might not be of interest to you.
If you learn everything you will be a better programmer particularly with c/c++. The concept of pointers you will learn from c/c++, OOP in c++, and templates are pretty powerful things. C# doesn't have pointers, but you are a better programmer if you understand what the a variable reference is really doing. besides that fact, if you really need to do a project in c# then c#. Once you master one, it isn't going to be hard to learn others. If you know c# really well then c/c++ won't be hard at all. Although the whole pointer thing might cause you some grief especially once you get into double indirection which still confuses me.
nemaroller
Apr 24th, 2007, 09:34 AM
I don't know, most companies that I see jobs for are hiring server application developers. Stick with C#. Then learn Java. If you really want to - just pick up a book on C++, and learn the basics at your leisure (pointers are always useful to learn regardless.) In truth, you will find more C#/VB.NET/Java/Perl/ and Php oppurtunities than you will C++ oppurtunities.
wossname
Apr 24th, 2007, 02:31 PM
Learn everything.
Hell yes.
vbforums.com
Copyright Internet.com Inc., All Rights Reserved.