Wrox Programmer Forums

Need to download code?

View our list of code downloads.

Go Back   Wrox Programmer Forums > C# and C > C# 1.0 > C#
Password Reminder
Register
Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read
C# Programming questions specific to the Microsoft C# language. See also the forum Beginning Visual C# to discuss that specific Wrox book and code.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the C# section of the Wrox Programmer to Programmer discussions. This is a community of tens of thousands of software programmers and website developers including Wrox book authors and readers. As a guest, you can read any forum posting. By joining today you can post your own programming questions, respond to other developersĺ questions, and eliminate the ads that are displayed to guests. Registration is fast, simple and absolutely free .
DRM-free e-books 300x50
Reply
 
Thread Tools Display Modes
  #1 (permalink)  
Old March 3rd, 2008, 01:24 PM
Registered User
 
Join Date: Mar 2006
Location: , , .
Posts: 3
Thanks: 0
Thanked 0 Times in 0 Posts
Default Best way to learn C# ?

Hi,

I regularly use MS Excel at work, and recently I have taught myself how to program in VBA, with the help of a book and various internet based forums.

This has given me an interest in programming, and I would now like to learn how to program using a full programming language such as C#. This would initially be as a hobby, although there is the possiblity of a career move down the line.

I would be interested in hearing some opinions on what is the best way to approach this. Would I be able to learn everything from a book, or would I need some formal tuition? Also, are there particular qualifications that are normally needed before obtaining a programming job. e.g. would I need to take a part time Computer Science degree?

Any help would be much appreciated.

Reply With Quote
  #2 (permalink)  
Old March 3rd, 2008, 01:39 PM
Wrox Author
Points: 13,255, Level: 49
Points: 13,255, Level: 49 Points: 13,255, Level: 49 Points: 13,255, Level: 49
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Oct 2005
Location: Ohio, USA
Posts: 4,104
Thanks: 1
Thanked 64 Times in 64 Posts
Send a message via AIM to dparsons
Default

Hello Don,
   There is no "best approach" for doing this since what may work well for one person may not work at all for another but you have said that this is how you learned VBA so it should work well for you. Unfortunately I do not think there is a book out there that will teach you "everything" but rather give you a good generalization of how to work with the framework and with C# as a whole. (After all there is no better teacher than experience ;])

As far as qualifications go, I suppose it depends on your locale. Some organizations may mandate that to apply for a Programmer job you must have a 4 Degree in CS (or equiv.) while others will forego the degree in leiu of X years experience. Personally I never finished my CS course at KSU but have been working professionally as a programmer for this past 6 years.

Let me know if you have any further specific questions.

-Doug

================================================== =========
Read this if you want to know how to get a correct reply for your question:
http://www.catb.org/~esr/faqs/smart-questions.html
================================================== =========
.: Wrox Technical Editor / Author :.
Wrox Books 24 x 7
================================================== =========
Reply With Quote
  #3 (permalink)  
Old March 3rd, 2008, 05:23 PM
samjudson's Avatar
Friend of Wrox
Points: 8,687, Level: 40
Points: 8,687, Level: 40 Points: 8,687, Level: 40 Points: 8,687, Level: 40
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Aug 2007
Location: Newcastle, , United Kingdom.
Posts: 2,133
Thanks: 1
Thanked 189 Times in 188 Posts
Default

You might consider learning VB.Net instead. There is little difference between the abilities of the two, and if you have used VBA you might find it easier to understand.

Just get one of the Visual Studio Express editions and start writing simple programs is probably a good way to go.

/- Sam Judson : Wrox Technical Editor -/
Reply With Quote
  #4 (permalink)  
Old March 3rd, 2008, 09:16 PM
Wrox Author
Points: 13,255, Level: 49
Points: 13,255, Level: 49 Points: 13,255, Level: 49 Points: 13,255, Level: 49
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Oct 2005
Location: Ohio, USA
Posts: 4,104
Thanks: 1
Thanked 64 Times in 64 Posts
Send a message via AIM to dparsons
Default

While Sam is quite right, you should probably be aware of a "pitfall" if you were to try and turn this into a career and, again, this will probably depend on your locale.

