Sign in to follow this  

Fastest someone could learn C#?

This topic is 3410 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

How fast could someone who has never programmed before, learn C# enough to be able to use it effectively? Are we talking about weeks, months or years? (Assuming that person was dedicated and spending many hours everyday on it). Also, how long is the learning process in comparison to other programming languages such as C++? Thanks. :)

Share this post


Link to post
Share on other sites
It took me about 3 months to learn C# and use it effectively, of course that was coming from some small prior programming experience in the VB languages (including VB.NET).

As for the learning curve, I will admit that it takes some getting used to, but C# is extremely easy to learn, and it is a massive language. I have been using it for nearly 3 years now and I still learn now things every day.

Plus, more and more things are moving to C#, C++ is still a prime language in the video game industry, but with things like XNA and SlimDX, C# is growing in popularity, especially among newer programmers.

Share this post


Link to post
Share on other sites
Depends how logically minded the person is and the talents of their teacher.
Depends if they only want to learn the C# language, or also learn the .NET library.
Depends what 'effectively' means, which depends on what you want to use the language for.

I'm sure it's possible to pick up the language in an hour, but it's also possible that it could take a year.

The learning curve would be similar to C++, perhaps a little less steep. Plus C++'s curve probably takes longer to flatten out - i.e. C++ has more little tricks to it that take experience (mistakes) to learn.

Share this post


Link to post
Share on other sites
Well, I don't know what you mean by "effectively", but if you find a good and interesting tutorial you can be making small apps, even graphical ones, in a few hours.

I think the fact that you can make windows apps so easily with C# is good for the beginners, since it immediately gives you the feeling that "hey, I can actually make something with this!". This is in contrast to C++ where you normally spend weeks or months learning the language itself and all of its quirks making text based programs that don't seem so interesting. (Don't get me wrong, I have nothing against console apps. It is just that many people have).

That said, even C# is a complicated language and you won't be making games with it before you master concepts such as object orientation. These are pretty much the same in every language though, so once you learn them you can use the same principles in other languages too.

Share this post


Link to post
Share on other sites
Literally about as fast as the bird can fly east.

Compared to C++? Similarly. You may find no difference for the first year to few months or so. But as you progress your ability to harm yourself with C++ increases mainly because the language is 'unsafe'. That is it does not try to eliminate errors to occur that are not caught as exceptions. You will then find your progress to slowen vs a more safe language. As well, due to the ad hoc nature of its growth (e.g. the accidental turing equivalence of templates) you may find cases where its syntax is ambigious.

C++ was a good language for its time - bringing highbrow methods from the like of smalltalk and algol to a syntax familiar to C programmers. Not unlike what C# is doing - which now is taking from languages like ML and Haskell since parallelism is the new tough problems and they have properties that make this problem easier to tackle.

As computer architecture changes - with the introduction of heterogeneous (some in-order) many core CPUs the techniques of old simply wont hold anymore. Now the guarantee of safety is of increased importance and already large problems like dangling references are multiplied many-fold to be completely devastating to performance. Hence the once heralded ability for pointer and manual memory manipulation is becoming more of a liability and a detriment for performance.

Thus you may be better served to learn C# since there you will find it more easy to pick up more modern techniques that will make you more skilled than otherwise.

Share this post


Link to post
Share on other sites
Provided you are a good programmer in another language it might take you between a month and a year, depending on a couple of things.

If you are a COBOL developer OO will be new to you.
If you are a C++/Java developer you will feel more at home.

Oh, and don't forget: knowing a language doesn't make you a good programmer

Share this post


Link to post
Share on other sites
For most people, C# is much easier to use to learn programming than C++.

I was unemployed when I learned C# (2.0) so had many hours a day to spend on it. It took about 2 weeks to run through the language and toy around with the different features, and another 3 months or so to learn to 'write in C#' rather than in a style more suited for other languages.

But I'd also had about 7 years of experience with C, C++, perl, php, pascal to build off of. And that experience really helps with program design more than anything. It's hard to use a language 'effectively' when you can't structure the program properly. And there's few ways to speed that learning curve up. Experience is the best teacher.

So take that as you will. It'll be a non-trivial amount of time, especially since there's so many hours in a day (most) people can devote to a thing without some time to re-coup the motivation and focus to learn effectively.

Why do you ask? It might help us provide a more specific answer.

Share this post


Link to post
Share on other sites
C# is easier than Python? Ouch...

I've known Python for about... ohh, 18months now? And I could probably write in it with my eyes closed. I really wanna try out C#... :)

Share this post


Link to post
Share on other sites

This topic is 3410 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this