new to programming, C# a good choice?

A

Alex L Pavluck

I am new to programming other than SAS. I read that C# is a good
starting language and I have started to create some simple programs
with C# 2005 express edition. Can someone let me know if this is
indeed a good learning language and also suggest a good learning text.

Thanks, Alex
 
P

Peter Rilling

Well, each person learns programming differently so it is hard to know if C#
is a good starting point for you. Having said that, C# is a clean and easy
to use language. There is not much to the language itself. It does have
all the main constructs that a language should have such as conditions and
loops.

C# by itself cannot do much. It relies on the .NET framework which can get
confusing as there are a lot of classes and a lot of ways of doing
something.
 
G

Guest

Alex,
Asking people in a C# language newsgroup if they think C# is a good language
is a bit like asking a bunch of ducks in a pond if they like water, no?

C# is a great language to start out with. But, then - what would you expect
us to say?
Cheers,
Peter
 
M

Marina

There is a difference between thinking a language is a good one, and
thinking that language is good as a learning language.

I would imagine that someone just starting out programming would find C# and
the .NET framework overwhelming. Many experienced programmers find it
overwhelming.

My first programming language was Pascal, and that was great for learning
basic programming constructs, since it was all much more in its own little
world.
 
K

Kevin Spencer

I don't know, Marina. There's something to be said for learning the more
difficult and low-level languages, in terms of what one learns about the
underlying technology. I started out with C, and I'm glad I did. It has
benefitted me in many ways ever since. Of course it was difficult to learn.
But the "magic" languages tend to allow the ignorant to remain ignorant. I
would recommend C#. Nowhere near as hard as C, but not magic either.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
You can lead a fish to a bicycle,
but it takes a very long time,
and the bicycle has to *want* to change.
 
C

clintonG

Here's what I learned and then passed on to my own students when I was
teaching...

Learn the language from a textbook. Deitel and Deitel [1,2]. I chose "C# A
Programmer's Introduction" but I don't know if it is in print any longer.
Then use the ASP.NET QuickStarts [3] to start getting familiar with the .NET
Framework. There are many other fine books about using the framework but
first start by learning the C# language.

Object Oriented Programming (OOP) is not a piece of cake. Be good to
yourself for making a wise decision to learn C# but be prepared for a long
learning curve. A year or more of study and application is not unusual so
remember not to be hard on yourself. Web development also requires a mastery
of JavaScript which is used to program page events which occur after the
page is sent to the browser from the server. It is C# (or another compliant
language) that is used on the server. JavaScript is derived from the C
syntax and grammar. So is C#. So is Java.

Learn three for the price of one.

<%= Clinton Gallagher
METROmilwaukee (sm) "A Regional Information Service"
NET csgallagher AT metromilwaukee.com
URL http://metromilwaukee.com/
URL http://clintongallagher.metromilwaukee.com/

[1] http://deitel.com/
[2] http://www.prenhall.com/deitel/
[3] http://beta.asp.net/QuickStartv20/aspnet/default.aspx
 
P

Primera

I would definitely recommend C#, and I have enjoyed Visual C# 2005 Step by
Step - by John Sharp
 
D

Doug H

If you are liking C#, and/or you are wanting to become a professional
programmer, by all means stick with it. But VB.NET is definitely
easier for beginners to pick up. It is designed in part with beginners
in mind.
Eventually you might find it useful to learn a variety of languages,
such as PHP or ruby as well as C# and VB.NET. Really, a good way to
learn is to find similar apps out there that interest you and study how
they are coded. See codeproject.com, csharp-source.net,
sourceforge.net, and other sites.

See also sharpdevelop2, a free IDE for C#, VB.NET, and boo. VS express
is free only for one year.
http://www.icsharpcode.net/OpenSource/SD/
 
J