A lot of agencies (recruiters especially) liken the .NET languages in a manner similar to this:

VB.NET == VB 6.0
C# == C++

Just my two cents.

================================================== =========
Read this if you want to know how to get a correct reply for your question:
http://www.catb.org/~esr/faqs/smart-questions.html
================================================== =========
.: Wrox Technical Editor / Author :.
Wrox Books 24 x 7
================================================== =========
Reply With Quote
  #5 (permalink)  
Old March 4th, 2008, 09:30 AM
planoie's Avatar
Friend of Wrox
Points: 16,481, Level: 55
Points: 16,481, Level: 55 Points: 16,481, Level: 55 Points: 16,481, Level: 55
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Aug 2003
Location: Clifton Park, New York, USA.
Posts: 5,413
Thanks: 0
Thanked 16 Times in 16 Posts
Default

While Doug makes a good point regarding the market perception of the 2 major .NET languages you take another approach to smooth out your learning curve.

You have become familiar with VBA, so understanding the language syntax of VB.NET shouldn't be too difficult. You could start working with VB.NET so you could focus on understanding the .NET framework and not worry so much about the language. Once you are comfortably with the framework you could focus on transitioning to C#. This transition will be mostly a syntax transition. If you start with learning .NET in C# you will have to learn two new areas at once. Given that the gap between the worlds of VBA and .NET is rather large, you may benefit by making small steps.

-Peter
peterlanoie.blog
Reply With Quote
  #6 (permalink)  
Old March 4th, 2008, 11:49 AM
Authorized User
 
Join Date: Nov 2006
Location: Valparaiso, IN, USA.
Posts: 94
Thanks: 0
Thanked 1 Time in 1 Post
Default

Well the heavy weights have weighed in. Their opinions are, and should be respected for the experience they have in this area. Just to add a little spice, I'll throw in my opinion.

When you go to college and study computer programming do they start you off with Basic or C? In my experience the answer is C. Every programming language you will come across, C, C++, C#, VB, Java, Perl, Ruby, PHP to name a few, has a few things in common. They have a way to handle variables, a way to direct program flow, a way to define user functions and, these days, a way to create and use objects. Once you learn these about a language the best way to learn is to jump in and write code! Just make up any excuse to write a program.

As Doug alluded to above C is the preimmenent language for developing applications. If you want to program for a living, I would seriously consider starting with C#. It is the base language for .Net. Your VBA will continue to be valueable when writing utilities for MS Office products or VBScript in an HTML application or a server script, but C# is the way to go for application development on the Windows platform. It will also help you understand Java for multi-platform develoment.

Good Luck!

What you don't know can hurt you!
Reply With Quote
  #7 (permalink)  
Old March 8th, 2008, 01:08 AM
Friend of Wrox
Points: 1,749, Level: 16
Points: 1,749, Level: 16 Points: 1,749, Level: 16 Points: 1,749, Level: 16
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Jun 2007
Location: San Diego, CA, USA.
Posts: 477
Thanks: 10
Thanked 19 Times in 18 Posts
Default

I'm going to take issue with Peter on this point, no offense intended. :)

I think that .NET and programming against the framework is so vast a topic that you would be in serious danger of getting stuck in that learning mode and never make the transition to C#. I think C# is a very logical step to take to allow you to transition from VBA to a fully object oriented language, and you can start picking up .NET along the way.

-------------------------

Whatever you can do or dream you can, begin it. Boldness has genius, power and magic in it. Begin it now.
-Johann von Goethe

When Two Hearts Race... Both Win.
-Dove Chocolate Wrapper

Chroniclemaster1, Founder of www.EarthChronicle.com
A Growing History of our Planet, by our Planet, for our Planet.
Reply With Quote
  #8 (permalink)  
Old March 8th, 2008, 12:52 PM
Wrox Author
Points: 13,255, Level: 49
Points: 13,255, Level: 49 Points: 13,255, Level: 49 Points: 13,255, Level: 49
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Oct 2005
Location: Ohio, USA
Posts: 4,104
Thanks: 1
Thanked 64 Times in 64 Posts
Send a message via AIM to dparsons
Default

