The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Recommend a C# text, post #2

At the risk of a bitch-slap for being redundant, here is my criteria for a useful text:

- No "here is an IDE and here is why IDEs are nice" fluff. No introductory proto-CS treatment at all. IE: any treatment of basic data types will be reference/summary level and very brief.

- Assumes familiarity and experience with one compiled OOP language, plus Windows programming, UIs, basic network programming, and threading concepts. (IE: assume someone who has worked with VC++, Java or Delphi for 5 or more years.)

- Covers the .Net/CLR infrastructure from the viewpoint of what is necessary to build an application and distribute it. IE, the SDK tools you're likely to have to deal with, how internal signatures of different files work, etc.

- Scope of application types: Winforms & Windows GUI, console applications, and services. Servers, e-commerce, etc would be nice but I am looking for more workstation-ey applications and I would not miss any lack of web related topics. I would like to read about basic network programming, though. But not how to write my own HTTP server (as an example) nor how to write an ASP.NET based site.

- It would be real nice to compare/contrast internal aspects of a C# app with a comparable VC++, VB 6.0 and/or Delphi UI app, in all respects - project structure, where things like form layouts vs. event handlers live, etc.

Basically I am looking for a text that can take a seasoned developer from C++ (say) to C# efficiently. And there's a bazillion texts that claim to do this.

Bored Bystander Send private email
Monday, March 27, 2006

For Winforms stuff try Chris Sells' "Windows Forms Programming in C#"

Some of the books in the "Customers who bought this also bought" section are also fairly good. The "Pro C# 2005" books are what I'm using to learn the new .NET 2.0 stuff. Since you are a Delphi guru, you should be able to pick this up fairly quickly. I've done some Delphi programming and I had a sense of deja vu while I was learning C#. Anders created both Delphi and C# in any case.

I haven't been able to find any books that deal with the actual deployment of apps. I've had to do a lot of googling and trial-error for learning deployment techniques. I'm interested in hearing if anybody else has found any books on the subject.
slartibartfast Send private email
Monday, March 27, 2006
Many thanks, Slarti.
Bored Bystander Send private email
Monday, March 27, 2006
I recommend "Programming C#" by Jesse Liberty.  The author has also written books on C++, which shows in his approach to teaching C#.  He focuses on the language, not fancy IDE gimmicks & walkthroughs etc.  I found the text great for learning the language, and there is excellent coverage of CLR and the .NET Framework.  There are also good chapters on Winforms and ASP.NET.
Andre Oporto Send private email
Monday, March 27, 2006
Forget "how to program in C#" books. Get

Richter for how details on framework fundamentals (assemblies, threading, reflection, delegates, events, generics etc etc). The first edition is the only book I keep referring to; the second is now on my buy list.

Hold off on the Sells book until May (2nd edition) unless your only interested in v1.1 of WinForms.

MacDonald for more detail on WinForm controls

Possibly Noyes on data binding, and Petzold on WinForms.

If you want to see some large WinForm applications, get the source code for SharpDevelop and Paint.NET. The SharpDevelop app also has a pdf book on how and why they designed and programmed the application. Both counter the argument that WinForm applications are slow.
Tuesday, March 28, 2006
+1 to el.

Bored, the simple fact is that you don't get what you want in a single book. At least not with any kind of depth and completeness. The CLR and BCL are simply too vast, and then you have the C# language to boot.

Sine you're an experienced developer coming from C++ and don't want handholding you should get the in-depth standard books right away. I've listed and reviewed the ones I'm using here:

You should start with Richter, Gunnerson/Wienholt, and Petzold (plus his earlier book). Abrams/Cwalina is also a good idea once you're familiar with .NET. You probably don't need Pratschner, though.
Chris Nahr Send private email
Tuesday, March 28, 2006
Fair enough. Like I said, the C#/.Net developer's book market is huge and I am looking for peer recommendations to narrow things down. Going from several dozen/a couple of hundred to 10 picks is a move in the right direction.

Thanks again.
Bored Bystander Send private email
Tuesday, March 28, 2006
I really like O'Reilly's 'C# In A Nutshell'. About half of it is a BCL reference that is mostly the exact same thing you get with Help, but it includes some useful annotations... plus I kinda like to be able to draw circles on the paper and so on.
NetFreak Send private email
Tuesday, March 28, 2006

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz