×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Pro C#

samzenpus posted more than 8 years ago | from the better-development dept.

Programming 220

FrazzledDad writes "Andrew Troelsen's Pro C# 2005 and the .NET 2.0 Platform, 3rd Ed. gives a great breadth and depth of coverage to C# and the features of Microsoft's .NET 2.0 Framework. He does a fine job covering fundamentals of C# and .NET in general and then dives into terrific detail on a number of important topics." Read the rest of Jim's review.

Troelsen claims that the book is targeted at "experienced software professionals and/or graduate students of computer sciences," and that he won't spend "three chapters on iteration or decision constructs," but he spends enough time covering basics that the book will be beneficial to developers of any skill level.

First off, the book is longer than it needs to be. Part of this is the amount of text Troelsen spends covering fundamentals, despite his claims of the book's targeted audience. Experienced developers will skip right over the sections on object-oriented programming basics and C# language fundamentals. Still, this extra material didn't particularly bother me and it's very useful to newer developers, or those needing a refresher on basics.

Troelsen's example code also has more cruft than necessary, which tends to drag out examples a bit too much. The auto-based example he carries through the book is a nice practical example, but do I really care about methods turning the radio on and off while not lending any weight to the concept?

I was also surprised to find missing any discussion of COM interoperability. While COM Interop isn't a sexy, futuristic topic, I'd think there would be great value in covering it - helping some developers understand how to better deal with migrating or wrapping up legacy applications.

Lastly, despite the book's title emphasizing C#, there are 130 or so pages on ASP.NET and XML web services. Sure, these are part of the .NET Framework, but it seems a diversion from focusing on C#.

Frankly, the bad items I list above are all nits to me in what I consider a very worthwhile book. The book's loaded with plenty of good material, starting out with a solid overview on developing .NET applications outside Microsoft's Visual Studio.

Troelsen nicely covers using the freely available .NET Framework SDK to build applications. He also mentions Textpad and has a handful of pages dedicated to SharpDevelop, the open source C# development environment. He also gives a short nod to the freely (for now!) downloadable Visual C# 2005 Express before moving into an overview of the upscale versions of Visual Studio.

Troelsen nicely lays out critical concepts in his book. His work is the first place I've found clear explanations of why one should occasionally drill into .NET's Common Intermediate Language (CIL, sometimes referred to as "IL"). Other articles and books I've read haven't really gone past the level of "gee, it's neat!", but Troelsen lays out good examples of when it can be useful - such as inspecting IL and finding out how to directly call operator overloads ("+=", for example) in languages which might not support this feature.

I also found Troelsen's discussion of remoting and serialization very clear and useful. Furthermore, he does a great job with delegates and events, starting out with manually working with event handlers. This helps the reader understand the fundamental workings of handler assignments and multicasting rather than just directly jumping to event handling assignment via the += operator.

Even better than Troelsen's conceptual coverage is the level of detail he brings to all the topics he writes on. I already mentioned his coverage of event/delegate multicasting as one example. Other examples would be his extensive coverage of reflection, late binding and threading, among other topics.

He dedicates one chapter to the guts of .NET assemblies, running the gamut from why assemblies exist, through the format of assembly headers, to how shared assemblies work. There's good discussion in this chapter on the what/why/how of the Global Assembly Cache and how to deal with publishing assemblies with policy interraction.

There's plenty of other goodness in this book. Generics get great coverage, as does ADO.NET and multi-threading. There's also a chapter dedicated to GDI+ programming for you graphics geeks.

It's nice that Troelsen carries one example through much of the book, building concepts on the same framework of his automobile classes. Source for his examples is available from Apress's website, and Apress also has a searchable e-book available. The e-book's available for free for short time if you purchase the hardcopy.

Troelsen's writing style is also easy to deal with. He's got a good writing voice which makes potentially dry stuff interesting.

It may be overly long for some folks, but this book is a worthwhile investment for those looking for clear, detailed explanations of C#. The length really doesn't detract from the book's overall value, and I'm happy to have it on my bookshelf. (I even pull it off and use it.)"


You can purchase Pro C# 2005 and the .NET 2.0 Platform, Third Edition from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

220 comments

Do the editors make.... (2, Interesting)