Hmm. I have to disagree with you Chronicle and, the way I read one of your comments, possibly misleading.

First: "I think C# is a very logical step to take to allow you to transition from VBA to a fully object oriented language..."

This seems to imply that VB.NET is not a full object oriented language which is incorrect since VB is, in fact, object oriented.

Further, while I agree that the framework is a vast topic, I disagree that if you start programming with X language you will never make the jump to Y language. Regardless of the language you choose to program against the framework, the jump to another language is as simple as learning new syntax; one does not need to learn how to program against the framework one way for one language and another way for another language.

So to reiterate Peter, Don will have less of learning curve if he moves into .NET using Visual Basic since he already understand the syntax and then once he is comfortable with the framework he can move into C#. From a personal standpoint that is what I did because I came from the Classic ASP world so I was very intimate with VBScript and learning VB.NET just seemed to be the logical way to go. Now obvioulsy I evaluated the Job Market in my area and noticed there wasn't a high demand for VB programmers so I learned the C# syntax and, to be honest, it wasn't that difficult.

Any way, I am not attacking your post just wanted to throw my two cents in...again. =]

-Doug

================================================== =========
Read this if you want to know how to get a correct reply for your question:
http://www.catb.org/~esr/faqs/smart-questions.html
================================================== =========
.: Wrox Technical Editor / Author :.
Wrox Books 24 x 7
================================================== =========
Reply With Quote
  #9 (permalink)  
Old March 16th, 2008, 07:08 AM
Friend of Wrox
 
Join Date: Mar 2007
Location: Hampshire, United Kingdom.
Posts: 432
Thanks: 0
Thanked 1 Time in 1 Post
Default

And now, my two bits!

I moved from VBA to C#. I did this for two reasons:

1. The demand for C# developers in my area is much higher than VB.NET. I want t a job =)
2. Before taking the plunge, I scouted out C#. I began working with some beginner tutorialsááto see how my grey matter coped with the syntax. I soon found that I liked it =) I now actually really like it, and would never go back to VB!

My advice, test the water, get working with some basic C# code and see how you get on. Don't be afraid of difficulty, thats LEARNING it can be a long hard path, but if it was easy, everyone would be geniuses right?

If you REALLY cant do it, then stick with VB.NET, but don't take a bump in the road as a brick wall..

Quote:
quote:posted by chroniclemaster1

I think that .NET and programming against the framework is so vast a topic that you would be in serious danger of getting stuck in that learning mode and never make the transition to C#.
Sorry to disagree chroniclemaster1, but I don't think this is as big a deal as made out - especially if stepping into new turf with C#. As a n00b, you pretty much have to take the book (or whatever) as gospel, learning the .NET framework will naturally happen by learning C# because you wont really be trying to "translate" VB6/A into .NET, rather, just learning C#.NET :D

I hade no problems at all with the transition at all, purely because I read the code "as it was".

Edit:
Also - Us coders in the C# camp seem to be getting more goodies in the newer versions of .NET and compilers! :D

Rob
The Developing Developer
Currently Working Towards: MCAD C#
My Blog: http://www.robzyc.spaces.live.com
<center>"Nothing can stop the man with the right mental attitude from achieving his goal;
nothing on earth can help the man with the wrong mental attitude".

Thomas Jefferson</center>
Reply With Quote
  #10 (permalink)  
Old March 27th, 2008, 09:00 PM
Registered User
 
Join Date: Mar 2008
Location: , , .
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Default

đÍÁ▄░í ─▄▓╗─▄╦Á╦Á║║Ë´ !


Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
learn hibernate javacoder4u Hibernate 1 March 21st, 2008 03:48 PM
What should I learn first gcjetfan Intro Programming 2 March 14th, 2008 10:38 AM
how to learn C# and API samrath C# 2 July 9th, 2007 04:32 AM
learn VB yshcyshc Pro Visual Basic 2005 5 March 6th, 2007 09:45 PM
what languages should i learn? NewProgrammer Intro Programming 4 June 18th, 2006 03:02 AM



All times are GMT -4. The time now is 11:33 PM.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
ę 2013 John Wiley & Sons, Inc.