Click here to Skip to main content
15,910,787 members
Please Sign up or sign in to vote.
3.00/5 (2 votes)
For a beginner in .NET Web Development (2 months experience) , who chooses C# as there preferred language. Is it better to learn C# first - without trying to apply it web development. It seems most literature for C# uses Console or Windows forms as a learning platform. So would that be the best direction? Or should you practice in web development and try and learn C# alongside. My aim is "web development!" I have just graduated from college (BCA) and i believe you must be having an idea about how much a college graduate with no work experience knows generally knows.
Posted
Comments
Richard C Bishop 7-Mar-13 13:04pm    
I learned C# while learning web development. If that is your goal, then jut do it that way.
arbaaz jalil 7-Mar-13 13:14pm    
I guess you are right. It is the more time efficient way perhaps. But still if you are asked to suggest some way to learn it what would you suggest? any particular websites,tutorials, videos, book, forum? Should i spend time reading stuff or should i just start developing and search for solutions everytime i face a problem?
Richard C Bishop 7-Mar-13 13:18pm    
Just get anything you can and read it, check out examples and try them yourself. There is more information you can find than you can shake a stick at, just get dirty and do it.
arbaaz jalil 7-Mar-13 13:22pm    
lol i am ready to get dirty thanks!

You can go either of the two -
Win/Console or
Web

But I would suggest to use Console/Win First to get acquainted with the syntax and most common namespace.

The most important thing is instead of following the sample chapters in leading text book, try to build a small real life application. Once you start building you will get stuck in several areas and then you can refer books or google the exact problem.

By the time, you finish building your small application, you will have some fair idea of components/namespace specially grid, win controls, IO, Collection, ADO.NET etc.

Now, you shift your focus to asp.net and you will find it much easier to start.

Best of luck!
cheers
 
Share this answer
 
Comments
arbaaz jalil 7-Mar-13 13:26pm    
I have never touched Console/Win but i have been developing web application for like 2 months , i am aware or controls like Gridview,litral, panel, ajax toolkit etc though i am still not very proficient (obviously). Are you sure there is no magic training course on torrent or something by any chance? lol
Sandip.Nascar 7-Mar-13 13:30pm    
You need to build some real life application to get more confidence. You can google for some good web application and study the way it has been written.
You can even download some opensource application and study the code.
arbaaz jalil 7-Mar-13 13:32pm    
I have recently got a job as a web developer i am working on real life application but, the thing is the people who have hired me have absolutely no technical knowledge. And there is no senior. So you see my problem? I am just worried if it is possible to learn without having a senior by the side.
Sandip.Nascar 7-Mar-13 13:40pm    
This doesn't matter too much, provided you have to do all by yourself. If you get stuck with some issues, post here in code project. If you have genuine issues, it will be solved instantly.
arbaaz jalil 7-Mar-13 13:44pm    
"This doesn't matter too much" really? are you sure? Since i have never worked in any other company i was thinking it is a huge drawback and might hinder my learning curve.
Yes, it's absolutely better to learn C# and .NET well before ASP.NET. It's the best to do the exercises on simple console-only application. You need to read the manual from the beginning to the end, without skipping any topics. Indicate what you don't understand well, and return back. It's most important to focus on fundamental topics, not on every small and specific API.

On the .NET, it's important to focus on understanding assemblies, assembly metadata (just the idea will be enough at first), the ideas on memory management, JIT, and then the universal type system. The understanding of the language should be first based on elementary things, such as types and instances, methods and parameters and parameter passing methods, references, reference vs value types and boxing. You need to keep an eye on relations between CLR and the language. Next step should be OOP, you will need really deep understanding of it.

When you basically know all about the language and deeply understand all of the above, you can comfortably move to more advanced topics, including UI, ASP.NET and more. You will need to learn how basically HTTP and Web work. Experience is some other server-side technology could be of a great help.

This is not really the strategy yet, but just some basic principles, such as: focus of fundamentals, develop application with deep understanding of what you are doing, better less but better.

Now, just one idea on the strategy. Start learning without any certain strategy. It's just fine. When you make a first pass on the wat along the language, platform and programming basics, then you can think about strategy and devise some preliminary plan. Make a next stage of learning. Rethink the strategy if you feel you need it. Learning software development is iterative, exactly as well as the software development itself.

[EDIT]

Oh, I almost forgot. This is the most encouraging article every software developer should read:
Peter Norvig, Teach Yourself Programming in Ten Years,
http://norvig.com/21-days.html[^] ;-).

—SA
 
Share this answer
 
v3
Comments
arbaaz jalil 7-Mar-13 14:00pm    
THanks, its a good advice of course, but as i mentioned in earlier comments.... I have recently got a job as a web developer i am working on real life application but, the thing is the people who have hired me have absolutely no technical knowledge. And there is no senior. So you see my problem? I am just worried if it is possible to learn without having a senior by the side. And since i am working now and have application to develop, i am a little bit in rush for now(i am aware that nobody becomes an expert overnight).
Sergey Alexandrovich Kryukov 7-Mar-13 14:13pm    
Yes, I clearly see the problem, and not only yours. It sounds sad (I mean, not technical knowledge), and is too typical. And of course, it leads nowhere. But what can you do?

Maybe this is your chance? If you eventually get good technical knowledge (someone needs it, otherwise the project will surely fail anyway), maybe you can become the one? I know, it's very difficult and will take a lot of character. Anyway, sooner or later you will need to start and become some decent engineer. After all, hopefully this is not the last company of your life. Companies change, but our experience remains and grows, if you understand the ultimate value of it.

Anyway, I really answered your question about strategy and a bit more. Will you accept it formally (green button)? — thanks.

—SA

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900