IAAP (937607) | more than 8 years ago | (#14394587)

authors add the basics?

First off, the book is longer than it needs to be. Part of this is the amount of text Troelsen spends covering fundamentals, despite his claims of the book's targeted audience

It was Meyers, I think, who said at the beginning of one of his C++ books that it wasn't a tutorial and you need to know C++ before reading. And as a result, his books are concise and a great value.

Re:Do the editors make.... (1)

HisMother (413313) | more than 8 years ago | (#14394918)

In my experience, the answer is often "yes." Skipping the introductory material means, in the minds of some editors, shutting out some of the potential audience, so they'll very often make a case for including this material.

Sometimes it's not the editors, though, but the reviewers. Reviewers won't always "get it" if they're not actually part of the book's target audience. Again, though, this may be the editor's fault for choosing inappropriate reviewers.

Hey Now! (-1, Offtopic)

Anonymous Coward | more than 8 years ago | (#14394595)

Second or third puke...

The key to remember is... (-1, Troll)

Anonymous Coward | more than 8 years ago | (#14394598)

... that C# = Db (D-flat.) Or at least I prefer to think of the language as D-flat.

Slashvertisements continue. (0, Troll)

Spazntwich (208070) | more than 8 years ago | (#14394610)

It's not like there aren't a million other C# books available. What makes this one special or "news for nerds?"

Yeah, whatever. Mod me down.

Re:Slashvertisements continue. (1, Troll)

Rei (128717) | more than 8 years ago | (#14394748)

I know the parent was modded Troll, but I'd actually like to further their point. With only 11 comments posted in the first half hour of this article being up, most people obviously don't care about it.

Re:Slashvertisements continue. (1)

Spazntwich (208070) | more than 8 years ago | (#14394824)

Unfortunately, disagreeing with editors constitutes trolling, as does questioning anything they do.

Watch this post get modded troll too.

Re:Slashvertisements continue. (1)

IAAP (937607) | more than 8 years ago | (#14394865)

With your low six figure user id, don't you have a gagillion million quadrillion karma points built up?

And don't guys who have a double digit id automatically post at +5?

Re:Slashvertisements continue. (1)

Luscious868 (679143) | more than 8 years ago | (#14395131)

I know the parent was modded Troll, but I'd actually like to further their point. With only 11 comments posted in the first half hour of this article being up, most people obviously don't care about it.

I hope your joking. Most people who would be interested in the book probably don't read and/or comment on Slashdot articles. This is a heavily anti-Microsoft, pro-Linux tech news site afterall. If you're a .NET developer, this is probably not the highest site on your priority list.

Re:Slashvertisements continue. (0)

Anonymous Coward | more than 8 years ago | (#14395394)

Agreed. I read /. day in and day out and comment on many types of tech stories as long as they have nothing to do with *nix/mac/win platforms. Just a flamewar IMHO. D'oh! Looks like I just broke that rule.

Re:Slashvertisements continue. (4, Interesting)

brontus3927 (865730) | more than 8 years ago | (#14394861)

It's a book review, not an advertisement A review lists good and bad and gives an overall impression (well a good one does at least, and this one dpes, it lists several things that the reviewer didn't like), while an ad is a one-sided look intending to induce you to buy the product. For a new book (making it NEWs) on a technical subject (of interested for nerds). Does a new book on C# interest you? Apparently not. Does it interest me? Well, yes. The review gave me good information that this book isn't for me, because it's intended for an audiance with more experience that I have.

RE (-1, Troll)

Anonymous Coward | more than 8 years ago | (#14394615)

Does this book come with free oral copulation? I know oral copulation makes me come... Hardy har har!!! Thats a phuny man! Whooo Whooo> Trip Master Monkey, signing out. OMG, TTYL!!!!

What's The Point? (-1, Troll)

Anonymous Coward | more than 8 years ago | (#14394619)

Unless you are one of the rapidly dwindling Microsoft exclusive shops, C# is a worthless language. Mono is dead and the only people who haven't noticed are inside of Novell.

Re:What's The Point? (0, Troll)

scmason (574559) | more than 8 years ago | (#14394739)

This isn't a troll, its the truth about Microsoft only shops are a dwindling commodity and Mono was a non starter... but this doesnt make C# a 'worthless language'. What makes it a worthless language is that it has all the bad parts of C++ and Java without any of the benefits. Its kind of like a Perl module that would allow you to program in Fortran to run under the Perl interpreter in a Python shell.

I don't want to be stuck with one.. (1)

IAAP (937607) | more than 8 years ago | (#14394816)

vendor. That's what I don't understand about people who are using the .NET, C#, VB, etc... I want the ability to move my code over to Linux, Apple, or whatever platform without having to do a complete rewrite.

Re:I don't want to be stuck with one.. (1, Informative)

Foofoobar (318279) | more than 8 years ago | (#14394901)

I know what you mean. My PHP,PERL and JAVA code will work with Apache and IIS and on Linux or Mac or Windows. .NET, VB and C# are just an attempt by Microsoft to force developers onto one OS and to develop for one OS. If they were smart, they'd be promoting the HELL out of MONO and working with them to make it better.

Re:I don't want to be stuck with one.. (1, Interesting)

Anonymous Coward | more than 8 years ago | (#14394998)

It seems like the only people who have any interest in C# are:

1) People still working at software houses that haven't migrated to Linux yet

2) The 'Microsoft is always the winner' crowd

My company has completely migrated to Eclipse, Java, Ruby, mostly on Linux with a few people still working on Microsoft OSes. To even suggest using a technology that locks us into a single proprietary platform would not be just a good way to get laughed at, it would most likely put your job in jeopardy here...

Re:I don't want to be stuck with one.. (1)

creimer (824291) | more than 8 years ago | (#14395214)

You're forgetting the "It's A Required Class At School" crowd. I'm taking the class in C# programming next month. Since the instructor also teaches Visual Basic, I'm hoping the class is more than designing pretty windows forms and coding buttons.

Re:I don't want to be stuck with one.. (1)

Foofoobar (318279) | more than 8 years ago | (#14395400)

Go to a good school with a decent tech program. I live here in Seattle/Redmond and I know how hard it can be to get into a school that teaches anything but .NET. But I taught myself and as a result of all these people moving and converting to Linux to save on monthly and yearly costs, I really only compete with one or two other developers at each job interview.

Back in 95 when I was at Amazon, I couldn't find ANY schools that taught just a basic PERL class so I grabbed a book and started learning it myself.

If you think this is the future of computing, don't let the fact that school boards haven't adapted yet stop you. Hell, I ran across a girl who is taking a web development course and all they are teaching is the same thing you are talking about and they not once talked about Apache EVEN THOUGH APACHE IS 70% OF THE MARKET!!

Schools teach what local tech companies on their board tell them to teach. If they are a school in an area with alot of Microsoft based companies, you will get the school teaching only Microsoft skills... even if businesses outside that 25 mile circumference use an entirely different set of skills!!

It's up to you to educate yourself. And since all the applications and tools are free, the only thing stopping you is individual motivation.

Re:I don't want to be stuck with one.. (2, Interesting)

bit trollent (824666) | more than 8 years ago | (#14395047)

If your most important requirement for any programming language is the ability to port your programs to other OSs you are really missing the point of software development. Its all about making cool software. The OS is just a tool. Source code is your canvas, and .Net is nothing more than a set of really nice paint brushes.

seriously people, try it before you knock it. for 99% of apps out there reduced development time .net provides is more important than platform independence.

Re:I don't want to be stuck with one.. (0)

Anonymous Coward | more than 8 years ago | (#14395093)

Let me guess...

You are:

1) A teenager

2) Who runs nothing but Windows

3) Has never had a real software engineering job

4) Downloaded the .Net stuff and thinks it's 'kewl'

Re:I don't want to be stuck with one.. (1)

bit trollent (824666) | more than 8 years ago | (#14395207)

1) 22

2) Dual-Boot Windows/Mandrake Linux

3a) Held a job programming Perl on Solaris at a telecom co

3b) Currently a .Net developer making more than just about all of my friends less than a month after graduating College.

4) Most the leet "I'm too good for windows" shits that graduated with me are unemployed. _Every_ asp.net/c# programmer I know has a job.

I honestly don't care if you believe me or not. I get to drive my new car home from work reguardless of any small-minded peons' moronic opinions.

Re:I don't want to be stuck with one.. (1)

Foofoobar (318279) | more than 8 years ago | (#14395322)

Methinks the lady doth protest too much.

And do you know why all .NET people can find work so easily? Because it takes 2-4 times that many to match the skillset of one good LINUX developer.

Thus you are going to have 5 job openings in comparison to every 1 good open source job. :)

I built a LAMP architecture for a Microsoft vendor and when they got pressured to convert by MS, I told them it would take 2-3 developer to do what I did, that they would have to start paying through the nose for all the additional applications and software that is free in a LAMP architecture and that it would take them 6 months to a year before they were able to start working on anything new after converting the code base.

3 months after I left, The head of marketing and HR called me and told me that was precisely what happened and that they finally just outsourced it to an agency and that they weren't going to convert the architecture afterall because they realize after the fact just how right I was.

So good luck with that $35K a year job and your new Honda. The rest of us engineers will be changing the world rather than trying to convert it.

Re:I don't want to be stuck with one.. (0)

Anonymous Coward | more than 8 years ago | (#14395396)

Because it takes 2-4 times that many to match the skillset of one good LINUX developer.
---

Statements like these make me really wish I never would have contributed to open source. To think that ANY of my work has helped foster this type of attitude frustrates me to no end.

Re:I don't want to be stuck with one.. (1)

bit trollent (824666) | more than 8 years ago | (#14395434)

$45k and new 06 Civic (car of the year). How much did you make fresh out of College?

FYI I replaced a shitty .Net developer at my company. I'm a damn good programmer by the way. Language bigots like you don't understand the difference between a bad programmer and a bad language, and in that you make your ignorance plain for all to see.

Re:I don't want to be stuck with one.. (0)

Anonymous Coward | more than 8 years ago | (#14395536)

"I'm a damn good programmer by the way."

From your comment history, not only are you clearly not a competent software engineer, you have no clue what constitutes such a person.

You're just like these poor fucks who work at pc game devhouses who are now waking up to the fact that the pc game market is in a downward spiral and the bulk of their directx/visual studio experience is completely worthless in landing a job at a console devhouse.

Good luck in the future, you're gonna need it...

Re:I don't want to be stuck with one.. (0)

Anonymous Coward | more than 8 years ago | (#14395346)

I think you should specialize, that way when Microsoft implode nobody here will have to work with a snobby shit-eater like you! Here's some personalized text for a tee or bumper sticker, enjoy.
I eat shit because it pays the bills and dare to look down on people who refuse to do so.

Re:I don't want to be stuck with one.. (1)

Foofoobar (318279) | more than 8 years ago | (#14395270)

If your most important requirement for any programming language is the ability to port your programs to other OSs you are really missing the point of software development. Its all about making cool software. The OS is just a tool. Source code is your canvas, and .Net is nothing more than a set of really nice paint brushes.

LOL ok what community college art program pumped you out? For engineers, portability is always an issue just as scalability is as well. If the platform you are on won't scale anymore or yoiu don't have money to throw 5 machines at a problem that may only take only Linux box, you are looking at not only a scalability decision but a portability issue if you chose a language that doesn't port.

Any beginning computer engineering course will tell you this.

Re:I don't want to be stuck with one.. (1)

bit trollent (824666) | more than 8 years ago | (#14395358)

Any beginning computer engineering course will tell you this.

I prefer to think for myself.

OS Portablity is almost always completely irrelivent for me. If my code runs on 90% of the computers in the world that is enough for me. Lately I program asp.net/c# apps for a web development company. Millions of servers run IIS. My code runs on IIS. Anyone can access my apps from the internet. I call that portable enough.

Also, are you implying that .Net is not scaleable? If so I hope you are ready to justify this assertion.

Re:I don't want to be stuck with one.. (1)

Foofoobar (318279) | more than 8 years ago | (#14395608)

If my code runs on 90% of the computers in the world that is enough for me. Lately I program asp.net/c# apps for a web development company

So your code runs on approximately 50-80% of all peoples computers (considering that Firefox now accounts for anywhere from 20-50 percent market share) as only IE supports VB script and activeX controls. Thats a winning combo for the company you are working for. I know I'd love to have that number of potential customers not be able to see my site.

And no, I would not put Windows lack of ability to scale on any ONE SINGULAR aspect. It's the whole that makes it unscaleable. And .NET is only a part of that whole. But I should remind you, VISTA was supposed to be written in .NET... wonder why they abandoned it? Hmmm?

Re:I don't want to be stuck with one.. (0)

Anonymous Coward | more than 8 years ago | (#14395695)

Error 1: You imply that .NET is not compatible with Firefox. Totally wrong. No one said you have to use ActiveX or client-side scripting. I think it's almost always the case that the majority of .NET is used for server-side scripting as far as web apps go. ActiveX and IE-specific client side scripting is just an option you have available; but you never have to use it. If .NET was not compatible with Firefox then how come millions of people use sites written in .NET with Firefox? What about dell.com? godaddy.com? msn and microsoft.com?

Error 2: Who said Vista was ever supposed to be written in .NET? That's a myth. .NET was meant for agile software development, it was not meant to write core kernel development; at least not at the moment.

And by the way, it helps to talk about specifics. Saying "it's the whole thing that makes it unscalable" is completely vague and makes you sound ignorant. Hey, "Linux is completely unscalable" -- see how easy it is to make vague statements?

Re:What's The Point? (4, Interesting)

ichin4 (878990) | more than 8 years ago | (#14394827)

What makes it a worthless language is that it has all the bad parts of C++ and Java without any of the benefits.

Would you care to enlighten the rest of us which bad parts and benefits of C++ and Java you had in mind?

Re:What's The Point? (0, Troll)

kfg (145172) | more than 8 years ago | (#14394935)

My very first thought when I saw the headline "Pro C#" was:

What, you mean there are people who are?

KFG

Mod parent troll - for a different view read this: (-1, Troll)

Anonymous Coward | more than 8 years ago | (#14394937)

Parent _must_ be modded troll. In fact, it's just the other way round: C# has many of the good parts of C++ which are missing in Java (operator overloading and explicit memory management, to name the two most important), while omitting the bad ones (like header files or automatic casts). Also, it has some new goodies which are missing from Java, just think of delegates or properties.

As is widely known, as a language it is superior to both Java and C++. I believe most programmers 30 years of age prefer C# to C++. Its main drawback is, however, that it is one-platform only (Mono admittedly being a non-starter, parent was right in that).

Re:Mod parent troll - for a different view read th (0)

Anonymous Coward | more than 8 years ago | (#14395070)

"As is widely known, as a language it is superior to both Java and C++. I believe most programmers 30 years of age prefer C# to C++. Its main drawback is, however, that it is one-platform only (Mono admittedly being a non-starter, parent was right in that)."

Huh?

No language can possibly be superior to BOTH Java and C++ since they are targeted at almost completely disjunct sets of software engineering solution domains.

Re:What's The Point? (2, Interesting)

ednopantz (467288) | more than 8 years ago | (#14395079)

>Microsoft only shops are a dwindling commodity

really? Prove it.

Anecdotal evidence shows that MS shops exist and are hiring fiercely. I put a c# resume up a couple weeks ago and the phone rang in an hour and hasn't stopped ringing.

Outside of mom's basement, people use these technologies, despite what the slashbots would like to think. And from spending 48 hous with asp.net 2.0, despite some frustrations, I can tell you that this is a *very* powerful platform. The user management stuff is amazing. It makes all the user management/login work absolutely trivial. Color me impressed.

Re:What's The Point? (1)

guaigean (867316) | more than 8 years ago | (#14395473)

The GP didn't say MS only shops are dead. They said they are dwindling. There IS a swinging trend away from solitary vendors, whether you choose to admit it or not. Yes, plenty of people are still hiring MS based developers, but plenty of other shops are broadening their horizons. Before you go on a tirade about the slash-bots, expand a little bit. I've worked business, public, and academia. All of them are making significant shifts to be less dependent on MS, so don't generalize your experiences to the rest of the world; see what's out there first.

Re:What's The Point? (0)

Anonymous Coward | more than 8 years ago | (#14395127)

Its not a troll... but it espouses beautifully the typical slashdotter attitude of "I don't use it; therefore, it sucks."

The fact that a language bound is bound to an OS, that still has a 90%+ of desktops, is not an argument for it being a worthless language. Java was supposed to save the world because it was cross-platform and, as far as I can tell, the world is still in need of saving.

Re:What's The Point? (0)

Anonymous Coward | more than 8 years ago | (#14395389)

Oh do please shut the hell up. You don't have a "real" job do you? Microsoft only shops are not a non-starter, they exist in multitude, in fact finding a job doing non-Windows based programming that isn't "web programming" is definitely more difficult.

Just because you WANT the fallacy of Microsoft being "dead" to be true doesn't mean that it's anywhere close to being a reality.

Kill Two Birds With One Stone (4, Informative)

Dante Shamest (813622) | more than 8 years ago | (#14394622)

With this book. [amazon.com]

Seriously though, unless you're a newbie programmer, I just suggest reading the C# language specifications [microsoft.com], and browsing the web for tutorials on .NET.

It's funny that you should say that. (5, Interesting)

IAAP (937607) | more than 8 years ago | (#14394683)

...and browsing the web for tutorials on .NET.

I used to spend hundreds of $$$, if not thousands, every year on programming books. For the exception of some really intense CS type of things, I usually ended up Googling for examples and looking at online stuff anyway. Now that I'm smarter, I just look for stuff on the web. These days with so much competition between platforms and languages, there's always some free material on the web and it's better written half the time by people who actually use it.

I could tell you horror stories about programming authors who never programmed the language before and wrote a book on it! *coughSAMScough* They would rely on the technical editor, or in some cases, the readers to find the errors. Then it's off to the 2nd edition for another round of proof reading by the consumer.

Re:It's funny that you should say that. (2, Insightful)

Dante Shamest (813622) | more than 8 years ago | (#14394789)

Yeah, I know what you mean. The only computing books that I think are actually worth buying now ones that focus on algorithms, graphics, data structures and math. There's little point in purchasing a language programming book, since the author probably got his knowledge from the web too.

On the other hand, a book devoted to examples, like say a C# almanac where source code listings and examples are listed for separate APIs, I may consider.

Re:It's funny that you should say that. (1)

teklob (650327) | more than 8 years ago | (#14394826)

My (retired) dad is currently trying to teach himself C++, among his many other side projects. On the reccomendation of many IRC users, I bought the book Accelerated C++ by Barbara Moo. When I read this book, I found it an excellent resource - both complete and concise. My dad, however, has only started to 'get' some of the concepts of coding by reading a variety of books, including SAMS, Dummies, and a few others too. Everyone learns differently, and while I agree that learning C++ in 24 hours or 30 days is a pipe dream, those books definately fill a niche.

Re:It's funny that you should say that. (1)

EABird (554070) | more than 8 years ago | (#14394860)

Then it's off to the 2nd edition for another round of proof reading by the consumer.

Funny... It kind of sounds like some of the applications that people write. I know quite a few developers and product guys that believe in TIPs (Test In Production)

Re:It's funny that you should say that. (0, Offtopic)

borroff (267566) | more than 8 years ago | (#14394956)

Even funnier, since the book he links to is freely available on the web as a PDF [planetpdf.com].

Re:It's funny that you should say that. (1, Informative)

Anonymous Coward | more than 8 years ago | (#14395515)

Even funnier since the link goes to a book called "Thinking in Java".

Re:Kill Two Birds With One Stone (0)

Anonymous Coward | more than 8 years ago | (#14395257)

LOL this presumes you have countless hours on hand to waste sifting through the specs and often erroneous websites. I'll pass, thanks.

Samzenpus? (-1, Offtopic)

Anonymous Coward | more than 8 years ago | (#14394630)



LOL, what?

Rebuttal: Con C# (-1)

Anonymous Coward | more than 8 years ago | (#14394646)

It's from Micro$oft, LOLZ I'm so funnay.

potentially dry stuff that is interesting (1)

digitaldc (879047) | more than 8 years ago | (#14394735)

Troelsen claims that the book is targeted at "experienced software professionals and/or graduate students of computer sciences," and that he won't spend "three chapters on iteration or decision constructs"...First off, the book is longer than it needs to be."

So is it a concise tutorial or a bit excessive?

Focus (3, Insightful)

110010001000 (697113) | more than 8 years ago | (#14394747)

From the review: "Lastly, despite the book's title emphasizing C#, there are 130 or so pages on ASP.NET and XML web services"

I'm not sure how you can fault me for including coverage of ASP.NET and other .NET technologies - the title of the book points out that it covers BOTH C# and .NET 2.0. There is no special emphasis on C#.

MOD DOWN (0)

Anonymous Coward | more than 8 years ago | (#14395238)

Known troll. Not the author.

In case you are a Programming Languages Guy (3, Informative)

putko (753330) | more than 8 years ago | (#14394760)

These folks have a formal semantics of C#:

http://www.ti.ethz.ch/rs/ [ti.ethz.ch]

For those who don't see the point in having a computer language if you can't say, precisely what statements in the language mean.

Anyone else...? (1, Interesting)

Rhoon (785258) | more than 8 years ago | (#14394769)

Anyone else happen to read this book?

I've been getting job inquiries for C# programmers from all over the country and have been looking for a refresher book; and one to expand into the more advanced topics.

It's nice to see book reviews, but I have a problem with believing just 1 review. Books which I tend to enjoy or derive a lot of useful information out of, may not work well for others, so I like to see a large number of people who recommend a book.

Slightly off-topic, but any other recommendations out there if this isn't all the reviewer claims it to be?

Re:Anyone else...? (1)

BrackishWater (856373) | more than 8 years ago | (#14394852)

Slightly off-topic, but any other recommendations out there if this isn't all the reviewer claims it to be? Use Java :-)

C# (5, Insightful)

the computer guy nex (916959) | more than 8 years ago | (#14394818)

"What makes it a worthless language is that it has all the bad parts of C++ and Java without any of the benefits"

Most people experienced with the languages believe the opposite - it has all the benefits of Java with none of the problems (lack multiple inheritance, effective marshalling, etc).

Re:C# (0, Flamebait)

killjoe (766577) | more than 8 years ago | (#14394875)

Err c# does not have multiple inheritance either.

Pyton does though and so does ruby (kinda!). I honestly don't know why anybody would prefer to use java or c# unless they were forced to by their boss. Overly verbose bondage languages suck. Programming with C# or java is like beating yourself with a whip while trying to dance the tango.

Re:C# (2, Funny)

Xugumad (39311) | more than 8 years ago | (#14395229)

> beating yourself with a whip while trying to dance the tango.
Well, y'know, I have to get my kicks somehow...

Re:C# (1)

Decaff (42676) | more than 8 years ago | (#14394967)

Most people experienced with the languages believe the opposite - it has all the benefits of Java with none of the problems (lack multiple inheritance, effective marshalling, etc).

All the benefits? Like high-performance implementations from multiple vendors? Like quality cross-platform support?

Re:C# (1)

abradsn (542213) | more than 8 years ago | (#14395216)

C# is licensed by by Borland also.

Re:C# (1)

ichin4 (878990) | more than 8 years ago | (#14395248)

And of course there's mono [mono-project.com], too.

Re:C# (1)

Decaff (42676) | more than 8 years ago | (#14395329)

And of course there's mono, too.

I realise this is not specific to the C# language, but if C# is to be truly competitive with Java it has to have a full set of libraries cross-platform. Mono is not a complete implementation of the .NET framework, and is never likely to be.

Re:C# (2, Informative)

ichin4 (878990) | more than 8 years ago | (#14395611)

If you require that that the mono library and the .NET library are exactly one-to-one equivilent, then you're right: that will never happen. Of course, that isn't even the case for different C and C++ STL libraries, so I don't think that's a reasonable requirement.

The mono library implements the vast majority of .NET library APIs. In addition, in contains many useful GTK, LDAP, DB, and other bindings of its own that are missing from the .NET library. It is, on its own, an extensive and fully functional programming library that just happens to nearly be a compatible superset of the .NET library.

Re:C# (0)

Decaff (42676) | more than 8 years ago | (#14395350)

C# is licensed by by Borland also.

Interesting, but until they produce a C# for Linux, I'm not that interested.

Pro? (2, Insightful)

Phillup (317168) | more than 8 years ago | (#14394828)

How can a language that runs on such a limited number of Operating Systems be considered "Pro"?

Just wondering...

Re:Pro? (1)

the computer guy nex (916959) | more than 8 years ago | (#14394885)

"How can a language that runs on such a limited number of Operating Systems be considered "Pro"?"

.NET is designed to work on any and all operating systems. They simply need a unique CLR.

Re:Pro? (2, Interesting)

alext (29323) | more than 8 years ago | (#14395212)

.NET is designed to work on any and all operating systems. They simply need a unique CLR. and the Win32 API

Re:Pro? (1)

holloway (46404) | more than 8 years ago | (#14395551)

"They simply need a unique CLR,
"and the Win32 API"

This is untrue.

Sure Microsoft provide libraries that are thin wrappers around Win32 (eg, WinForms) but you could equally say it depends on GTK because Mono make libraries that use that. It all depends on the particular libraries you use and what their dependancies are.

Infact Mono provide an entire stack of free (as in Gnu) and platform independent libraries for developing .Net.

If a programmer thinks Microsoft is .Net they'll probably end up with Win32 dependancies, but it's a managable issue, and certainly not a necessary part of .Net.

Re:Pro? (1)

hkb (777908) | more than 8 years ago | (#14395558)

Uh no.

Microsoft's System.Windows.Forms implementation currently sits on top of Win32. SWF is a small, small part of the .NET platform. I rarely even use it.

Mono is in the process of implementing their own System.Windows.Forms, which sits on top of whatever it is it sits on top of (Gtk? MacMono sits on top of Cocoa as I recall).

Re:Pro? (1)

Overly Critical Guy (663429) | more than 8 years ago | (#14395523)

NET is designed to work on any and all operating systems.

No, it's not; MSIL is. .NET is the framework, and a lot of it is Windows-dependent. Microsoft hasn't released WinForms for Linux or OS X, have they?

C#/.NET is Microsoft's little trick to lure Java developers.

Re:Pro? (2, Interesting)

Arandir (19206) | more than 8 years ago | (#14394934)

As my vice president told me, when I asked him about providing C# training for the project, "As professional software developers, it is your responsibility to know the industry standard."

Re:Pro? (1)

ciggieposeur (715798) | more than 8 years ago | (#14395154)

Which industry is that?

Re:Pro? (1)

Arandir (19206) | more than 8 years ago | (#14395256)

He meant the software industry as a whole. He is a smart guy, and an former NASA software developer. But he has been brainwashed by Microsoft, and is not questioning the order to use C# for our realtime embedded system.

Re:Pro? (1)

NullProg (70833) | more than 8 years ago | (#14395676)

He meant the software industry as a whole. He is a smart guy, and an former NASA software developer. But he has been brainwashed by Microsoft, and is not questioning the order to use C# for our realtime embedded system.

Grab some benchmark sources from here in http://shootout.alioth.debian.org/ [debian.org]. Run the C#/Mono code under the .Net runtime (Microsoft won't allow published benchmarks). Compare the test results against Java/C++ etc.

Show your boss the tests and he may change his mind, our PHB did.

Enjoy.

Re:Pro? (0)

Anonymous Coward | more than 8 years ago | (#14395598)

He sounds very unprofessional. Any VP of engineering worth his salt would provide training.

Re:Pro? (1)

drpimp (900837) | more than 8 years ago | (#14395012)

Languages are arbitrary, one can create compilers for any language to run on any platform(s), its a matter of taking the symantics of the language, and using a lexer and parser to generate intermediate code, which then can be translated to assembly code for the target platform (of course there is more to an actual compiler). So just saying that a language is not PRO because of limitations to the OS, which actually is not true for C#, is ignorant. Maybe you are just knocking M$ and trying to troll, but take a look at the Mono Platforms [mono-project.com] if you want to know more.

Re:Pro? (0)

Anonymous Coward | more than 8 years ago | (#14395078)

Limited muner of operating systems?

C# runs on .Net (Windows), Mono (Linux, MacOsX, Solaris, OpenBSD, FreeBSD, NetBSD)and DotGNU (GNU/Linux on PCs, Sparc, iPAQ, Sharp Zaurus, PlayStation 2, Xbox,..., *BSD, Cygwin/Mingw32, Mac OS X, Solaris, AIX. ).

I don't like C# either, but the framework is great and there are a lot of cool languages running on it (Boo, Nemerle, Ironpython, etc..).

Re:Pro? (0)

Anonymous Coward | more than 8 years ago | (#14395119)

Uhm, The language runs on any platform GCC does since GCC Compiles C# Its the .Net platform that isnt portable, Personally i dont like .net (for the reason its not portable and mono sucks) .net? .not for me!

Re:Pro? (0)

Anonymous Coward | more than 8 years ago | (#14395321)

> .net? .not for me!

Buddy: the question is not whether .Net is for you or not,
but if the market will want you if you don't know C#.
Now if you're not a Pro and you enjoy programming in Brainfuck (it's a language, really...) it's up to you!

Re:Pro? (1)

oldwarrior (463580) | more than 8 years ago | (#14395284)

Because the limited number covers about 94% of the installed base of computers on the planet. That won't last but dat's da fact, jack.

A proper review (3, Insightful)

XMilkProject (935232) | more than 8 years ago | (#14394853)

I happy to say, that IMO, this is the first proper/quality book review we've had for quite some time on /.

The author clearly listed what is, and is not, contained in the book, and also provided his opinion on how useful these various chapters were to him.

Hopefully future book-related-articles will try to provide atleast this level of information, as opposed to common "The book had alot of good stuff, but then some stuff was missing.".

More on-topic, I would say that in my experience I've never found these sorts of books particularly helpful, as anyone with software experience should have no trouble finding the information they need in the MSDN library, or on various other websites. Also, I imagine it would be difficult to find a developer who does not already have experience with a syntactically similar language.

I can imagine though, that this sort of reading might bring up questions (and answers) to questions that many developers had not yet thought to ask (primarily regarding CIL, GAC, etc), which could of course be helpful.

cu8 (-1, Offtopic)

Anonymous Coward | more than 8 years ago | (#14394884)

thing for the the 4roject facesv, Leaving core. I hand...don't website. Mr. de Dim. Due to the they learn from our who are intersted that *BSD 0wned.

it's true. (-1, Offtopic)

Rorschach (31550) | more than 8 years ago | (#14394894)

emily is hot.

Re:it's true. (0)

Anonymous Coward | more than 8 years ago | (#14395023)

As it seems, you posted in the wrong forum. Don't ever surf /. and pr0n simultaneously...

.NET performance (0, Offtopic)

Anonymous Coward | more than 8 years ago | (#14395230)

Sorry for posting anonymously -- don't want to catch too much trouble...

This isn't a comment on the book, so much as it is a comment on .NET performance. I have benchmarked some FP intensive C++ code and compared MSC V7.x and 8.x using both native and .NET code generation, and found an over 2.8x slowdown with the same code running under the CLR vs native.

Re:.NET performance (2, Interesting)

ameline (771895) | more than 8 years ago | (#14395361)

Mr A.C.

I have seen similar results with a 3D Perlin noise generator -- I was comparing Intel vs MS, vs hand coded SSE assembler. For pure entertainment I tried a -clr build and it was quite alot slower. Another interesting point was that the newer compilers (both Intel and MS) generated code that was close to or better than the SSE assembler implementation.

(For those wondering what Perlin noise is and what it's good for, check out http://freespace.virgin.net/hugo.elias/models/m_pe rlin.htm [virgin.net] )

C# is pro like VB is pro (0)

Anonymous Coward | more than 8 years ago | (#14395249)

Calling anything "PRO" usually means it aspires to escape substandard status, perfectly suited to Microsoft's patented language. C# and VB are both acceptable for business apps, or if you want to emulate an 8 year old PC on current hardware.

Save more than TWENTY ($20) bucks! (0)

Anonymous Coward | more than 8 years ago | (#14395280)

OMG B&N is selling this book for LIST price. Save yourself $22.20 by buying the book here: Pro C# [amazon.com]. And if you use the "secret" A9.com discount [amazon.com], you can save an extra 1.57%!

bottom line (0)

BadassJesus (939844) | more than 8 years ago | (#14395363)

At the end of the day you realize that u NEED to force all the people to install annoying ".NET Framework" to run your app. How "pro" is that look? Not to mention trouble that brings the infamous "Mscoree.dll".

I don't get it... (0)

Anonymous Coward | more than 8 years ago | (#14395529)

Why do so many people have problems installing the .NET 2.0 framework? BFD. Install it once. Done. Never have to worry about it again. Why all the hate?

yawn (1)

rabbot (740825) | more than 8 years ago | (#14395368)

/em goes back to coding in c. Come get me when someone comes out with more than a "Fischer Price my first programming language".

Re:yawn (2, Informative)

milimetric (840694) | more than 8 years ago | (#14395617)

/me wakes /em up. I like C and everything. But I think that a lot of people's debates over languages and what's good for what stem out of missing context. What are you talking about? GENERAL programming? How are you going to do SQL querries in C? How are you going to get any simpler and more concise libraries than Haskell? How are you going to work with matrices as fast as MATLAB? And lastly, how are you going to beat a modern programming language like C# (or Java 1.5, or mono) for productivity?

When you can code a huge system in C as fast as I can do it in C# or Java, let me know. By huge I mean over 1 million lines of code. And no, I'm not using Visual Studio, it breaks all over the place for anything over 100,000 lines.

Re:yawn (1)

rabbot (740825) | more than 8 years ago | (#14395701)

I never said I ONLY used c. I just wouldn't choose a c/c++ clone over c or c++. It really doesn't bother me that you can code a huge system in C# or Java faster than I can in c. The finished product is what matters. Use the right tool for the job. I'll take rock solid code over "productivity" any day.

ASP.NET & O' Reilly. (0)

Anonymous Coward | more than 8 years ago | (#14395386)

"Lastly, despite the book's title emphasizing C#, there are 130 or so pages on ASP.NET and XML web services. Sure, these are part of the .NET Framework, but it seems a diversion from focusing on C#. "

Programming ASP.NET 3rd Edition [amazon.com] is a good book for those working with ASP.NET

Best Programming Reading (1)

c0d3r (156687) | more than 8 years ago | (#14395404)

I survive by only reading the main book, not the book written about the main book.. This means only written by the manufacturer (such as Microsoft or Cisco), RFC's and W3C etc, and O'reily. The rest are all blurbage, storys and marketing. Additionally, check to see whats on the curriculum of the best Universities where often the professors wrote the book used there and at most major Universities. Perhaps the best is to just read the code (not the comments) of what you're trying to understand.

-c0d3r-
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...