Sound the Call for Justice
While Borland sets about building its bridge, here in the land of the present-day, developers are frothily debating the rhetorical and technological issues behind C# on the DevX newsgroups, in much the same way that VB developers have long been doing over VB.NET.
A controversial guest commentary last week by C++ Pro Danny Kalev sparked a wildfire of posts, which criticized Kalev's assertions that
C# is a "Windows-only language":
"Given that there are at least three publicly announced, high-profile open source efforts to create C# compilers, this seems a bit harsh. I have three working C# parsers from those projects. One project can already generate IL executable files."
That C# is "technically crippled":
"I agree that templates are a powerful concept in C++. It's a quick code generator for reusable concepts. However, the STL use of vector, list, hash tables etc. are no longer required with C# or Java where every object must be derived from a standard base object and the generic List, Vector, etc. classes."
"When I first read its spec on MSDN, I quickly realized [C#] was exactly the way I wanted Java to be from the very start. Java and C++ missed native support for properties and events. They didn't think of such a wonderful concept of type unification. On every page of the C# specification (see MSDN), you can find at least one bright idea that beats C++ and Java."
That C# is free from "if it's not pure object-oriented, we won't allow it egotism" prevalent in Java's design:
"Java follows the principles of design patterns, support for easy refactoring and many other 'Best Practices.' It is true that Java intends to be Object Oriented, but it is also true that pointers are complex and dangerous. Java doesn't include pointers because they are dangerous, complex and extremely difficult to refactor."
Meanwhile, in another newsgroup, a disciple is born:
Subject: Visual Studio.net Beta 2 is Brilliant
"I am presently moving an n-tier VB6 windows app to a C# Web app.
The design environment feels like VB6. The base classes are intuitive and easy to use. ADO.NET is far more flexible than ADO. Implementation of design patterns is far easier than with VB6. Event handling is similar (on the surface at least) I can display my Crystal reports in a browser without ActiveX. I actually have less code and more control in my presentation layer than I do with VB. View state and session state are incredibly powerful.
No more windows development. No more client deployment.
WOW!!!! Welcome to the 21st century."
And another one leaves the flock:
"I'm moving from VBA to Java presently. I'm actually enjoying the syntax. I often wish for an 'auto syntax check' that highlights lines in red... and compile times are longer. I think that Java is the 'VB' of the C family of languages. At the moment, the Java class library looks more 'knowable' than the Win32 API, (but that's just an uninformed opinion not meant to start a war or anything.) I hope to evaluate VB.NET and C# again when they come out, but there are no good tutorials for VB.Net yetor at least, not a lot to choose from. (Appleman's book is definitely more difficult than his ActiveX Controls book.) The .NET thing is presently irritating and inconvenient to me ... but I can't rule out the possibility that it may be 'the way of the future'."
If you're looking for opinion and spirited debate on the merits, or lack thereof, of the .NET technologies, and haven't yet discovered the DevX newsgroups, please consider this an invitation to join the fray. You'll undoubtedly find something in the following groups to spark your interest: vb.dotnet.discussion, vb.dotnet.technical, talk.editors.devx, c++.general, and csharp.general.