Slashdot Mirror


C# for Java Developers

joefrench writes: "It might seem strange to review a C# book on Slashdot, especially one published by Microsoft, but I felt that there must be a lot of readers like me -- programmers who know Java, but want/need to learn something about C# and .NET. C# for Java Developers aims to teach experienced Java programmers how to write in C#." Joe outlines what he considers the book's good points (many) and weak points (few) in the rest of his review, below. C# for Java Developers author Allen Jones, Adam Freeman pages 548 publisher Microsoft Press rating 9 reviewer Joe French ISBN 0735617791 summary A comprehensive C# from Java tutorial

First things first First of all, let's deal with the Microsoft issue. I was surprised to find that this book even existed given the problems MS has had in the courts recently. I was even more surprised to find that C# for Java Developers is very balanced and does not hype up C# at the expense of Java -- throughout the book there are places where the authors say that "Java is better at this" or "We have no idea what the C# designers were thinking." A refreshing attitude from a company that is not known to be an admirer of Java.

I was reluctant to pay for a Microsoft book, but I have to admit that I am impressed. This is the first MS book I have ever purchased, and it is clearly written, well thought-out and very, very comprehensive. One of the best features for me is that all of the instructions for compiling and managing code assume that you are using the command-line tools, rather than Visual Studio. For someone on a tight budget, this was a real bonus.

The Scoop

The first part of the book is an overview of .NET, and contains the boiler-plate description that you get from the .NET web site. Not that useful, but pretty short. There is a chapter that compares .NET to Java (J2SE and J2EE), but again, there is nothing new or important there.

The second part of the book covers the C# language, using Java as a starting point. The coverage seems comprehensive, and explains where the two languages are the same (quite often), where they are different (now and then) and when they appear to be the same, but you are likely to spend a couple of hours tracking down something weird (more often than I would like). I had started playing around with C# before buying this book, and all of the problems that I had in the early days were detailed here with clear explanations.

Part three delves into the .NET class library, covering basic topics such as collections, IO and handling XML. Once again, I was impressed with the depth of coverage and the way in which the authors use Java classes to explain the workings of .NET. It was while I was reading through this section that I realized just how different C#/.NET and Java can be.

The last part of the book covers "advanced" topics. There seems to be little reason for the division between basic and advanced topics, but chapters cover areas such as threading, security and networking. The one thing that is consistent in this part of the book is that there is less of a parallel between Java and C#. For example, "Windows Forms" is used to build client UI applications, but is very different toolkit from Swing/AWT.

The appendix list is a little dull, covering topics like GC and configuration files. There are some interesting snippets, but I got the impression that these were topics that the authors thought were important, but didn't know where else they should go. The exception is the "Java to .NET API Reference" which, for me at least, sets this book apart from the competition. Every class from the J2SE class library is mapped to an equivalent .NET class and a reference to where the topic is covered in the book -- having something like this has saved me hours of searching.

What's to Consider?

This book uses a lot of C# fragments to demonstrate how classes are used, but contains very few full "working" examples. I found this to be great once I knew the basics of C# (because I could focus on the topic), but difficult at first (because I could not play with complete code).

C# for Java Developers covers much more of the .NET Framework than the other books in my local bookstore, but because of this the text can be dense at times, as the authors try and pack in a bit too much detail.

I can't find major fault with this book, and a (small) part of me admires Microsoft for publishing such an unbiased book.

Summary

If you are a Java programmer who wants or needs to learn about C# and .NET, then this is a great book. Don't be put off by the Microsoft logo, and bear in mind that you don't need a copy of Visual Studio to follow the examples.

The book effectively uses Java as a tool to teach C# and explain the workings of .NET. If you are like me, then you will find this book invaluable and will likely keep it close at hand for quick reference.

Table of Contents

  1. Introducing .NET
    1. Introduction to Microsoft .NET
    2. Comparing Java and .NET Technologies
  2. The C# Language
    1. Creating Assemblies
    2. Language and Syntax Features
    3. Data Types
    4. Advanced Language Features
  3. Programming .NET with C#
    1. Strings and Regular Expressions
    2. Numbers and Dates
    3. Collections
    4. Streams, Files, and I/O
    5. XML Processing
  4. Advanced Topics
    1. Reflection
    2. Threading and Synchronization
    3. Networking
    4. Remoting
    5. Database Connectivity
    6. Security and Cryptography
    7. Graphics and UI
    8. Introduction to XML Web Services
  5. Appendices
    1. Platform Integration
    2. Shared Assemblies
    3. Configuring Applications
    4. Garbage Collection
    5. Cross-Language Code Interoperability
    6. Java to .NET API Reference

You can purchase C# for Java Developers from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

