 |
C# could be major
Posted by calvinaustin on August 16, 2005 at 08:10 AM | Comments (14)
There was a lot of hype and predictions in 2000 that C# was going to be the #1 programming language. All that we could do at Sun was to listen to what Java users wanted and build the best release we could, that was JDK 5.0. Ironically it probably energized us, which is something to be said for competition.
Yet here we are 5 years later with a new wave of languages getting the attention. Python, PHP and Ruby on Rails get more of the limelight and Java is still the choice for enterprise application development. In my book C# failed to make the grade, not just because of Java but the whole open source language landscape. You can read more of my analysis here.
Bookmark blog post: del.icio.us Digg DZone Furl Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment
-
I read through Calvin`s article and was not quite convinced--surely C# must have found some traction in the Microsoft shops, of which there are many. Then I read the reply by the Microsoft product manager in charge of VS .NET at http://java.sys-con.com/read/118121.htm. That`s got to be the lamest reply from Microsoft that I saw in a long long time. Maybe C# really is in trouble?
Posted by: cayhorstmann on August 16, 2005 at 08:18 PM
-
It's not a language issue, it's a platform issue. This has been a struggle of platforms all the way, but so many people get hung up on these languages.
C# is designed to take best possible advantage of the CLR, ie. the JVM equivalent of the .NET platform, which is mainly the CLR plus new libraries. The CLR and .NET were intentended as a better abstraction level for programming on the Windows platform. Even though C# is to the CLR what Java is to the JVM, it was .NET and the CLR you were meant to buy into, not C# as such. (The alternative language support for the CLR is good, and part of the design.) The whole idea was to make it easier to develop Windows applications.
I don't know the state of the Windows developer scene, but If C# has failed to gain traction, it is either because VB# (or whatever) is good enough to work with .NET (after all, it's the libraries, stupid), or because .NET hasn't taken off, and people are still coding against lower-level libraries in C++ or something.
A .NET friend (yes) is coming today to help me drive some trash to the garbage dump, I'll ask him.
It's the same with Java; it's the JVM you buy into, not the Java programming language. The JVM is the platform, and at runtime (which is the -time that matters most), that's what you're on.
Kjetil
Posted by: valstadsve on August 17, 2005 at 05:40 AM
-
There are many reasons, but three come to mind for me.
First, the platform didn't provide many advantages over existing solutions like Java.
Second, it hints at being a cross platform solution but never really delivers.
Third, MS never provided a proper migration path for VB6 developers which made up the majority of their developer base.
Posted by: rabbe on August 17, 2005 at 07:13 AM
-
once the next generation of windows applications are written targeting .net then i'm sure a critical mass will be gained - i think its ridiculous to write off c# or the clr this early..
Posted by: asjf on August 17, 2005 at 07:51 AM
-
hay wake up guys.
- Who is talking about C# and .net? I think he did not even try them niether did he tried the most great ever development tool (VS.NET). I confess I like writting java, but I also write .NET
-From my experience of both .NET and specially ASP.NET excelled JAVA by 5 years. Now the java community is publishing JSF that is similler to ( ASP.NET 1 ) which was published 4 years ago, but in the same time MS is about launching the ASP.NET 2.
- And also all the JAVA develpment tools in the market are really poor compared to the ( MS VS.NET 2003). VS 2003 supported the HTML and ASP Visual editors and javascript supprt over 4 years ago but none of the java Tools had managed to do that in a Similer way.
- I beleive that the JAVA comunity should rethink about how to direct their investment well.
- So beleive me, You should wake up guys, shower and then rethink again.
Posted by: ramimahdi on August 17, 2005 at 09:09 AM
-
I developed a lot both in Java and in C# and I must admit that I like C# better. It's those small thingies like annotations, properties, delegates etc. that makes it more attractive to me; String.Format(...); XML-Support; ADO.NET-DataSets; DateTime-Classes; WinForms-Designer ...
Well, yes, Java has similar constructs (or workarounds like getters and setters) but it doesn't feel that clean. Ok, with 1.5 it got a lot better but the major part of the Java codebase is still
I agree, C# is weaker in the opensource area and I don't think C# will ever be such strong here as Java. MS-Developers usually only have their limited view of the world.
Posted by: sentinel101 on August 17, 2005 at 10:29 AM
-
IMHO Microsoft made two big mistakes with C#. They tried to market to Java developers without understanding Java developers and they ignored the hobbyist. MS thought they could lure Java developers with a Java-like language, but a main attraction of Java is its openness. Java is about choices. Choice of IDE, code libraries, and supporting tools (databases, SCM, build tools, etc.) C# and .NET push MS’s toolset (which I don’t believe is suited for modern enterprise development.) MS has no desire to integrate any other tools into there toolset (even the Oracle DB support is minimal.) By keeping this closed attitude, MS has also isolated the hobbyist who want to learn how to program. There are a significant number of developers who start this way. I don’t think there is a free version of VS.NET (other than betas) or many other MS tools (apart from the .NET framework.) There are several quality IDE’s, libraries, and tools for Java development, some of which are free, and many which are better than there MS equivalents.
Posted by: hammer on August 17, 2005 at 12:52 PM
-
.NET/CLR will be around in 5 years time, no disagreement there, it saves Microsoft development costs for one (only one compiler backend to support for new chipset improvements). And you don't have any real choice if you are using visual studio anyhow
For those of you who follow C# know it is again due for a major language change in 3.0 and who knows possibly a 4.0 too. That's fine for the early adopters and engineers experimenting at Microsoft but ultimately puts a chill on mass adoption.
Posted by: calvinaustin on August 17, 2005 at 03:03 PM
-
Microsoft have a tradition of changing direction and leaving their existing development bases with a rocky (at best) migration path: VC 16-bit to VC 32-bit, VB3 to VB4, VB6 to VB.NET - all were a nightmare. This is probably because they are 'closed' and not community-driven, but either way is reason enough to avoid them where possible.
I fully expect I'd be able to take Java code from 1995 and compile and run it in my VM today, but try doing that with a piece of VB3 code.
Still, accusations of 'copying' between the two platforms is largely futile. Sure the CLR was a copy of the JVM, but was JSP not a copy of ASP and JDBC of ODBC? Were some of the new language features in Java 5 not inspried by C#?
I develop on both platforms and, thanks to the crazy amount of porting that is going on, my development stacks are nearly identical.
On Java I use: Ant, JUnit, Hibernate, JSF, EJB
On .NET I use: NAnt, NUnit, NHibernate, ASP.NET (with some extensions to make it more similar to JSF) and a custom business layer
It's almost as if everyone is doing double-work just copying each other! Wouldn't we be all so much more productive if we could just bury the hatchet and develop for the common good? Still, I suppose that would lead to lack of competition and stagnation...
Oh, and to the poster comparing JSF to ASP.NET 1.0 - there is a world of difference: JSF is significantly better (having, as it does, the benefit of coming afterwards) - two way data binding and multiple 'code behinds' per page being just two.
Posted by: kenrodd on August 17, 2005 at 05:06 PM
-
C# suffers from the fact that you can write .NET applications in other languages as well, and from the fact that people are wary of learning a new language just because it's there.
So Windows developers are writing .NET applications in Delphi, VB, and C++, they see no reason to change to C# per se (except maybe as a curiosity or to stuff their CVs).
Posted by: jwenting on August 17, 2005 at 11:11 PM
-
C# might not be the success many people thought a couple of years ago, but it's a damn nice language. C# 2.0 contains the following stuff:
- Value types, useful for light weight objects
- Proper generics (for both value types and normal objects) without type erasure
- Anonymous delegates (makes anonymous inner classes look way too clumpsy)
- Iterators
There are some Java language features missing though, like checked exceptions and generic wildcards.
Posted by: mayhem on August 17, 2005 at 11:51 PM
-
I really wonder why everybody is talking about the (open source java) as if it was the dream of every developer and the success key to everything. I as a developer or archict don't care if java is open source or not. I use java as a bottom layer with its own abstraction and detail. I don't think that I will ever dig down to see how the libraries are made. All I need is a well structured, reliable and fast libraries. And this is very strong in .NET.
I want to say it again: .NET gain its power from its powerful development tool, specially its web visual designer and javascript support for the ASP.NET pages. Besides the tool is very light and fast. However, all the available java development tools are realy, really misrable compared to VS.NET 2003. I hava almost tried all the available java tools out their (ie. sun creator, jdeveloper 10g, jbuilder 2005, intelij, web spher......etc)Besides all java IDE suffers from perfomance penalties. And note that all my comparisons are built on VS.NET 2003, so you can imagine how the comparison will be worse if you take VS.NET 2005
I beleive that all the java community did yet put real investment in promoting java and java development tools. And if this scenario continue, MS will eat the whole IT market.
Posted by: ramimahdi on August 18, 2005 at 04:08 AM
-
Hey, ramimahdi, which planet do you live on with the tools? Sure VS.NET is quite nice, but I have cursed it in anger a couple of times too. Every Java IDE I have tried is at least as good as VS.NET (ok, I can't tell for sure with eclipse yet because it has such odd quirks that I always gave up on it). However, I read it as if you are really trying to create web pages with a Java IDE, then I can understand why you fail. For web pages, use dreamweaver or another appropriate tool.
As for open source, I believe they are talking about all the open source projects using Java as the programming language, not Java itself.
Posted by: tobega on August 18, 2005 at 05:34 AM
-
Is there any work being done on sending objects by reference ? Even though Java talks about sending objects by reference but in reality it is not. It would be so nice to have it.
Posted by: harjit_singh on August 18, 2005 at 03:40 PM
|