Hejlsberg:
First of all, C# is not a Java clone. In the design of C#, we looked at a lot of languages. We looked at C++, we looked at Java, at Modula 2, C, and we looked at Smalltalk. There are just so many languages that have the same core ideas that we're interested in, such as deep object-orientation, object-simplification, and so on.
One of the key differences between C# and these other languages, particularly Java, is that we tried to stay much closer to C++ in our design. C# borrows most of its operators, keywords, and statements directly from C++. We have also kept a number of language features that Java dropped. Why are there no enums in Java, for example? I mean, what's the rationale for cutting those? Enums are clearly a meaningful concept in C++. We've preserved enums in C# and made them type-safe as well. In C#, enums are not just integers. They're actually strongly typed value types that derive from System.Enum in the .NET base-class library. An enum of type "foo" is not interchangeable with an enum of type "bar" without a cast. I think that's an important difference. We've also preserved operator overloading and type conversions. Our whole structure for name spaces is much closer to C++.
The language sounds like it has a goal, but I am rather skeptical, it's almost like PHP (which is already a server side scripting based on a c++ Structure)
Microsoft's intentions are to take over the Java market with this new language, what scares me though is although they benefit by "borrowing" or implementing a feature similar to Java's Garbage handeling, they also "allow devellopers complete access to the underlying system" and in the same path of Java, users will need a C# Virtual machine, but it scares me that they take Java, they butcher it to be more developer friendly but at the same time much more insecure for users, like the access to underlying systems, and that kind of thing, it pretty much defeats the purpose on which java was created to serve.
I dont think I'll have a problem with ease, but I do belive there will be a problem with portability (how many people are actually going to want to intergrate C# VMs into their OS) and security (like ActiveX which didnt go too great even with digital signatures, having complete access to a user system is not my idea of fun)
So basically its my concerns for the users, more than it is for us Developers.
Karl
kb244@kb244.com
I believe it to be an obvious rip-off of Java. .NET will be nice when/if it works... MS is notorious for being late to release. And notorious to release flawed software.
I have read a great deal on .NET and C#. It is in every way imitating JAVA. It may have some features JAVA lacks it may also lack features JAVA has. Java has 4+ year head start, and wide spread accpetance/support by the development community. That is a huge hill to climb.
I hope C# is all it is claiming to be... but I doubt it.
Pete
blindpete@mail.com
What your mother told you is true! You will go blind! (from moonshine anyway)
Well, I think that if it's like most of the things that M releases, it will have so many security and bug issues that it won't be usable for production until at least 2 "service packs" are released, (Look at NT, Win 98 first ed, and the early days of IE) .
I'm not knocking M totally, because if people are buying the products, then obviously they are intuitive and work well enough for the main share of the market. I'm simply saying that if past product releases are at all indicitive of how C# is going to go, we've got a long time (even after it's "released" as stable) until it works well and reliably.
It sounds to me like most of the critisism is comming from people who haven't given C# a try yet.
I believe that the fellow who said C# requires a virtual machine was mistaken. C# compiles just like VB or VC++, and if you're using ASP.NET the compilation is an automatic process. You just click "Save" and the dll materializes out of nowhere.
Secondly, no one is forced to use the underlying system functions. Java gives you super portability, C++ gives you full system control, C# gives you a choice.
My only gripe about C# now that I'm using it is that the documentation that MS put out with the beta release of the .NET SDK is the most erroneous litterature I've ever read.
I'm not trying to convince anyone that they *should* use C#, but I think you might like it if you give it a fair shot.
I've never liked Java too much, I think C# is a much easier environment to develop with. But, that's just me.
C# is a part of .NET .NET makes use of Just in time compiler technology. Just in time compilers are Virtual Machines. I have tried C#. I do not think it is bad. I also do think it adds anything significant to the development universe. I know of nothing that competes with the pure power and capability of C++.
Pete
blindpete@mail.com
What your mother told you is true! You will go blind! (from moonshine anyway)
QUOTE:
"Visual Studio .Net testers did note that, unlike Java, C# is not cross-platform, and currently supports the development of applications based on Windows and .Net only. "
least we now know that C# can most definitly not take Java on in competition, if it's not crossplatform, it's also very likely not cross browser either, so ruins microsoft's chance at being portable, I thought thats what their goal was, but it turns out they're trying to keep it only on their platform, only on their browsers, kind of like shooting yourself in the foot isnt it?
Karl
kb244@kb244.com
Well, about people having not tried c# yet, why? It's not cross platform, and we all know it won't work as well with Netscape, but if you need a web language, why not use Java? And if you need something more powerful and robust, c++. I don't see a niche for C# in the market, and it doesen't sound like it's going to blow Java out of the water or anything.
Think about it, how may software systems has Microsoft released that have worked well on the first (second or third in some cases) try? How long has Java been around? Microsoft is trying to introduce a new language that will be buggy and unreliable into a market and directly compete with Java, which has been around for several years (a long time) and has been proven. How will they make it work? Who is going to switch to it?
Just a thought...
As always, I hope that helped!
Disclaimer:
Beware: Studies have shown that research causes cancer in lab rats.
I'm wondering if the ZDnet artical is correct. If C# apps only work on MS .NET systems... why not just code in C++. They must be planning on making it cross-platform at some point.
-Pete
It seems to me that LobsterGun is the only one in this thread that has a handle on the .NET C# picture to any degree of accuracy. This is not a flame on the rest of your posts so please don't take it that way. Also I am NOT trying to talk anyone into 'liking' or using C#, why would I care if you like it or use it.
I would point out that there is an abundance of articles available (many in MSDN Magazine) that might help clear up the .NET C# VB.NET ASP.NET etc. issues if you care to read them. I think the 2 part Article by Jeffery Richter was good and might be available at msdn.microsoft.com
Some of the articles also discuss MS's expectations for the CLR (Common Language Runtime) to be adopted and developed for other OS's. There is even mention of Corel developing one for Linux. This is all highly speculative so keep your feet grounded when you read predictions and rumors like this. However it could happen.
Then off the subject: BlindPete said this:
> I know of nothing that competes with the pure power and capability of C++.
You just gotta love those PetesB-)
As always...
"But, that's just my opinion... I could be wrong".
-pete
If you are an MSDN Subscriber, and have received your January 2001 CD as I have today, the MSDN Show has a long video giving you an overview of most parts of the .Net architecture
Karl
kb244@kb244.com
I really do not understand why C# is said to be a competitor for JAVA when it is not platform independent!! JAVA's prime advantage and acceptance is dueto this fact that it is platform independent. SO I dont see C# competing with JAVA in any way.
Rgds,
Sudha Visit
> why C# is said to be a competitor for JAVA when it is not platform
> independent!! JAVA's prime advantage and acceptance is dueto
> this fact that it is platform independent.
Java is NOT platform independent. Java Virtual Machines can be developed (in theory) for any platform thus providing an assortment of platforms that are available to host Java. Does this even make your code independant of each VM? Well I won't even get into that issue.
> SO I dont see C# competing
> with JAVA in any way.
C# runs in the CLR in the same fashion that Java runs in the VM. Since CLR's can be developed (in theory) for any platform, this provides the connection for people to claim that the language is a competitor for Java.
Please note that I am not agreeing nor disagreeing with the statement in question. I am only attempting to clarify the issue. Personally I don't really care if it is a competitor or not. It is just another variation of a C++ style language in the same way that Java is.
"But, that's just my opinion... I could be wrong".
-pete
I don't think people are going to jump on c#, I should hope that developers are looking for ways around windows at this point. I'm moving to linux developing to avoid dreaded licencing fees and so on from Microsoft. All I care about from Microsoft is their browser and I hope that everyone in the world switches to it at some point. As for linux developing, I definatly mean online. None of the linux interfaces are any good at this point, and netscape really is bad. So as for c#, I don't see the big deal, especially since it's another language strictly for Microsoft, so c# on linux is probably not an option and when 90% of servers are running unix bases systems that pretty much cuts out online development with c#, so your left window MS os's to work with.
So I guess if you are interested in developing on windows it's a good lang, but is it really all that better than good old c++?
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.