RE: C# book for 16 yo?

From: Pam Ammond (pam_at_empoweringyou.com)
Date: 10/22/04


Date: Thu, 21 Oct 2004 19:29:05 -0700

Jon,

First I would suggest first learning Visual Studio.NET. It will make
learning C# easier if you understand VS.NET. Microsoft has a book called
"Effective Visual Studio .NET". which is excellent for a beginner.

Then I suggest 2 books to actually learn C# - Microsoft has a book called
"OOP with Microsoft Visual Basic.NET and Microsoft Visual C#.NET Step By
Step" to begin to understand Object Oriented concepts, which is very
important to quality programming. And Murach has a book called "Murach's C#"
which is awesome and I think it is the easiest / best way to learn C#.

Also, if he is a visual person and does not really enjoy books, then visit
http://www.learnvisualstudio.com which has videos. (please tell them I sent
you so they add extra time to my membership) But I would suggest using this
after doing the books unless he doesn't do books well. This will show you
specific things, but a book takes you through from start to finish.

Once he knows some C# then he'll have fun with these:

Websites-
like The Terrarium game at
http://www.windowsforms.net/Applications/application.aspx?PageID=30&tabindex=8

http://www.gotdotnet.com/default.aspx
http://msdn.microsoft.com/vcsharp/
http://www.c-sharpcorner.com/
http://www.developersdex.com/csharp/

and many more can be found at:
http://directory.google.com/Top/Computers/Programming/Languages/C-sharp/

Or learn more from the webcasts at
http://www.microsoft.com/seminar/events/developer.mspx

He may want to search for the words "Best Practices" once he understands C#
so he can learn the best way to program.

C# is a GREAT language. Enjoy!

But if he has a tough time with C# then move him back to VB.NET. In my
opinion, (sadly) Microsoft seems to be trying to segregate their languages
and not give them all equal features. VB.NET is aimed at previous VB
programmers and has some features that I think are aimed at beginners. Plus
it is not case sensitive and does not require a ";" after statements.

However, in my opinion and hotly debated by others, C# is the better
language that combines all the best features of previous languages and is
fully object oriented. So I think he made the best choice in deciding to
learn C#. Also when he's older, my guess would be that he can make more
money programming in C# than in VB.NET.

But it really doesn't matter that much which language he chooses - they all
compile down to almost exactly the same thing, and once you know one language
it is relatively easy to learn the other ones since much of .NET programming
is really knowing the .NET Framework. The .NET Framework is the same for all
languages and what makes .NET so easy to program in. Essentially, each use
of the .NET Framework eliminates writing many lines of code - instead you use
the equivalent of one easy to code function call. This should be the last
step in learning any .NET language - try to learn as much of the .NET
Framework as you can.

Also, one caveat... I went into .NET thinking that once I learned C# that I
would "know" .NET programming. Wrong. Once he knows C# and a small amount
of the Framework, then he will want to decide what he wants to do with it.
At that point he can learn about other technologies that are tightly
integrated and required learning for specific projects. He may choose to
learn ASP.NET, Windows Forms, Web Services, XML, XSLT, ADO.NET, SQL, COM
integration, Office integration, Mobile device integration, etc. That's the
beauty (and steep learning curve) of .NET, it ties into so many other
technologies. But once you learn them... you really can do anything!

After you decide on what additional technologies you need to know, go to
http://support.microsoft.com and search for the technology plus the word
"Roadmap" for a suggested roadmap to learning. For example,
http://support.microsoft.com/default.aspx?scid=kb;en-us;308626 is "Roadmap
for debugging in the .NET Framework and Visual Studio .NET".

I just saw a study someplace on line that shows that people are coding
projects in many languages (C#, VB, Java, Cobol, etc). But the number 1 that
they wish they could be programming in is .NET, by a huge margin. Take
heart... it's a steep learning curve, but .NET ***IS*** the future, in my
opinion.

Pam Ammond

"Jon Shemitz" wrote:

> My 16 yo son is ready to move beyond level editing and "Multimedia
> Fusion." He's going to ignore his Mom's suggestion of Visual Basic,
> and take my suggestion of starting with C#. Now, I actually have
> an Intro To C# section in my ongoing .NET 2.0 book, but I assumed
> that my audience does not want e.g. yet another discussion of
> inheritance and polymorphism - it's all "same but different" and "this
> is new." In short, not suitable for a programming novice.
>
> Were I even the slightest bit Stakovian, I'd seize this opportunity to
> write a programming primer for my son. But, at the rate I work, I'd
> deliver the chapters much too slowly to be much use to my student. I
> wonder if anyone could recommend a book that explains the fundamentals
> of variables, statements, methods, objects, &c, using C#?
>
> Failing that, I guess I can generate a couple pages of notes for each
> tutoring session and go without a proper text, but a good book would
> probably be easier for both of us.
>
> --
>
> <http://www.midnightbeach.com/dotnet>
>



Relevant Pages

  • Re: Lisp Ruby Scheme
    ... :> pure functional programming in Haskell and learning it in Scheme ... prototypical language to incorporate it, so if I wanted to really grok ... I would find me a compiler for Eiffel and start feeding it ...
    (comp.lang.scheme)
  • Re: Opinions on intro lisp books
    ... But Lisp is a little different, ... Some languages support one style of programming better than they ... Even if that weren't the case, I'm not sure that a language being a ... I don't believe that learning to program in CL requires more theory ...
    (comp.lang.lisp)
  • Re: Visual Basic to be discontinued in 2008??
    ... single name change to a series of four name changes in the C language. ... I just have to laugh when people say that Microsoft has done Visual Basic ... by some C programmers as the end of the programming world. ... Tim Patrick - www.timaki.com ...
    (microsoft.public.dotnet.languages.vb)
  • Re: Newbie (Followup)
    ... level language (as I believe I will end up learning more). ... know a little bit including the basics of pointers, ... Alas I am forced to learn a "language" that deviates from even the most basic principles of programming (from what I have seen so far/ ...
    (comp.lang.c)
  • Re: Visual Basic to be discontinued in 2008??
    ... single name change to a series of four name changes in the C language. ... I just have to laugh when people say that Microsoft has done Visual Basic ... by some C programmers as the end of the programming world. ... Tim Patrick - www.timaki.com ...
    (microsoft.public.dotnet.languages.vb)