Book recomendation?

S

Scott Metzger

Hi,

I am looking for a good book on C# and dot net.

I have 10 yrs programming experience. Mostly with C++, databases, and
GUI front ends in windows.
I don't have alot of money to buy a whole bunch of different books; nor
do I have alot of time to read a whole bunch of different books. So, I
am looking for one good tutorial book that will get me up and running
quickly. Any recommendations?

Thanks,
Scott Metzger
 
G

Gawelek

Hi,
I am looking for a good book on C# and dot net.

I have 10 yrs programming experience. Mostly with C++, databases, and
GUI front ends in windows.
I don't have alot of money to buy a whole bunch of different books; nor
do I have alot of time to read a whole bunch of different books. So, I
am looking for one good tutorial book that will get me up and running
quickly. Any recommendations?

Andrew Troelsen, The best author, according to me.

Gawel
 
S

Scott Metzger

Thanks everyone, I have Andrew Troelsen's book on order. I am sure I'll
be back to post questions once I get started.

Thanks,
Scott Metzger
 
S

Stu Banter

Before you buy anything else, just try Kazaa (Klite, Kplusplus), search
documents for Csharp and download some ebooks for a quick peek and then be
good and buy the one that meets your needs best. Searching C# won't help you
much unfortunately, it yields anything with C in it... :)

Have a ball!

Quite some stuff to be found.....
 
W

warren

If programming newbie, recommend Deitel book: C# how to program.

If already very familiar or have some knowledge with C/C# and Java,
C# is easy to pick up by reading the tutorial in MSDN alone.
Afterall, i regard C# as a combination of these 3 languages, mostly.
 
J

Jesse Liberty

There are a number of good ways to go about finding a good book on C# and
..NET. Of course, nothing substitutes for going to a large technical book
store and reading through a few candidate primers. Each of us write
differently, with a different emphasis and a different set of priorities.
You'll want to ask yourself a few questions while examining the various
candidates:

Do you like the author's writing style? Is it clear, easy to understand?
Will the author leave you with questions or does the author anticipate your
areas of confusion? Are you the target audience?

Are there enough (too few? too many?) examples? Are the examples simple and
clear? Is the complete source code provided so that you can try the program
yourself? Is there a web site with source code you can download? Every book,
no matter how carefully edited has errors. Is there an errata sheet you can
access on the web?

You want to be sure the C# book you buy is targeted at the current version
of C# (1.1)

I hope you will consider my book, Programming C# 3rd Edition (O'Reilly).
Programming C# is divided into three parts: Part I teaches the language,
Part II shows you how to build Windows and web applications as well as web
services and Part III explores the .NET framework.

It is my goal to provide a smooth transition from other programming
languages (notably C++, Java and VB) to C#. I did not set out to reproduce
the Microsoft documentation; but rather to tell the story of C# and how C#
is used to produce applications in .NET.

