Slashdot Mirror


Pro C#

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. Pro C# 2005 and the .NET 2.0 Platform, Third Edition author Andrew Troelsen pages 1032 publisher Apress rating 8/10 reviewer Jim Holmes ISBN 1590594193 summary Great coverage and detail on many C# topics, but long

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.

220 comments

  1. Do the editors make.... by IAAP · · Score: 2, Interesting
    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.

    1. Re:Do the editors make.... by HisMother · · Score: 1

      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.

      --
      Cantankerous old coot since 1957.
  2. Slashvertisements continue. by Spazntwich · · Score: 0, Troll

    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.

    1. Re:Slashvertisements continue. by Rei · · Score: 1, Troll

      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.

      --
      "WANTED: Sinking ship seeks rats."
    2. Re:Slashvertisements continue. by Spazntwich · · Score: 1

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

      Watch this post get modded troll too.

    3. Re:Slashvertisements continue. by brontus3927 · · Score: 4, Interesting

      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.

    4. Re:Slashvertisements continue. by IAAP · · Score: 1
      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?

    5. Re:Slashvertisements continue. by demo · · Score: 1

      Probably should have, but I don't post much :)

      --
      ---
    6. Re:Slashvertisements continue. by Luscious868 · · Score: 1
      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.

    7. Re:Slashvertisements continue. by Anonymous Coward · · Score: 0

      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.

  3. Kill Two Birds With One Stone by Dante+Shamest · · Score: 4, Informative

    With this book.

    Seriously though, unless you're a newbie programmer, I just suggest reading the C# language specifications, and browsing the web for tutorials on .NET.
    1. Re:Kill Two Birds With One Stone by Anonymous Coward · · Score: 0

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

    2. Re:Kill Two Birds With One Stone by Monkier · · Score: 1

      I was pretty impressed with Courseware for .NET and C#. C# Tutorial looks like it'd be good for a developer to come up to speed on the language, and Application Development with C# and .NET covers the major APIs of the framework (plus more).

      Then again, sometimes it's easier having a book you can read in bed, on the train, etc, etc..

  4. It's funny that you should say that. by IAAP · · Score: 5, Interesting
    ...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.

    1. Re:It's funny that you should say that. by Dante+Shamest · · Score: 2, Insightful
      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.

    2. Re:It's funny that you should say that. by teklob · · Score: 1

      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.

    3. Re:It's funny that you should say that. by EABird · · Score: 1

      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)

    4. Re:It's funny that you should say that. by borroff · · Score: 0, Offtopic

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

    5. Re:It's funny that you should say that. by Anonymous Coward · · Score: 1, Informative

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

    6. Re:It's funny that you should say that. by PostPhil · · Score: 1

      I mostly agree. But sometimes documentation on the web leaves out a few steps and fails to show why you should prefer method x over method y when doing task z, even though you've seen it in at least a dozen code-snippet examples on the web. For a broad, coherent view, often a book is better (web tutorials usually aren't long enough or don't go into enough depth), though for specific tasks a forum is better. Besides, often I'll go to Kinko's and print out the PDF version of an API just because I like to have something on paper in front of me. I hate reading a 200 page PDF. That alone probably makes computer books worthwhile for me. Your mileage may vary.

    7. Re:It's funny that you should say that. by Anonymous Coward · · Score: 0

      You should hand him some sharpened blades and tell him to teach himself knife juggling.

    8. Re:It's funny that you should say that. by Steele+Johnson · · Score: 1

      I like buying books because I like to read in bed while lying down. Try doing that with a laptop. ;) It's much easier for me to learn a language or technology by reading books than shuffling around all over the web. I find the web very inconsistent and time consuming when trying to learn something that has some depth. If any of you have ever tried to find guitar chords or tablature for specific songs, you know what I mean. Coming from a guy who has played guitar for 20 years, I guarantee that 98% of the guitar chords for popular songs on the Internet are completely wrong. It's just a big waste of time trying to find the one or two sites that might get some of the songs right. I feel the same way about technology. I look for the books that people swear by and go with it. On the other hand, I usually don't need many. One popular book with some examples and references is all I need, then it's just practice.

    9. Re:It's funny that you should say that. by micrometer2003 · · Score: 1

      The King has no Clothes! Something terrible happened to programming. I can never re-use anything because it always becomes obsolete first.

    10. Re:It's funny that you should say that. by q3ctf4 · · Score: 1

      I worked for a well known dot com and one of the managers was a writer for tech books, he actually has a lot of textbooks written. Well, to make a long story short - I was simply amazed at how someone "non technical" could get away at writing technical books. I don't want to mention any names but he's written for the big 24hrs and 21days types of books. I worked as a web programmer at the time and couldn't believe the questions he would ask me about computers. He did a lot of cut and paste and asked a lot of questions before writing his books. I was simply amazed at how he got away with it.

    11. Re:It's funny that you should say that. by cerberusss · · Score: 1

      I already am an experienced knife juggler, but I'm thinking about knife throwing. Any ACs care to help me?

      --
      8 of 13 people found this answer helpful. Did you?
  5. potentially dry stuff that is interesting by digitaldc · · Score: 1

    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?

    --
    He who knows best knows how little he knows. - Thomas Jefferson
  6. Re:What's The Point? by scmason · · Score: 0, Troll

    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 am a patient boy. I wait I wait I wait. My time is water down the drain..." Fugazi
  7. Focus by 110010001000 · · Score: 1, Insightful

    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#.

    1. Re:Focus by Anonymous Coward · · Score: 0

      The problem is that every c# book and class has to have 1/3 of the content be an intro to the .NET framework. ENOUGH!

  8. In case you are a Programming Languages Guy by putko · · Score: 3, Informative

    These folks have a formal semantics of C#:

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

    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.

    --
    http://www.thebricktestament.com/the_law/when_to_s tone_your_children/dt21_18a.html
  9. Anyone else...? by Rhoon · · Score: 1, Interesting

    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?

    --
    "If all the world's a stage, I want to operate the trap door." - Paul Beatty
    1. Re:Anyone else...? by BrackishWater · · Score: 0

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

    2. Re:Anyone else...? by Anonymous Coward · · Score: 0

      I have several years of programming experience with many languages. I'm reading this book now as well as several other C# and .NET 2.0 related books. It is by far the most easy to read of any of the books I've started. As the reviewer states, it is long but it is also very thorough. I have never written C# code or used .NET and after about 2/3rds of the way through I find myself offering help to programmers who have been writing C# for the past 2 years. I would recommend it to anyone getting started in C# or .NET who is looking for a complete introduction to the language and platform.

    3. Re:Anyone else...? by Bill+Dog · · Score: 1

      Unless you're morally opposed to Amazon or something, you could always go there and check out the reviews -- there's 100 of them currently.

      I haven't read this book, but did read that author's COM/ATL book, and he was a fantastic teacher. I learned more from him than in several other books on the subject that I had read, or the two Uni extension classes I took on it. It was a fat book, tho.

      --
      Attention zealots and haters: 00100 00100
    4. Re:Anyone else...? by Bilzmoude · · Score: 1

      I am reading it right now... 3/4 through it... I think it is really great. There is a LOT of knowledge packed into this book. I like thick, dense books. Especially when it is easy to read, like this one. I have recommended it to about 4 other people since picking it up.

    5. Re:Anyone else...? by Anonymous Coward · · Score: 0

      While reading the reviews there, I looked at the dates and noticed that most of them were posted prior to the publication date. Some were several years before the book was published. Makes me think that not all of the comments apply to this book.

  10. I don't want to be stuck with one.. by IAAP · · Score: 1

    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.

    1. Re:I don't want to be stuck with one.. by Foofoobar · · Score: 1, Informative

      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.

      --
      This is my sig. There are many like it but this one is mine.
    2. Re:I don't want to be stuck with one.. by Anonymous Coward · · Score: 1, Interesting

      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...

    3. Re:I don't want to be stuck with one.. by bit+trollent · · Score: 2, Interesting

      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.

    4. Re:I don't want to be stuck with one.. by Anonymous Coward · · Score: 0

      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'

    5. Re:I don't want to be stuck with one.. by bit+trollent · · Score: 1

      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.

    6. Re:I don't want to be stuck with one.. by __aaclcg7560 · · Score: 1

      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.

    7. Re:I don't want to be stuck with one.. by Foofoobar · · Score: 1

      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.

      --
      This is my sig. There are many like it but this one is mine.
    8. Re:I don't want to be stuck with one.. by Foofoobar · · Score: 1

      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.

      --
      This is my sig. There are many like it but this one is mine.
    9. Re:I don't want to be stuck with one.. by Anonymous Coward · · Score: 0
      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.
    10. Re:I don't want to be stuck with one.. by bit+trollent · · Score: 1

      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.

    11. Re:I don't want to be stuck with one.. by Anonymous Coward · · Score: 0

      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.

    12. Re:I don't want to be stuck with one.. by Foofoobar · · Score: 1

      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.

      --
      This is my sig. There are many like it but this one is mine.
    13. Re:I don't want to be stuck with one.. by bit+trollent · · Score: 1

      $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.

    14. Re:I don't want to be stuck with one.. by Anonymous Coward · · Score: 0

      "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...

    15. Re:I don't want to be stuck with one.. by Foofoobar · · Score: 1

      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?

      --
      This is my sig. There are many like it but this one is mine.
    16. Re:I don't want to be stuck with one.. by Anonymous Coward · · Score: 0

      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?

    17. Re:I don't want to be stuck with one.. by theySaid · · Score: 1

      I can't believe this thread has made me break my 10 year lurking to actually create an account so I can post! First up, I use C#, I use SharpDevelop deploying accross Samba and WebDav to my Linux Server running Mono. That's when I'm on my Windows XP laptop in front of the TV, of course now, I'm on my Dual G5 and oh look I can still develop because it's a FRAMEWORK! I can't believe how ridiculous the slashdot crowd gets over C# First, the dotNet runtimes are downloadable by anyone. Mono can run them (I do). Second, what the HELL is the problem with the dotNet framework? have you ever imported stdio.h? oh look you're importing stuff! Yes, I CAN develop in C++ and yes I do compile on Linux but I'm nearly 30. I've learned more languages than 50% of the people here have had hot... um... compiles? languages get chosen on commercial basis. How can you say C# is rubbish and Java is great, they're from the same person and Java isn't the riproaring success once you step out of your SunShop. When you grow up, you'll learn to use the tool that does the job as best it can in the shortest time in a commercial environment. Then you can spend the rest of the time doing fun OS stuff.

    18. Re:I don't want to be stuck with one.. by bit+trollent · · Score: 0, Flamebait

      HAHAHA

      Thank you. I nothing I could say could have exposed your ignorance more than you just did.

      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.

      I test my code in IE, Firefox, and Opera. I'm not done till it works the same in all 3. Yes, asp.net runs fine in all 3 with no tinkering (that I have had to do). Some of the shitty Perl/Python apps i have used in the past are another matter entirely.

      Whats with you confusing asp.net with vb-script and active-x? It depends on neither.

      <meta name="vs_defaultClientScript" content="JavaScript">

      You don't even have any idea what you are talking about and you have the gall to talk down to me? Who the fuck are you??

    19. Re:I don't want to be stuck with one.. by theySaid · · Score: 1

      Gah, last one fucked up the formatting...

      I can't believe this thread has made me break my 10 year lurking to actually create an account so I can post!

      First up, I use C#, I use SharpDevelop deploying accross Samba and WebDav to my Linux Server running Mono. That's when I'm on my Windows XP laptop in front of the TV, of course now, I'm on my Dual G5 and oh look I can still develop because it's a FRAMEWORK!

      I can't believe how ridiculous the slashdot crowd gets over C#

      First, the dotNet runtimes are downloadable by anyone. Mono can run them (I do).
      Second, what the HELL is the problem with the dotNet framework? have you ever imported stdio.h? oh look you're importing stuff!

      Yes, I CAN develop in C++ and yes I do compile on Linux but I'm nearly 30. I've learned more languages than 50% of the people here have had hot... um... compiles? languages get chosen on commercial basis.

      How can you say C# is rubbish and Java is great, they're from the same person and Java isn't the riproaring success once you step out of your SunShop.

      When you grow up, you'll learn to use the tool that does the job as best it can in the shortest time in a commercial environment. Then you can spend the rest of the time doing fun OS stuff.

    20. Re:I don't want to be stuck with one.. by Foofoobar · · Score: 0

      You imply that .NET is not compatible with Firefox. Totally wrong.

      Actually, it is your assumption that I was talking about .NET as an entirety that is false.

      ASP.NET is a combination of VBscript and C#. VBscript does not work with anything besides IE (unless it is server side thus making VBscript pointless). Also, in order to do alot of stuff in ASP.NET, it often trys to get you to use those two. It has gotten so bad that now Microsoft has stated that the next version of IE will dump VBscript and ActiveX support. .NET can work if it is server side... it';s just that when they try to do stuff client side, they deviate from standards and as such, break in anything but IE. It is their lack of sticking to standards and supporting standards that cause ASP.NET to break. ,i.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

      Ok junior, how about the fact that it forces a million other apops to boot that I won't use when I start up my server. How about that it forces the GUI down your throat and even when you are working in a command line, that GUI environment still has reserved resources. How about the fact that IIS has on average an uptime of about 1/10th that of Apache machines. How about the fact that .NET programs require twice the amount of lines of code as their competitors (with the exception of maybe JAVA). How about the memory leaks, the multiple thread failures, etc etc. The security flaws, the resource hogging, the lack of ability to modify the machine for the task at hand (ie config files).

      The list goes on and on and if you were a real engineer, you would be aware of half these these so that statements that seem ignorant would not show off your ignorance instead.

      --
      This is my sig. There are many like it but this one is mine.
    21. Re:I don't want to be stuck with one.. by teromajusa · · Score: 1

      Lol, too bad for you, you missed the dot com bubble. I don't know how that stacks up to starting salaries now, but it peanuts to what we were paying kids at the startup I worked at in 99 ;)

    22. Re:I don't want to be stuck with one.. by Foofoobar · · Score: 1

      By the way, anonymous cowards have no street cred. Take your .NET and go back to the community college you came from. :)

      --
      This is my sig. There are many like it but this one is mine.
    23. Re:I don't want to be stuck with one.. by Jugalator · · Score: 1

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

      The Mono project is actually gaining some momentum and it's been progressing quite nicely.

      Novell would hardly have supported it this much if there was no interest in cross-platform .NET languages.

      --
      Beware: In C++, your friends can see your privates!
    24. Re:I don't want to be stuck with one.. by Bill+Dog · · Score: 1

      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,...

      That's a lot of "ifs" and "mays" -- you're dangerously close to the legal limit of 3 weasel words per sentence. Or a successful career in advertising. Okay, so if I'm ever in a situation where we completely fucked up the requirements and got the scale completely wrong, plus we're absolutely broke and cannot afford a few cheap commodity Wintel boxes, and we do some experimenting and find out that deliverance from our pickle entails nothing more than moving to Linux, then I'll admit you told me so.

      For engineers, portability is always an issue...

      I've never worked for engineers. I'm hired by businesses, and they're run by business people. So they decide what are the issues. And, unsurprisingly, they don't seem to be caught up in kooky religious wars over mundane things like computer operating systems, or chasing after engineering theoretical purity. Practically everyone has a Windows box lying around, so portability in practice is effectively a non-issue.

      --
      Attention zealots and haters: 00100 00100
    25. Re:I don't want to be stuck with one.. by xiphoris · · Score: 2, Informative

      Er, how was the parent marked insightful? Mark parent down!

      C# runs on the .NET platform which was openly standardized. The standards have been adopted by the ISO, the same body that determines the metric units and also manages the C++ language. Furthermore, a number of open source groups have begun implementing .NET for other platforms than Windows.

      And last but not least, all of the patents that Microsoft has covering the .NET platform have been released for public use.

      With open-source leaders such as Miguel de Icaza (founder of GNOME, Mono) involved in producing .NET implementations for OSes other than Windows, it's hard for me to believe you just said what you did if you're anything but completely ignorant. .NET will exist on as many platforms and OSes as people choose to implement it on. And it currently exists on many.

    26. Re:I don't want to be stuck with one.. by Anonymous Coward · · Score: 0

      Is that why Novell has recently laid off some of the Mono staff? Is that why there are plans to continue lay offs amongst Mono staff? Give it a rest. Mono is dead in the water and like the parent poster said, everyone in the Linux community outside of Novel already knows it. I used to work at Novel and the company was very split on the decision to support Mono in the first place. Since they're seeing very little return from Mono and are in difficult financial times, I wouldn't count on them continuing any level of significant support for Mono. The simple fact of the matter is that the vast majority of C# programmers are developing for a Microsoft OS and don't care if their product works in Linux using Mono.

      That's also not taking into account the extremely large subset of Linux users that won't touch anything even remotely related to Mono. For example, Beagle is pretty much a dead project because of it's reliance on Mono. The project offers something that many Linux users want dearly and yet since it requires Mono it's installed practically nowhere. Mono was and always will be a huge waste of time for the open source community and most open source developers said that when the project started... Keep playing catch up with Microsoft though, maybe some day Mono will be able to support the same number of features Microsoft was able to support five years ago.

    27. Re:I don't want to be stuck with one.. by ad0le · · Score: 1

      Actually, the .NET framework was created and developed by one Anders Heljsberg. This is the same guy behind Delphi over at Borland (formerly Inprise). Americans used to get slammed all the time for using Delphi opposed to VB or VC++ although all us Delphi guys knew we could bring projects to market in a fraction of the time.

      That being said, I do agree completely. I have been using Mono and .NET to cross compile on Mac OS X, Linux, AIX and Windows for about 6 months now. Not only do I get a nice set of tools to work with, but with Gtk#, PostgreSQL and the Connector/.NET components I get full cross platform GUI / Database operability without even thinking about it. IT JUST WORKS!

      C# is very nice. If people want spend hours with C++ doing the most mundane of tasks, then god bless them. I don't want to work along side them anyways. OS worship is about as ignorant as it gets.

      --
      My mother never saw the irony in calling me a son-of-a-bitch.
    28. Re:I don't want to be stuck with one.. by Anonymous Coward · · Score: 0

      It's funny that when Miguel tried to get Mono pushed into Gnome they laughed at him and several key developers said that they would leave the project if Mono was included by default. Miguel might be the founder of Gnome but he's not very well liked or respected anymore. It's also been stated by a large number of developers and key supporters of Gnome that if Gnome decides to include Mono or use it for key libraries that they will no longer continue supporting the project. I am one of those developers. I love Gnome but the day it decides to use Mono is the day I finally switch to Enlightenment and I know a ton of other developers who hold the exact same position.

    29. Re:I don't want to be stuck with one.. by DeafByBeheading · · Score: 1
      How about the fact that .NET programs require twice the amount of lines of code as their competitors (with the exception of maybe JAVA).

      Than what competitors besides Java? C? C++? I don't buy that. Python? Perl? They're not meant for the same sort of thing. Besides, the LOC count is inflated by the language's brace conventions (new lines everywhere). I started a C# project last fall, and I have to say I'm pretty impressed with the language. It's like a neater Java.

      --
      Telltale Games: Bone, Sam and Max
    30. Re:I don't want to be stuck with one.. by Foofoobar · · Score: 1

      Right, ECMA that will standardize anything thrown at them. That's a REAL win. And MONO, the project that Microsoft trys to ignore, does not let them participate or even show at any .NET conference and will eventually make useless byu changing their codebase.

      Sounds like they are working REAL hard to work with the community.

      You sir are completely ignorant for ignoring the fact that the MONO project openly admits that code built for LINUX will more than likely will not run on Windows. You also forget that MONO implements things that .NET's C# does not (and vice versa). So in other words, its based on the standard but different, may not be cross platform and Microsoft refuses to have anything to do with it and is openly hostile towards its development thus suggesting that they do not plan to work with the community should they change the specs.

      Sounds like a language I want to start basing a business off of RIGHT AWAY!!!

      --
      This is my sig. There are many like it but this one is mine.
    31. Re:I don't want to be stuck with one.. by nxtw · · Score: 1
      ASP.NET is a combination of VBscript and C#.

      There is no VBScript in ASP.NET, at all. VBScript was the most used language for classic ASP, but C# and VB.NET (which is very different from VBScript) are the primary ASP.NET languages. There is VB.NET, but that's server side only...

      Also, in order to do alot of stuff in ASP.NET, it often trys to get you to use those two.
      ...
      .NET can work if it is server side... it';s just that when they try to do stuff client side, they deviate from standards and as such, break in anything but IE. It is their lack of sticking to standards and supporting standards that cause ASP.NET to break.

      ASP.NET's client side generated JavaScript code, as of 2.0, is compatible with Opera, Firefox, and most browsers. This means that the easy-to-use controls & anything else that generates JavaScript/client side script spits out JavaScript that works with all browsers. There is no ActiveX (beyond XMLHTTP, which in IE is MSXML accessed via ActiveX), and no VBScript.

      (Previous versions of ASP.NET would simply not provide client-side JavaScript code for non-IE browsers. The code it provided used the IE-only document.all collection instead of document.getElementById. However, ASP.NET 2.0 no longer has these issues.)

      The rest of your post is so ridiculous that I won't bother responding to it.

    32. Re:I don't want to be stuck with one.. by Anonymous Coward · · Score: 0

      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.

      Not as strange as it looks. I wanted to be a C programmer on some form of unix system, but don't have the required job experience. So, at the moment I'm doing .NET programming, and finally (after five and a half years of .NET) getting promoted to level 2 support.

      Becoming a C programmer requires real skills, while anyone can become a .NET programmer, even those of us who don't have the skills to become a f**king janitor.

    33. Re:I don't want to be stuck with one.. by cortana · · Score: 1

      How can they make Mono useless by 'changing their code base'?

      If they alter anything in the standardised bits of .NET, then they will break their own applications running on their own .NET implementation.

      You are correct that ECMA is a bit pants, but you didn't have anything to say againt the ISO standardisation process that was mentioned (although I was not aware that Microsoft were attempting to get .NET standardised by the ISO).

    34. Re:I don't want to be stuck with one.. by Foofoobar · · Score: 1

      MONO and .NET are two different implementations of the standard. MONO has openly admitted that some functionallity in Microsofts versions won't work with theirs and vice versa. It's great that it's a standard but let's face facts, it's a standard that owned by Microsoft to be RUN on Microsoft's OS and integrate with Microsoft apps.

      They can easily change THEIR codebase, not make the new version a standard (hence deviating from the standard as they often do) and then build a converter so that it will convert all MONO apps to the new Windows version.

      Always remember... embrace, extend, destroy. It is the Microsoft way. Embrace open standards, build onto that standard with a proprietary version and destroy open implementations with incompatibility with the newest versions.

      --
      This is my sig. There are many like it but this one is mine.
  11. C# by the+computer+guy+nex · · Score: 5, Insightful

    "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).

    1. Re:C# by killjoe · · Score: 0, Flamebait

      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.

      --
      evil is as evil does
    2. Re:C# by Decaff · · Score: 1

      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?

    3. Re:C# by abradsn · · Score: 1

      C# is licensed by by Borland also.

    4. Re:C# by Xugumad · · Score: 2, Funny

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

    5. Re:C# by ichin4 · · Score: 1

      And of course there's mono, too.

    6. Re:C# by Decaff · · Score: 1

      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.

    7. Re:C# by Decaff · · Score: 0

      C# is licensed by by Borland also.

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

    8. Re:C# by ichin4 · · Score: 2, Informative

      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.

    9. Re:C# by Decaff · · Score: 1

      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.

      I think it is. If you develop with Java, you are guaranteed that a J2SE 1.4 implementation will provide exactly one-to-one equivalent libraries on all platforms. That is one of the reasons for Java's success.

    10. Re:C# by theySaid · · Score: 1

      Is Java successful?

    11. Re:C# by cthrall · · Score: 1

      Python is great. IronPython gets you close to writing .NET Windows apps in Python, but it's not quite there yet. For that, C# is awesome.

    12. Re:C# by Decaff · · Score: 1

      Is Java successful?

      I don't know. It is the most popular language for developers on sourceforge, the most in-demand language for IT jobs, the de-facto standard language for mobile devices, the de-facto standard language for commercial server-side development. The most rapidly growing language for embedded and real-time development.

      I guess it is.

    13. Re:C# by Thuktun · · Score: 1

      Overly verbose bondage languages suck.

      Yes, but we're not talking about Ada or COBOL.

    14. Re:C# by Anonymous Coward · · Score: 0

      Some comments make my head want to explode.

      Anyone who considers a terse language beneficial--I'd fire him in a second, or never hire him.

      I suppose I should take that back. Some hackers and script writers might really benefit from simple terse language because they write their code once and never revisit it.

      This is not programming. It's what I did in the 70's when I got my first computer--hacking.

      Programming is designing a large project and spending more time on the design than the code. It's spending more time re-writing your code than writing it in the first place. It's ensuring that every last wisp of cut & past has been completely factored out. It's spending more time writing unit tests than the code itself.

      Now, I suppose it's okay for you to not understand what real software engineering is if you are a hacker in some hacker job with write-only code, but in that case, would you please consider concealing your ignorance by not criticizing languages that don't fit your particular need?

      It hurts my head to see such crap--kinda like when they are interviewing adults on the street who can't locate the USA on a map.

    15. Re:C# by Ravatar · · Score: 1

      It has a well designed 'Interface' type that gives you nearly the exact same functionality without any of the side-effects. All classes can inherit one class, and inherit multiple interfaces.

    16. Re:C# by ichin4 · · Score: 1

      That is one of the reasons for Java's success.

      That's probably true. On the other hand, that's mostly a marketing feature rather than a true technical feature. I mean, one could certainly draw a circle arround the APIs that are shared between the .NET library and the mono library and say "this is the standard multi-platform library". It's just not particularly in Microsoft's interest to highlight those APIs.

    17. Re:C# by Anonymous Coward · · Score: 0

      Yep, just like Java. (Read the grandparent post again)

    18. Re:C# by petermgreen · · Score: 1

      i think java and its ilk are becoming the new vb. easy for a relatively poor programmer to handle (unlike C which requires low level knowlage and C++ which is extremely complex and has many features that are widely abused). but doesn't perform as well as traditonal languages especially on the desktop and carries a large deployment overhead (vbs isn't large by modern standards but certainly was when floppies were in more widespread use).

      therefore java is very common in situations where the user has no choice such as internal applications and fairly common in open source (at least by project count) but doesn't seem very common in retail software.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    19. Re:C# by Anonymous Coward · · Score: 0

      Disclosure: I Am Not Employed As A Java Programmer.

      i think java and its ilk are becoming the new vb.

      What? Heresy! Java is antiethical to a lot of stuff that made VB bad--specifically, the horrible laxity towards programming that made maintenance (and good OO principles) a pain. You won't find a funky "variable" data type, for instance.

      When it comes to thinks like array bound checking, sure, it makes it easier for mediocre programmers to succeed, but it also makes it much easier for good programmers to avoid bugs.

      Heck, often you can even compile the entire java program to bytecode using gcj or a similar tool, or use JNI to write only speed-critical segments in C++.

      but doesn't perform as well as traditonal languages especially on the desktop and carries a large deployment overhead

      Java stacks up quite well to C/C++ when you're not giving it an artifical benchmark, since the newer JVMs will (when code segments are executed enough) compile them direct to bytecode. This means with proper "warmup", a desktop java application can work on par with a c++ implementation.

      As for the deployment overhead--it's really just having the JVM installed. For windows, it's a snap, and I had no problems doing it on slackware. The deployment overhead is a small price to pay for the portability and reliability gains.

    20. Re:C# by petermgreen · · Score: 1

      What? Heresy! Java is antiethical to a lot of stuff that made VB bad--specifically, the horrible laxity towards programming that made maintenance (and good OO principles) a pain. You won't find a funky "variable" data type, for instance.
      javas attitude of almost everything is an object and the rest can be made into one with an immutable wrapper makes javas type object close enough to vbs type variant. Having said that though in general the java language is much cleaner than vb because its a new language without the long history of remaining mostly code compatible that vb had.

      When it comes to thinks like array bound checking, sure, it makes it easier for mediocre programmers to succeed, but it also makes it much easier for good programmers to avoid bugs.
      indeed bounds checking and garbage collection eliminate entire classes of problems. if you could do what java does and not make programs that were either slow, bloated (which i define as making the rest of the system feel slower) or both then i'd be happy but they don't seem to have managed it yet.

      also unfortunately javas GC is only usable at all for managing memory as finalizers are not gauranteed to be called until memory is re-used (which may be a long time) and therefore not suitable for use as a means of freeing the non-memory rescources and object represents.

      Heck, often you can even compile the entire java program to bytecode using gcj or a similar tool, or use JNI to write only speed-critical segments in C++.
      i can't say i've ever tried gjc myself but i get the impression that performance wise its worse than the sun jvm not better. As for your jni comment you can similarly write fast code in your language of choice and use it from VB in fact you can probablly do it more easilly from vb than from java (vb can load dlls directly java always needs a play nice with java layer in the native code).

      Java stacks up quite well to C/C++ when you're not giving it an artifical benchmark, since the newer JVMs will (when code segments are executed enough) compile them direct to bytecode. This means with proper "warmup", a desktop java application can work on par with a c++ implementation.
      1: i don't wan't warmup i wan't apps that start immediately
      2: event the smallest java apps can claim tens of megabytes of memory due to the design of the gc system. you don't really wan't to be running more than a few of them at once and you don't wan't to have any of them running whilst running games etc.
      3: the java gui libraries are pretty horrible making the production of good fast gui apps much harder. to take a simple example in a native windows app you can just use a metafile for a scaleable background image. in a java app i'd be forced to either resort to a bitmap (much slower to scale especially if the original is high res to avoid visible scaling artifacts), use a third party library (means finding a suitable one and more delployment headaches) or do the drawing from code.

      As for the deployment overhead--it's really just having the JVM installed. For windows, it's a snap, and I had no problems doing it on slackware. The deployment overhead is a small price to pay for the portability and reliability gains.
      lets see, for online distribution you had better hope your user has either broadband or a lot of patiance. For cd the size is not going to be a problem but there is the issue of suns redistribution conditions (which i don't claim to be an expert on the details of but jvms are normally installed systemwide yet the redistribution conditions iirc say for your app only).

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    21. Re:C# by Decaff · · Score: 1

      i think java and its ilk are becoming the new vb. easy for a relatively poor programmer to handle (unlike C which requires low level knowlage and C++ which is extremely complex and has many features that are widely abused). but doesn't perform as well as traditonal languages especially on the desktop and carries a large deployment overhead (vbs isn't large by modern standards but certainly was when floppies were in more widespread use).

      You are wrong. Java is used because it allows developers to get the job done without a lot of the fuss that is required with C++. Large companies use it because it can be high-performance (E-bay use it as the main software for their websites and trading).

    22. Re:C# by Decaff · · Score: 1

      indeed bounds checking and garbage collection eliminate entire classes of problems. if you could do what java does and not make programs that were either slow, bloated (which i define as making the rest of the system feel slower) or both then i'd be happy but they don't seem to have managed it yet.

      Sorry, but they have. The garbage collection does not impact performance in recent versions and the bounds checking is mostly optimised out at run time, and involves no extra memory.

      1: i don't wan't warmup i wan't apps that start immediately

      They do start immediately. It is the optimiser that takes a few seconds to kick in.

      2: event the smallest java apps can claim tens of megabytes of memory due to the design of the gc system.

      Not true. You can run simple non-GUI apps in just a few megabytes - try it! Most of that is the interpreter/VM.

      you don't really wan't to be running more than a few of them at once and you don't wan't to have any of them running whilst running games etc.

      Even if they do take a few tens of megabytes, typical machines now have hundreds, so why do you say this?

      3: the java gui libraries are pretty horrible making the production of good fast gui apps much harder.

      The Swing GUI is now very easy to develop with (see NetBeans 5), and is OpenGL/DirectX accelerated.

      in a java app i'd be forced to either resort to a bitmap (much slower to scale especially if the original is high res to avoid visible scaling artifacts), use a third party library (means finding a suitable one and more delployment headaches) or do the drawing from code.

      What do you think a Windows metafile is but drawing from code?

    23. Re:C# by Anonymous Coward · · Score: 0

      It has a well designed 'Interface' type that gives you nearly the exact same functionality without any of the side-effects. All classes can inherit one class, and inherit multiple interfaces.

      Also known as cut'n'paste inheritance. Inherit the name of the function, cut'n'paste the implementation.

      If you count cut'n'paste, even notepad has multiple inheritance.

    24. Re:C# by Anonymous Coward · · Score: 0

      This is an incredibly idiotic comment. Obviously, you don't have a clue why VB was looked upon so poorly nor do you have a clue about Java.

    25. Re:C# by petermgreen · · Score: 1

      They do start immediately. It is the optimiser that takes a few seconds to kick in.
      starting even the smallest java gui app from cold (no jvm already in cache etc) takes noticable time. starting a similar app written in a traditional language is instant.

      Not true. You can run simple non-GUI apps in just a few megabytes - try it! Most of that is the interpreter/VM.
      iirc java now works by allocating up to a limit set at vm start time and doesn't start collecting garbage until that limit it reached. so unless you use special settings on the vm command line java apps will end up using a lot of memory.

      Even if they do take a few tens of megabytes, typical machines now have hundreds, so why do you say this?
      because if you are using say 5 small java apps at once thats probablly half your memory gone already not counting any other stuff that needs memory.

      What do you think a Windows metafile is but drawing from code?
      its drawing from a file i can produce easilly by copying to the clipboard from any tool i like and then using something like irfanview to save the wmf on the clipboard to a file.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    26. Re:C# by Decaff · · Score: 1

      starting even the smallest java gui app from cold (no jvm already in cache etc) takes noticable time. starting a similar app written in a traditional language is instant.

      No. I have just tried it. A simple non-GUI java app can start up in a few hundred milliseconds.

      As for 'traditional language is instant' - how long does it take Emacs to start?

      iirc java now works by allocating up to a limit set at vm start time and doesn't start collecting garbage until that limit it reached. so unless you use special settings on the vm command line java apps will end up using a lot of memory.

      No. You can set the memory to whatever you like. You don't have to use lots of memory.

      because if you are using say 5 small java apps at once thats probablly half your memory gone already not counting any other stuff that needs memory.

      Let's do some math. Say you allocate 32MB for even a moderate java program. 5 x 32 = 160MB. Typically PCs ship with 512MB. Doesn't look like half the memory to me!

      Lets actually a program. I open up Jedit (a full-featured programmers editor). Runs fine in 32MB. (java -Xmx32mb -jar jedit.jar). Starts up in 3 seconds. I have just opened up 10 copies. My 512MB laptop does not seem any slower. The GUI on each copy of JEdit seems fine and responsive.

      Actually, I have just started up JEdit with only 10MB of memory - still runs fine!

      Rather than posting what you think modern Java is like, why don't you try what I have just done and see for yourself? I am using the latest Java 1.5.0 from Sun.

      its drawing from a file i can produce easilly by copying to the clipboard from any tool i like and then using something like irfanview to save the wmf on the clipboard to a file

      So what? It is still code.

    27. Re:C# by DimGeo · · Score: 1

      Disclaimer: I'm mainly a Java geek. So here it goes: As far as I understood the GP post, it says that C# lacks multiple inheritance better than Java lacks it. As in: when you implement more than one interface that has the same method in it (same as in return type (that is in C# only), name, and argument types), you get to implement two different methods, not just one as in Java. See the C# language specs. Nice, I think, and can get you out of trouble sometimes. But then again I haven't used C# nearly enough to be able to tell.

    28. Re:C# by Decaff · · Score: 1

      That's probably true. On the other hand, that's mostly a marketing feature rather than a true technical feature.

      Not really - it is something you can definitely rely on. If something is labelled 'J2SE 1.5' or 'J2EE 1.4' you know exactly what you are going to get. The importance of this can't be overstated.

      I mean, one could certainly draw a circle arround the APIs that are shared between the .NET library and the mono library and say "this is the standard multi-platform library". It's just not particularly in Microsoft's interest to highlight those APIs.

      But this matters - I'm sure someone could do this, but no-one has, and unless Microsoft do this, how can anyone be sure what APIs really are cross-platform (and certified and tested as such), and what will remain so? When you are starting a project that may take years to develop and which you may expect to remain active for a decade or more, having multi-vendor backing for certified APIs can be a real benefit. .NET (and C#) don't provide this, no matter what their technical benefits (and in some ways they are superior to Java).

    29. Re:C# by petermgreen · · Score: 1

      Let's do some math. Say you allocate 32MB for even a moderate java program. 5 x 32 = 160MB. Typically PCs ship with 512MB. Doesn't look like half the memory to me!
      ok so a third then which is still a significant chunk.

      i just tried jedit from cold (no jvm run since last reboot) and it took 20 seconds which to me is a noticable delay i'd have to reboot to do another fair test (otherwise cache would effect the results). this machine is a laptop running windows xp with an athlon xp 1800+ cpu so not the fastest thing in the world but far from the slowest either.

      warm start (after having been run recently) was 5 seconds which is acceptable but not brilliant for a small app.

      So what? It is still code.

      well it being code depends on your definintion of code but its NOT code that i would ever touch manually its just exported from the tool used to draw the diagram and loaded directly by the winapi.

      this lack of a standard vector graphics format also means that afaict there is no way to copy/paste vector graphics from the system clipboard without using custom native code.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    30. Re:C# by Decaff · · Score: 1

      warm start (after having been run recently) was 5 seconds which is acceptable but not brilliant for a small app.

      JEdit is not a small app. I have just opened up Kate (an equivalent programmer's editor for KDE). It took 10 seconds (first time of opening), and then 3 seconds after that - equivalent to JEdit. I am working with a KDE desktop, so Kate should have far less to do that JEdit.

      It seems to me that people are having different sets of standards for Java applications. Because it is 'Java' then delays that they would not notice or care about in other applications are simply labelled 'unacceptable'. For example, I have just tried to open a Gnome image viewer on the same PC. It took 4 seconds - longer than JEdit.

      As far as I can see, the evidence is clear and available to anyone with a PC who is willing to try it - Java applications don't take longer to start than other apps, but there is some perception that they do. How this perception is overcome, I don't know.

      this lack of a standard vector graphics format also means that afaict there is no way to copy/paste vector graphics from the system clipboard without using custom native code.

      This is a reasonable comment, but nothing to do with the size or speed of Java programs. If you want to use a standard graphics format, there is nothing to stop you from doing so. There are plenty of postscript handling libraries for Java:

      http://schmidt.devlib.org/java/libraries-postscrip t.html

      There are even tools for handling Windows metafiles:

      http://piet.jonas.com/

      If you want to get this from the clipboard:

      Toolkit.getDefaultToolkit().getSystemClipboard()

      will provide you will access.

    31. Re:C# by petermgreen · · Score: 1

      i was under the impression that getsystemclipboard only worked for formats the jvm supported natively. is there a way to get the raw wmf data from the windows clipboard through it?

      when i put a metafile on the clipboard and call Toolkit.getDefaultToolkit().getSystemClipboard().g etAvailableDataFlavors(); it seems all i get it offered is a java.awt.image (which iirc represents a bitmap).

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    32. Re:C# by Decaff · · Score: 1

      i was under the impression that getsystemclipboard only worked for formats the jvm supported natively. is there a way to get the raw wmf data from the windows clipboard through it?

      This is an interesting problem! I will see if I can post a solution soon.

    33. Re:C# by Decaff · · Score: 1

      when i put a metafile on the clipboard and call Toolkit.getDefaultToolkit().getSystemClipboard().g etAvailableDataFlavors(); it seems all i get it offered is a java.awt.image (which iirc represents a bitmap).

      You are right, obviously! If I find a way to get around this I will post here.

    34. Re:C# by Anonymous Coward · · Score: 0
      Most people experienced with the languages believe the opposite


      I'd qualify that to say - most C# people experienced with the languages believe it is better, most Java folks believe Java is better. So your statement shows a lack of knowledge at the reasoning behind the decisions made in the Java design.

      Take multiple inheritance. The design philosophy of Java is to provide a simple, robust language, unlike the C++ where you have, as Stroustrop said I believe, enough power to blow yourself up (taking off of the C phrase, enough rope to hang yourself).

      So by including a feature like multiple inheritance, which according to the experts who designed Java, is more trouble than it's worth, C# is following the philosophy of C++. Same with checked vs. unchecked exceptions, some folks swear by everything unchecked, including Bruce Eckel, so he leans towards C#. So the religious discussion of which language is better, is just that.

      Microsoft is pulling out all the stops, to add everything (continuations anyone?) but the kitchen sink to C# in an attempt to catch up to Java, Sun is looking over it's shoulder nervously not at C# anymore, but a real contender like Ruby, which is also cross-platform.


      Anyway, certainly Java folks admire C# (imitation is flattery?), and competition is great, but in the 5 years or so it has been out, Java continues to have an insurmountable lead. There is lots of excitement about Ruby on Rails that is definitely taking the spotlight off of C#/.NET too, we'll see. Again, to me this is a religious issue, do you like perl cruft, or not? Use what language you like.

  12. Re:What's The Point? by ichin4 · · Score: 4, Interesting

    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?

  13. Pro? by Phillup · · Score: 2, Insightful

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

    Just wondering...

    --

    --Phillip

    Can you say BIRTH TAX
    1. Re:Pro? by the+computer+guy+nex · · Score: 1

      "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.

    2. Re:Pro? by Arandir · · Score: 2, Interesting

      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."

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    3. Re:Pro? by drpimp · · Score: 1

      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 if you want to know more.

      --
      -- Brought to you by Carl's JR
    4. Re:Pro? by Anonymous Coward · · Score: 0

      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..).

    5. Re:Pro? by Bellum+Aeternus · · Score: 2, Insightful

      When those operating systems account for 95% of users and ~40% of servers... I think it counts.

      --
      - I voted for Nintendo and against Bush
    6. Re:Pro? by Anonymous Coward · · Score: 0

      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!

    7. Re:Pro? by ciggieposeur · · Score: 1

      Which industry is that?

    8. Re:Pro? by alext · · Score: 2, Interesting

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

    9. Re:Pro? by Arandir · · Score: 1

      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.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    10. Re:Pro? by oldwarrior · · Score: 0

      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.

      --
      If it were done when 'tis done, then t'were well it were done quickly... MacBeth
    11. Re:Pro? by Anonymous Coward · · Score: 0

      > .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!

    12. Re:Pro? by Overly+Critical+Guy · · Score: 1

      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.

      --
      "Sufferin' succotash."
    13. Re:Pro? by holloway · · Score: 1
      "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.

    14. Re:Pro? by hkb · · Score: 1

      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).

      --
      /* Moderating all non-anonymous trolls up since 2004 */
    15. Re:Pro? by Anonymous Coward · · Score: 0

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

    16. Re:Pro? by NullProg · · Score: 1

      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/. 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.

      --
      It's just the normal noises in here.
    17. Re:Pro? by bhima · · Score: 1

      Wow! That's pretty strange. I've been doing embedded for 20 years... Someone said 'java' once in a meeting but that's all that came of it. One of the kids that works on another project was gushing C# but I don't remember what happened to him. Now they (the user land guys) are all C++ and QT and we are still C and assembly with part time FORTRAN maintenance duties. Honestly I don't see anything wrong with it... C (or C++) is fine and FORTRAN makes some folks happy... Will you really gain all that much by using C#?

      Sure people have accomplished the whole realtime java thing but usually I think when people are waiving such things around that have a faulty partition between the realtime world and user world

      --
      Nothing in the world is more dangerous than sincere ignorance and conscientious stupidity.
    18. Re:Pro? by Anonymous Coward · · Score: 0

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

      It probably has something to do with the fact that the "limited number of Operating Systems" still manages to comprise around 90% of the PC marketplace, so who cares that much if you pick up a few more percentage points by adding another OS or two?

    19. Re:Pro? by Randolpho · · Score: 1

      Damn good trick, then. 'Cause C# and .NET are heads and shoulders better than Java, speaking as someone who programs regularly in both languages.

      At the moment, the only advantage to Java is Swing's cross-platform compatibility, but that is, as has already been mentioned, easily overcome with Mono and cross-platform GUI libraries.

      --
      "Times have not become more violent. They have just become more televised."
      -Marilyn Manson
    20. Re:Pro? by MoeDrippins · · Score: 1

      Languages run on OS's do they?

      --
      Before you design for reuse, make sure to design it for use.
    21. Re:Pro? by Anonymous Coward · · Score: 0

      C# is only theoretically OS agnostic. The non-Windows implementations lag Microsoft's lead and will always due to Microsoft's advantage of owning the direction of all things C#. And yes I have written commercial C# code and it doesn't port that easily. I still find Java to be far more portable than C#|.NET.

      What I do give a platform like Java is the large number of portable frameworks that exist to support it. It would be interesting to see what might come of a similar large effort to develop extensive free/open frameworks for C++.

    22. Re:Pro? by Anonymous Coward · · Score: 0

      That's an interesting attitude. In the part of the world I work, while contractors are responsible for their own training, permanent staff can expect to be trained in any technologies that are introduced along with new projects.

    23. Re:Pro? by Phillup · · Score: 1

      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).

      Ideally, this would be true. But this isn't just a language. It is a language (and a framework) developed by MS with the intent on killing the competition.

      Killing them any way possible.

      So just saying that a language is not PRO because of limitations to the OS, which actually is not true for C#, is ignorant.

      Writing code that won't run without the blessing of some "overlord" is ignorant.

      If non-MS implementations of the language can be killed via patent or other IP litigation, then using the language is ignorant.

      As a contractor, writing code for a living, I would never consider using a language that isn't portable (to the extent possible). I want to be able to solve problems for as many clients as possible.

      Not just the ones that MS says I should be able to...

      Maybe you are just knocking M$ and trying to troll, but take a look at the Mono Platforms if you want to know more.

      Sorry, but I'm not going to waste my time with any MS technology until it is clear that I can use it where ever I want without worrying about being sued for licensing fees.

      It simply isn't worth the risk.

      --

      --Phillip

      Can you say BIRTH TAX
    24. Re:Pro? by sevinkey · · Score: 2, Funny

      It's pretty hard to make a living writing for an operating system that 90% of Americans use, or do I not understand the definition of Pro :)

    25. Re:Pro? by Anonymous Coward · · Score: 0

      They gave up on providing System.Windows.Forms on top of GTK. Too much Win32 stuff (like "handles" everywhere). Last I looked, the plans are to build System.Windows.Forms on top of Wine.

    26. Re:Pro? by zootm · · Score: 1

      The "core" .NET framework is cross-platform. WinForms is the largest part of code in the framework which is not easily portable, but that's to be expected.

    27. Re:Pro? by hkb · · Score: 1

      Ah that is right, and I knew that, I just forgot ;)

      Thanks for the re-clueing.

      --
      /* Moderating all non-anonymous trolls up since 2004 */
    28. Re:Pro? by mooredynasty · · Score: 0

      This isn't insightful, it's stupid. Pro, as in "professional", means you are getting paid for your work, producing a quality product, meeting your users' needs, and doing it at a reasonable cost.

      Contrary to what 60+% of what /. users think, .NET is the best tool for meeting the definition of "pro".

      Any questions?

  14. A proper review by XMilkProject · · Score: 3, Insightful

    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.

    --
    Big ones, small ones, some as big as yer 'ead!
    Give 'em a twist, a flick o' the wrist...
  15. Re:What's The Point? by kfg · · Score: 0, Troll

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

    What, you mean there are people who are?

    KFG

  16. Re:What's The Point? by cttforsale · · Score: 1

    Wow. Care to extrapolate...

  17. Re:it's true. by Anonymous Coward · · Score: 0

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

  18. Re:Mod parent troll - for a different view read th by Anonymous Coward · · Score: 0

    "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.

  19. Re:What's The Point? by ednopantz · · Score: 2, Interesting

    >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.

  20. Re:What's The Point? by Anonymous Coward · · Score: 0

    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.

  21. .NET performance by Anonymous Coward · · Score: 0, Offtopic

    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.

    1. Re:.NET performance by ameline · · Score: 2, Interesting

      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 )

      --
      Ian Ameline
    2. Re:.NET performance by saxonhawthorn · · Score: 1

      Much grateful thanks for the interesting Perlin link.

  22. MOD DOWN by Anonymous Coward · · Score: 0

    Known troll. Not the author.

  23. C# is pro like VB is pro by Anonymous Coward · · Score: 0

    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.

    1. Re:C# is pro like VB is pro by Thundersnatch · · Score: 4, Insightful

      Okay, .NET and Java aren't as fast as C in the general case. But I think most developers are a lot more productive in both Java & .NET than they are in C. And C is of course slower than assembly, but I would imagine building an app is 10x faster in C than assembly.

      But now there's all this hype about Ruby and Python, which are orders of magnitude slower than .NET and Java, even with Psyco and other limited acceleration tools. But they are a joy to develop in.

      It seems as though we must trade development ease for execution speed. This seems to be a good trade for the majority of applications: salaries are the #1 cost for most companies. Hardware is cheap. A two-server, 8-core Opteron cluster costs less than an experienced programmer makes in a month.

      So if you're writing an trade-settlement server for the financial markets, where milliseconds mean millions, by all means get close to the hardware and use C and hand-tuned assembly. But otherwise, pick something further up the stack and spend a little more money on hardware.

    2. Re:C# is pro like VB is pro by chuck · · Score: 1

      So if you're writing an trade-settlement server for the financial markets, where milliseconds mean millions, by all means get close to the hardware and use C and hand-tuned assembly.

      Actually, that's dumb.
    3. Re:C# is pro like VB is pro by Thundersnatch · · Score: 1

      Okay, you're right: reliability would be more far more important than speed in my poorly-chosen financial-markets example. Let's substitute rendering special effects for a movie as an example instead.

    4. Re:C# is pro like VB is pro by B-a-Z.nl · · Score: 1

      It is possible:

      Chris Sawyer wrote RollerCoaster Tycoon entirely in complex assembly language, very unusual for a game of this complexity. Just a small portion of C was used to interface with the Windows operating system, the rest was coded in assembly.

      From: http://en.wikipedia.org/wiki/Roller_Coaster_Tycoon

    5. Re:C# is pro like VB is pro by GWBasic · · Score: 1
      Okay, .NET and Java aren't as fast as C in the general case.

      That's not true anymore, unless you are planning on optimizing your code to a specific CPU. Today, there are many different CPUs on the market from both AMD and Intel. With .Net, you can have the installer compile your program to be optimized to the specific CPU that it's installed on. You can also use the "ngen" utility to turn a .Net assembly into a native assembly. This is impossible with traditional compiled languages like C.

    6. Re:C# is pro like VB is pro by chuck · · Score: 1

      Okay. Now I agree.

  24. Save more than TWENTY ($20) bucks! by Anonymous Coward · · Score: 0

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

  25. Oracle by DavidpFitz · · Score: 1

    From reading the headline, I thought this was something to do with Oracle updating Pro*C to do C# :)

    1. Re:Oracle by XaXXon · · Score: 1

      Me too.

      I did a text search for oracle and was surprised to see it jump down to your comment.

  26. bottom line by BadassJesus · · Score: 0

    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".

    1. Re:bottom line by Maarek_1 · · Score: 1

      Is this any different then needing to install the GTK Runtime or the J2SE Runtime or really any of the other prequesites out there for many other programing languages? At least with the .Net Framework many users already have it or can easily get it with Window's update. Personally I think "pro" code will come with an installer that takes care of the prereqs but many pro software utilities still don't include these (for example KANA).

      The downside of course is the limited platform capabilities, but even that has a glimmer of hope in the future with projects like mono.

    2. Re:bottom line by BadassJesus · · Score: 1

      "needing to install the GTK Runtime or the J2SE Runtime"

      Are you kidding me? You are "pro" only when you do not need any of those. I dont need no stupid GTK widgets or Java runtime. I have may own custom design on top of my own skinnable widged library all pure C++ and platform independent, all lighting fast native code (no "runtime") with "pro" fuctionality and "pro" looks. But I am a paid programmer from top publisher and you are a hobbyist doing open source so we may have a different points of view.

    3. Re:bottom line by Maarek_1 · · Score: 1

      I am a professional software developer for a rather large industry player also. I am certainly not a hobbyist. I also was not defending opensource (something I won't do much anyway as I think it already has enough apologists), but rather retorting to the statement on installing the .net framework. Please tell me more about your "lighting fast native code" as I am interested in seeing how fast "lighting is".... or actually, no, just go piss off somewhere instead.

    4. Re:bottom line by Anonymous Coward · · Score: 0

      Professionals tend not to rely on ad hominem attacks to try and make their point or win an argument. Such attacks are normally seen as covering up for a weak argument.

  27. yawn by rabbot · · Score: 1

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

    1. Re:yawn by milimetric · · Score: 2, Informative

      /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.

    2. Re:yawn by rabbot · · Score: 1

      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.

    3. Re:yawn by milimetric · · Score: 1

      i'm not saying only i can code a system faster. I'm saying anyone can code faster in C# than in C. It's a faster language. The code in C# is just as rock solid as any other code, depending on how good the programmer is. It has the added benefits of type safety and memory use intelligence. My bet is that you haven't even picked up or tried C# for whatever reason. I think you should try it before you declare you wouldn't pick it.

    4. Re:yawn by Thuktun · · Score: 1

      Come get me when someone comes out with more than a "Fischer Price my first programming language".

      To me, this seems like a craftsman saying "real men don't use safety devices".

    5. Re:yawn by rabbot · · Score: 1

      You make a good point. I haven't even picked up C#. I should probably try it out before passing judgement. I've spent so many years with c/c++, I guess I just don't see the advantage to having everything so hidden from me. I enjoy java, but just for making fun little applets. I never considered anything serious with it, although I know it's more than possible. But you're right, I should try it before dismissing it.

    6. Re:yawn by milimetric · · Score: 1

      C# isn't as hidden as you think. You can just go: unsafe { C code goes here } and do any C pointer manipulations you want. But you rarely need to. The things I love most about C# 1.1 are simple things that just make your life easier:

      - indexers. If you have a hashtable, looking up a key in it is like this:
              myHash["key"] = "value";
          and you can overload these puppies so you can add crazy indexers into your structures like for example:
              businessRules["Monday", "Accounting"]

      - overloading operators. There's nothing like being able to compare dates right out of the box and being able to add your own >, 500") )

      - control over memory such as the use statement:
              using( BigFatMemoryHogNeededForOnlyThisBlock b = new ... )
              { // do stuff with b and not worry about // deallocating it because it will dispose // itself at the end of this block
              }

      And then when you get down to it, the .net framework is awesome. Really packed full of features. The only thing I hate about the whole ordeal is Visual Studio.net - what a piece of crap that is. Hey, and if you care about money, C# people are REALLY in demand and someone with C background can easily pick up C#

      Damn, I sound like a huge freakin fanboy, I don't mean to, I actually don't like MS, but they did get C# right.

    7. Re:yawn by birder · · Score: 1

      They got it right because the lead on C# was Anders Hejlsberg the man who built Borland's Delphi. I look at C# and see Delphi morphed.

      When Microsoft stole Anders from Borland, Delphi pretty much just because a .Net/C# follower. Still Borland Studio 2006 is pretty good so far.

  28. ASP.NET & O' Reilly. by Anonymous Coward · · Score: 0

    "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 is a good book for those working with ASP.NET

  29. Re:What's The Point? by Anonymous Coward · · Score: 0

    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.

  30. Best Programming Reading by c0d3r · · Score: 1

    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-

    1. Re:Best Programming Reading by SpectralDesign · · Score: 1

      I concur...

      The thing I like about O'Reilly, is they (in my experience) always give you the technology from the perspective of best-practices as told by someone who uses the tech in the real world.... Many other publishers put out junk that covers the spectrum from best-practices, down to the "I taught myself this tech in my basement in 2 months, and now I'm writing a book about it" level....

      --
      Be who you are and say what you feel, because those who mind don't matter and those who matter don't mind. - Dr. Seuss
    2. Re:Best Programming Reading by c0d3r · · Score: 1

      Totally, I am disgusted with the low quality of paper back tech books that I can get more from a magazine. Its interesting that O'relly is the only publisher that is worth its salt. My step father told me that "God wouldn't have made sheep if he wouldn't have meant for them to be sheard". Knowing that the greater percent of the population leave something to be desired as far as intellect, I can see that theses inferior books cater to the masses who might find the better books more difficult to grasp.

  31. Re:What's The Point? by guaigean · · Score: 1

    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.

    --
    Microsoft Sucks, F/OSS Rocks. I get mod points now right?
  32. I don't get it... by Anonymous Coward · · Score: 0

    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?

    1. Re:I don't get it... by julesh · · Score: 1

      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?

      Because sometimes the installation fails and you have to piss around trying to make it work.

      Here's one possible problem. Sometimes you get something more like this. Note that he didn't get any useful information at all in the error message, but had to go digging through an obscure (and undocumented) log file in a hidden directory to find a description in obscure terminology of the cause of his problem.

      Installing .NET can be a real hassle.

    2. Re:I don't get it... by Anonymous Coward · · Score: 0

      The first issue you posted only occurs when you install .NET 1.0 and then .NET 1.1 without rebooting between them.

      The second issue you posted was a problem with the Visual Studio 2005 Express BETA version.

      We deployed the .NET on thousands of machines, and none of them reported a problem. It simply isn't all that complicated. It installs a bunch of DLLs and does some registry tweaking and that's about that. It doesn't have a whole lot of possible failure modes.

      It can be a real hassle only if you have an already fucked up Windows machine, realistically.

    3. Re:I don't get it... by julesh · · Score: 1

      Right. But there are lots of problems. Those two were only typical examples.

      Here's the one I encountered: I installed .NET framework 1.1 (release version) on a recent clean install of XP Pro (an upgrade from Win98). The clock had been set using W98 to the correct year, but due to some kind of incompatibility between W98 and the machine's BIOS, the BIOS date was actually set to some time in 16408, rather than 2004. Win98 continued to read the date as 2004 up until I deleted it.

      This resulted in several system file creation timestamps on the new NTFS partition I created when installing XP having this year rather than the correct one. XP picking up that year from the BIOS rather than 2004 as 98 did, I quickly noticed and corrected the problem. Now, many files had modification dates before their creation dates. This caused the .NET framework installation to fail.

      In order to persuade .NET, I had to locate a utility that was able to correct the creation dates on these files. By the time I was finished, the process of installation cost me nearly a day.

  33. Re:What's The Point? by Anonymous Coward · · Score: 0

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

    Such as? I'm looking forward to hear your examples! But I'm not going to hold my breath, because I'd bet my 6-figure C# developer salary that you're talking from a position of ignorance. Your last sentence is the bit that really gives it away, typical 'Linux hasnt got it, so it must be rubbish!' response.

  34. Pro D-flat by Anonymous Coward · · Score: 0

    What about pro D-flat? Isn't that the same language with the same performance but just a bit flatter and even less tied to the same less useful platform?

  35. C# is almost good by miyako · · Score: 1

    I had to use C# for a class last semester. Comming into the class I was very much opposed to the concept, essentially feeling that it was better to go with either C++ or Java instead of something inbetween.
    After using C# for a while, I've come to the conclusion that, while still not a favorite language of mine, it has a fair bit of potential. My biggest problem was, as I recally, the aggrevating inconsistancy of the .NET framework (two thirds of .NET seems to work 1 way, but 1/3 of it seems to have been written by a completely different team who never looked at what the other team was doing- neither way seems to be particularly bad, but it just doesn't feel as coherent as, say, Java).
    As I primarily program on Linux and Mac at home, and most of my professional development is with PHP I'll probably never use C# enough to grow fond of it, I do have to say that if I ever ended up taking a job coding for a Microsoft platform it's nice to know that C# is at least there and much less asinine than using VC++ with Win32 or MFC (which I've found vastly inferior to Swing, Qt, GTK+ or Cocoa).

    --
    Famous Last Words: "hmm...wikipedia says it's edible"
    1. Re:C# is almost good by arethuza · · Score: 1
      > coherent as, say, Java

      I tend to take the opposite view, as a long time Java developer (nearly 10 years) one thing that I like about the .Net framework is that it is generally designed a bit more coherently than the equivalent Java components.

      Of course, this is probably because Java has been around for 10+ years and .Net is maybe half that so .Net hasn't had the chance to accumulate the cruft that Java has. Give it time!

  36. Binary isn't just for computers. by Anonymous Coward · · Score: 0

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

    So which one is Miguel? One or two?

  37. Re:What's The Point? by ucblockhead · · Score: 1

    Having worked with C# for a year, I found it to be Java clone with most of the braindead parts of Java fixed and few, if any, of the C++ annoyances.

    --
    The cake is a pie
  38. this joke fell flat.... by bwoodring · · Score: 2, Funny

    n/t

  39. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  40. Re:Got it - thanks by Bill+Dog · · Score: 1

    The most insightful post here yet. These compromise languages are, by design, almost never "the best tool for the job". They only exist for fodder in the pissing contest between Sun and MS, and the PHB's and fresh college grads caught up in it.

    --
    Attention zealots and haters: 00100 00100
  41. Re:What's The Point? by lagerbottom · · Score: 1

    Having used C# (under linux using mono tools) and getting paid to write Java, I can tell you have no idea what you are talking about.

    --
    "He was a wise man who invented beer." - Plato
  42. Re:Got it - thanks by Thundersnatch · · Score: 1

    There undoubtedly exist some problem spaces where the "middle-course" - strongly-typed VM implementations of the C# and Java variety - are the best option.

    I leave figuring out just where the tipping points are as an exercise for the reader.

  43. Silly Directions by Anonymous Coward · · Score: 0

    The book keeps telling you where every example is, even when they're in the logical locations (which is almost always). I think we're smart enough to find chapter 3's examples in the chapter 3 directory Mr. Troelsen.
    Oh well, that doesn't add much more than probably 20 pages to the book.
    That's what I've noticed while going through the first half or so of it.

  44. Got it - thanks-Being Specific. by Anonymous Coward · · Score: 0

    Then I would recommend a DSL and an appropriete support environment(PDF)

  45. Professional = "you get paid" by Estanislao+Mart�nez · · Score: 1

    That's all there is to it.

  46. So, you're a wimp, huh? by jelks · · Score: 1

    Interesting how you make the above claims as an AC.

  47. I find it useful by JAFSlashdotter · · Score: 1
    I used Troelsen's previous edition to learn C# (borrowed it from the team library at work), and continue to recommend it to people who are picking up C# after being proficient in something like Java or C++. I just got this edition, and haven't had a chance to read through it completely, or to compare it to the previous one, but a quick look through it leads me to believe it is at least as good. I thought his writing was clear, had a reasonable level of detail, and was easy to get around.

    I also recommend Juval Löwy's "Programming .NET Components" as a follow-on. I thought it covered threading more completely.

    --
    We apologize for the preceding message. All those responsible have been sacked.
  48. Re:Marketing by SolitaryMan · · Score: 1

    Beleive me, every wannabe would love to read a book "Pro Blah-Blah"

    --
    May Peace Prevail On Earth
  49. LOL by sheldon · · Score: 1

    My biggest problem was, as I recally, the aggrevating inconsistancy of the .NET framework (two thirds of .NET seems to work 1 way, but 1/3 of it seems to have been written by a completely different team who never looked at what the other team was doing

    Can you give an example of where you found a problem with say orthoganality or symmetry?

  50. Why books still matter by Anonymous+Brave+Guy · · Score: 1

    While it's certainly true that you can find most or all of the material in books like this on-line, I think there's still a solid place for books in the programmer's world. Most of the on-line information is poorly organised, poorly written, poorly edited and often of dubious accuracy, and that's assuming that you can rely on it to stay in the same place and not to change anyway.

    MSDN is a prime example: it used to be a great resource, but these days it's got so much bad content and so little organisation that I no longer even bother looking at it when I need to know something, or reading the web pages for the specific programming tools and languages I use. Most of the good articles I once bookmarked now give back 404s and redirect to some generic Microsoft ad for something irrelevant, on a page with hundreds of links to other equally irrelevant things.

    The web generally suffers from information overload in programming-related fields. If you want a clear, concise, well-structured, and comprehensive look at a subject, a good book is still hard to beat.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  51. Re:Got it - thanks by Decaff · · Score: 1

    The most insightful post here yet. These compromise languages are, by design, almost never "the best tool for the job". They only exist for fodder in the pissing contest between Sun and MS, and the PHB's and fresh college grads caught up in it.

    And as Java becomes not only the most popular development language for general purpose work, but also on Sourceforge, it is quite amusing to see yet another 'everyone is wrong but me' post. Because obviously almost all of the IT industry has got it wrong, and consists only of PHBs and fresh college grads.

  52. Re:Got it - thanks by Bill+Dog · · Score: 1

    The flaw in your thinking is that you forgot that "most popular" does not always equal "best". Much more often it equals "most marketed", as in the case of the two redundant (to C++) languages mentioned.

    --
    Attention zealots and haters: 00100 00100
  53. Re:Got it - thanks by Decaff · · Score: 1

    The flaw in your thinking is that you forgot that "most popular" does not always equal "best". Much more often it equals "most marketed", as in the case of the two redundant (to C++) languages mentioned.

    The flaw in your thinking is that you assume that everyone except a few wise C++ supporters are unable to resist marketing, and can't make judgements for themselves based on years of experience of comparing C++, Java and C#.

  54. Re:Got it - thanks by Bill+Dog · · Score: 1

    You're right, I do assume that, so I guess there's something we agree on. IT is mostly run by PHB's, who are largely unable to resist marketing, and definitely cannot make judgments for themselves based on years of experience with computer languages (because they have none). And most fresh college grads are only going to have studied what was in the curriculum, and that's based on what's hyped at the time (because colleges need enrollees), and they're graduating with student loan debt and just want to get a fucking job, and don't care in what or if some other language is better or the same or whatnot. I'll add a third category, consultants/authors: These people are wise enough to see the strengths and weaknesses and overlap, but they make their livelihood on riding the hype, no matter how unfounded. So there's a huge group who can't tell the difference, and two other groups who really have to just go along with it, to survive.

    --
    Attention zealots and haters: 00100 00100
  55. Re:Got it - thanks by Decaff · · Score: 1

    You're right, I do assume that, so I guess there's something we agree on.

    No - we both agree that you assume it, not that it is true :)

    IT is mostly run by PHB's, who are largely unable to resist marketing, and definitely cannot make judgments for themselves based on years of experience with computer languages (because they have none).

    I disagree. There is a phenomenal amount of IT that is based around small consultants and small developer groups. These are the people who are willing to try new technologies, and have to work hard to keep up-to-date with developments to keep themselves competitive. I am one of these.

    We are the people have have followed Java over many years, waiting until it really is capable of taking over from C++, as we can really make use of the faster and safer development, and the ability to really provide platform-independent binaries. As an example, I often write web applications. I can supply my customer with a .WAR archive in the full confidence that they can deploy this binary on any J2EE 1.4 platform - HP/UX, Windows, Solaris, Linux, z/OS etc.

    C++ can never match this - I would have to test my application on all those platforms to be confident. Even if I didn't, I would have to provide separate binaries and libraries - it is a mess!

    Java is a real benefit to developers like me - it removes so much of the burden of development and portability testing that took up so much of a project.

    Sorry, but you are simply wrong about the state of the IT market. We aren't all stupid!

  56. Re:Got it - thanks by Bill+Dog · · Score: 1

    I'm not going to dicker with you over the liberties you're taking with the term "binary". But I do thank you for calling Java a "platform", which it is (i.e. it is not "cross-platform", it is "cross-OS^H^Hseveral-OSes"). I will point this out, though:

    C++ can never match this - I would have to test my application on all those platforms to be confident.

    You'd be widely viewed as a fool if you don't anyways. "Write once, debug everywhere" may not be as much the case nowadays (holy shit was it back in the JDK 1.0 and 1.1 days!), but only a fool doesn't test before deploying. (Or is that what your customers are for? ;-)

    Even if I didn't, I would have to provide separate binaries and libraries - it is a mess!

    Interestingly, with Java, instead of having the burden that you refer to here of conforming to your customers' platform(s), you code to one platform and your customers have the burden (and often the expense) of acquiring the (correct version of) the platform you've chosen, with the accompanying performance loss of one level of indirection/not running directly on the native platform. Definitely an advantage of Java, to the developer.

    --
    Attention zealots and haters: 00100 00100
  57. Re:Got it - thanks by Decaff · · Score: 1

    I'm not going to dicker with you over the liberties you're taking with the term "binary".

    Well, I am not shipping source code...

    But I do thank you for calling Java a "platform", which it is (i.e. it is not "cross-platform", it is "cross-OS^H^Hseveral-OSes").

    You are just playing with words here. If you are being that strict then C binaries are not cross-platform as you need libraries or Kernel services on the OS you are deploying on.

    As for 'several OSes' - this is nonsense. You would find it hard to name a major OS now that does not have a Java VM.

    You'd be widely viewed as a fool if you don't anyways. "Write once, debug everywhere" may not be as much the case nowadays (holy shit was it back in the JDK 1.0 and 1.1 days!), but only a fool doesn't test before deploying. (Or is that what your customers are for? ;-)

    Well, then I am a fool. Actually, I am not, because you really, honestly, do not need to test like this, especially if you are deploying on an app server. The JVM implementor and App server vendor has done the work for you - that is why these products are put through so many rigorous tests before they are allowed to be called 'Java' or 'J2EE'. There may be 'edge-case' issues if you are doing, say, very high-traffic networking or graphical game development, but otherwise, you really can safely assume portability.

    Interestingly, with Java, instead of having the burden that you refer to here of conforming to your customers' platform(s), you code to one platform and your customers have the burden (and often the expense) of acquiring the (correct version of) the platform you've chosen, with the accompanying performance loss of one level of indirection/not running directly on the native platform. Definitely an advantage of Java, to the developer.

    Sorry, but what burden? What cost? To run even a major J2EE application all the client needs is a JRE (free from Sun, or IBM, or HP), and an app server (free and open source from Sun, or Apache, or JBoss, or Geronimo).

    Setting up most of these requires no more than a download, and unpack and setting a few environment variables (e.g. JAVA_HOME).

    If you can find any cost or bother in this, go ahead and explain. I can't.

    And, of course, the idea that there is any performance cost because of a level of indirection is further nonsense. All Java byte codes, be they in your application or the app server, are compiled to highly optimised native code. There is no more performance cost for Java to use these native services than for C to use, say a threading library or sockets library. The JVM implements its services using the native platform in the same way that POSIX-compatible libraries provide access to the native platform. Both are compatibility layers.

    I'm sorry, but you are setting up an endless series of non-existent problems with Java to try and justify continued use of C++.

  58. Do everything for us! by sebastinator · · Score: 1

    That's great and I think it will help us in the future, for sure! 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. I agree also with this comment!

    --
    Thanks for visiting my Web site! Post your comments on my forum!
  59. Nicely written by Austin+Milbarge · · Score: 1

    I checked out this book at the local bookstore and it's definately worth buying. But you time to read it.

  60. Why I bought this book by Anonymous Coward · · Score: 0

    I was searching through the local BN, when a stranger introduced himself, noticed me searching through the book elaborated on it. Later on while talking I decided this was the book I was searching for. Purchased it, use it, and have not looked back. It has what I need, of course there is the Internet and I use that also, but I have also used C# and .Net, the Fisher-Price toys, to replace some apps written on UNIX in that good ol' language 'C'.

    This book has enabled me to make money from .Net, and soon hopefully a perpetual income from online. All I needed was some gaps filled-in. A book sometimes can change your life and this one did.

    Its also amazing that most of our vendors who sell complete software packages to us are switching to C# now instead of that coffee cafe' language. The college I go to has more people write their free-lance projects in C# than Java; their "teaching" language.