Jon Skeet [C# MVP]

Doug H said:
If you are liking C#, and/or you are wanting to become a professional
programmer, by all means stick with it. But VB.NET is definitely
easier for beginners to pick up. It is designed in part with beginners
in mind.

On the other hand, it has more baggage and inconsistencies to learn...
 
D

Doug H

Jon said:
On the other hand, it has more baggage and inconsistencies to learn...

fear, uncertainty, doubt, it's called FUD.
Your response, which may or may not have some merit, had nothing to do
with my point that VB.NET is easier to learn than C#, and most
importantly, wasn't helpful at all. Hence the FUD label.
 
J

Jon Skeet [C# MVP]

Doug H said:
fear, uncertainty, doubt, it's called FUD.
Your response, which may or may not have some merit, had nothing to do
with my point that VB.NET is easier to learn than C#, and most
importantly, wasn't helpful at all. Hence the FUD label.

It absolutely *does* have to do with your point. The baggage and
inconsistencies make it harder to learn - harder, IMO, than C#.

In order to read C#, you don't need to learn all the legacy VB
functions as well as the .NET framework, for instance.

You don't need to learn the peculiarities of String behaviour with
regards to Nothing.

You don't get caught unawares by being able to refer to a static member
through an instance variable.

All of these contribute to the difficulty level of learning VB.NET.
 
C

csharpnb

Alex L Pavluck said:
I am new to programming other than SAS. I read that C# is a good
starting language and I have started to create some simple programs
with C# 2005 express edition. Can someone let me know if this is
indeed a good learning language and also suggest a good learning text.

Thanks, Alex

Hi Alex,

You have certainly felt an interest which pushed you to start reading about
C#. Then you have read it's a good starting language, and you have even
started learning it and writing simple programs. I'd suggest you quit
looking for people's consent whether it's a good choice or not since you
have already made your choice.
My advise: dive in and go as deep as you can, on your own pace of course,
and don't look back. I believe you will not regret it.

Depending on what you wish to achieve using C#, your learning curve and,
thus, learning materials will differ. However, I'd suggest you learn the
basics which are, in my opinion, the C# 2.0 language with it's new
constructs, the .NET Framework class libraries and, last but not least, the
Object Oriented way of doing things.

If you were to buy only one book, here's a good one, maybe not for absolute
beginners (assuming you are a little familiar to programming), but somehow
comprehensive of the basics mentioned above and, in my opinion, very easy to
follow:
"Pro C# 2005 and the .NET 2.0 Platform, 3rd Edition" by "Andrew Troelsen"
http://www.amazon.com/gp/product/1590594193

I'd also suggest visiting websites such as:
http://www.csharphelp.com/
http://www.c-sharpcorner.com/
http://www.codeproject.com/
http://www.codeguru.com/csharp/

Good luck,

Hope this helps.
 
A

Alex L Pavluck

Thanks everyone for the feedback. I agree that I have more or less
made up my mind when I posted and my main reason for not going with VB
was the long legacy issues touched on above. To me it doesn't make
sense to start on what will be a long journey without talking to others
who are already on it/have already travelled that road.

Thanks again. Oh, and if you know anyone looking for a C# programmer
in about 6 months...send them my way.

Alex
 
S

Steven Nagy

I guess it really depends if he understands basic programming concepts
or not, and in particular, "Object Oriented" and "Event-driven"
concepts.
I don't know much about SAS, but if he knows all about how variables
and objects work, understands conditional and iterative behaviour, then
I agree with Jon; skip VB.NET and jump into C#.
If those things are going to be a part of the learning curve, then
VB.NET would be a better place to start.

Anyway, whichever one he learns, he can always switch with little
difficulty later on.

For texts, stay away from introductory texts from Deitel and Zak unless
you like to be spoon fed and do the same thing 3000 times.
Deitel does a good VB.NET reference book though, gives some exposure
over web and windows apps, web services, and ADO.NET.

Personally, Alex, I think you should start with the language "Gopher".
Its much easier to learn than C# and the development environment is
unrivalled (I think its called 'VI' from memory...)

Good luck!
 
K

kevin cline

That depends a lot on what you want to do. If you want to learn to
write windows applications, then C# is ok, but it's relatively
inexpressive. If you really want to learn the beauty of programming,
look at Python or Ruby or Scheme or LISP.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top