I provide extensive support for my books on my web site
(http://www.LibertyAssociates.com) where you will find a sample chapter,
Table of Contents and Index and where you can buy the book at a 30%
discount. You will also find that my site provides the complete source code,
a link to the errata, and a FAQ. Finally, I offer a private support
discussion center for questions that arise while reading my books.

Thanks and best of luck.

-j
 
J

Jesse Liberty

Yes, as I say in the note you quoted, I wrote Programming C# and also a
number of other books.

Thanks.

-j
 
A

Alvin Bruney

i'd like to welcome you officially tehehehe
Jesse Liberty said:
Yes, as I say in the note you quoted, I wrote Programming C# and also a
number of other books.

Thanks.

-j
 
M

mitch

I recommend using Microsoft C# .net Core Refrence or Microsoft C# step by step.

Those two books have been pretty helpful to me.
 
J

Jon Skeet [C# MVP]

Jesse Liberty said:
There are a number of good ways to go about finding a good book on C# and
.NET. Of course, nothing substitutes for going to a large technical book
store and reading through a few candidate primers.

<snip>

Personally, I think of a few bits that I know about but which are often
misrepresented, and have a look for them. For instance, the first thing
I do is check whether or not the author claims that "objects are passed
by reference". If so, that's one strike. Seeing how well they can
describe the differences between reference types and value types is
another. I then often have a look at the GUI stuff - I don't know much
about GUI stuff, but when I want to know about it in detail, I'll want
to know about the details, not just how to drag things from one place
to another in VS.NET.
 
J

Jesse Liberty

I won't argue the point with you (it becomes a matter of religion) but
depending on the audience, I often say that "objects are passed by
reference."

Yes, everything in C# is passed by value, and yes a copy of a reference to
the unnamed object in memory is passed, but that creates the semantics of
pass by reference and the effect is (nearly all the time) identical. The
distinction should be covered in a note, and then forgotten, as far as I'm
concerned.

Similarly, if I declare

Dog fido = new Dog("fido");

I will often refer to fido as a Dog, or as a Dog object or even as an
instance of a Dog, none of which is technically correct, because of course
fido is just a reference to an (unnamed) Dog object on the heap.

It is important in a primer to be correct, but it is also important to be
clear, and pointless legalistic distinctions often just get in the way.

Guess you'll hate my books <smile>.

-j
 
J

Jesse Liberty

Thanks, but I've been hanging around this group, off and on for at least 3
years. (could it be that long?)
 
A

Alvin Bruney

yes, but then folk who read that book without the benefit of this
explanation now take up the mantra that objects are passed by reference
which isn't correct. i agree a primer shouldn't go this deep but as a matter
of nothing else but familiarity, the facts should be noted to prevent the
loss of souls.
 
S

Stu Banter

What a nice opportunity to thank you for writing it! As you may have seen
elsewhere here I have bought an older version 2nd hand, and judging the way
it looks now I bet the previous owner thoroughly used it too. A big thumbs
up from me to you!

Is there a lot of change in the 3d edition worth considering ? (I use VS
2002, .NET 1.0 still)
I'm not rich enough to buy new stuff every time unfortunately =(

Again thanks for writing a great book. And forgive me for having peeked the
e-version online first...

Best!,
Stu
 
J

Jon Skeet [C# MVP]

Jesse Liberty said:
I won't argue the point with you (it becomes a matter of religion) but
depending on the audience, I often say that "objects are passed by
reference."

Yes, everything in C# is passed by value, and yes a copy of a reference to
the unnamed object in memory is passed, but that creates the semantics of
pass by reference and the effect is (nearly all the time) identical. The
distinction should be covered in a note, and then forgotten, as far as I'm
concerned.

I disagree strongly (as I'm sure you'd guessed :) - I've seen lots of
people who've been confused precisely because people are inexact in
this kind of thing. You may not confuse people who don't actually know
what pass-by-reference semantics are in the first place, but you'll
certainly confuse those who do. If you really believe this inaccuracy
doesn't do any harm, I'm sure I can easily dig up a whole stack of
posts by people on both the Java and C# groups who've been confused by
this but have then been "unconfused" by the correct view. I've never
seen anyone (AFAICR) end up being confused by the correct view

It's not just that the semantics of pass-by-reference and pass-
reference-by-value are different when the parameter's value is changed
- it's that if you've got the right idea of references to start with,
passing a reference by value is actually a far more natural thing to
talk about anyway.

The difference between a reference and an object is absolutely vital to
understanding C#, and once that difference is understood, things like
assignment, parameter passing, garbage collection, reference identity
versus object equality etc are *so* much easier to understand. The idea
of passing an object by reference gets very strange when things like
nulls get involved, and certainly when you then *do* pass the reference
by reference things get even more complicated. Why choose the
complicated and technically inaccurate way of describing parameter
passing rather than the simple and technically accurate way?
Similarly, if I declare

Dog fido = new Dog("fido");

I will often refer to fido as a Dog, or as a Dog object or even as an
instance of a Dog, none of which is technically correct, because of course
fido is just a reference to an (unnamed) Dog object on the heap.

(In fact, fido is just a variable. The *value* of fido is a reference
to a Dog object on the heap. But never mind that...)

I hope that if you were talking about the topic of assignment itself,
you'd be accurate. It's okay (IMO) to be technically slightly
inaccurate when the point you're actually making is unrelated to the
technical inaccuracy. When you're actually trying to explain parameter
passing though, being inaccurate about parameter passing is a really
bad idea.
It is important in a primer to be correct, but it is also important to be
clear, and pointless legalistic distinctions often just get in the way.

Agreed - but bearing in mind the point above, I believe on this matter
it's easy to be correct *and* clear. At least, that's my experience
over the last few years of "crusading" to get this inaccuracy cleared
up - it's one of my pet peeves. Fortunately the C# books I've read have
tended to be much more accurate about this than the early Java books,
so there's less confusion out there this time around, although it still
happens.
Guess you'll hate my books <smile>.

Maybe I'll find out one of these days :)
 
J

Jesse Liberty

Thank you for the very kind words. If you are still using 1.0 then there is
no reason for you to go to the third edition. You can learn more about the
new book, however, and find supporting materials and a link to my private
support discussion group on my web site (
http://www.LibertyAssociates.com ) - click on books.

Thanks again.
 
J

Jesse Liberty

Your points are both well written and well taken. I do make the distinction
you urge in my book, I just don't get as worked up about it as you do;
though, again, I take your point.

-j
 

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