I've been quite interested to read some of the C# stuff... Is it just me, or is it *so* like Java as to be nearly indistiguishable? I haven't actually gotten down and dirty in the details, so there's probably stuff I'm missing, but nonetheless it looks a bit suspect - is this Microsoft's latest attempt to kill Java? And what does it imply for Java on the MS platform?(not that MS Java is actually Java...)<BR><BR>Do we really need another C-based language these days? Or are they just using that name to avoid legal difficulties?<BR><BR>Still, at least it's not as 'orrible as VB <BR><BR>DuncWell, it's certainly an awful lot like Java. Microsoft will say that they're not ripping java off, and they're just doing what makes sense, blah blah blah. That's probably true, but the fact that C# is so much like Java can't be coincidence.<BR><BR>That said, I don't know that I care. MS has never pretended to want to create anything truly cross-platform, and that remains true. It looks like they're trying to put a layer between developer code and the OS, and with that goal in mind, a Java-like language makes sense because NGWS ~= VM, I suppose.<BR><BR>I poked briefly around the C# docs (not too long, cause I'm, um, at work..) and found a few interesting things:<BR>- All C# objects become COM objects. Not surprising, but interesting nonetheless (what if my object isn't meant to be exposed?)<BR><BR>- C# lets you writing "unsafe" code, which lets you use pointers and access native API's.<BR><BR><shrug> I *like* C++ and the things it lets me do. I don't want a language to tell me what code I shouldn't be writing. ;-)<BR><BR>MattC# - "C-sharp" - yes, I called it "C-hash" the first time I saw <BR>it (but I didn't inhale(!) ) is the new language from Microsoft <BR>especially designed for use with their future server-side coding <BR>framework: Next Generation Web Services - now redefined under <BR>the name ".NET" (as of PDC we don't use NGWS anymore).<BR><BR>It looks similar, with the new Common Language Subset and cached <BR>web page object code it sure looks a Hell of a lot like JSP... <BR>However, it hasn't Java's cross platforming and is very much a <BR>MS thing. As I see it C# is specifically designed for the MS <BR>Intermediate Language, which is similar in concept to Sun's <BR>Virtual Machine _except_ that it is cross-language compatible, <BR>NOT cross-platform. In theory, MS say, a component written in <BR>C++, Perl, C# or VB7 will, on a given MS-OS, produce _identical_ <BR>Intermediate language, which will compile into _the_ _same_ ind-<BR>estinguishsable object code. This is a pretty tall order, given <BR>VB *6*'s threading limitations!<BR><BR>C#'s major competitor, therefore, will probably be Visual Basic <BR>7. With its implicit use of classes and namespaces, VB7 is now a<BR>grown-up language.<BR><BR>The new architecture of ASP+ means that different languages will<BR>be abile to use and modify the same objects, regardless of where their class is defined.<BR><BR>Daniel Walker<BR>Wrox Press<BR>I think MS is trying to make a language with the power of C++ but is built for COM+ programming. I used to be a C++ developer (over 10 years), but as I do more and more COM+ development, I find myself using Visual Basic almost exclusively. And it's not because I like VB, but I can't justify the difference in development time. <BR><BR>VC++ for COM is much harder than it should be. I am eager to start using C#.