382 comments

  1. wow great by Anonymous Coward · · Score: 0

    This is great. I think I 'll get the book.

  2. C# by TerryAtWork · · Score: 1

    This is a maligned language. I think it will prove important in the future, if only beacuse it helps people make their complexity quota, which some people seem to have.

    --
    It's Christmas everyday with BitTorrent.
    1. Re:C# by RevDobbs · · Score: 2
      I think it will prove important in the future, if only beacuse it helps people make their complexity quota,

      Funny, I thought that C# was supposed to reduce complexity.

      Although pronouncing it "C-sharp" is a little counter intuitive; my first thoughts are always "C-pound". The maybe the first `Obfuscated C#' contests can center on it's name.

    2. Re:C# by Idarubicin · · Score: 2
      Although pronouncing it "C-sharp" is a little counter intuitive; my first thoughts are always "C-pound". The maybe the first `Obfuscated C#' contests can center on it's name.

      I believe it was The Register which approached this topic in some detail. For me, I've found that the best cross-cultural pronunciation is "C-hash". "C-octothorpe", though perhaps the most precise and technically correct, doesn't roll off the tongue nearly as fluidly.

      --
      ~Idarubicin
    3. Re:C# by Anonymous Coward · · Score: 0

      "C-Pound"? That would be C£, surely?

      Yes yes, The Register have already tackled this one...

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

      As a java developer, I prefer to call it D flat.

      --

      Give a man a fish and he will eat for a day.
      Teach him to eat and he will fish forever.

    5. Re:C# by Anonymous Coward · · Score: 0
      As a java developer, I prefer to call it D flat.

      wrong company ;)
    6. Re:C# by Raiford · · Score: 1
      I guess the C# developers were music majors ...

      --
      "player 4 hit player 1 with 0 stroms"
    7. Re: C# by Black+Parrot · · Score: 4, Funny


      > This is a maligned language.

      Is it byte maligned, or word maligned?

      --
      Sheesh, evil *and* a jerk. -- Jade
    8. Re:C# by plugger · · Score: 2, Funny

      Showing my age here, but I remember UK computer magazines printing BASIC listings, often with a footnote which said 'our daisywheel printer only prints £ signs, please substitute # for £ in the program'.

  3. C# may not stand for long... by FortKnox · · Score: 4, Insightful

    Now, C# is a pretty language. MS looked at Java and started on their list... "This is good in Java, lets include it. This isn't, lets either not include it or make a nicer alternative." They made quite a nice, competitive language.

    But I think C# will be used to convert the C, C++, and Java crowd into the .NET framework. Now, once you are in the framework, you'll see that VB.NET is easier to use, has the OO that Java/C++ people desire, and can make the deadlines easier to make.

    Yeah, I think C# is MS's way to convert everyone to VB.NET.

    Luckily, .NET isn't as platform independent as Java atm, so I'll stick with my cup-of-joe.

    --
    Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    1. Re:C# may not stand for long... by Anonymous Coward · · Score: 0

      IIRC, Didn't MS cover that by releaseing some .NET code to run under FreeBSD?

      Or are you just karma whoring again||still?

    2. Re:C# may not stand for long... by FortKnox · · Score: 1

      which is why I added 'atm' meaning "at the moment".
      Yes, .net is being ported to Linux and BSD.

      --
      Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    3. Re:C# may not stand for long... by Anonymous Coward · · Score: 1, Interesting

      Problem is is that VB.NET isn't easier to use. It's actually harder and in many ways fits strangely around the .NET framework. That along with an obvious lean toward C# in all the docs I'd say VB is not long for this world. Look for C# to take over completely in the next 2-3 releases of M$ dev products.

    4. Re:C# may not stand for long... by km790816 · · Score: 5, Informative

      Slow down, turbo.

      No one at Microsoft likes VB.NET. It was meant as a crutch to get old VB developers into the new programming model.

      All of the .NET class libraries were written in C#. I don't think they are planning no changing that in the near future.

    5. Re:C# may not stand for long... by El+Neepo · · Score: 2, Insightful

      "Now, C# is a pretty language. MS looked at Java and started on their list... "This is good in Java, lets include it. This isn't, lets either not include it or make a nicer alternative." They made quite a nice, competitive language."

      You're right, I think it is a much nicer alternative to Java for client side apps.

      "But I think C# will be used to convert the C, C++, and Java crowd into the .NET framework. Now, once you are in the framework, you'll see that VB.NET is easier to use, has the OO that Java/C++ people desire, and can make the deadlines easier to make."

      C# is far from just a tool to convert people to the .NET framework. C/C++ people will probably still use C++ .NET if they want .NET development. C# directly targets Java developers, but it can easily be decoupled from the .NET framework (look at Mono). Personally I'd rather not use the .NET Framework for C#, but until Mono becomes more mature I'm stuck using the .NET Class Library unless I want to rewrite all that stuff myself. VB.NET is simply C# with the VB words. VB.NET is nothing like VB6 and earlier. I can't say that 100% but from the VB.NET examples in the class library that sit along side the C# ones, they're so similar.

      "Yeah, I think C# is MS's way to convert everyone to VB.NET."

      I think its other way around.

      "Luckily, .NET isn't as platform independent as Java atm, so I'll stick with my cup-of-joe."

      True. I refuse to use ASP.NET on IIS since IIS is such a crock. I hope Mono keeps going strong for client side however.

    6. Re:C# may not stand for long... by Anonymous Coward · · Score: 1, Insightful

      But I think C# will be used to convert the C, C++, and Java crowd into the .NET framework.

      You can have my C compiler when you pry it from my cold, dead, fingers.

      As for all these Frameworks; can any single one of you actually describe, in under 200 words, exactly what the .NET Framework is, what its comprised of, and why I should find it so exciting? It seems to me that even Microsoft arn't clear on this; certainly if they are, they're not doing a very good job of communicating this exciting new technology to me (I don't think I'm the only one, either).

      Will anyone take the challenge, I wonder?

    7. Re:C# may not stand for long... by xswl0931 · · Score: 1

      I think you're reaching a bit. I don't believe Microsoft really cares if you use C#, VB.Net, JScript.Net, Managed C++, etc... as long as you're using the .Net Framework. That's the whole point of the CLR: language independence. It's not like MS makes more money if you use VB.Net over C#.

    8. Re:C# may not stand for long... by Pfhreakaz0id · · Score: 2

      exactly. That was gonna be my point. I can tell you, most of the ASP+/.NET examples are in C#, not VB

    9. Re:C# may not stand for long... by Wakkow · · Score: 2

      Is is now safe to say that Microsoft's goal is to convert people from using C, C++, Java and VB to .NET?

      Seems reasonable: get the competition using product.

    10. Re:C# may not stand for long... by Jugalator · · Score: 2

      Yeah, I think C# is MS's way to convert everyone to VB.NET.

      I think the opposite.

      C# is made easier than C++. VB.NET is *very* rewritten in .NET to be much more object oriented *and* easy to move from to C#.

      But, of course, due to the nature of .NET, it's equally easy to move from C# to VB.NET.

      However, C# wasn't written to match VB.NET. VB.NET, on the other hand, went throught one of its greatest rewrites so far to match C#. Make up what you want from that.

      --
      Beware: In C++, your friends can see your privates!
    11. Re:C# may not stand for long... by Graspee_Leemoor · · Score: 2, Interesting

      " can any single one of you actually describe, in under 200 words, exactly what the .NET Framework is, what its comprised of, and why I should find it so exciting? "

      The .net framework is a collection of command-line compilers for various languages which produce bytecode. It also includes the compiler from bytecode to native-code, a disassembler and the .net classes. Basically the .net framework is everything you need to compile and run .net code. It is free as in beer.

      There you go. Pipe that to wc -w and I think you'll find I win.

      graspee

    12. Re:C# may not stand for long... by Jugalator · · Score: 2

      MS is probably not trying to get people to use VB specifically, but, yes, *that* is safe to assume.

      --
      Beware: In C++, your friends can see your privates!
    13. Re:C# may not stand for long... by cscx · · Score: 2

      Another interesting note is that all of Microsoft's .ASP scripts on microsoft.com are written in JScript. Odd that they stay away from VB as much as possible but promote it so much!

    14. Re:C# may not stand for long... by PainKilleR-CE · · Score: 1

      As for all these Frameworks; can any single one of you actually describe, in under 200 words, exactly what the .NET Framework is, what its comprised of, and why I should find it so exciting? It seems to me that even Microsoft arn't clear on this; certainly if they are, they're not doing a very good job of communicating this exciting new technology to me (I don't think I'm the only one, either).

      Will anyone take the challenge, I wonder?


      That's because of confusion between the .Net Framework and the '.Net vision' that MS is trying to market to consumers, developers, and managers.

      To state it as simply as possible: the framework is an API that goes beyond Win32 to try to cover not only the basic client, client-server, and n-tier applications, but also things such as XML, web services, (which is in itself confusing for many people) and smart clients (in other words, it's buzz-word-compliant). Furthermore, it extends the inter-operability of COM, allowing different languages to work together in the same executable/library, as well as across executables/libraries. blah, blah, blah, etc, etc. This is why there's a website with a link to an overview. Though the easiest way is to actually look at the SDK, or the Shared source or Mono implementations, and/or the documentation for those items.

      --
      -PainKilleR-[CE]
    15. Re:C# may not stand for long... by Anonymous Coward · · Score: 0
      Another interesting note is that all of Microsoft's .ASP scripts on microsoft.com are written in JScript. Odd that they stay away from VB as much as possible but promote it so much!

      Why is that interesting? Since IE is the only browser (that I know of) that supports VBScript it only makes sense that all of microsoft.com uses JScript instead. Can you imagine the heat MS would take if they coded their entire site in VBScript?

    16. Re:C# may not stand for long... by Anonymous Coward · · Score: 0

      If you haven't been able to figure out what the .NET framework is, then I'm sorry, but you must be really stupid. It's not worth my time explaining it to you when there are plenty of other people out there with enough of a clue to actually talk about it in a productive manner. Keep being ignorantly smug, though, i'm sure your fellow chums in the unemployment line think it's a real hoot.

    17. Re:C# may not stand for long... by AJWM · · Score: 2

      And since it only runs on Windows, hence x86, I need to produce bytecode why?

      --
      -- Alastair
    18. Re:C# may not stand for long... by cscx · · Score: 1

      Umm, FYI most ASP sites ARE coded in VBScript. It is server-side so it's transparent to the user.

    19. Re:C# may not stand for long... by zapfie · · Score: 2

      You can put security measures into bytecode you couldn't put into machine code. Also, it allows Windows to optimize for different processors on the fly.

      --
      slashdot!=valid HTML
    20. Re:C# may not stand for long... by Tablizer · · Score: 2

      (* As for all these Frameworks; can any single one of you actually describe, in under 200 words, exactly what the .NET Framework is *)

      An attempt at a multi-linguange Java clone because MS is afraid of Java, and they copy what scares them (regardless of the merit of the monster).

    21. Re:C# may not stand for long... by Anonymous Coward · · Score: 0

      So according to you, .NET is nothing more exciting than a virtual machine, and some compiler backends? Next!

    22. Re:C# may not stand for long... by Anonymous Coward · · Score: 0

      So what you're saying is "I don't know what it is either, but rather than admit my ignorance as you have, I shall act all smug and call you an idiot"

      As it happens, the Microsoft management themselves admit that they are not communicating .NET effectivly.

    23. Re:C# may not stand for long... by JamesOfTheDesert · · Score: 3, Interesting

      And since it only runs on Windows, hence x86, I need to produce bytecode why?

      So you can run it on FreeDSD or Linux using Rotor or Mono.

      --

      Java is the blue pill
      Choose the red pill
    24. Re:C# may not stand for long... by leviramsey · · Score: 2
      And since it only runs on Windows, hence x86, I need to produce bytecode why?

      Really?

    25. Re:C# may not stand for long... by bmajik · · Score: 2

      I can quite honestly say that you are wrong.

      I love VB.NET. On the scale of most flexible to least flexible, you've got managed c++, C#, and VB.NET, however, the difference in capabilities between C# and VB.NET is so miniscule that i suspect that if i were in a situation that vb.net didn't address, i'd do it in MC++ and expose it to VB.NET anyhow.

      So for me C# is the niche language - its for people that are too snobby to use VB, and does't really have any day-to-day benefits over C#.

      I happen to love the case-insensitivity, and the code-block autocompletion. Finally, the background IDE-mode compiler is fantastic.

      VB.NET is easily the most productive development tool i've ever used. For grins, I loaded up one of my old unix C++ apps in xemacs and hacked around on it. c++ on solaris with xemacs and ddd is nowhere CLOSE to the ease of use and quick turnaround from idea to debugged code, for me anyway :)

      --
      My opinions are my own, and do not necessarily represent those of my employer.
    26. Re:C# may not stand for long... by Anonymous Coward · · Score: 0

      You have some very bold assertions there:

      not capable of being explained in 200 words or less.
      Only smart people can understand it

      And, the funniest:

      the true measure of business sense is how far one's company is going to invest in .NET technologies.

      I'll tell that to the car repair workshop down the road, shall I?

      "Don't buy that new hydraulic jack you fools, only .NET technologies can guarantee your future."

      If I were you, I'd be investing in a red nose and some funny clothes. You're a natural clown :-)

      (Yeah, yeah, I know. Don't feed the trolls)

    27. Re:C# may not stand for long... by Anonymous Coward · · Score: 0

      "Luckily, .NET isn't as platform independent as Java atm, so I'll stick with my cup-of-joe. "

      there's a saying "the right tool for the right job". how important is being platform independent if the particular program you're writing will be used on just one platform? what if writing the same thing in c# is 5 times faster than in java? (actually, almost all of the functionality is in .NET Framework Class Library, not in the language itself. the same case with vb.net. your remark about converting everyone to vb.net is originating from your total lack of .net knowledge)

      feel free to stick to your cup-of-joe. i'll just program some apps 5 times faster than you. and if i'll need platform independence, i'll do write in java.

    28. Re:C# may not stand for long... by AJWM · · Score: 2

      That certainly isn't what Microsoft had in mind as its raison d'etre, was it?

      Rotor and Mono are merely opportunistic parasites in the .Net ecosystem (as Microsoft no doubt would put it), they don't justify .Net of itself.

      --
      -- Alastair
    29. Re:C# may not stand for long... by alext · · Score: 2

      But not today of course, and probably not for a long time, if ever, assuming MS hold on to their patents.

      There's a huge difference between cloning the CLR and the Dotnet Framework, that's why most serious cross-(hardware)-platform apps on Linux use Java, Python or Perl.

    30. Re:C# may not stand for long... by Pfhreakaz0id · · Score: 1

      Yeah, you really have no way of knowing what server-side language they are using on an .ASP page, without seeing the code. Most use VBscript, but many use Jscript, since they have to use it server side to support anything besides IE. but there are lots of supporting scripting engines (I know there is a perlscript, for instance).

    31. Re:C# may not stand for long... by Tepic++ · · Score: 1

      C and C++ are languages. .NET is a platform.

      Programs can be written in C and C++ on the .NET platform.

      They probably want to convert people from the Java platform to the .NET platform.

      I suspect that the platform is more relevant than the language to them.

    32. Re:C# may not stand for long... by Anonymous Coward · · Score: 0

      As for all these Frameworks; can any single one of you actually describe, in under 200 words, exactly what the .NET Framework is, what its comprised of, and why I should find it so exciting?

      "Java without the Lawsuit"

      That's what one of their PR ppl told me. The MS developers I met didn't care about C#, and the marketing droids seemed more obsessed with avoiding Java than caressing C#.

    33. Re:C# may not stand for long... by daytrip00 · · Score: 1

      Yeah, I think C# is MS's way to convert everyone to VB.NET.

      Actually, you are incorrect. I am a former VB developer who has switeched to C#. In fact, the largest number of C# adoptees has come from VB developers if i read correctly.

      The thing that draws me to C# over VB.NET is that C# gives you as much power as you need, and you never think (gollie, I wish I could do this, but I can't), and has much more terse syntax.

    34. Re:C# may not stand for long... by Anonymous Coward · · Score: 0

      Evidently, your never used the language.
      For people with C++ or Java experience, C# is an interesting evolution.

      VB.Net is mostly for current Visual Basic programmers. Nothing more.

    35. Re:C# may not stand for long... by Anonymous Coward · · Score: 0

      The Rotor folks are opportunistic parasites? Microsoft is the one who released the Rotor code to the BSD people. You might think about shutting your mouth before you continue to make a bigger ass of yourself than you already have. From the posts I see, you're batting 0 for 2 so far.

    36. Re:C# may not stand for long... by Anonymous Coward · · Score: 0

      Sorry, but he is an idiot. If by now you don't understand the kind of framework involved in Java or .NET, then you just aren't very familiar with modern-day programming. And that's okay, not everyone needs to know that -- just don't act like a jackass thinking that it's everyone else's responsibility to cater to your ignorance.


      As it happens, the Microsoft management themselves admit that they are not communicating .NET effectivly.

      Actually, as it happens, that's irrelevant. The guy asked about the .NET framework. You're talking about all of .NET that some managers said that they've not done a great job of explaining. The programming side of the equation, the framework, has been as straightforward as it gets. Bottom line is, if he's given it a look and is really confused about it, he's a dumbass.

    37. Re:C# may not stand for long... by Anonymous Coward · · Score: 0
      I listened in on a .net presentation from a MS dev guy. What impressed me was having a standardized framework for information publishers on the internet provide data to subscribers. So instead of screen scraping stock quotes or weather reports, you make an xml query and get and xml response.


      He also said that if they didn't provide the run-time environment for a platform, a 3rd party most certainly would (eg mono. Haven't heard any rumors about Solaris, though :).


      The CLR does, however, allow IJW (It just works)code, which allows you to embed native asm into your code, so you can make a .net application x86 specific, or even windows-specific.

    38. Re:C# may not stand for long... by EvanED · · Score: 2

      But like many instances of companies copying others, MS has improved on Java. I've been doing research lately on languages and their strengths and disadvantages to decide what I should do my next pet project in. I got interested in C#, and started to look into it.

      In the process, I discovered a couple articles (no obvious bias from MS) comparing C# and Java. More than convince me of C#'s merits though, I discovered 4 things lacking in Java that utterly turn me off of the language: no passing by reference, no preprocessor directives (and hence no conditional compilation), no enums, and no overloaded operators. Sure, in each of those cases it's possible to work around the problem, but in each of the cases it would make the code less readable. Also, having done C++ for a while, I feel that I shouldn't have to work around them. C# includes support for all four of these features, while still fixing most of the problems that I suspect led Java's developers to not include them.

      Now, whether the benefits I see in the language of C# outweigh the drawbacks of it being MS (if you see it that way) is a matter of opinion. For me, I'm going with C# for stuff I write for Windows, but will stick with C++ for things I want to be cross-platform.

    39. Re:C# may not stand for long... by neight9 · · Score: 1

      And since it only runs on Windows, hence x86, I need to produce bytecode why?
      You can do all kinds of funny obfuscation in bytecode that you can't do otherwise, like naming variables "if", "for", "while", "else" "class" and so forth. makes for very-hard-to-read decompiled code.

      --
      ceci n'est pas une sig.
    40. Re:C# may not stand for long... by Anonymous Coward · · Score: 0

      "He" is "me" is also the parent poster.

      Now, first of all, no, I don't understand the framework involved in Java or .NET (Beyond the basics; compile to bytecode, JIT compilation on VM's etc.) I never asked anyone to "cater to my ignorance" though; I asked if anyone can explain what .NET is in under 200 words. So far, I've seen one or two responses which have clarified parts of .NET for me. Most of the responses, though, have either been "Well, I don't really know either" or out and out flames along the lines of "Oh my God! You don't know! You're an idiot!" Now, excuse me, but knowledge is relative. I doubt many people here who are calling me an idiot know much about telecoms networks infastructure, but I don't run around calling people morons just because they dare to ask me about PDH networks, or what a BTS. I mean, if some people need to make themselves feel special and engage in a dick swinging contest, they're welcome to it. I just want to know.

    41. Re:C# may not stand for long... by Anonymous Coward · · Score: 0

      Thanks. You're about the only person here who has actually managed to clarify .NET for me. Its esentially a catch all setup for distributed computing (Buzzword compliant indeed), and they're taking the opourtunity to "fix" Win32 & COM while they're at it, yes?

    42. Re:C# may not stand for long... by broody · · Score: 2, Informative

      As for all these Frameworks; can any single one of you actually describe, in under 200 words, exactly what the .NET Framework is, what its comprised of, and why I should find it so exciting? ...

      Will anyone take the challenge, I wonder?


      Don't confuse this with advocacy, .Net is a a know they enemy technology. Below you will find my 188 word summary. Comments and corrections are welcomed. I think Passport.NET has been canned but I am not certain.

      Microsoft.NET is a product, note not a standard, intended to develop enterprise class web services. Microsoft.NET is comprised of ASP.NET, .NET managed components, and Host Integration Server, with additional hooks for SQL Server, Passport.NET, Exchange, Commerce Server, Application Center, etc. ASP.NET can render interfaces in HTML, XHTML, XML or using Windows forms.

      Microsoft.NET is mostly a rewrite of Windows DNA with enhanced language support and web services. The primary 'benefit' is language independence and inter-operability. The .NET framework includes the Common Language Runtime (CLR) which operating as an intermediary layer providing automatic garbage collection, cross-language inheritance, and concurrent execution of different versions of a .NET component. It also provides SOAP, WSDL, UDDI support for web services and will soon support ebXML.

      There are several pluses for the Mircosoft.NET framework and a great deal of draws with J2EE. The programming model is simpler than J2EE. The .NET framework provides language neutrality rather than forcing you to treat other languages as separate applications. Both .NET and J2EE require training, can create enterprise web services today, offer scalable enterprise solutions, and are available on the low end.

      --
      ~~ What's stopping you?
    43. Re:C# may not stand for long... by Anonymous Coward · · Score: 0

      if (x) for any static final x gives you conditional compilation, with the advantage that you don't have to rewrite them all (in a less brain-damaged but different syntax) if and when you decide to make it a run-time option.

    44. Re:C# may not stand for long... by Anonymous Coward · · Score: 0

      Why are we supposed to be impressed with SOAP? It's just like RPC but slower. There's nothing there we weren't doing two decades ago, except that everything is encoded in SGML For Dummies instead of something efficient or even readable.

    45. Re:C# may not stand for long... by kingkade · · Score: 1

      The interop capabilities of .NET seemed stupid to me at first but is important for a couple reasons:

      - It allows you to slowly merge (write wrapper classes for) your old code in COM/DLL nightmare and,
      - Interop allows people to write a (albeit platform-dependant) wrappers around libraries to extend the framework without having to wait for MS to add the needed functionality.

      An example of the latter would be the CsGL (C# interface to OpenGL).

      Now this is OK until people abuse it and never eventually port over their code entirely to .NET and thereby miss the whole point of "portability".

      As far as portability, I am disappointed that MS decided to make WinForms so similar to the Win32 UI programming, but I think the success of .NET hangs on the success of Mono.

    46. Re:C# may not stand for long... by km790816 · · Score: 2

      I'm glad you enjoy it.

      I wasn't saying that VB will die. I was saying that C# will not.

      You make excellent points, but I like curly braces. :-)

    47. Re:C# may not stand for long... by jcast · · Score: 1

      I doubt it.

      1. MS started doing Basic, still does Basic, and will always do Basic.

      2. We constantly hear about macro packages (especially in Excel), databases, that don't work in Linux. If MS dropped Basic from .NET, I doubt they'd work there either. A Bad Thing.

      3. In any case, I can't see using (or advocating) a C-derivative as a macro language. C is just to hacker-oriented, even syntacticaly, C# certainly picks that up.

      (Btw., even RMS understands users need a user language; in the post announcing Guile he said GNU would have an algebraic language, as well. If RMS gets this, I'm sure MS does.)

      --
      There are reasons why democracy does not work nearly as well as capitalism.
      -- David D. Friedman
    48. Re:C# may not stand for long... by jcast · · Score: 1

      Well, they were both designed around .NET. VB.NET simply happens to descend from a prior language (unlike C# :)

      --
      There are reasons why democracy does not work nearly as well as capitalism.
      -- David D. Friedman
    49. Re:C# may not stand for long... by Zeinfeld · · Score: 2
      You can have my C compiler when you pry it from my cold, dead, fingers.

      Well I said that when I looked at C++. I mean bleeuurgh!

      If you have a good set of macros to deal with memory management, string allocation etc then C is still pretty good. The noce thing about C# is that you get all that without having to lose any of the traditional C ways of doing things.

      Thing about Java was that I always got the feeling I was somehow being preached at and told the 'right' way to do things, and if it was not 100% pure then you get cast into the pit of hell etc. If the Christian Coalition wrote a language it would be like Java.

      --
      Looking for an Information Security student project suggestion?
      Try http://dotcrimeManifesto.com/
  4. C# for non-java developers? by Winterblink · · Score: 1

    This is a great review of a book from the perspective of a Java developer, but has anyone on /. reviewed a decent book teaching the language (period)?

    --
    "I'm a leaf on the wind. Watch how I soar."
    -Hoban Washburn
    1. Re:C# for non-java developers? by Strudelkugel · · Score: 1


      Have a look at "Professional C#" published by Wrox, and "Programming Microsoft Windows with C#" by Charles Petzold. I'd recommend any book by Petzold, though!

      --
      Imagine how much harder physics would be if electrons had feelings! -Feynman, maybe
    2. Re:C# for non-java developers? by Aeron56 · · Score: 1

      2 books that I recommend if you want to learn C# specifics. 1) "Programming C#" , O'Reilly - An Excellent base language primer. 2) "Programming Microsoft Windows with C#", Charles Petzold. - This is sort of a "how to" book to program actual windows apps. Between the two of them, they touch on nearly all that a C# developer would need to start.

    3. Re:C# for non-java developers? by Winterblink · · Score: 1

      Thanks man. I'll check out that O'Reilly book, I already have a decent windows programming background so I probably won't bother much with the second. If it's good I might pick up a copy.

      --
      "I'm a leaf on the wind. Watch how I soar."
      -Hoban Washburn
    4. Re:C# for non-java developers? by EvanED · · Score: 2

      The "Programming C#", as well as the "Professional C#" by Wrox mentioned in another post seem to be the two forerunners. Both have very good Amazon reviews, and both have several people who reccomend the other (while for the most part still conceding both are very good). Which you get seems to be more a matter of taste than anything else. If you're wondering, I just got the Wrox press one a couple weeks ago. I picked it because it has a bunch more pages. (Hey; I needed a tie-breaker, and that's a little better than a coin flip.)

      I do reccomend the Petzold though. (I got that in the same shipment.) If you're not familiar with Windows Forms and want to do client programming for Windows, you'll almost need it. The Wrox Press book gives an intro on WinFoms (the O'Reilley appears to as well from a listing of topics on Amazon), but if you do any serious development you'll want a dedicated book. (It's expensive though; order it online for a lot less; it's $60 retail, but I paid $42 on Amazon. I believe other OL places have similar deals.)

  5. Assembly: Why It Will Replace C++/Java by Anonymous Coward · · Score: 0, Funny

    Gentlemen,

    Computing is a fast-paced field. What was cutting edge yesterday is as outdated as a pet rock today. Newer, more efficient technologies are always being developed. The 8" floppy gave way to the 3.5" floppy which was later replaced by the CD-R. The acoustic modem eventually yielded to the DSL/Cable modem. Unix was overtaken by Windows XP. And so on.

    The same technology also applies to programming languages. C yielded to C++ which gave way to C#. However, the time has come for a complete paradigm shift in programming. I propose a de facto migration towards a relatively new, but promising language known as assembly.

    Most of you are probably unfamiliar with this langauge. I know I was until I chanced upon it in my community college while completing my MCSE. So allow me to give you a little background on this language:

    C++ and Java do not allow the programmer to directly access the hardware. Instead they compile into a "bytecode" which is then interpretted by a virtual machine. While very portable, this limits the speed of Java and C++ programs.

    Assembly, however, was designed to allow the programmer *direct access* to the hardware! This makes for *much* faster programs.
    Furthermore, assembly is the same language "spoken" by computers.
    Because of this, you may sometimes see assembly referred to as "machine code".

    I fear that without the support of a large corporation (the way MS has pushed Java, or Sun supported C#) assembly will fall by the wayside like many other interesting languages (Python, I'm looking at you!) Thus I hope to start a "grass-roots" movement to support assembly. I would like to see the FSF release a GNU-based assembly compiler (although they can keep the bugs that have plagued the 3.0 release of gcc which caused people to switch to Visual Studio for their Linux programming.)

    I would love to expound on the superiority of assembly over C++/Java but I'm late for my "Intro to TCP/IP" class. Those of you familiar with assembly, please feel free to educate the many ignorant C/C++/Java users on the glory of this superior language.

    Thank you and God bless!

    1. Re:Assembly: Why It Will Replace C++/Java by cscx · · Score: 1

      Okay, since when has Steve Gibson been posting on Slashdot?

    2. Re:Assembly: Why It Will Replace C++/Java by cpex · · Score: 1
      >However, the time has come for a complete paradigm shift in programming

      hey assembly is where it started. and a lot of people still use assembly. Just when your trying to write a full application assembly will just simply take to fricking long but it great for those tiny segments

      >C++ and Java do not allow the programmer to directly access the hardware. Instead they compile into a "bytecode" which is then interpretted by a virtual machine. While very portable, this limits the speed of Java and C++ programs.

      Ok first of while java is compiled into byto code, C++ is compiled to machine code. Also in C/C++ you can wirte inline assembly to really make some core parts of your code fly.

      >(the way MS has pushed Java, or Sun supported C#)

      are you backwards?

      >I would like to see the FSF release a GNU-based assembly compiler

      already there.

    3. Re:Assembly: Why It Will Replace C++/Java by Anonymous Coward · · Score: 0

      You are a fucking moron! You didn't notice that the parent post was a troll?!! Jesus fucking Christ, how stupid are you? I have reviewed a few of your other posts and, while I did realize that you're a fucking moron, I was going to give you some credit for at least being able to form sentences. But frankly, after you missed the entire point of the parent post and took the entire thing seriously, I wonder who is putting together your sentences. You sure as fuck don't have the brain capacity to do it. You're a jackass. My feces will soon squirt out of my asshole at your face, you FUCK. (Note: I will be checking your other posts to insult any further stupidity you have displayed on Slashdot, assclown.)

    4. Re:Assembly: Why It Will Replace C++/Java by Zico · · Score: 2

      Couldn't have been Steve Gibson, UNLESS! Unless someone has DEVIOUSLY edited his post and STOLE all his capitalized words. The REAL Steve Gibson would NEVER have made such an unexciting post. HUZZAH!

    5. Re:Assembly: Why It Will Replace C++/Java by cpex · · Score: 1

      I knew it was a troll but sometimes I feel the need to correct disinformation. Besides what do you care if I respond to a troll my god, do you not have anything better to do than (oops I am responding to a troll again.. damn it) nevermind

    6. Re:Assembly: Why It Will Replace C++/Java by jez_f · · Score: 1

      K I know the original post was either a moron or a troll but I cant see a little mistake and not correct it. > assembly is the same language "spoken" by >computers. >Because of this, you may sometimes see assembly >referred to as "machine code". No. Machine code and Assembly language are different things. machine code is just bytes and is more or less impossible to program in. Assembler uses aliases for machine instructions variables etc, so it is much easier to program in (than machine code). >I would like to see the FSF release a GNU-based >assembly compiler Unless I am getting very old that would be called an Assembler. Compiling is a different process to Assembling. Not sure if I would call assembler a superior language but if you are writing low level enough C and you know what you are doing it can speed things up (it can also mess things up big time if you don't know what you are doing).

  6. The book has one page. by spiro_killglance · · Score: 1, Flamebait

    And that that page reads:

    C# for java developers:

    Please Stick to Java. Don't sell you soul
    to mickysoft.

    1. Re:The book has one page. by junkpunch · · Score: 1

      Please Stick to Java. Don't sell you soul
      to mickysoft.


      Exactly. Sell it to Sun instead, because that is better.

    2. Re:The book has one page. by Razzy · · Score: 1

      Okay, I can't take it anymore. No one on slashdot knows the difference between your and you're. In a post body, fine, I won't nitpick. But in a sig? Don't even get me started on the different forms of there. These are things even engineers should know.

    3. Re:The book has one page. by Anonymous Coward · · Score: 0

      drop dead

    4. Re:The book has one page. by Dalcius · · Score: 1

      Better to be a minion than a caged slave.

      --
      ~Dalcius
      Rome wasn't burnt in a day.
    5. Re:The book has one page. by Anonymous Coward · · Score: 0

      Also see "Don't sell you soul".

    6. Re:The book has one page. by Anonymous Coward · · Score: 0

      ok I have just one thing to say here : Java is just a programming language... just like any other, even C#. Choose the language that suits the project , not the programmer or his believes. Dont get me wrong I like Java very well , as a programming language, not as a cult.

    7. Re:The book has one page. by Anonymous Coward · · Score: 0

      Well, the money seems to be better for Java developers anyway.

    8. Re:The book has one page. by plugger · · Score: 1

      I tend to make the you/your mistake though. Its usually a typing rather than grammatical error.

    9. Re:The book has one page. by Anonymous Coward · · Score: 0

      Doh! I skipped the apostrophe on it's, thinking it was a possessive pronoun.

  7. Terrarium by killthiskid · · Score: 3, Interesting

    The thing that finally got me to play with C# was Terrarium. Players create 'creatures' which then compete in a peer-to-peer set of virtual terrariums. You can create plants, herbivores, or carnivores. It was quite fun (in a super geek way) and VERY challenging.

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

      http://robocode.alphaworks.ibm.com/home/home.html

  8. Refreshing indeed by Anonymous Coward · · Score: 2, Interesting

    "... very balanced and does not hype up C# at the expense of Java -- throughout the book there are places where the authors say that "Java is better at this" or "We have no idea what the C# designers were thinking."

    Try finding that balance in a Java book, most of which devote all of Chapter 1 to a buzzword parade and list of Java perks (prevents bugs, write once run anywhere, cures baldness, etc).

    1. Re:Refreshing indeed by Corporate+Troll · · Score: 1
      prevents bugs, write once run anywhere, cures baldness, etc

      Hey, but Java cured my baldness! Since I started programming in Java hair has been thriving on my head again!
      However, I must admit that Java is a bit low on the "prevent bugs" and "write once run anywhere" things...but to avoid baldness it's clearly there!

    2. Re:Refreshing indeed by Kubla+Khan · · Score: 1

      try reading bitter java (not an anti java book, just a practical and realistic one), I believe theres a free pdf of the book on theserverside.com. Its full of nothing but descriptions of problems with java.

      --
      "In Xanadu did Kubla Khan a stately pleasure dome decree"
    3. Re:Refreshing indeed by Anonymous Coward · · Score: 0

      The link to the book is there, but it's broken. Bummer.

  9. Java developers should use J#, no? by Anonymous Coward · · Score: 1, Interesting

    J# for .NET is there (its installable already) for Java developers to leverage their Java knowledge in order to create managed applications for deploying on the .NET framework.

    Use that.

    1. Re:Java developers should use J#, no? by Jugalator · · Score: 3, Interesting

      Yep, that's also the #1 reason to use it according to MS.

      However, syntax is often the easiest thing to relearn when switching language. Often much easier than to relearn an entire API. And since J# use the .NET Framework (and only the .NET Framework - it doesn't even run a VM) you could just as well go for C#. It's not *that* hard of a transition to relearn at all. For me, it was enough with some tutorial browsing on the internet to get into C# with a couple of years of Java experience since earlier.

      --
      Beware: In C++, your friends can see your privates!
    2. Re:Java developers should use J#, no? by Anonymous Coward · · Score: 0

      Since API is important, J# will suport Java 1.1 which is far less than we expect. Almost the same thing as I.E. bogus VM.

    3. Re:Java developers should use J#, no? by Jugalator · · Score: 2

      Ah - didn't know that.. But you're right about it's pretty useless support in many cases. Or as useful as IE's "VM" in any case.

      --
      Beware: In C++, your friends can see your privates!
    4. Re:Java developers should use J#, no? by Raiford · · Score: 1
      J# gets my vote. So Java has some ill-conceived things about it. It's like my bad habits. I like some of my bad habits. They are familiar to me. Why should I dispose of them just to acquire just a different set of bad habits. And so goes C# ...

      --
      "player 4 hit player 1 with 0 stroms"
    5. Re:Java developers should use J#, no? by tshak · · Score: 2

      I agree with you. I think that J# was probably a huge waste of time and money for MS.

      --

      There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
    6. Re:Java developers should use J#, no? by Anonymous Coward · · Score: 0

      No! The only reason Microsoft produced the J# add-on is to help [b]migrate existing MSVJ++ applications[/b]. Remember, Microsoft isn't allowed per it's agreement with Sun to produce any product beyond the Java 1.1 spec so using J# for new development would be pretty foolish.

      For any new development, Microsoft recommends C#. C# is similar enough in concept and syntax to Java that any developer worth his/her salt should be able to transition to it.

  10. Wow- C# review on Slashdot? by glh · · Score: 3, Insightful

    I'm really suprised by this (especially with the book being from MS) but I think it is a nice to see on Slashdot.

    C# really is a nice language. It is more powerful than other .NET languages (such as VB.NET) because it allows you to write unsafe code (ie, code that doesn't have to go through the garbage collector). Not that most MS programmers will need this capability, but its nice to have if you need the extra performance over maintainability/safety.

    C# also gives you the ability to write XML comments in your code that can be parsed by the compiler to generate documentation. There is also an open source project called "NDOC" (hosted on Source Forge) that lets you generate really cool and helpful docs.

    However, the majority of Slashdot readers probably don't care how C# is better than other .NET languages. The real question is- how does it compare with Java. Honestly, I believe there are some differences in syntax and power, but I don't know the details (as I am not that experienced with Java) but it would seem this book could help answer that question. I plan on taking a look at this book. Thanks for the review, and again- nice to see this kind of thing on Slashdot!

    1. Re:Wow- C# review on Slashdot? by Anonymous Coward · · Score: 0

      The acid test is the ability to compile a kernel with it.

    2. Re:Wow- C# review on Slashdot? by Kynde · · Score: 1, Flamebait

      C# really is a nice language. It is more powerful than other .NET languages (such as VB.NET) because it allows you to write unsafe code (ie, code that doesn't have to go through the garbage collector). Not that most MS programmers will need this capability, but its nice to have if you need the extra performance over maintainability/safety.

      Where do these people come from?

      C# also gives you the ability to write XML comments in your code that can be parsed by the compiler to generate documentation. There is also an open source project called "NDOC" (hosted on Source Forge) that lets you generate really cool and helpful docs.

      Some people really know not just where do we want to go tomorrow, but also where we've been for years now.

      Honestly, I believe there are some differences in syntax and power, but I don't know the details (as I am not that experienced with Java) but it would seem this book could help answer that question. I plan on taking a look at this book. Thanks for the review, and again- nice to see this kind of thing on Slashdot!

      Ah, now I get it. Mickeysoft's PR/marketing person making a fake appearance in Slashdot. Thank god, and I thought this was for real...

      --
      1 Earth is warming, 2 It's us, 3 it's royally bad, 4 we need to take action NOW
    3. Re:Wow- C# review on Slashdot? by Graspee_Leemoor · · Score: 1

      " The acid test is the ability to compile a kernel with it."

      Horses for courses. There are languages I'd want to use for writing a kernel, and other languages I'd want to write dumb-ass business apps in.

      I would NOT want to write business apps in a mixture of c and asm for example, nor would I want to write a kernel in lisp.

      graspee

    4. Re:Wow- C# review on Slashdot? by alapalaya · · Score: 1

      Honestly, I believe there are some differences in syntax and power, but I don't know the details.

      (just my 2cents).
      Basically C# and Java have the same expressing power (same Object model, same use of inheritance, interfaces and so on...).
      Apart from what is given to the programmer by a class library, the only real difference is in the use of "delegates" which in Java are implemented using ActionListeners; you have the same expressing power, but C# is a little easier.
      Moreover C# is easier also wrt web services development (see [Web Method]).

      Basically C# is a little more compact, anyway keep in mind that Java (for now), is more robust and more suited for Enterprise application. .NET as a framework is still not mature enough... but it's wise to keep an eye on it. It's a very well designed framework.

      --
      667 The Neighbour of the Beast
    5. Re:Wow- C# review on Slashdot? by FortKnox · · Score: 0, Offtopic

      I was fully prepared to argue points with you, until I read this:

      Ah, now I get it. Mickeysoft's PR/marketing person making a fake appearance in Slashdot

      Now I know that this comment is a troll, and you are a anti-MS fanatic, so there is no point in arguing with you. If MS opened up all their sources, and open source gurus made it the perfect OS, secure, user friendly, and everything, you still wouldn't use it, would you?

      --
      Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    6. Re:Wow- C# review on Slashdot? by Jugalator · · Score: 2

      In a one sentence summary of the difference between Java and C#: C# is like Java with convenient C++ extensions such as structs, enumerations, multiple inheritance, but also with some of the problems of C++ like unsafe code.

      There's of course much, much more to it like the .NET framework's focus on web services, XML and other things.

      What I personally like most with C# is this:

      - Isn't a "layer" above another language, like C++. Clean.
      - The ease of use of Java with much of the power of C++.
      - Many annoying shortcomings in Java are fixed while preserving invaluable support for things like garbage collection.

      I'm not advertising VS.NET by this in any way. Always remember that *nix (and Windows!) users can go with the Mono project to get the C# language with platform independence, while still not supporting Microsoft if that's a concern. ;-) Unless they get tempted by the devil so to speak and switch to VS.NET of course. :)

      --
      Beware: In C++, your friends can see your privates!
    7. Re:Wow- C# review on Slashdot? by Anonymous Coward · · Score: 0

      Listen mcfly, I've been doing professional linux development for 5 years now and I think that c# and the whole .NET concept sans passport is a great idea.

      If you don't like "Mickeysoft"(god, are you a fucking juvenile), then check out mono.

      Maybe one day you'll take off your slashdot blinders and be able to look at things objectively.

    8. Re:Wow- C# review on Slashdot? by Anonymous Coward · · Score: 0

      C# really is a nice language. It is more powerful than other .NET languages (such as VB.NET) because it allows you to write unsafe code (ie, code that doesn't have to go through the garbage collector). Not that most MS programmers will need this capability, but its nice to have if you need the extra performance over maintainability/safety.


      Doesn't anyone else see the comedy within that remark?

    9. Re:Wow- C# review on Slashdot? by grungeKid · · Score: 1


      C# really is a nice language. It is more powerful than other .NET languages (such as VB.NET) because it allows you to write unsafe code (ie, code that doesn't have to go through the garbage collector). Not that most MS programmers will need this capability, but its nice to have if you need the extra performance over maintainability/safety.


      No, C# doesn't allow you to write unsafe code, you have to use C++ for that. What's new about C++ in the .NET framework is that it allows you to mix safe ("managed") code with unsafe code. In managed mode, it's a rather castrated C++ (particularly the lack of templates), but with the niceties of GC.

    10. Re:Wow- C# review on Slashdot? by glh · · Score: 2

      I'm not advertising VS.NET by this in any way. Always remember that *nix (and Windows!) users can go with the Mono project [go-mono.com] to get the C# language with platform independence, while still not supporting Microsoft if that's a concern. ;-) Unless they get tempted by the devil so to speak and switch to VS.NET of course. :)

      I'm excited about the mono project. I hope it comes to fruition and can keep up. It would be nice to see what kind of development tool (if any) will be available on the linux platform. VI just doesn't do justice. Emacs might do the trick, but I like intellisense like VS.NET has (but I hate a lot of the nuances that come with it)

      I'd like to see some open source editors come out that could be used on different platforms. I wonder if anyone is working on that? I've used WebMatrix, not sure if that is open source, but it is free. There is also a free one called "Sharp Edit" but no auto complete, at least not the last time I checked.

    11. Re:Wow- C# review on Slashdot? by glh · · Score: 3, Interesting


      No, C# doesn't allow you to write unsafe code, you have to use C++ for that. What's new about C++ in the .NET framework is that it allows you to mix safe ("managed") code with unsafe code. In managed mode, it's a rather castrated C++ (particularly the lack of templates), but with the niceties of GC.


      You can write UNSAFE CODE with C#. Yes, it is mixed in, but it is still unsafe code. See this article for reference.

      I never said it runs outside the CLR, just the GC.

    12. Re:Wow- C# review on Slashdot? by iabervon · · Score: 2

      It's more powerful than other .NET languages because the CLR is designed for C#, which means that all of C# is supported. Other .NET languages are the part of the original language that is possible with the CLR; that is to say, .NET languages are like real languages, except without the features which would make them better than C# for some uses.

    13. Re:Wow- C# review on Slashdot? by spiro_killglance · · Score: 2

      also gives you the ability to write XML comments in your code that can be parsed by the compiler to generate documentation.

      Thats not exactly new, that the same feature
      as Javadoc did for java since version 1.0

    14. Re:Wow- C# review on Slashdot? by Zico · · Score: 1

      Give #Develop a try (www.icsharpcode.net/OpenSource/SD/default.asp). It's pretty nice, even though they took auto-complete out of the latest release. You could get the one prior to 0.89 if you're really needing auto-complete now. Otherwise, it's just a temporary removal while they work to implement a better auto-complete system -- I didn't think the old one was all that bad, but I think they wanted a more extensible system. It's GPL'd, which I think is dumb, but I realize that a lot of people here think it's a good thing. Give it a try sometime.

    15. Re:Wow- C# review on Slashdot? by coopaq · · Score: 1
      ...because it allows you to write unsafe code (ie, code that doesn't have to go through the garbage collector). Not that most MS programmers will need this capability...

      Are you implying that MS coders can write unsafe code without any special help?

      :)

    16. Re:Wow- C# review on Slashdot? by fredrik70 · · Score: 1

      sometimes you wanna drive fast without a helmet - where's your balls!!?? ;-)

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    17. Re:Wow- C# review on Slashdot? by Anonymous Coward · · Score: 0

      The CLR was not designed for C#, it was designed to execute MSIL, the intermediate language that all .NET compilers generate.

    18. Re:Wow- C# review on Slashdot? by Anonymous Coward · · Score: 0

      FYI: Check out Apache Axis . You can public your .java file directly as a soap service.

    19. Re:Wow- C# review on Slashdot? by grungeKid · · Score: 1

      My bad -- I wrongly associated "unsafe code" with pointer arithmetic and similar stuff, the kind of things you cannot do in managed C++.

    20. Re:Wow- C# review on Slashdot? by Anonymous Coward · · Score: 0

      and web did it for pascal 20 years ago.

    21. Re:Wow- C# review on Slashdot? by Anonymous Coward · · Score: 0

      I'd find it a bit odd that C# would allow you to do pointer arithmetic via the unsafe {} keyword (which basically breaks you out to C++ code at that point) and C++ w/ managed extensions wouldn't.

    22. Re:Wow- C# review on Slashdot? by Anonymous Coward · · Score: 0

      The unsafe code article looks like it was written by one of the Slashdot editors. Jesus, what a bunch of fucking retards.

    23. Re:Wow- C# review on Slashdot? by iabervon · · Score: 2

      And MSIL has exactly the features that C# uses, and lacks the features needed for complete implementations of other languages. Whether the issue is the CLR or the bytecode it uses is splitting hairs.

    24. Re:Wow- C# review on Slashdot? by Anonymous Coward · · Score: 0

      MSIL was designed to support C#. That's why other languages have to be crippled (down to C# with some other syntax) to run on CLR. Witness "Eiffel#", which leaves out the global contract enforcement and inheritance support that make Eiffel worth using.

  11. C# the only real choice by Anonymous Coward · · Score: 2, Funny

    The thing that makes C# so much better than Java is that there are so many free Java VMs and development tools. If you want a VM for Java, all you have to do is go out to blackdown.org and download one. Well, what does that say about the quality of the language? Back when I was a wee pup we had a phrase, "you get what you pay for." Well, at least C# development tools cost a fair amount, to me that suggests that it is a much better language. After all if Java was so good they wouldn't be giving it away for free.

    Also with the upcoming war on Iraq it's best if we're all patriotic and support our country's companies with our hard-earned dollars. Why, if you use Java, you might as well hang an Iraqi flag in your yard and wear a Republican Guard uniform to work every day. That's how important this is. Don't you Java developers feel ashamed of yourselves? I would.

    1. Re:C# the only real choice by Anonymous Coward · · Score: 0

      Also with the upcoming war on Iraq it's best if we're all patriotic and support our country's companies with our hard-earned dollars.

      Why? Is Microsoft going to be paying for this war...or merely profiting from it? If you really want to be patriotic, tell your representative that government should be using free software instead of giving money to convicted monopolists. Imagine how many patriot missiles we can buy with the savings! :)

    2. Re:C# the only real choice by devleopard · · Score: 1

      Your statement makes absolutely no sense. C#'s VM/compiler is free as well - you can download the .NET framework for free, and it includes a command-line compiler. The IDE costs money, but so do many Java IDE's. You're the one who should feel ashamed of yourself.

      --
      The best thing about a boolean is even if you are wrong, you are only off by a bit.
    3. Re:C# the only real choice by Anonymous Coward · · Score: 0

      What have you been smoking? You can also download the .net framework for free, and what about Mono?? Does that make them terrorists of the world. Personally I've used both languages, and Java is still my favorite, but hey this is America, and freedom of choice is what we're all about.
      Don't hurt your ears when you pull your head out.

    4. Re:C# the only real choice by stevet96 · · Score: 1

      Funny since you can download the .NET framework and SDK for free. Oh did I mention that you can also download a free C# command line compiler as well. Go back to school apparently you missed something while you were a pup.

  12. C# not so bad folks by Anonymous Coward · · Score: 1, Insightful

    C#/.NET is actually a good thing and Visual Studio.NET is a wonderful product if a bit buggy. .NET to me is the development enviornment including the IL, class libraries, and framework. Since M$ can't define it, I will. =) That said Java is also an excellent technology and I use both in my work. Usually the client already has a preference for one inane reason or the other so I simply work with what they like. The problem with both of these is the learning curve for the library classes.

    I would urge slashdot readers not to reject out of hand (even though we're really good at it) the possible benefits of this technology. BTW, I abso-freaking-lutely hate the manner in which Microsoft has conducted itself over the last 5 years or so and think that they should be punished by the courts for anti-competative practices against small companies, in the event you believe me a Bill-zombie.

    1. Re:C# not so bad folks by e2d2 · · Score: 2

      Isn't it sad that you have to qualify any statement that might make it seem like you actually like something Microsoft has created? I find myself qualifying anything related to MS that might seem positive with the same type of qualifier: "I'm not a MS drone" etc...

      Sad really

    2. Re:C# not so bad folks by Anonymous Coward · · Score: 0

      Blame the creators of the misery and not its critic friend. Then you won't be sad..you'll be happy-happy.

  13. Java Security Papers by Anonymous Coward · · Score: 0
  14. The Canonical C# for Java Developers Article by Carnage4Life · · Score: 5, Informative
  15. What was wrong with J# for Java users? by SadatChowdhury · · Score: 3, Informative

    If anyone wants to port Java application to .Net platform, wouldn't it make more sense to use J#? With .Net's language insensitive nature, C# vs J# should not matter, and so J# would naturally make more sense to someone wanting to attempt to port a Java application into the .Net platform.

    1. Re:What was wrong with J# for Java users? by FortKnox · · Score: 1

      J# is for backward compatability with J++ (which isn't "exactly" java). The goal of MS is to get Java users to run C# (honestly, being a J2EE developer, if I was to write in a .NET language, it would be C#).

      --
      Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    2. Re:What was wrong with J# for Java users? by pboulang · · Score: 1

      Specifically C# and VB.NET compile down to exactly the same code, however not all languages are as isomorphic. I suggest that the C# and J# implementations under .NET are significantly different, and I would imagine that C# would come out faster in the end (flagship language and all that)

      --

      This comment is guaranteed*

      *not guaranteed

    3. Re:What was wrong with J# for Java users? by Jugalator · · Score: 2

      It would make more sense, but the majority of work would remain due to the differences in the Java Framework vs the .NET Framework.

      But, yes, it would probably help a bit. ;)

      --
      Beware: In C++, your friends can see your privates!
    4. Re:What was wrong with J# for Java users? by PainKilleR-CE · · Score: 1

      If anyone wants to port Java application to .Net platform, wouldn't it make more sense to use J#?

      The simple answer would be that J# wasn't hyped as much as C#, and overall probably won't be as well supported, and isn't part of an international standard. For the quick & easy switch J# is probably best, but some people may want to learn C#, and if they're already a Java developer than something like this may help them. Personally, I haven't really messed with J# much, but it would be the first place I looked if I wanted to convert Java code, even though I'm fairly familiar with C# and am aware that MS makes tools available to convert existing Java code to C#.

      --
      -PainKilleR-[CE]
    5. Re:What was wrong with J# for Java users? by jsse · · Score: 1

      We still remember the choas in an attempt to develop platform independent apps with J++, just put the ++ a little bit closer doesn't erase fear. :)

    6. Re:What was wrong with J# for Java users? by Anonymous Coward · · Score: 0

      The big difference between C# and J# is that J# comes with it's own bulky runtime that represents the entirity of the JDK that Microsoft implemented in Visual J++ 6.0 rewritten in .NET. That's quite a few classes, which weighs in at roughly 7-8 MB. The advantage is that any program written in Visual J++ 6.0 should be able to compile with no changes.

    7. Re:What was wrong with J# for Java users? by Anonymous Coward · · Score: 0

      As I understood it (from a MS developer I chatted with a while back) J# was a CLR targeted complier with as much of the JFC functionality stuffed into a microsoft namespace (like Microsoft.CShape, Microsoft.VisualBasic, etc) that just was a wrapper to the equivalent .NET API call.

  16. security? by sirius_bbr · · Score: 0

    ... but chapters cover areas such as threading, security and networking

    Hmm, since when do they care about that ;)

    --
    this sig has intentionally been left blank
    1. Re:security? by RebelTycoon · · Score: 1

      They do... Its just an advanced topic, so if you are a beginner... Don't worry about it... Publish your stuff to the web.. Since you are only a beginner, we'll cover that next week.

      The problem is some "professionals" are really beginners...

  17. Not so strange... by Anonymous Coward · · Score: 0

    It might seem strange to review a C# book on Slashdot, especially one published by Microsoft

    A few years ago, this would have seemed strange, but with the proliferation of Microsoft banner ads on Slashdot, I've actually been wondering why we don't see more stories like this.

    I'm not sure whether I like it or not... I have no special hatred for Microsoft. In fact, I like them more than I like VA Software (LNUX). But it is kind of sad to see Slashdot become yet another Microsoft-sponsored tech site.

  18. Aw! What a CUTE lil troll! by Anonymous Coward · · Score: 0
    Unix was overtaken by Windows XP. And so on.


    Makes me wanna just pinch those shiny lil apple cheeks of yers.

    Now go play in the freeway.
  19. Good starting point online by km790816 · · Score: 3, Interesting

    A Comparative Overview of C#

    This is a great site. If anyone wants to learn C# coming from a C/C++ or Java background I send them here. Shows source in all three languages (where applicable). Good place to start.

    I must say I was a hard-core Java fan until I found C#. I must qualify that statement since I develop exclusively for Windows.

    If you write code that will only live in the Windows world, you owe it to yourself to check out C#/.NET.

    1. Re:Good starting point online by Kynde · · Score: 4, Insightful

      This is a great site.

      After a first glance I saw :

      This is typical code you might write in Java or C++:

      foo.setSize (getSize () + 1);
      label.getFont().setBold (true);

      The same code you would write like this in C#:

      foo.size++;
      label.font.bold = true;


      Now, if that isn't biased crap then I must be the guy bending over at goatse.cx. The rest of the article goes on in much the same way.

      I just knew it. For C/C++ coders C# is what Windows is to a proper OS users. It may be easier if you're a numwit, but I'm quite sure that the design is rigid and quite quickly you'll wind face to face with some illogicality or utter impracticality. And there you are... not happy as a clam, but happy as a lion with a hedgehog rammed up in it's butt.

      If you're now thinking "well, C++ is flawed, too" the you've missed the point or you only think you know C/C++. There's a big difference in knowing and mastering and my guess is that that in particular will be the problem with C#, as with all other Mickeyware.

      --
      1 Earth is warming, 2 It's us, 3 it's royally bad, 4 we need to take action NOW
    2. Re:Good starting point online by jmauro · · Score: 1

      One would think an unbiased compairson would find something java does better than C#. Also, I'm less than trustworth of the article because in the first point it fails to understand the functionality of Java Fields and how they compair to C# Properties.

    3. Re:Good starting point online by scrytch · · Score: 1

      Now, if that isn't biased crap then I must be the guy bending over at goatse.cx. The rest of the article goes on in much the same way.

      Biased? Perhaps. It also happens to be true. Your visceral hatred of Microsoft has you defending Java's disgustingly verbose syntactic conventions for properties where yep, they got that wonderful beans model, then proceeded to do absolutely NOTHING with the language syntax to support it.

      But the ironic and funny thing is, by polarizing the issue so, you appear to credit Microsoft with the invention of a more intuitive language syntax for property accessors. "Use C#, rabid java partisans on slashdot hate it!"

      I bet you thought those were direct property accesses, right? I wouldn't expect such a staunch defender of The One True Faith to actually look up the mechanisms of property declarations...

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
    4. Re:Good starting point online by scotch · · Score: 2
      If you write code that will only live in the Windows world, you owe it to yourself to check out C#/.NET.

      If you write code that you think will only live in a windows world, you should always consider carefully using cross-platform or portable solutions. I've seen the windows-only assumption fail many times: the developers were stuck with the difficult and tedious task of gettin their built-for-ms code to be cross-platform.

      It's just one consideration. If vendor lock in doesn't bother you or your clients, or you will never need to reach other platforms or scale your solution, .MicroSoft might be right for you.

      --
      XML causes global warming.
    5. Re:Good starting point online by turgid · · Score: 1

      Nice try, but I don't think the author of that article is aware of encapsulation and what can be achieved with operator overloading.

    6. Re:Good starting point online by Kynde · · Score: 3, Interesting

      Your visceral hatred of Microsoft has you defending Java's disgustingly verbose syntactic conventions for properties where yep, they got that wonderful beans model, then proceeded to do absolutely NOTHING with the language syntax to support it.

      Couldn't agree more, but the same won't hold for C/C++ which they referred to.

      I bet you thought those were direct property accesses, right? I wouldn't expect such a staunch defender of The One True Faith to actually look up the mechanisms of property declarations...

      Doh, it being methodized was obvious enough. It just kinda bugged the hell out of me seing :
      foo.setSize (getSize () + 1);
      label.getFont().setBold (true);


      Labeled as "typical code" in C++.

      And the part which you were obviously referring to as it cannot be done in C++ (because one can't overload .):

      label.font.bold = true

      Well, I for one am quite doubtfull wether that is better than what C++ has now :
      label.font().bold = true

      The article goes on and argues that the .font. syntax won't be mistaken for a field by "However, almost all classes with any real complexity designed in Java (and certainly in C#) do not have public fields anyway.".

      Well, I sure don't see the "extra" parentheses harmfull, moreover I'm worried about the complexities of the scoping rules for similarily named fields.

      Having read the cursive (italic) parts of the article, I have to say that I don't agree with most of it. And just as my comments here are biased, so is the article. Rants like these don't make good articles. That's why I post my crap here, which would've been a fair idea for that author aswell.

      --
      1 Earth is warming, 2 It's us, 3 it's royally bad, 4 we need to take action NOW
    7. Re:Good starting point online by Anonymous Coward · · Score: 0

      I'm not an expert on java or c#, but have a "working knowledge" of both. I consider java to be simpler than c# in many respects, which can be a good or bad thing depending on your point of view.

      Obviously, other benefits java has over c# is cross-platform now, the availability of good IDE's other than MS's, and a plethora of third party libraries, modules, and other tools.

    8. Re:Good starting point online by coltrane99 · · Score: 2

      Heh, no kidding.. You can achieve this same effect in java if you just declare your object's private variables to be public instead of using getters and setters. We all know this is the wrong approach, since it makes for crusty unmaintainable code down the road, right??? Right???

    9. Re:Good starting point online by coltrane99 · · Score: 2

      Heh, no kidding. You can achieve this same effect in java if you just declare your object's private variables to be public. But this breaks encapsulation, leading to crummy, hard to explain, understand, and maintain code. Everybody understands this, right?

    10. Re:Good starting point online by Anonymous Coward · · Score: 0

      > There's a big difference in knowing and
      > mastering

      EXACTLY. I feel like as the number of years I spend doing C++ increases, the language becomes more and more powerful, even though it's just my understanding of it that's growing.

    11. Re:Good starting point online by Anonymous Coward · · Score: 0

      I actually looked at some vendors idiot's code who did this.

      Dumbass. no way to insure the validatity of the data.

      Came from $MS world

    12. Re:Good starting point online by the+eric+conspiracy · · Score: 3, Informative

      After I read that I article I also came away with the impression it was highly biased. Nowhere does it describe some of the significant advantages that Java has over C# such as checked exceptions, inner classes, class granularity reflection, a far better collections implementation and so on.

    13. Re:Good starting point online by Anonymous Coward · · Score: 0

      Um, that's a very valid statement, *if* setSize/getSize actually do work (beyond just setting the member).

      In C#,

      object.member = value;

      Can actually be a form of function call. For example, it may sanity check 'value' before assigning the internal member data.

    14. Re:Good starting point online by thomas.galvin · · Score: 2, Informative

      This is typical code you might write in Java or C++:

      foo.setSize (getSize () + 1);
      label.getFont().setBold (true);

      The same code you would write like this in C#:

      foo.size++;
      label.font.bold = true;


      Now, if that isn't biased crap then I must be the guy bending over at goatse.cx. The rest of the article goes on in much the same way.


      Actually, IIRC, C# supports some syntactic sugar called "accessors;" basically, label.font.bold = true maps to a call to label.getFont().setBold(true). They didn't make the member data publically acessible, they just lowered the keystrokes to call simple mutator methods.

    15. Re:Good starting point online by slagdogg · · Score: 1

      foo.setSize (getSize () + 1);

      Actually, this should read:

      foo.setSize (foo.getSize() + 1);

      I suppose they were trying to drive their point home by including a syntax error.

      --
      (Score:-1, Wrong)
    16. Re:Good starting point online by slagdogg · · Score: 1

      Correct -- it also supports arguments to these property accessors, which allows statements such as:

      label.words(3).font.bold = true;

      --
      (Score:-1, Wrong)
    17. Re:Good starting point online by HiThere · · Score: 2

      The problem is...
      It *should* be mistakable for a field. The user of a class should not need to know how an item is implemented, whether it's via a field or a method should be opaque. That way the implementor can change the implementation without breaking code.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    18. Re:Good starting point online by Mybrid · · Score: 1

      Hi! Happy Tuesday! C++ easily allows one to overlaod the "++" operator or any other operator. However, there is a difference between theory and practice and in practice overloading operators like "++", "[]", or "=" tends to cause more confusion then add readibility. This is especially true when such an operator can through and exception. I'm of the opinion that the book review and postings illustrate the underlying problem with object oriented programming: most people just don't get it and it is usually implemented so poorly the benefits are rarely gained (as opposed to using procedural languages like C).

    19. Re:Good starting point online by Anonymous Coward · · Score: 0
      This is typical code you might write in Java or C++:

      foo.setSize (getSize () + 1);
      label.getFont().setBold (true);

      The same code you would write like this in C#:

      foo.size++;
      label.font.bold = true;

      Now, if that isn't biased crap then I must be the guy bending over at goatse.cx. The rest of the article goes on in much the same way.

      You entirely missed the point. In C#, foo.size++ is doing all the same internal logic and error checking that foo.setSize(foo.getSize() + 1) is doing. Similarly, label.font.bold = true is not just setting the bold property, it is alerting the label to the fact that that has happened, which causes that area of the screen to be redrawn, reflecting the change. That behavior is impossible in Java and substantially difficult in C++, where it could be partially simulated with complex proxy classes, but not without some shortcomings and a lot of otherwise useless code.

    20. Re:Good starting point online by Anonymous Coward · · Score: 0

      Underlying problem with object oriented programming: most people just don't get it and it is usually implemented so poorly the benefits are rarely gained Agreed! Build a better mousetrap and nature builds a better idiot!

    21. Re:Good starting point online by Anonymous Coward · · Score: 0

      The old addage that you use 20% of your functionality about 80% of the time

      the old 80 - 20 rule as my C teacher in college called it

    22. Re:Good starting point online by Anonymous Coward · · Score: 0

      Kinda interesting that MS Visual C++ / Windows 2k / SQL 2000 / COM+ hold 6 of the top 10 TPC test results.
      http://www.tpc.org/tpcc/results/tpcc_per f_results. asp

      Sounds like the definition of scalable

    23. Re:Good starting point online by Anonymous Coward · · Score: 0

      I actually looked at some vendors idiot's code who did this.

      Dumbass. he was optimizing a numerical simulation.

      Came from the $cientific world

    24. Re:Good starting point online by pyrrho · · Score: 1

      yes, and it took them years to roll out some features in the compilers (templates were implimented poorly at first).

      I think that C++ shares with C it's pragmatist approach. It's multiparadigm, which means you are supposed to chose a subset of it's features and adopt practices that meet your goals, optimization, OOD, componentization, etc. All while refusing from stopping you from doing anything with the machine that it can do.

      --

      -pyrrho

    25. Re:Good starting point online by IceFreak2000 · · Score: 1

      Not to be anal, but it would actually be:

      label.words[3].font.bold = true;
      --
      Life is like a sewer; what you get out of it depends on what you put into it...
    26. Re:Good starting point online by scotch · · Score: 2

      That's a pretty narrow definition of scalable.

      --
      XML causes global warming.
    27. Re:Good starting point online by sql*kitten · · Score: 2

      This is a great site. If anyone wants to learn C# coming from a C/C++ or Java background I send them here.

      Much better comparisons here.

  20. Windows.Forms by zephc · · Score: 2

    While not part of the language but rather somewhere in the .NET APIs, Windows.Forms is a really cool set of classes and methods that let you do GUI building with relatively little pain. Now I'm no Microsoft apologist, but what they did with Windows.Forms is a LOT nicer than AWT and Swing, and as far as I can tell, the backend was written in native code.
    There are some articles about it too.

    --
    "I would say that 99 per cent of what my father has written about his own life is false." - L. Ron Hubbard Jr.
    1. Re:Windows.Forms by Anonymous Coward · · Score: 0

      Windows forms? Hah! Real men use console apps.

    2. Re:Windows.Forms by abiogenesis · · Score: 1

      IBM's SWT is the same thing (native back end/Java interface) for Java, and open source. A complete IDE (Eclipse) is written using SWT.

      --

      Donate free food to the hungry at The Hunger site.
    3. Re:Windows.Forms by SkewlD00d · · Score: 2
      In about two seconds, you can make a XML gui maker with java... then take your JFrame,
      XMLEncoder xe = new XMLEncoder( new FileOutputStream( "gui.xml" ));
      xe.writeObject(yourJFrameObjectHere);
      and then here's the code to read it back:
      XMLDecoder xd = new XMLDecoder( new FileInputStream("gui.xml"));
      JFrame jf = (JFrame)xd.readObject();
      jf.show();
      Hopefully, the java FUD of the 1990s is laid to rest, as java HotSpot and native binary compilers have really improved alot since the first-generation slow-ass JVMs. Then M$FT comes along and copies Java, calling it J++ then going to some panacea java-replacement platform called .NET to get away from a perceived foot-hold gained by sun. java might be dead on the wintel platform, but it sure-as-shit isn't anywhere near dead in ISV/IT/IS/IM/I* world. Enterprise JavaBeans and JSPs are the best thing to happen application servers. Too bad M$FT doesn't like open standards that everyone else is using. Sux to their as-mar.
      --
      The biggest trick the devil pulled was letting lawyers become politicians so they can write the laws.
    4. Re:Windows.Forms by Lukey+Boy · · Score: 1

      Everyone references the SWT and points to Eclipse - but as far as I can see on the site it's not a distinct download/project. Does a programmer have to use the IDE to code with SWT?

    5. Re:Windows.Forms by Anonymous Coward · · Score: 0

      > Then M$FT comes along and copies Java

      No, then Sun keeps crappy AWT around too long, and now the 1.3 JRE is 5M and over 90% of the desktop is MSFT. "Just download this 5M thingy so we can make it work for 50 Mac users and one dude running OpenBSD." Sure.

      > Too bad M$FT doesn't like open standards that
      > everyone else is using.

      You mean like Sun's "open standard," Java? Riiiight. Here's MSFT's standardization status:
      http://msdn.microsoft.com/net/ecma/

      Too bad that doesn't exist for Sun. Sun will be dead soon - their hardware is overpriced and they give away all their software.

    6. Re:Windows.Forms by nchip · · Score: 2

      Hopefully, the java FUD of the 1990s is laid to rest, as java HotSpot and native binary compilers have really improved alot since the first-generation slow-ass JVMs.

      This attitude wont help java anywhere. Even with hotspot, java is slow, especially the GUI stuff on Linux/Unix. Array handling sucks big time too. Tomcat jsp:s get wiped down with hacks like php. Setting up J2EE is a real pain in ass. Etc, Etc. Never done .net, but I am looking elswhere from the java world. Probably c++/QT.

      If java want's to survive, sun needs to make it easier and faster, and show studies PROVING it. The "Pet shop is not a benchmark" cry needs to replaced by "Hey, this version beats .net version in both speed and implementation time".

      --
      signatures pending - ansa@kos.to - (dont mail there)
    7. Re:Windows.Forms by abiogenesis · · Score: 1

      Nope. In fact, currently the Eclipse IDE does not supply any visual tool to generate code for SWT. You have to write the code yourself.

      --

      Donate free food to the hungry at The Hunger site.
  21. Re:Good Stuff! by pmz · · Score: 2

    C# is obviously the future of .NET programming

    Perhaps.

    .NET is the future of the internet

    Absolutely not.

    .NET is an acronym for "Proprietary Lock-In". Keep this in mind as you learn C# and immerse yourself into the .NET "experience".

  22. Assembly by kyoko21 · · Score: 1

    I like assembly. It has every control over everything. For VB programmers, it will never fly. For the anal-retentive programmer that likes to micromanage everything down to the last bit, assembly is the way to go.

    I would like to see more assembly being taught at all levels: high schools and collegiate.

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

      Most kids can't even identify their own country on a map, and you want to teach Assembly in High School? Yeah, sure, that'll fly.

    2. Re:Assembly by cscx · · Score: 2

      I would like to see more assembly being taught at all levels: high schools and collegiate.

      FYI, there are kids taking high school level Visual Basic that can't fathom the concept of a loop... Let alone assembly.

      I think "anal-retentive programmer" doesn't fit your average (probably not even above-average) high school student.

    3. Re:Assembly by plugger · · Score: 1

      Students can't fathom the concept, or the teacher is too clueless to teach fundamental structures?

    4. Re:Assembly by kyoko21 · · Score: 1

      Man... after reading the responses to my posts, it sounds pretty sad that if people can't identify loops or identify the country upon which side of the hemisphere they live in... man... quoting from a line from one of my favorite movies (sleepless in seattle) which actually is sort of appropriate:

      "I am not even going to think what they are not teaching you in school."

      *sigh x 2*

    5. Re:Assembly by Anonymous Coward · · Score: 0

      Assembly is a little on the tough to digest side of things.
      Yes..it is nice to be able to read it and understand what is going on, but to actaully code in it seems to be a waste of time most of the time.
      I agree that most programmers could benefit from studying assebly, but coding in it all the time is a waste these days.

  23. C# ~= Java by jhol · · Score: 1, Redundant

    I actually took a course in C# through my company, and even though i was late for the course, I didn't miss anything. Basically C# IS Java, but with a different naming convention.

    Anyway, if you know Java already, you don't need a book on 600 pages to get to know C#, all you need is info located for free on the web, here for instance.

    1. Re:C# ~= Java by Jugalator · · Score: 2

      Wow - this one earns modding up. :)

      I only knew about Bruce Eckel's wonderful online books earlier (and lookie there - a C# book over there too!)

      But I agree with you, I only needed a few web tutorials to get started. The online IDE help in VS.NET did the rest. What I found hardest in learning C# wasn't the syntax that's almost identical to Java or C++, but learning where to find everything in the huge Framework and how the classes were all organized.

      --
      Beware: In C++, your friends can see your privates!
    2. Re:C# ~= Java by Anonymous Coward · · Score: 0

      That's what I thought at first too.
      Some things look like just another naming convention but when you go deeper into it, it's not just that.

      The best exemple would be Events.
      Coming back to Java after 2 months of .NET (C# ot VB, the Event model is "almost" the same), I find it quite hard just to create your own Event, raise and manage them in Java.
      Both have their reason to be, but I personnaly prefer the .NET model (even though I still don't believe I can say that; there must be an approach I don't know to make it simpler and more efficient in Java).

      I'll take a look at this book, hoping they've outlined this difference and to see others.

    3. Re:C# ~= Java by Pieroxy · · Score: 1

      That is basically not true. Core C# IS Core Java (modulo some syntax shorcuts) would be more accurate.
      When is comes to libraries, C# has NOTHING TO DO with Java. The event model is just one of these examples.

      Hence, the Java developer will be lost with no one of his preferred utilities classes...

  24. Tempting people with devices of the enemy... by The+J+Kid · · Score: 0, Troll

    You know what we do with people who temp us with devices of the enemy?

    This

    --
    Moderation: +4. Modded 70% Funny and 30% Overrated. 100% Saturated.
    1. Re:Tempting people with devices of the enemy... by Anonymous Coward · · Score: 0

      Wow, you're so witty; you must be a genuine genius!

    2. Re:Tempting people with devices of the enemy... by The+J+Kid · · Score: 1

      Humor...humor....since when is it that obvious things can't be funny?

      --
      Moderation: +4. Modded 70% Funny and 30% Overrated. 100% Saturated.
  25. It's pronounced *SEE-SHARP* by the way. by Anonymous Coward · · Score: 0

    I just thought I'd point that out, because loads of people seem to be calling it one of the following:

    * see-hash
    * see-pound
    * see-octothorpe
    * dee-flat :-)

    which are all wrong. Of course you could pronounce it cuh-hash, which sounds a bit like cash, which is something you won't have much of left if you buy a Microsoft product.

    1. Re:It's pronounced *SEE-SHARP* by the way. by slickwillie · · Score: 2

      Gee, I always pronounced it "see-hack".

    2. Re:It's pronounced *SEE-SHARP* by the way. by Soko · · Score: 2

      Naw. It's *SEE-SHARP" for sure, as in

      "Ouch!! That hurt! Fuck, now I'm bleeding cash! ;-)

      /MS Bash mode off

      Soko

      --
      "Depression is merely anger without enthusiasm." - Anonymous
  26. Re:Good Stuff! by thedarkstorm · · Score: 2, Interesting

    There is a somewhat free version available for Linux. It's called Project Mono I believe. Here is the URL:
    http://www.ximian.com/devzone/projects/mono. html

    Small SUmmary from page, "The Mono Project is a community initiative to develop an open source, Linux-based version of the Microsoft.NET development platform. Incorporating key .NET compliant components, including a C# compiler, a Common Language Runtime just-in-time compiler, and a full suite of class libraries, the Mono Project will enable developers to create .NET applications and run them on Windows or any Mono-supported platform, including Linux and Unix. Besides greatly improving the efficiency of development in the open source world, the Mono Project will allow the creation of operating-system-independent programs. "

    --
    ... hey ... I had a .sig, bu then MicroSo$$ embraced it...
  27. Re:Sweet...! (me too!) by Anonymous Coward · · Score: 0

    Actually, for me, it was seeing the ad for Visual Studio .NET here, of all places, that intrigued me. I figured that Cmdr Taco wouldn't put up ads for anything he wouldn't use himself, so I forked over the cash and DAMN!

    Linux used to make windows look like a useless toy OS, amazing how the tables have turned, isn't it?

  28. Ignorance, or cluelessnes? by Quarters · · Score: 2
    "First of all, let's deal with the Microsoft issue. I was surprised to find that this book even existed given the problems MS has had in the courts recently."


    Where in any of the court documentation for any of the court proceedings that MS is invloved with does it say, "You have to divest yourself of your publishing brand?"

    1. Re:Ignorance, or cluelessnes? by Anonymous Coward · · Score: 0

      Is just, by bearest squeak, possible that the trouble referred to was over the Microsoft's use of Java trademark and License?

      Engage brain _before_ flaming.

    2. Re:Ignorance, or cluelessnes? by Anonymous Coward · · Score: 0

      Why is Microsoft as an organization allowed to make any statements whatsoever about Java, given their pathological inability to understand the principles (interoperability and security) behind it?

    3. Re:Ignorance, or cluelessnes? by Anonymous Coward · · Score: 0
      Where in any of the court documentation for any of the court proceedings that MS is invloved with does it say, "You have to divest yourself of your publishing brand?"


      Pssssssst, Quarters. I believe the user was commenting about MS vs Sun, not MS vs DOJ. MS got slapped around for making proprietary extensions to the Java language. Therefore, for MS to print something that acknowledged the existence of Java, much less painting it in a non-negative light would be surprising. A similar analogy would be "Windows development for X developers."


      Here's a quarter, get a clue

  29. All you need to know about C# by d3xt3r · · Score: 1, Troll

    (C# - MSLockIn) == (Java - crossPlatformPortablility)

    1. Re:All you need to know about C# by Anonymous Coward · · Score: 0

      Actually, no.
      Check out Mono for Linux, its .net for other platforms.

  30. Wow.. review sounds pretty good! by Quixote · · Score: 3, Flamebait
    Too good, in fact. Am I the only one who was reminded of the recenty story about 'stealth advertising', with paid "actors" using cool gadgets as if they were normal users, to create a buzz? This review, with its liberal dosage of "I was skeptical of ... but was pleasantly surprised to find ... " reminds of just such marketing efforts.

    1. Re:Wow.. review sounds pretty good! by tshak · · Score: 3, Insightful

      Of course, when the next Java review comes out no one will by crying conspiracy.

      --

      There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
    2. Re:Wow.. review sounds pretty good! by nihilvt · · Score: 1

      Yes, heaven forbid something produced by Microsoft actually be useful and/or well written.

    3. Re:Wow.. review sounds pretty good! by Lord+Omlette · · Score: 2
      Am I the only one who was reminded of the recenty story about

      The Cappuchino PC pt. 3?
      --
      [o]_O
    4. Re:Wow.. review sounds pretty good! by Anonymous Coward · · Score: 0

      oh for fucks sake, are you kidding me? slashdot comments are _worthless_

    5. Re:Wow.. review sounds pretty good! by Anonymous Coward · · Score: 0
      Convicted monopolists (who've been caught astroturfing in the past) deserve a slightly higher degree of suspicion than other companies.

      --

    6. Re:Wow.. review sounds pretty good! by Yankovic · · Score: 3, Funny

      This coming from a guy with a Java contest sponsored by Sun as his sig...

    7. Re:Wow.. review sounds pretty good! by Loundry · · Score: 1

      Yes, heaven forbid something produced by Microsoft actually be useful and/or well written.

      That doesn't address his point in the slightest. Your sarcasm doesn't help, either.

      --
      I don't make the rules. I just make fun of them.
  31. Re:Good Stuff! by Anonymous Coward · · Score: 0

    It is free, the compilers and all. Just runs on windows only though.

  32. Why should it seem strange to mention C#? by Tattva · · Score: 5, Insightful
    It might seem strange to review a C# book on Slashdot

    There is absolutely nothing strange with not keeping your head buried in the sand. Just because some folks seem to have a knee-jerk reaction to all things Microsoft doesn't mean Slashdot should be expected to ignore relevant and widespread programming practices.

    --
    personal attacks hurt, especially when deserved
    1. Re: Why should it seem strange to mention C#? by Anonymous Coward · · Score: 0
      Just because some folks seem to have a knee-jerk reaction to all things Microsoft doesn't mean Slashdot should be expected to ignore relevant and widespread programming practices.

      Looks like their marketing works just fine. Like the entertainment industry, who declares their product as stars before anybody even got to know them, Microsoft has told us, through books and journals, a lot about .NET and C# before it even existed.

    2. Re: Why should it seem strange to mention C#? by Tattva · · Score: 2
      Just because some folks seem to have a knee-jerk reaction to all things Microsoft doesn't mean Slashdot should be expected to ignore relevant and widespread programming practices.
      Looks like their marketing works just fine.

      It's true I have only anecdotal evidence to back up my assertion that C# and .NET are gaining widespread adoption. The division of the company I work for is heavily involved in .NET development, and we are in an industry that is traditionally behind the curve in software practices. I think only common sense will tell you of the general interest in .NET. I attended the kick-off in Denver and the place was packed.

      I don't know why I'm responding to you, it is easy to close your eyes and say "show me the statistics or I believe nothing." Not to mention you're posting as an AC.

      --
      personal attacks hurt, especially when deserved
    3. Re: Why should it seem strange to mention C#? by Anonymous Coward · · Score: 0
      I don't know why I'm responding to you, it is easy to close your eyes and say "show me the statistics or I believe nothing."

      Statistics? I would like to know what this Dotnet thing is about. I tried to find out but each time I took a closer look the most precise answer I got was the term ".NET strategy". So Dotnet is not a product nor a technology, it's a strategy. Nice, but not my business as a developer. $PHB will like it, though.

    4. Re: Why should it seem strange to mention C#? by Anonymous Coward · · Score: 0

      What the hell is so difficult to grasp about .NET? It's a fucking language independent application framework.

      If you can't figure out what .NET "is" you have pitiful language comprehension skills.

    5. Re: Why should it seem strange to mention C#? by Anonymous Coward · · Score: 0

      What the hell is so difficult to grasp about .NET? It's a fucking language independent application framework.

      Actually, that's quite incorrect.

      Although "a fucking language independent application framework" is part of .NET, it is by no means the only part. It also includes several back-end servers, network protocols, web services stuff, etc.

      And even the part that is an application framework is grossly over simplified with such a common moniker. Certainly it covers normal stuff like collections, window/dialog layouts, etc. like most "application frameworks", but it also includes security, networking, XML, web services, and many, many other things that have nothing to do with "application frameworks".

      Of course, I don't blame you for not truly understanding what .NET actually is. In fact, if you review Microsoft's press releases it is quite clear that even they don't know exactly what .NET includes. They keep adding, removing, changing and refocusing parts of it on a regular basis.

      Bottom line? .NET and the .NET Framework are not the same thing. If you're going to rag on someone for not understanding what .NET is, at least make sure you actually understand it yourself and use the correct terms.

    6. Re: Why should it seem strange to mention C#? by Anonymous Coward · · Score: 0
      Although "a fucking language independent application framework" is part of .NET, it is by no means the only part. It also includes several back-end servers, network protocols, web services stuff, etc.

      Oh, then I understand what .NET is. We used to call that bloatware back in the good ol' days when programs were written by real programmers.

  33. Re:Good Stuff! by Anonymous Coward · · Score: 0
    .NET is an acronym for "Proprietary Lock-In". Keep this in mind as you learn C# and immerse yourself into the .NET "experience".


    Hey! If that's true, can't sun sue them for use of a trademarked acronym?

    Again, I repeat ".NET is the future of the internet". You get a kewpie doll for noting it's proprietary (not that's an esp relevant point...do you REALLY expect to get EVERYTHING for free?)
  34. Slashdot... by ImaLamer · · Score: 1, Flamebait


    Slashdot. News for Nerds. Stuff about Microsoft.



    Really, everytime Bill or Paul farts we get a Slashdot post.

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

      So what'd you do when you posted this? Pull their fingers?

  35. C# vs. Java comparison by prostoalex · · Score: 2

    This article is a bit old, in fact, the folks at ExtremeTech probably celebrated its birthday just recently, but nevertheless, it turned out to have a lot of useful information for me when it was just published.
    ExtremeTech: Java vs. C#, a Code-for-Code Comparison

  36. Re:Good Stuff! by Anonymous Coward · · Score: 0

    If it's free, where's the source? Java licensing isn't great, but .NET licensing is the opposite of freedom.

  37. Disclaimer by ImaLamer · · Score: 1

    That was just a joke... this is actually quite useful.

  38. Other books avalible by Anonymous Coward · · Score: 0

    c++ for c devlopers
    c for c++ developers
    shell scripts for batch file devlopers
    perl for python developers
    basic for assebley developers
    trolling for moderators.

  39. Microsoft press has some good titles. by Zapman · · Score: 3, Informative

    They're not Oreilly, but they do have a good reputation for quality books. Code Complete and Rapid Development are amazingly good books by Steve C McConnell, put out by MS press.

    --
    Zapman
    1. Re:Microsoft press has some good titles. by Anonymous Coward · · Score: 0

      don't forget "Writing Solid Code"

    2. Re:Microsoft press has some good titles. by spongman · · Score: 2

      yup, and pretty much anything by J.Richter.

  40. WOW by Lxy · · Score: 2

    I'm impressed that MS Press wrote a content packed book. Most of their publications were light on the tech details and more like FUD, it's nice to see they're actually writing some useful material.

    And no, there's nothing wrong with posting books about C# or .NET to Slashdot. It's new technology that will affect us in a few years. While I don't like MS, I don't understand C# or .NET, and I know that in 2 years I'll wish I did.

    --

    There is no reasonable defense against an idiot with an agenda
    :wq
    1. Re:WOW by Anonymous Coward · · Score: 0

      Which MS Press books have you read?
      Pretty much every one I've read has been chock full of useful, pertinent content(about 8 MS Press books in total).

      Or do you just consider anything that has anything to do with Microsoft FUD?

  41. Wow... by ebbomega · · Score: 2

    Once again someone misses the point in its entirety of high-level languages.

    If you decide that you're going to stick only to assembly and nothing else, you're going to find little love in the computer industry.

    High-level languages are designed so that you don't have to go through a couple billion lines of extraneous code to do something. Sure, if you program in assembler, your code will be cleaner, faster and has a greater potential for looking brilliant to other hackers, but I dare you to try coding around in assembler making a couple of graphics engines and tell me how simple it is in x86 against C++.

    I mean, christ, I love assembler. You can do whatever you want with the memory, write self-modifying code, know at all times what is going on with the processor and everything else in the system, but fer crying out loud, if I want to make something as simple as a function call in Motorola HC11 that requires about 6 lines of code per call. A simple 4-line if block can result in a 20-line assembly instruction that would just be bloody easier to do if you just let a compiler automagically run it for you.

    While Assembly is pretty, and I encourage that if you want to be a programmer, learn it and use it well, but for crying out loud, don't stop there.

    --
    Karma: Non-Heinous
    1. Re:Wow... by cmdr_beeftaco · · Score: 1

      Once again someone misses the point of troll (oxymoron?). Nice post. It was a freaking joke people you don't need to lecturing on high-level languages etc...

    2. Re:Wow... by fredrik70 · · Score: 1

      Sure, if you program in assembler, your code will be cleaner, faster and has...
      Not neccesarily with todays modern, heavily pipelined and super scalar CPUs. Usually a good compiler will do better optimisations than than most programmers. Well, not saying it's impossible, but still a very hard job. True for a good ol' HC11 one might as well write it in asm.

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    3. Re:Wow... by AndroidCat · · Score: 2
      if I want to make something as simple as a function call in Motorola HC11 that requires about 6 lines of code per call. A simple 4-line if block can result in a 20-line assembly instruction that would just be bloody easier to do if you just let a compiler automagically run it for you.

      Hey, that's what macro assemblers are for! (Of course, you're just basically [npi] creating your own mini language.)

      Okay, I'll bite, what are the free options for trying out C# and .NET? I don't want to buy Visual C#.NET just to take it for a test drive. (Someone should write a Tiny Basic.NET :^) With the job listings more frequently asking for a few years experience (Argh, idiots!), I'd better keep sharpening [pi] my skill set.

      --
      One line blog. I hear that they're called Twitters now.
  42. Duh! by Anonymous Coward · · Score: 0

    You're so retard for assuming right from the beginning it would be biased because it's from Microsoft... Typical Slashdot trash.

  43. Review of this review by gabbarsingh · · Score: 3, Insightful

    While I am a Java developer and I am interested in C# from a knowledge-about-languages perspective, this review is far from getting me there. At exactly one point the reviewer mentions threads and Swing. But then what about it? At more than four places Microsoft press is mentioned and it is advised to give them a fair chance. Well, after reading this review I still don't have a clue what the book is about. The ToC is interesting but not helpful. I bet that a 'Python for Perl Programmers' book would get an objective review with less focus on publishers and book contents/excerpts that would do the topic some justice. What I am trying to say is that there is no 'java angle'

    I propose slashdot community lay down some guidelines about reviewing a technical book. I applaud the reviewer's efforts and for keeping an open mind towards the source ;-)

    1. Re:Review of this review by SpryGuy · · Score: 1

      Um, how can you not have any idea what the book is about? Not only is the title a dead give-away, but the review was pretty clear in describing the contents. If you want MORE detail, the obvious answer is to buy the book. A review is NOT supposed to BE the book!

      --

      - Spryguy
      There are three kinds of people in this world: those that can count and those that can't
    2. Re:Review of this review by gabbarsingh · · Score: 1
      It did occur to me that my post might be taken in the way you describe. However in my defense here are the points:
      • I am a Java Developer and I like many features of the language. Java community also agrees on a common subset.
      • I know C# is out there and is Java like
      • This book is supposed to bridge how C# is Java like i.e. what of it's features a Java programmer can use and what needs to be rethought. Do we get standard design patterns - observers, factories? How is RMI replaced? etc
      • While I don't want the verbatim quotes from the book, some confirmation by the reviewer will definitely encourage me to check it out.

      Even cnet editors can parrot the features of C# and draw resemblances to Java. If a review is addressed to a Java Programmer or for that matter any review that is addressed to any community, must address the concerns, questions, dilemmas directly. Attention to the publisher doesn't help me see how C# can be approached by a Java developer.
    3. Re:Review of this review by Anonymous Coward · · Score: 0

      Go look at the book at a bookstore if you want more information than was provided in the review.. Duh.

    4. Re:Review of this review by SpryGuy · · Score: 1

      Did you read the entire part of the review labeled "The Scoop"? It seems to address everything you want. Of course it's not a "design patterns" book! Why on earth would you even think it was? It's a "how to learn and use C# for Java developers" book. What classes in the frameworks are equivalent, where do the pitfalls lie (where assumptions that are valid in one, are not valid in the other)... things like that. I'm not sure what you're looking for. I think the review said everything that needed to be said without regurgitating the contents of the book. So I'm still not sure what you're missing or what you're fishing for.

      --

      - Spryguy
      There are three kinds of people in this world: those that can count and those that can't
  44. What are you talking about? by Anonymous Coward · · Score: 0

    Anyone with a clue when reading that link can immediately see the biased nature of the examples given, i.e. using proper encapsulaiton in the c++/Java examples and using none in the C# examples. I quote: This is typical code you might write in Java or C++: foo.setSize (getSize () + 1); label.getFont().setBold (true); The same code you would write like this in C#: foo.size++; label.font.bold = true; You can do exactly the same in C++ and Java, just make the private data public and access directly as you would a C structure member. It's been years since I last looked at C++ but I distinctly remember being able to do that sort of thing.

    1. Re:What are you talking about? by abiogenesis · · Score: 1

      I think the example is about operator overloading (ie. overloading ++ operator and making the relevant checks about the validity of the new size property). If you declare a field public in Java, you cannot validate it.

      But again, the context might be different, and you might be correct.

      --

      Donate free food to the hungry at The Hunger site.
    2. Re:What are you talking about? by Anonymous Coward · · Score: 0

      Wrong melvin. the whole point of object.member = "blah" in c# is that the member is still private and you write verification code just like any other regular member function.

    3. Re:What are you talking about? by Anonymous Coward · · Score: 0

      You obviously have no clue about Java properties, EJBs or any of that world. You're making an ass of yourself by talking about something you're obviously clueless of. Just so you know. The examples are right on and accurate. You're just have no context, so you're making ASSUMPTIONS about the context.

    4. Re:What are you talking about? by Anonymous Coward · · Score: 0

      This is /. damn it! You're not supposed to speak the unbiased truth, sense or anything coherent. The parent at the top of the post links to a biased article extolling the virtues of a c#. The moderators are either biased too or are ignorant. Fight fire with fire.

  45. Maligned? by p00ya · · Score: 2, Interesting
    It's disappointing to see so many developers give c# a rough time. I really do not see how c# is any more maligned than other languages.

    It really is just scared developers concerned that anything redmond can cough up is too mainstream and below them...

    Take a look at the ecma standards, download mono, and crawl out of your shell.

    1. Re:Maligned? by Anonymous Coward · · Score: 1, Interesting

      I've been playing around with mono for a while now and think c# is a great language.

      It's more complex than java, but also more powerful
      with managed code. I love delegates, indexers, and properties. Sure, that's all syntactic sugar, but isn't every language up from assembly?

      The one thing I would really like is Eclipse support with code completion and nice docs that can be brought up with F1 or whatever For c/c++ stuff I just use vim and just tag all of the system headers, but with lanagues like java and c#
      with huge class libraries, code completion and doc help is pretty nice and makes learning a new language fun.

    2. Re:Maligned? by Anonymous Coward · · Score: 0
    3. Re:Maligned? by Wavicle · · Score: 3, Interesting

      It really is just scared developers concerned that anything redmond can cough up is too mainstream and below them...

      I'm pretty sure most of us developers are just a frightful bunch. Ada is an infamously derided language ("oh the government made it, so it's basically a beauracracy of a language") - yet it has more built in support for requirements validation and maintainability. If you look carefully at Ada, it is a pain to work with, but the result can be readily and meticulously examined by people other than the original developers.

      If you were a sailor and an exocet was screaming towards your vessel 500 yards out and skimming the waves and the only thing between walking the deck and treading the waves is your Phalanx close-in weapon system, you're probably hoping the software which controls the Phalanx was developed with Ada. Now would not be the time to file a support request because your C++ caused a general protection fault.

      So whether it's C# or anything else... I think way too many are afraid of having to re-stock their toolset from scratch. There's comfort in working with what you've always worked with. Insert cliche dinosaur analogy here.

      --
      Education is a better safeguard of liberty than a standing army.
      Edward Everett (1794 - 1865)
  46. Re:Good Stuff! by BigBadBri · · Score: 1

    Do I detect a hint of irony here?

    I hope I do...

    --
    oh brave new world, that has such people in it!
  47. Re:Good Stuff! by Anonymous Coward · · Score: 0

    free as in beer, "playing dumb" guy...

  48. Re:Good Stuff! by Anonymous Coward · · Score: 0

    Mono is pretty neat. My only reservation about it is that
    I am afraid Microsoft will come along with some stealth
    patent and start to charge licensing fees for anything
    written for Mono. ECMA doesn't guarantee that there will be
    no future patent claims on the language or the runtime, only
    that Microsoft didn't disclose any during the submission process.
    I realize I am being a little paranoid, but remember who
    we're talking about here.

  49. but why ? by famous+actress · · Score: 1

    I'm a JAVA developer forced to learn C# for a recent project. Frankly, the C# language borrowed almost everything from java anyways. There are alot of keyword replacements, some added complexity (delegates, structs), and some missing nessecity ('throws' statement).. All in all, the C# LANGUAGE is essentially JAVA, syntactically. You'd be better off spending time reading about the .NET platform and the CLR. IMHO that's where the signifigant differences are. -phill ps. The books I found usefull were Programming C#, Jesse Liberty (Oreilly)... and Understanding .Net, Chappel (?)..

    1. Re:but why ? by Anonymous Coward · · Score: 0

      It's Java, not JAVA!

    2. Re:but why ? by mlk · · Score: 1

      no its
      java
      unless your shell is caps insenitive, then it's [jJ][aA][vV][aA].

      --
      Wow, I should not post when knackered.
  50. Java - C joke by sinister+minister+si · · Score: 1

    Q: Why do all JAVA programmers wear glasses?

    A: They dont C well.

    --
    SELECT * FROM users WHERE clue > 0
    0 rows returned
    1. Re:Java - C joke by alphameter · · Score: 1

      LOL!

      I bet most of the database-backed web systems developers don't understand the joke, seeing as how SQL is sooo complex and not object-oriented.

      Hang on while I code my joins in 3GL...

    2. Re:Java - C joke by Anonymous Coward · · Score: 0

      It's Java, not JAVA!

      MORON!

    3. Re:Java - C joke by sinister+minister+si · · Score: 1

      Perhaps I should have made "C" into more than one letter in order for you to grasp the emphasis on JAVA and CCCCCC.
      Pardon me for enunciation.

      --
      SELECT * FROM users WHERE clue > 0
      0 rows returned
    4. Re:Java - C joke by distributed.karma · · Score: 1

      She sells C shells from the C source.

      --

      --
      If you moderate this, then your children will be next.

  51. Crack-smoking moderators by Anonymous Coward · · Score: 0

    Your post is eloquent and correct. The parent to which you replied is ridiculous. What idiot modded you down from 2?

  52. dotGNU by Anonymous Coward · · Score: 1

    I program in C#. On my Mac. The GNU Project has recoginized the need for an open .NET system to battle and replace Micrsofts proprietary system. dotGNU aims to be a total web service replacement. Not just a .NET runtime. The project is a parallel to GNU/Linux vs. UNIX. THis time its dotGNU vs. .NET. http://www.dotgnu.org

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

      I thought dotGNU only ran on Linux. Do you have any links to Mac port or info on using it on OS X?

  53. Comment removed by account_deleted · · Score: 2

    Comment removed based on user account deletion

  54. Re:Good Stuff! by Anonymous Coward · · Score: 0

    Do you know what I do when I have nothing to say?

  55. real programmers do it in C! by Anonymous Coward · · Score: 0

    Thems caffeine talk are for sissies, real programmers do it in C!

  56. Microsoft Press books in general by Malic · · Score: 1

    It does not surprise me that this is a well written book. Truth be told, books by Microsoft Press tend to be well written. "Debugging The Development Process" by Steve Maguire is an excellent book both in content and in structure.

    Examples:

    In the table of contents at the beginning of the book, each chapter listing contains a one paragraph summary of the chapter. You could read the whole 4 pages of Table of Contents and have a very good feel about what the whole book is about.

    At the end of each chapter has a bullet point summary of the highlights of the chapter. Save your yellow highlighter - you don't need it.

    Each chapter itself it salt'n'peppered with real world in-the-trenches stores of the author's experiences at Microsoft and how they pertain to the do's and dont's of software development management.

    Good Lord! If graduate level text books were written like this, I would have gotten SO much more out of college!!!

    --
    I swear by MacOS X. Although I use to swear *at* MacOS 9...
    1. Re: Microsoft Press books in general by Black+Parrot · · Score: 1


      > It does not surprise me that this is a well written book. Truth be told, books by Microsoft Press tend to be well written. "Debugging The Development Process" by Steve Maguire is an excellent book both in content and in structure.

      That must explain Microsoft's track record for stable, secure, and bug-free programs.

      --
      Sheesh, evil *and* a jerk. -- Jade
    2. Re: Microsoft Press books in general by Malic · · Score: 1

      The preface of the book starts out "This book might make Microsoft sound bad." The point being that the author made points of what wasn't working at Microsoft and what should be different.

      He's not afraid to say "Those days were not pretty" when making examples of his professional past.

      --
      I swear by MacOS X. Although I use to swear *at* MacOS 9...
  57. Bah by Q-bert][ · · Score: 1

    Bah I say! MS's orange books are normally very good. I have over 2 dozen and not one is biased or hypes microsoft products. Seems quite sad that the reviewer is more biased than the actual book. I have one MS orange book on my desk right now 'Inside SQL Server 2000'. It's quick to point out flaws in the design and implementation made by the SQL Server devel team. There's no hyping of SQL server and at times it even offers comparisons with Oracle and Sybase. It even goes in-depth about its origins. Now I've read books publish by MS Press that were just long ass press releases but never has one been an orange book.

    Also, why the fuck should the trials affect what's being published. I'd be pissed off if MS didn't publish this book based on the trial. The trial is on MS business practices not it's publications.

    *sigh*

    PS: Any of you assholes want to point out spelling/grammar mistakes to attack what I've said you can do one thing: KISS MY ASS! Fucking pathetic fools who can't formulate an adequate response and instead has to nit pick to feel good.

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

      You should be ready for the slashbots to come to your house/apartment to take you away to the re-education camp.

    2. Re: Bah by Black+Parrot · · Score: 1


      > PS: Any of you assholes want to point out spelling/grammar mistakes to attack what I've said you can do one thing: KISS MY ASS!

      That should be "any of you assholes who want to point out spelling/grammar mistakes..."

      --
      Sheesh, evil *and* a jerk. -- Jade
  58. curious? download the SDK. by MORTAR_COMBAT! · · Score: 4, Informative

    No registration required: download the Microsoft .NET Framework SDK. Includes command line utilities, documentation, etc.

    The sound you here is a dozen moderators clicking 'Troll'.

    --
    MORTAR COMBAT!
    1. Re:curious? download the SDK. by oPless · · Score: 1

      or Here for a very-nearly compatable version of dot net. In fact near enough to actually learn C# on linux.

  59. C/C++ vs. JAVA vs. C# vs. etc by cpex · · Score: 1
    Ok I have never used C#. I have used java and c/c++ and a little assembly i am currently a computer engineering major at UCSD. I think every language has its place for some task assembly is what you want for others C or C++. If you developing applications for windows (ie. thats your job and if you work for a commercial softwarehouse thats probably what you do and are the spawn of satan jk. :-) then C# is probably what you want to use and from what i hear it makes things a lot simpler to develope applications.

    I personally don't plan on becoming a windows developer so I probably will not need to learn C# (not saying that i never will). My guess is that i will be using C and assembly but i guess that really depends on which company I end up working for and the way they do things.

    1. Re:C/C++ vs. JAVA vs. C# vs. etc by Anonymous Coward · · Score: 0

      With the level of stupidity displayed in your post, I'd guess that you won't end up working for any company. Instead, you will live in a box and give head to your fellow bums for money. This money will buy you smack and booze. In my study of your mother's vagina, I have noticed that she is a disgusting blob. Fuck you for having a mother that's not even fucking human. Fuck you for being an idiot who knows so few languages that I'd guess you're an Economics major. Fuck you for being a dumb shit. Fuck you for having sex with the entire football team at your high school. Fuck you for having thoughts of Steve Balmer while you're masturbating, and not immediatly stopping. In conclusion, I hate you and I would like to dump on you. I will be checking your other posts to insult any further stupidity you have displayed on Slashdot, assclown.

  60. Read Your History, It Almost Happend by cmdr_beeftaco · · Score: 1

    In the late 1990's Assembly was on a path to overtake every modern computing language. A little known law called the DMCA outlawed the language and slowly began eroding personal freedoms.
    In today's world all assembly must be generated through approved compilers. The compilers are controlled by a secret society composed of the leaders of the industrial-entertainment complex.
    A fringe society of hackers are the only group of a people that are able to speak this fabled language (when they are not speaking in their annoying hacker dialect). This fringe society fights to uphold personal freedoms in an increasingly Orwellian environment.
    Keeana Reeves stumbles into this fringe society and quickly becomes immersed in their cause.
    Rent Matrix today at netflix.com...

  61. Re:Good Stuff! by ednopantz · · Score: 1
    >NET is the future of the internet

    Absolutely not.
    .NET is an acronym for "Proprietary Lock-In".

    And "Proprietary Lock-In" somehow *isn't* the future of the internet?

  62. Re:Terrarium -- RoboCode by Anonymous Coward · · Score: 0

    Try

    http://softwaredev.earthweb.com/java/article/0,, 12 082_1019481,00.html

    and you'll be back at Java again. Amazingingly fun!

    From the RoboCode homepage

    http://www.alphaworks.ibm.com/tech/robocode?open &t =gr,l=101,Robocode10

    "What Is Robocode?
    Robocode is a fun programming game that teaches Java by letting you create Java "Robots," real Java objects that battle it out onscreen against other robots. Robocode, with its snazzy graphics and hyper battles, is similar to a combination of Logo and CoreWars. While playing Robocode, you will learn how to write Java code, how to handle events, how to create inner classes, and more."

  63. In the immortal words of Yoda. . . by Anonymous Coward · · Score: 0

    You must unlearn what you have have learned.

    Judge software not by its price, for our ally is the source and a powerful ally it is.

  64. Re:C# may not stand for long.... by Anonymous Coward · · Score: 0

    hah, good nick and so relevant. you should try copying +5 posts and see if the moderators bite.

  65. Petzold by unDees · · Score: 1
    Charles Petzold's books on the raw Windows API (Microsoft Press, IIRC) were a godsend back in the olden days of Win3.1 when the job of maintaining a spaghetti-code straight-C app fell into my lap at my old job. Lots of useful information about why things were the way they were.

    It did occasionally wander into slavish devotion ("Instead of just passing a function pointer you have to run these ten lines of 'thunking' code on it. Microsoft engineers are really smart for inventing the need for these extra ten lines of boilerplate!") but there were plenty of "just the facts" moments to offset the worst of the hiney-licking.

    --
    "I call a baby goat a 'goatse.'" -- my non-Internet-savvy 6-year-old stepdaughter
  66. Re:Good Stuff! by Jugalator · · Score: 1

    C# is so similar to Java and C++ that I don't think you'll get "loocked into" anything.

    And things aren't changing much really. VC++ users will likely start switching to VC# over the next few years. Big deal...

    --
    Beware: In C++, your friends can see your privates!
  67. mono for windows by MORTAR_COMBAT! · · Score: 4, Informative

    Just downloaded the excellent 4 MB mono 4 windows as mentioned in an earlier thread, and as a C# hobbyist, let me tell you, it is a pretty nice way to get acquainted with the language without having to download the 150 MB or so of the full .NET SDK.

    And as is said elsewhere, every language has its place. C# is pretty nice for building Windows native applications. If you don't want to do that, then use a different language.

    More on-topic, I'll definitely be checking this book out of the company library.

    --
    MORTAR COMBAT!
    1. Re:mono for windows by Utopia · · Score: 1

      I don't know how that is going to get you started.
      It doesn't even have the class library documentation.

      You can download the 20MB runtime if you don't want any documentation.
      I recommend the SDK if you really want to learn.

  68. C++ by Steveftoth · · Score: 1

    Structs? Structs in C# are nothing like structs in C++. Structs in C++ are classes. The only difference is that all members are declared public in structs, private in classes (by default).
    C# structs are objects that live on the stack as opposed to the heap. Don't confuse the two, please.

    C++ doesn't have unsafe code. It's just code. the JVM/CLR has a pair of special goggles that slows down their view of the world in order to make it 'safe'. You can turn off the array bounds checking in Java (with certain VMs) for example.

    While I guess you can call C++ a layer about C, it's really not. It's really a new language, that supports all the features of C and compiles C code. A superset if you will, as it supports many many more as well. I think that it's marketing that has forced C++ to be percieved so close to C. (Not always a bad thing)

    Also you cannot multiple inherit in C#. It's not supported nor should it be. It creates too many problems if you want to be able to always let people inherit your classes.

    Garbage Collection is not only avaliable for C#/Java enviroments. You can easily use a GC in C/C++. Just do a search on Google and you will find a free implementation. Yes is it supported by the 'language', but I think that people confuse the language with the runtime.

    What makes java so easy to debug and test is the fact that the runtime is not native. An emulated platform (CLR/JVM) is much easier to debug and see the state of since if you want more debugging imformation you just have to change the software and not the hardware. Many problems with debugging machine level code arise from the fact that the processors today throw away any debugging information because it would slow down the processor. A VM can run in a 'debug' mode or not.

    Which shortcomings of java are addressed in C#? Can you bind to C/C++ methods without writing C/C++ code? I really don't know the answer to that question.

  69. obligatory csharp faq link by Anonymous Coward · · Score: 0
    you have to read the csharp faq. it's hilarious because they examine each of csharp's neat features and conclude: do not use this feature.

    http://www.geocities.com/csharpfaq/box.html

    eg:
    Q: What can we conclude from all this?
    A: The 'Type System Unification' in C# is half-baked and full of pitfalls.

    C# Best Practice
    Do not use boxing and unboxing

  70. Quote from Eclipse Web site by Latent+Heat · · Score: 1
    "Q: Will or can SWT be enhanced to include support for JavaBeans?

    A: To the extent that it makes sense, given the constraints of operating system compatibility, SWT already mirrors the beans behavior. An example of this is the use of standard beans mechanisms for event dispatch (EventListener, EventObject and adapter classes). Some aspects of the beans paradigm, such as the ability to create beans with null constructors, run counter to the constraints of the underlying operating systems that SWT runs on. For example, operating systems do not typically support creating a widget without specifying its parent.

    The essence of the problem is that if you allow a widget to be created with a null constructor, then you can't actually create the o/s resources at the time the constructor runs (you would have to wait until later, after the parent has been set). We just can not do this, since we always create the o/s resources in the constructor, and for performance/efficiency/consistency reasons do not even keep slots in the object to hold whatever state would be required so that the object could be created later." I think the word they are looking for is "no."

    1. Re:Quote from Eclipse Web site by Anonymous Coward · · Score: 0

      Why? Null constructors are only a small fraction of the bean specs. True that it does not fully support javabeans, but it does support most of it.

  71. Microsoft Wants You To Switch Too! by jumbali · · Score: 1

    http://msdn.microsoft.com/vcsharp/productinfo/topt en/switch.asp

  72. Re:Good Stuff! by pmz · · Score: 3, Interesting

    Hey! If that's true, can't sun sue them for use of a trademarked acronym?

    Not quite, since Java is widely implemented. Sun doesn't expend time and money trying to make these implementations incompatible; instead, Sun wants them to be compatible and has test suites available for that purpose. Conversely, Microsoft has a history of prefering their implementation over any others and works hard to drive other implementations into obscurity. Only time will tell if history will repeat itself with respect to efforts such as Mono.

    ...do you REALLY expect to get EVERYTHING for free?

    No, but I do consider the amount of risk associated with a technology. .NET provides a one-way ticket to the Microsoft Village; if you are comfortable with that, then, by all means, use C# and be happy. Those people looking for multiple-vendor technologies (i.e., lower risk technologies) should look elsewhere.

  73. Because it doesn't just run on x86 by Anonymous Coward · · Score: 0

    It runs on StrongArm as well, for starters.

  74. Versa Vise by Tablizer · · Score: 2


    You know that .NET is a failure when you start to see a lot of books titled, "Java for C# Developers".

  75. Re:How Is "Odd"?? by brsmith4 · · Score: 1

    Yeah, that'll be the day that slash is re-done in ASP.NET, which will be the day AFTER LNUX is bought by M$. If you can tell me what day that will be, i'll give you a cookie.

  76. Re:Good Stuff! by Anonymous Coward · · Score: 0
    Um. Sorry to nit pick, but "PLI" would be the acronym for Proprietary lock In.

    .NET would be the acronym for something like "No Exit, Totally", or perhaps "Nice Easy Trap".

  77. Example please by Shimmer · · Score: 2

    We have no idea what the C# designers were thinking

    Can you provide an example?

    -- Brian

    --
    The most rabid believers in American Exceptionalism are the exact same people whose policies are destroying it.
  78. C# for Java programmer? by Daimaou · · Score: 2

    Why would anyone write a book about that?

    All you have to do is add "MS" to the front of all the standard Java classes, methods, and member variables, and run your code through a C# compiler isn't it?

    1. Re:C# for Java programmer? by mtrupe · · Score: 1

      Someone actually modded this post up??? Idiot! While C# and Java to have A LOT in common, its not nearly that simple. C# is to Java as Ada is to Pascal.

    2. Re:C# for Java programmer? by Anonymous Coward · · Score: 0

      Yes, they're exactly the same, which is why I can compile this in Java:

      int *pixels = (int *)(bmpd.Scan0 + (y*bmpd.Stride));
      for (int x = 0; x < bmpd.Width; x++) {
      int c = table[0, (x+aa) & 0xFF] + table[1, (y+bb) & 0xFF];
      *pixels++ = palette[(c >> 1)];
      aa += factor3;
      bb += factor4;
      }

    3. Re:C# for Java programmer? by Anonymous Coward · · Score: 0

      Change it a little (the int's to Intager's) and you could.

      Bah, why does'nt java just scrap the evil primitives.

    4. Re:C# for Java programmer? by Anonymous Coward · · Score: 0

      Please. There is an order of magnitude difference between the ratio of Ada to Pascal and the ratio of C# to Java.

    5. Re:C# for Java programmer? by Daimaou · · Score: 2

      You idiot!!! It was like a joke and stuff.

  79. another new language? technology churn by alphameter · · Score: 1

    Until AI renders us all obsolete (our lifetimes), the biggest ROI's in computing have been realized. So, now that the market has matured, the technology companies have learned what participants in every other market learn to do: "churn".

    Brokers churn your accounts, technology companies churn your technology licenses, books, certifications, etc. And everyone's in on it: you wouldn't read that online magazine if there was nothing between the ads, the certification companies need loot, 3rd party developers make "new" tools or sell you "upgrades". Naturally, the primary technology drivers want legitimacy, so they make sure enough 3td parties have enough incentive to recommend or discuss the new technologies.

    Net-net: the business user isn't getting any more functionality than s/he had before.

    Take the easiest example I can find: RDO, ADO, DAO, OLEDB, (others I've forgotten) ... All of them boil down to a sql statement executed against the database. We needed new acronyms, API's, books, and certification questions for this???

    Rewrite! Rewrite! Rewrite!

    Market full of suckers.

  80. C# is no replacement for C++ by Anonymous Coward · · Score: 0

    Only in religion become things more true when you repeat them often enough, not in programming languages.

    And no matter how often it is told, C# ist certainly NO replacement for C++. It lacks about everything that makes C++ such a powerful language. Programmers that are attracted by C++ are hardly "real" C++ programmers. I absoluetly fail to see how someone who is programming C++ seriously could be attracted to C#. There just isnt a lot of substance there.

    -No generics ( please dont bitch about coming generics in one of the next versions of C#. C++ templates are compiled down to extremely tight, handwritten-like code, while C#/Java generics will be some kind of type-checked, RootObject-based RTTI nightmare )
    -No stack-objects ( That IS MY garbage-collection, folks, ever heard of RAI ? )
    -No multiple-inheritance ( before you cry: having 20 level inheritance trees from 3 different objects SUCKS in any language, but occasionally deriving from more than one object comes handy once in a while )
    -No STL

    These are the main things i miss, but there are other things that downright scare me:

    -Everything derived from root-object
    -GC (Yes GC scares me. I am well able to handle memory myself. Programming is just that: Handling memory )
    -RTTI maxed out

    I know exactly what kind of morons are attracted to these kind of programming languages because everything "is so easy and productive and radically simplified". Same with Delphi. Attracts the kind of guys that should never be allowed in front of a computer for programming. RAD usually stands for Rapidly Accelerating Desasters when things get too simple.

    What Microsoft did invent with C#,VB.Net and stuff is a concept of "skinnable programming languages". Support for thousands+ languages ? Big deal, but they are all the same now. Your choice is about as deep as choosing the colour you want your braces in.

    Did anyone notice change frequency of language features once this thing was not out in the wild and still in beta ? Core-language features changing every two weeks. This is almost getting as crazy as Delphi. But now it is in the wild, that means changing stuff BREAKS programs. Expect the speed of development of C# to slow down noticably.

    C# ? No thanks.

    1. Re:C# is no replacement for C++ by mtrupe · · Score: 1

      In fact there ARE stack objects. Structs can do everything a class can do but they are located on the stack.

  81. generating documentation by NFW · · Score: 2

    FWIW, C++ and other languages have long has this ability thanks to Doxygen and similar tools. It's cool stuff. Doxygen doesn't use XML, but the syntax is pretty straightforward.

    --
    Build stuff. Stuff that walks, stuff that rolls, whatever.
  82. I didn't have a problem making pure Java apps by JohnDenver · · Score: 2

    You mean you didn't get a platform indpendent app when you used the form designer and tried to add an ActiveX control?

    What was so hard about developing a platform independant app with J++? It seemed pretty clear to me what was Win32 and what was Java.

    --
    "Communism is like having one [local] phone company " - Lenny Bruce
  83. Ditching Java for C# by bfandreas · · Score: 0, Flamebait

    C# for Java programmers...sounds like somebody wants to bully me into learning this IMHO redundant language. In all my professional life I have never encountered a customer who ran something vital on a MS boxen(apart from one who tried to cope with Oracle on Win2000 Server). Most of our solutions run on either Linux or Slowlaris(or, heaven help, OS390). And everyone up to now is satisfied with our Java dreck. I can't see, how C#/.NET will gain footing in this environment. But the very instance someone remotely asks for C#/.NET, I'll learn it. No sooner, no later. I simply don't see the market for it, yet. CU Bjoern

    --
    20 minutes into the future
  84. what we really need by Anonymous Coward · · Score: 0

    is a FreeBSD for linux users, so we can get an entire generation of programmers back from the dark side

  85. compare web architectures by tricker · · Score: 1
    I'm more interested in seeing a book comparing web based software architecture options in the two languages.

    Info like: What is the equivalent of a Struts Model-2 architecture in the dotnet world? Or more specifically, do the C# APIs provide something similar.

    http://www.tricker.net/

    1. Re:compare web architectures by steve_l · · Score: 2

      well, ASP.net is *nominally* better than jsp; at least with the design UI that VS.net gives you; asp.net are roughly equivalent in functionality to taglibs.

      But jsp pages are nasty for complex code, so are asp.net pages. And the execution of some of the ASP.net controls take up a lot of bandwidth; the calendar control is an example.

      ASP.NET's web service model is good; it is very easy to export methods from a class as SOAP actions against a URL. But to build and deploy a production quality, high availablity web service is always a management and config nightmare, and there java still has the edge over IIS+WinNT.

  86. Cash (C + Hash) == nice Idea, .Net == teh suxxo0rz by Qbertino · · Score: 2

    Cash deals with some syntax odities of simular languages in a nice way. It's a languageconcept worth while implementing. .Net on the other hand sux. It's buggy as hell, runs only on Mickeysoft (so much for "platformindependent") and gains as the singular plus the choice between VB .Net, Cash .Net and some other proprietary M$ Coding lingua. Big fat hairy deal.
    Did anyone in the Industrie notice yet that near to zilch people are actually using .Net in a way that their offering products made with it?
    Either I wanna go M$, then I go native. Or I want go independent, then I go Java. Is that so hard to get across?
    No, folks, .Net is gonna fail - or it's gonna cost M$ another few billion and a change in market policy.

    --
    We suffer more in our imagination than in reality. - Seneca
  87. Re:How Is "Odd"?? by Anonymous Coward · · Score: 0

    Oh really? It's already been done Huzzah!

    Where's my cookie?

  88. It's MUCH cleaner than Java by KlomDark · · Score: 2

    As much as I hate Microsoft stuff, and am against closed source, C# is a very nice language. The whole time I've used Java, I've felt like "I wish something better would come out that wasn't so quirky".

    We need an open source language similar to C#. Java's not open source, either. But I'd rather see a C#-type language than a Java-type language.

    I hate to say it, but C# is definitely the better language. It's main drawback for me is that it doesn't (currently anyway) run on anything but the shitty Windows platform. C# on Linux and I'd be in heaven.

    1. Re:It's MUCH cleaner than Java by loz · · Score: 1

      see http://www.go-mono.org. An open source implementation of .Net, compiler is written in C#. Runs on Linux, FreeBSD, etc.

    2. Re:It's MUCH cleaner than Java by KlomDark · · Score: 2

      Is it finished, or at least usable? I haven't checked myself, but everything I've heard here says that it's really incomplete. Maybe that's not true and should do my own homework?

  89. Assembly by pommiekiwifruit · · Score: 1
    Maybe I've been spoiled by not having to do assembly for a couple of years, but now I am back doing it again I am thinking, "wow, I could code that so much faster in C or C++".

    Of course, for C to be viable I would want 32 bit registers, more than 1 kilobyte of RAM, no bloody banking/segment registers (for ROM), more than one accumulator, a multiply instruction :-) in which case writing in assembler would be more fun anyway!

    Everyone should know how to use it (just like everyone should know how to add and multiply without using a calculator) but it's nice that we don't always have to use it these days.

  90. Real World Experience by shiga_d00d · · Score: 1

    I have been a professional Java devloper for 4 years now. I started on a C# project with my company 2.5 months ago. I would say the biggest hurdles that I have had to overcome are:

    1) no checked exceptions in C#
    2) dotNET API is not as well organized as JavaDoc
    3) getting used to applying hotfixes and security updates weekly

    I definitely like the C# IDE. It is nice to spend more time coding and less time waiting for a slow Java IDE to respond.

    --
    The Kwisatz Haderach shall come again...
    1. Re:Real World Experience by Anonymous Coward · · Score: 0

      Mmmmm JBuilder. Fast Java IDE...

  91. Multiple inheritance by NFW · · Score: 2
    No multiple-inheritance ( before you cry: having 20 level inheritance trees from 3 different objects SUCKS in any language, but occasionally deriving from more than one object comes handy once in a while)

    Oh quit your bitching. Want to reuse the same few functions across a set of classes? That's what the clipboard is for. You know, copy and paste. Just paste that useful code into every class that needs it.

    Want to change, extend, or trim back that code that cut-pasted code that should have been a base class? That's what search-and-replace is for. You've got a lovely IDE, learn to use it.

    Me? Bitter?

    Seriously though, I've been thinking about creating a language called D. D is a half-step above C#. D will look just like C#, but it will add a new keyword: derivesfrom. Then you can write code like this:

    public class BaseClass
    {
    // implementation and stuff goes here
    }

    public class Widget derivesfrom BaseClass, OtherBaseClass : IWhatever, ISomethingElse
    {
    // you know
    }

    The D "compiler" will read such things and emit perfectly compilable C# code, sparing you the cut-paste madness known as "code reuse" in the C# world. The only question is whether D should be implemented as a perl script (because I have a sense of humor) or as a D application (because geeks (like me) are fond of self-reference).

    As a friendly gesture to those who oppose MI, the D compiler will spit out an error message if you attempt to derive from two classes that share a common base class. This one pathological example seems to have scared the bejeezus out of language designers everywhere. Other abuses of MI might be handled with stern warnings.

    I submitted the project to the good people at SourceForge a few minutes ago. In the meantime, contact me directly if you're interested in bringing D to fruition.

    --
    Build stuff. Stuff that walks, stuff that rolls, whatever.
  92. Bytecode has its place by Fafhrd · · Score: 2

    And since it only runs on Windows, hence x86, I need to produce bytecode why?

    We've already heard about Windows CE.NET, which runs on ARM. MS has released a "preview" of a 64-bit version of Windows for Itanium, and it is making noises about a new version optimzed for the AMD Opteron.

    I believe MS intends to eventually produce one deliverable (the CLR bytecode assembly) which will be compiled into native code on the ARM, x86, Itanium and Opteron, with different optimizations for each.

    Also, one of the concepts I like about the CLR is the possibility of optimizing for your platform at the last possible moment. Imagine having different JIT compilers for Pentium III, Pentium IV and the Athlon, producing a different executable depending on your machine. I doubt it will happen, though.

    1. Re:Bytecode has its place by Steveftoth · · Score: 2

      Java already does what you are asking for. Today it happens when you run a program in most modern jvms. Even the IE JVM compiles your class file to native code (JIT from symantec).

      ARM has an extension for their chips that allows them to run many (not all) java bytecodes as native instructions.

      The future is now!

    2. Re:Bytecode has its place by Fafhrd · · Score: 2

      Java already does what you are asking for. Today it happens when you run a program in most modern jvms. Even the IE JVM compiles your class file to native code (JIT from symantec).

      I know Java does that. I've run gcj, Supercede (an old Asymetrix IDE) and the experimental native compiler from IBM (later rolled up into Visual Age Enterprise), and they all produce native executables.

      My point is that Microsoft seems to want that flexibility in deployment for their products... So they can (for example) do one release of Money.NET (or whatever, just an example) without having to place multiple executables on the CD for Pentium, Itanium and Opteron. They did it before with NT 3.x... I remember 3.5.1 having i386, ppc, mips and alpha directories on the install CD.

      ARM has an extension for their chips that allows them to run many (not all) java bytecodes as native instructions.

      Really? That's very cool! I didn't know that... There must be some really good JVMs using these shortcuts.

      The future is now!
      Agreed.

  93. Its not the language, its the developer... by javabandit · · Score: 1
    When are people going to realize that no matter how much syntactical sugar someone puts into a language, it won't make a developer into a better developer. Or a designer into a better designer. You're either good at writing code, or you aren't. You either understand the precepts of object-oriented programming, or you don't. Java is a capable OO langauge. C# is also a capable OO language.

    Java and C# are very similar. C# offers some nice-to-haves. C# also offers some things that really don't make sense... properties are the best example. Exception handling is another example. C# takes a few minor steps forward and a few steps back. Which equates to pretty much standing still in reference to Java.

    I simply don't see enough compelling reasons to switch from Java to C#. The two languages are nearly identical. Java has far more support. Java is far more mature. I just don't see the benefits of changing at this time.

    Some of the C# examples are pretty bad, too. Who cares if I can write code like this in C#?
    my.object.foo++;
    my.object.font = BOLD;
    I wouldn't write code like that anyways. Because it is poor code. Sure, it is quicker to type. But if you're really craving to save those extra keystrokes... use LISP. You don't get much more concise than that. Less keystrokes does not necessarily equate to better readibility or maintainability.

    For now, I'll stick with Java. C# just doesn't have the value-add yet to even consider changing.

    As a developer, if you want to expand your OO knowledge level... don't learn the same old thing over again... which is what you'd be doing going from Java to C#. Learn something worthwhile...

    Learn Eiffel.
    1. Re:Its not the language, its the developer... by Anonymous Coward · · Score: 0

      Does anybody still hate OO. I mean I hate it with a f**ckin passion.
      How many kernels have you coded in java junior?

    2. Re:Its not the language, its the developer... by Anonymous Coward · · Score: 0

      How many kernal developers[1] do you need?

      Not as many application[2] developers.

      [1] Will ignore the fact you can write an OO kernal
      [2]Where application equals desktop/webservice/...

  94. the difference is... Re:C# vs. Java comparison by Anonymous Coward · · Score: 0

    that C# has upper-case method names that are typically longer?? How useful is that?
    Let's review:
    C#:
    infix operator-style functions, capitalized method names, vendor lock-in

    Java:
    true cross-platform capability, but you have to write foo.equals(otherfoo) instead of foo==otherfoo, darn!

    Jee, I wonder what I should use? Maybe I'll sell my soul to Bill Gates so I can define infix operators and hit 'shift' all day! NOT.

  95. Could they have named it any worse by kenoyer130 · · Score: 0

    My main complaint is that .NET and C# (notably the . and # symbols.) make it difficult to pull up information with search engines. When I want to know how to manipulate various C# controls I'm not interested in the sheet music for Bob Dylans Blowing in the Wind ;P

  96. Re:another new language? technology churn by pmz · · Score: 2

    Market full of suckers.

    I agree with this. Programming matured quite a while ago, and most recent contributions have added only unneccessary complexity to what should be a tractable situation.

    The last five years have introduced more acronyms, buzzwords, and brand names into my vocabulary than my brain can handle. Yet, what am I using on a daily basis? 20-year-old technology: vi, sh, sccs, make, etc. Relatively few new software technologies have really pushed beyond where we were in 1982, and many of those technologies are simply eye candy-enabled versions of what was around 10, 20, and even 30 years ago.

    It seems we could be better off not reinventing the platform on which everything is built every five years. FORTRAN, C, C++, Java, C# all touted revolutionizing our lives. FORTRAN and C really did revolutionize things; they broke us free of assembly code. But what about the rest? Why is software quality about the same now as it always has been? It's because none of these newer platforms have changed the fundamental complexity of making good software. Writing software today still requires the same amount of "brains" as it did decades ago.

  97. Re:Wow.. conspiracy theory sounds pretty good! by strobexii · · Score: 1

    Too good, in fact. Am I the only one who was reminded of your usual anti-MS propagandist, spouting off unlikely scenarios as a knee-jerk reaction to the word "Microsoft"? Your post, with its liberal dosage of "stealth advertising" ideas reminds of just such silly efforts to discredit anything or anyone who gives Microsoft credit even when it is deserved.

  98. Re:How Is "Odd"?? by Anonymous Coward · · Score: 0

    C:\Documents and Settings\%USERNAME%\Cookies

  99. Re:Terrarium - Robocode? by Anonymous Coward · · Score: 0

    Reminds me of IBM's Robocode. Anyone see the parallel here?

  100. Re:Cash (C + Hash) == nice Idea, .Net == teh suxxo by e2d2 · · Score: 2

    Either I wanna go M$, then I go native

    The .Net API is the replacement for the native Win32 API. This is a fact you ignore at your own peril.

    No, folks, .Net is gonna fail - or it's gonna cost M$ another few billion and a change in market policy.

    Thanks for the prophecy nostradumbass. Can you back any of what you said up with facts and not FUD? Are you a developer or do you just play one on TV? Go write more than a hello world before you blab about how .Net "suxx0rz" noobmaster flex.

  101. Who's using C#? Answer: by _newwave_ · · Score: 1

    Well, I can tell you who's learning it at least. MS and Developmentor (www.develop.com) recently had a "C# training camp" up in Redmond and from a registration survey here are the statistics of collective student experience (in years, out of 186 students):

    COM: 408.10
    Java: 187.85 .Net: 98.28
    C++: 662.45
    VB: 524.95
    XML: 245.25

  102. Re:Wow.. conspiracy theory sounds pretty good! by Tokerat · · Score: 2

    I got an idea.

    If you all really care SO MUCH, go to your local Barnes & Noble and RTFB.

    If you want to know if something if bullshit, there's really nothing like seeing for yourself.

    --
    CAn'T CompreHend SARcaSm?
  103. Funny, I saw the opposite by GCP · · Score: 3, Insightful

    What I noticed was just how uncomfortable the author seemed, to be seen saying anything positive about something from MS to this crowd.

    Pretty sad when the political orthodoxy is so overwhelming that every sentence has to start with the equivalent of "please don't hate me for saying it, but this wasn't as bad as I naturally assumed..." when discussing a book on programming.

    C# is what you get if you take several years of Java real-world experience and ask "if we could do it over again from scratch, with no backward compatibility requirements with existing Java, what would we do?"

    C# is what you get if, instead of taking Sun's attitude of "please, you're a programmer, not a language designer -- if what you're asking for were a good idea, we would have done it", you take MS's "mercenary" attitude of "what changes would you make to Java if you could?".

    --
    "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
    1. Re:Funny, I saw the opposite by Anonymous Coward · · Score: 0

      "if we could do it over again from scratch, with no backward compatibility requirements with existing Java, what would we do?"

      OK. Why would you leave out checked exceptions?

    2. Re:Funny, I saw the opposite by Anonymous Coward · · Score: 0

      .NET is yet another bid at strategic incompatibility from a profoundly untrustworthy vendor. Any serious recommendation of it abets their destruction of the industry and threatens the profession.

      Starting over, I would unify objects and primitive types (auto-boxing pretty much like MS did), design by contract, generics, categories (adding utility methods to existing classes), and a less painful syntax for making objects to serve as closures or higher-order functions. Instead they added delegates and properties and removed checked exceptions, just the sort of mistakes you might expect from novice language designers reared on VB.

    3. Re:Funny, I saw the opposite by Bytenik · · Score: 1

      OK. Why would you leave out checked exceptions?

      1. Look at code written by many Java programmers. You will often find try/catch blocks inserted "Just to make the compiler happy". It does nobody any good to hide exceptions this way, and it is extremely common. Bugs can lie dormant for years since they are silently caught and ignored. Checked exceptions are supposed to improve reliability and robustness, not hinder it.

      2. Checked exceptions are a compile-time check, and require the programmer to provide information that the compiler could easily gather itself. The C# compiler could (although it doesn't currently) figure out what exceptions are thrown by any given method by examining the source code, and the .class files it links to. The exception info would have to be stored in the .class files, so there is a small downside. A good tool, however, would be able to tell you where all the "holes" are in your exception handling.

      Of course, C# doesn't provide such a facility either, so leaving out checked exceptions without substituting something better is still a curious choice.

      On a tangential note, I find working with exceptions in Java extremely annoying at times. The JDK often uses exceptions as an error handling mechanism for commonly occuring situations rather than reserving them (exceptions) for "exceptional" cases. That topic, however, has been argued to death, and I won't mention anything further about it.

      --

      "Scientists prove we were never here."
      -- Devo

    4. Re:Funny, I saw the opposite by Anonymous Coward · · Score: 0

      Proper exception use includes declaring all base exception types an interface method reasonably needs to throw. That way you're warned if your client code doesn't competently use the interface, or if your implementation wants to throw an exception clients can't be expected to be prepared for. You can't infer exceptions thrown or caught by code that didn't exist when you wrote yours.

      If client code can't do better than giving up and re-throwing an exception, then fine, that's what exception chaining is for (I routinely rolled my own until the platform had it). If some luser writes a catch block that fails silently, take them out, beat them, and replace them with someone qualified to write code.

    5. Re:Funny, I saw the opposite by Bytenik · · Score: 1

      You can't infer exceptions thrown or caught by code that didn't exist when you wrote yours.

      True enough, however, you also can't be omniscient and predict every possible type of exception a class might need to throw. Just declaring Throwable or Exception in your throws clause is a cop out. I'm not saying a good exception hierarchy is impossible, just that it can't always be "perfect".

      If the exception information is stored in the classes, however, then when you add new code, you can rerun your "exception checker" tool and discover the new "hole" and fix it.

      BTW, I haven't analyzed this idea thoroughly, so there may be problems with it in some cases (dynamic loading?), but it seems to make sense.

      As for the "lusers" writing empty or otherwise useless exception handlers, I would guess that nearly every C++ or Java programmer has done it. Usually it's accidental (e.g., you add the handler section, then get distracted by a phone call, lunch, etc., then forget to finish it). It happens, and it would be handy to have an easy way to find them.

      --

      "Scientists prove we were never here."
      -- Devo

    6. Re:Funny, I saw the opposite by Anonymous Coward · · Score: 0

      Deciding what errors clients are expected to handle (constructively) is part of design. throws Exception means the job simply didn't get done. If an error really comes out of left field and there's nothing reasonable to do other than report it and give up, that's when it should be an unchecked exception.

      IMHO dynamic loading is a showstopper. You could never get away with shipping a library update that throws a different exception without first getting every client to ship an update that handles it. But your library probably has clients you aren't even aware of, so without interface design contracts users' installations blow up randomly after updates.

      you add the handler section, then get distracted

      This is no different than checking in any other broken, untested code. Either type "FIXME" (or something else that doesn't compile) wherever you were working on the way out the door, or your peers bring rotten fruit to all your code reviews just in case.

  104. Of course not by Pac · · Score: 2

    We all know the vast secret conspiracy against poor Microsoft does not tolerate these kind of behaviour. Anyone speaking against Java, Linux, Apache and other fine technologies will be as good as dead for the mainstream media and the general public as is anyone who speaks for Microsoft. They all go down the same wall of silence we dump Chomsky and Moore on.

  105. An alternative C# for Java book by HappyHowieHardcore · · Score: 1

    While searching for the book on Amazon, I came across this title:

    C# for Java Programmers, which is published by a different publisher. It seems that the book was published before Microsoft's... So for people that might want an alternative perhaps this book will give a more unbiased view since it's not from the Microsoft Press...

    http://www.amazon.com/exec/obidos/tg/detail/-/07 35 617791/qid=1031083751/sr=8-1/ref=sr_8_1/103-896164 2-1803861?v=glance&s=books&n=507846

  106. Can't figure it out? Try it out by GCP · · Score: 2

    Download the SDK from MS. It's just like downloading the Java SDK (JDK) from Sun.

    It's free. You'll get a C# compiler, a bunch of class libraries, and a runtime, plus other goodies (e.g. other languages, but stick with C# if you're starting new.)

    Get a beginning C# book and go to work. It's no different from learning what Java was about in Java's early days.

    If your complaint is then, "but I'm not a Windows user", I can relate. One of the main reasons I became a Windows user was because I was having such a hard time learning the "cross-platform" Java language on my Mac back in the early days.

    If you're not a Windows user, you should be used to waiting by now, so wait for (or go help) Mono. Since I'm not a Windows user on the server side, I have to wait with you for some things, but I think that there will eventually be an excellent .Net for non-Windows platforms.

    --
    "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
    1. Re:Can't figure it out? Try it out by Anonymous Coward · · Score: 0

      If it's free, where's the source. Java licensing isn't great, but .NET licensing is the opposite of freedom, being merely very cheap (and then only if you already paid for Windows).

    2. Re:Can't figure it out? Try it out by Anonymous Coward · · Score: 0
      Get a beginning C# book and go to work. It's no different from learning what Java was about in Java's early days.

      If it's no different, why do it again? I consider ReinventingTheWheel an AntiPattern.

  107. bmajik is wrong ... by sweetjonnie · · Score: 1

    Dear bmajik, it is time to baman (a REAL man, silly). We do C++ or Java on Solaris when we want to get real work done. We do VB.NET when we want to sit in our pajamas n play with soft pillows. Sincerely, sweet jonnie

  108. Re:Terrarium -- RoboCode by Anonymous Coward · · Score: 0

    robocode is nowhere near as complex; there arent nearly as many options

  109. VB.NET by Bodrius · · Score: 3, Informative

    Well, I don't know about Microsoft, and I do know a lot of VB developers that hate VB.NET with all their guts, but I have to say I find it impressive for the same reasons they hate it: it's a language that forces OO design, uses modern libraries, and in the end it's all source code.

    I'm not a big fan of VBisms such as "MustOverride", "MustInherit", "NotInheritable" etc, which can easily become unreadably verbose for my taste as you combine them, but after trying it out for a couple of simple apps as an experiment I find it an outstanding improvement over the original VB.

    I think it's perfectly feasible to build a relatively big project in VB.NET without destroying some hardware and going on Prozac, as I would expect with any other VB.

    Not that I would, but it has become a matter of taste or distaste for the VB-like syntax, not a major disfunctionality of the language itself.

    VB.NET is a crutch. But it's a crutch that manages to fix VB as a language. I consider that an achievement, to say the least.

    --
    Freedom is the freedom to say 2+2=4, everything else follows...
  110. This is SO not insightful by GauteL · · Score: 2

    The above poster have gotten a 4 insightful, but rather should have a "-1 Dreadfully biased troll", for being way more biased than what he is bashing for being biased.

    What the f*** is so insightful about bashing language on the basis of it being high-level and created by Microsoft?

    C, C++, Java and C# all looks like nice languages, and even if you are sceptical you should base languages on its merits, and not who created it.

    I'm really paranoid about Microsoft, I run a small norwegian Linux site, and I'm a Linux user, but this is just BS.

    Besides, reasonable C-coders might prefer to code in C, but won't dismiss C# or Java as some sort of "Mickey Mouse"-language just because it is high-level. Some times you need the power of C, sometimes you just want rapid development without the hassle.

    There are at least enough C-coders that think C# is great, to create Mono.

  111. EvanED has it wrong I think. by sweetjonnie · · Score: 2, Interesting

    Dear EvanED,

    For someone who has done a good deal of research on languages, I find it odd that you should point to four of THE most superficial differences.

    Had you pointed to differences between the CLR and the JVM, you might have had an audience.

    Instead, you rehashed the oulde argument between C++ and Java. Who won that debate? The people who realized that it was a waste of time to argue THESE points.

    EvanED, I wish you well in your research. I would like to point out to you that there is not a junior college on Earth that will give you any extra credit for your penetrating analysis.

    Sincerely,
    sweet jonnie

  112. VB.NET is exactly the same as C# by Baki · · Score: 2

    Look in VS.NET, all documentation and sample code for C# and VB.NET comes from the same source.

    C++ samples are completely different (it is a really different language, with templates, MI etc).

    In the VS.NET sample code there is a toggle that switches between VS.NET and C#. Really, the two are 100% equivalent, only the syntax differs.

    I think that most traditional VB programmers shall stumble with VB.NET. Superficially they may think it is still the same language, but in reality it is totally different from what they knew. Only few of those can grasp VB/C#.NET.

    The survivors come mainly from C++ background; for those, the C# syntax shall have more appeal.

    Thus, VB shall die.

  113. Take care of your own bias by Duderstadt · · Score: 1
    Nowhere does it [the article] describe some of the significant advantages that Java has over C# such as checked exceptions, inner classes, class granularity reflection, a far better collections implementation and so on.

    Rather than behaving as zealots, Slashdotters, and especially Java 'advocates', might want to remember that in some cases, comparisons may be inappropriate.

    For example, simply stating that Java is superior to, or has signifigant advatages over, C#, is a bit unfair. Not to mention untrue, at least for the most part. Regardless of your opinion of the Java and C#, the fact is that the laguages were designed for different purposes, and are therefore different - in some cases, radically different.

    Developers especially should keep that in mind when thinking about trashing some language. After all, compared to C++, Java is somewhat, well... limited, in power, speed, etc. Of course, Java and C++ are not exactly intended (or suited) for the same tasks. To use the eric consiracy's example, I could say that C++ has signifigant advantages over Java such as pointers, operator overloading, a superior standard class library, templates, a collections implementation (STL) that is orders of magnitude better than Java's, and asm{} (YCMV).

    But that wouldn't be fair either; for all that C++ has over Java, Java has a few over C++. Most importantly, a learning curve that doesn't look like Mt. Everest.

    1. Re:Take care of your own bias by Perky_Goth · · Score: 1

      Well, he didn't say that... he said Java had advantages over C#. Anyone who knows anything can read in his comment that the reverse is problably true (if for nothing else but because nothing is perfect).

      At least I saw it... I'm still new here...

  114. Re:Wow.. conspiracy theory sounds pretty good! by joto · · Score: 2

    I didn't know Barnes & Nobles sold binaries...

  115. Re:another new language? technology churn by Anonymous Coward · · Score: 0

    Programming tools have merely stagnated, yet they (and the profession) are still at the stone knife and voodoo doll level compared to other engineering disciplines less hampered by incompatibility. If I have seen little, it was by standing on the toes of giants....

  116. C# 'Mickeyware' ? by Otis_INF · · Score: 2

    Since when is a language which fixes a couple of serious flaws in Java 'mickeyware' ?

    Oh, I see... It's not C++, so it must be stuff for kids or 'loonies' who think they are real programmers, right?

    Grow up, kid. C# brings real type safety to the table + GC, which virtually eliminates the crap which bugs (pun intended) C++ code up till today and tomorrow. C++ is nice, but for most projects, it's just a language which requires too much overhead, too much typing (on the keyboard that is) and results in too complex code. Gee, Java and C# do a much better job in those areas. Limit yourself by choosing a language which holds you back in productivity, I don't care, nor do your competitors.

    --
    Never underestimate the relief of true separation of Religion and State.
    1. Re:C# 'Mickeyware' ? by Anonymous Coward · · Score: 0

      roflmao...

      ahem... running code that is slower is acceptable for you and your users, by all means use a language that slows down your system and removes you from the machine such that certain things cannot be done. If you don't need multiple paradigms at your disposal, by all means nuke yourself with your development tools.

      With MS tools you can do faster anything Microsoft has already done. They give you a wizard that plays back what they've programmed. If you are doing something unique or cutting edge, these tools slow you don't. So identify yourself! (irony intentional)

  117. MOD PARENT UP by Anonymous Coward · · Score: 0

    He explained everything the grandparent totally misunderstood.

    How shameful that someone can post something that is totally false AND it gets modded up and interesting or insightful.

    Makes me want to cry.

  118. WTF!? by SHEENmaster · · Score: 1

    This seems like a smaller scale of Hitler's planes.

    Rather than trying to convince us that ther Jews are to blame for our troubles, they blame Java. The purpose is obvious. Microsoft wants us to exterminate Java in favor for a "prettier" language, when M$ ittself doesn't use that language!

    The fact is that Java is what I want. I can use it on my Linux server/desktop, my iBook, my graphing calculator and even lego robots! I may not have moral reasons for keeping Java alive, but it is supperior.

    --
    You can't judge a book by the way it wears its hair.
  119. Boring by Anonymous Coward · · Score: 0

    it is for you all geeks out there. It is not about which language/SDK is better than the other. It is all about choosing the right language/SDK for the right job. I will use java/SDK if it has more support to fit my needs. On the other hand, I will use C#/SDK if it is right for the job.

    Get a freaking life please.

  120. free by GCP · · Score: 2

    I said it was free, and it is. It costs no more than the JDK, which is to say: nothing. That "if you already paid for Windows" stuff is silly. I already said that when Java was at this stage, I had to buy a whole PC to use it because the Mac version was hopelessly behind Windows (and the Linux version nonexistent.)

    And what's this about source? Go ahead. Take that Java source, fork Java and see what happens to you. And where is the source for that darned javac? I can't seem to find it. I need it because I'd like to create a new dialect of the Java language to sell to scientific developers. Hmm.

    If you want to customize a Java-like language without getting sued, start with ECMA C#.

    --
    "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
  121. Microsoft Press books are generally good by strobert · · Score: 2

    The review seems surprised that the book was very honest about C#. back in previous times of my career (when I did win16 and then later win32 C++ programming) all of the Microsoft Press books I bought and read were of good quality. And they included healthy criticisms of parts of the technologies that weren't so great.

    In spite of Microsoft Press sharing the name with the company they have generally published books that are fair in their dealings with Microsoft technologies.

  122. C# vs C++ by Slackus · · Score: 1

    Now just waiting for C# for C++ Developers

  123. Much better review by Martin+Spamer · · Score: 2


    A Comparative Overview of C# [genamics.com] is blatant astroturfing from C# book author. The genamics.com review is riddled with problems, the author has ignored constructive feedback on the article, has a poor appreciation of OO and is inconsistency in his comparison. He also has a history of Atroturfing the forums.java.sun.com in support of C#.

    IMHO this is a much higher quality comparative review.

  124. Java to C# - NOT A CHANCE! by Anonymous Coward · · Score: 0

    Consider the fact that Java is being improved rather rapidly.
    I would like to compare JDK1.6 to .NET in a few years time.
    What percentage of Serious Java programmers are switching 1% 2% 5%?
    The fact that VB and C++ coders are just switching to a Java clone MANY years after the release of Java just shows how much they swallowed Microsoft's propaganda by rejecting Java and then accepting C#.

  125. IGNORANT STINKING MODERATORS by Hack+Shoeboy · · Score: 0
    Have any of you ever heard of the Emperor's New Clothes?? This post was a joke, for cripes sakes.

    I'll think twice before casting pearls before swine in the future.

    --

    IN TEH FUCHAR, LITERSY WLIL EB OPSHANAL!!!!!111
    1. Re:IGNORANT STINKING MODERATORS by Anonymous Coward · · Score: 0

      Good. Ha Ha Only Serious is fine, but if you don't even mean it don't waste our time saying it.