Trouble Ahead for Java
Jeremy Geelan writes "The editor-in-chief of the world's largest journal devoted to Java wonders whether, with the arrival of Microsoft's C# programming language on the scene, Java perhaps has only 5 years or so left to live. Javaland has erupted! This is a little like Bill Gates wondering out loud whether to send Scott McNealy a Christmas card. But is Alan Williamson right? Read this short article and decide for yourself."
Java's fine. C# won't do anything.
..Jeff Keegan
seven syllables explain TiVo: kee gan dot org slash ti vo
All pages on one page here
mp3's are only for those with bad memories
Java is popular because the programmers like it. Java may or may not be long for this world, but I can guarentee you that C# is not going to be what pushes it off the hill.
It's really a funny idea
Des
Give me a break. Java has over 1 million programmers (quoted off of the sun site) if not more in its user base. Its been embraced by more than one industry. It has APIs for everything from speach to distributed computing. What does C# have? Nothing yet but a BETA. Microsoft simply took java and modified it with some psuedo-new ideas and called it C#. Until they have the APIs and industry support, not to mention write once run anywhere, then, THEN perhaps they can start to challange Java. Until then, C# is nothing more than a new microsoft tool.
I'm sure all /. editors should be familiar with it...
Perhaps it's time that Sun stopped being such control freaks. IMHO, they've been the biggest problem with Java. They're at a severe disadvantage on the client now that MSFT no longer ship it with the OS, but will have the .Net runtime... most people don't want to download and install Sun's JRE.
Hey, I'm no Microsoft basher or anything, but as long as Linux is around, and still a better solution that MS, Java will do fine. I am writing software for Redhat. Why would I use C# for a high-level or Rapid App solution?
[FromTheMorning]
I keep hearing about how Java is going to change the world, but all the apps (Linux apps especially) seem to be written in C & C++. If I were planning a new commercial application I wouldnt even consider Java. Perhaps if I was replacing some legacy Cobol mainframe system I'd look at it, but C++, Posix, and Unix look like the best bet for enterprises systems. I think Java is probably an artifact of the internet bubble where everyone was trying to hack up a portal and look like they had the latest tech. Now, Im not saying that Java was a bad idea, but why is it any better than C#? At least with C++ you know what you are getting... fast code, experienced developers, good tools, and no surprises.
flame away
The main reason is because it compiles to .NET IL.
Microsoft's C# entry will only cause more competition in the market, and the consumers and programmers are the ones who will benefit. I'd love to see Sun loosen some of their restrictive Java liscensing practices in response to C#, and I think that is just what will happen. Open source wins the day yet again.
-atrowe: Card-carrying Mensa member. I have no toleranse for stupidity.
I couldn't really care Java Dies and C# takes control of that market. Java and its clones (C#)will still be disabled whenever I browse the net. If you aren't going to use it, who cares?
So why hasn't it dented Java yet? If it's because .Net, I wouldn't worry. If .Net is suspose to be a collection of protocols, and not a marketing buzz word, then I don't see why Java couldn't use them too.
Strangly enough C/C++ is still being used even though Java was suspose to kill it way back when.
Only Idiots would believe this. This is a troll story to spread FUD. Lets the M$ use a CLOSED language to be portable. Only M$ goons would believe this god help this planet.
There are so many Java programmers and so much Java code being produced that it will last a lot longer than five years. People still need Cobol programmers, ok so not mainstream but look how long ago that was designed and despite being crappy it is still here.
But as the article says it really doesn't help when people who should know better say "Java? No one is doing that now. Microsoft is no longer supporting it."
Gates has a lot to answer for.
Kevin
"It's not the cough that carries you off, it's the coffin they carry you off in" O. Nash
haven't they said something like this before?
the problem with C++ was that exactly zero of code was reused, even though it was supposed to be made simpler. Java code actually reuses itself pretty darn well, and last I checked J2EE library just keeps growing and growing, and largely its success is in that.
as for C#, i doubt anyone except Microsoft is interested in seeing more packages of it. it becomes pointless to have non-object code in C# if you are planning to devise a framework for other people to work with.
anyways, if Java only has five years life in it, why would you stake your life on C# of all things? wouldn't you expect that in five years people would be switching to something newer than the love-child of Java and Microsoft that didn't overtake its predecessor and hardly had any advantages except probably back-doors into the Windows kernel?
just my two cents...
I was thinking of how to intentionally fail my drug test... It would make a good memoir story someday.
Take a look here, it's new in JDK 1.4
and now converting over to C#, I can say that they have their strenghts and weaknesses.
My biggest gripe about Java is the end product speed, and the lack of the oh so touted cross platform compatability with the same JRE kit. Java is molasses on most platforms (but it does run on many platforms, hence why it is still with us), and there are plenty of instances of 'known' code work arounds to ensure platform compatability and stability... something that should not have to be given the marketing bent of Java / Sun.
C# is, different. Not much different, but still. I am learning it quickly and glad our company is switching it's 4800 programers over... it's fast, it's stable, and it is efficient. I have some security concerns, like most of you, but when compared side by side to Java, it wins hands down no matter what you think of MS and 'ole BG.
Will C# be the deathknell of Java... hell no. Java is the deathknell of Java... it has never matched the hype, and it's ease of programming has made it popular with the less skilled programming community that waves it's flag. I learned Java in less than a week, and within a month was developing enterprise class, networked, db hooked modules and full session terminals for a variety of computing systems and devices. Java needs a make over and serious update NOW, and the whole code base a good sweeping. The address schema is awful as well, leading to LOTS of compatability issues.
No, Java is killing itself, not some outside force.
Cheers,
Ethelred
Everyone wants to be Ethelred. Even I want to be Ethelred.
Bah, whatever Williamson says, you have to take it with a big grain of salt, and maybe add some soy sauce too.
I used to subscribe JDJ, and I basically discontinued my subscription, in part, because of his sometimes quite stupid column. If you are a regular JDJ reader, you've probably figured out that he is quite pro-MS already.
Couldn't read the article before it is struck down, and I'd suggest that Williamson go write article in his own magazine, probably something like "C# Developer's Journal", or something like that. I mean, why would you stick with a technology if you know that it has only 5 years left to live? I sure wouldn't.
I've long been a Java booster, and have used it for some very heavy-duty projects with considerable success, but I've also been following the C# situation, and I have to admit that it's a very serious contender.
I think Sun will have to some very un-Sun-like things in order to stop the (soon to be) C# juggernaut. It will be very much like the early 80's, when IBM brought out the first PC and everyone was debating whether they could take marketshare away from Apple. Apple and Sun have very similar attitudes about many things, and I'm convinced we'll see Sun and Java get stuffed into a market niche just as Apple was.
This article is really light on details, and frankly useless. It seems more like a call-to-arms for Java developers, but it certainly lacks the power of Mel Gibson's speech in Braveheart.
.NET and C# do not - it's more mature, has a large developer base, and it's APIs and technologies are well thought out, spec'ed and documented.
.NET doesn't have anything that comes close.
.NET has going for it is Visual Studio.NET. Like it or not, it's a great development environment, and one that most Windows developers are already familiar with.
It basically is saying that since Microsoft doesn't support Java, Java will die. I'd like to hope that's not the case. Java has some things
As an example, I just started working with JavaMail a few days ago. Within 20 minutes I was reading emails and sending them. Talk about productive!
The only thing for me that
Languages don't really die like that. Look at what happened with Y2K. There's too much invested already, especially in Java. Maybe Microsoft will be able to convince the kids in CS class that it's sexier to focus on C# and not Java. Maybe the number of Java hype magazines on the news stand will be cut in half. Maybe Java won't be as "cool" as it is today (maybe it will be) but it won't be dead.
I'm amazed at the amount of OS/2 crap that I still see, and OS/2 has supposedly been dead for years.
We need a Java song!
I am hoping that Na-nana-na hey-hey-hey good-bye isn't an option.
I would rather see We are the Champions, Yes We are the Champions, Of the World!
"We have to look at this together and come up with a strategy that will enable us to effectively take on C#"
Eh? Why take it on. Surely if it's better then you should use it. If it's not then you simply won't.
No need for counter arguments, no need for a full frontal assault on the others battle lines.
Java won't die any more than perl/vb/asm/cobol/etc. will. If C# is good then java will take an even more backseat than it already has - but that doesn't affect the current java developers negatively...afteral, they just want a good cross platform high level language that prevents them from doing bad things, right?
If the solution is a good one then who cares. I don't use VB or perl (etc.) because they don't meet my requirements. C# might but I have yet to look at it, java doesn't because in my problem-domain it's too damn slow.
May the best tool win their so called fight for being right.
I think you'll find even COBOL programs are still be developed commercially, so to say Java will be dead within 5 years is flamebait.
.Net via C# but I doubt even Microsoft think it will usurp Java itself.
.Net stategy (with C# a small part of their plan)
With C# Microsoft have taken ideas from Java, but C# is isn't Java.
C# is designed to kill of Visual J++, by migrating users to the
Sure Microsoft are trying their best to stifle Java, thats because they feel threatened like some sort of wounded animal.
Microsoft can't rely on Windows and Office anymore as being their core business longterm, hence their
Java probaly will die eventually, but I'm sure it won't be C# that does it.
There May Be Trouble Ahead
by Alan Williamson
As Nat King Cole famously sang, we have to "face the music and dance..." This month's editorial is coming to you with a reader beware warning!
I've been engaged in some great debates over the last month on a variety of topics, but the one that has caught my interest is the old chestnut regarding the longevity of Java. Is it here to stay? If not, how long do we have? Quite rightly, it's being talked about and I've had the good fortune to brush shoulders with a number of big names in our industry who have given me their perspectives on the whole debate. I have my own feelings about where Java is headed and I do believe that if, as a community, we don't get our act together, we may have only five years left at the most. After talking to my counterparts, it would appear I'm being overly generous with five years.
What's happening? Well, it's our old friend C# and its relentless march toward the development community. Setting aside the old argument that due to Microsoft's dominance it may well win the day, it's interesting to look at other reasons why C# may win the battle. Let's blow away some misconceptions that you may or may not be aware of regarding this new kid.
Myth #1: C# is a Windows-only technology. .NET services alongside Apache on a Redhat box, seamlessly integrating into the rest of the network. This alone would be a major blow to server-side Java. It's also a subtle way for Microsoft to unofficially support the growing number of Linux seats without losing face (read www.halcyonsoft.com/news/iNET_PR.asp).
You could be excused for believing that, but did you know there's a major movement in the open source world to port the CLR (Common Language Runtime, i.e., their JVM!) to operating systems other than MS Windows? Linux, to name one. Imagine for a moment being able to run your
Myth #2: C# is an inferior Java clone.
This is the most dangerous one and the one you probably tell yourself in order to keep the scales tipped in Java's favor. The truth is, it's not an inferior clone; it's a different clone, with many arguing that the differences are minute to the majority of the developer community. It will be frighteningly easy for Java developers to move over to C# with no real headaches to contend with. I suspect this was always on Microsoft's mind when developing the language (read www.prism.gatech.edu/~gte855q/CsharpVsJava.html).
Myth #3: C# is for developing Web services only.
Most definitely not, and I have heard this one retorted back to me on a number of occasions. Ironically, this is the one area that could really hurt Java Ð on the client. As you know, Java has not made any significant headway in this space due mainly to its awfully slow Swing implementation. While the recent release of JDK1.4 has brought significant performance gains, it's still nowhere near the speed of its native Windows applications with respect to fast, snappy responses (although it must be said, the speed of a Swing application on a Mac OS-X does show what could be achieved). C# is the new building block for Windows applications, the next VB! And we know how many applications popped up when VB hit the market (read www.c-sharpcorner.com/WinForms.asp).
Okay, how many of you think I've abandoned all hope for Java and have gone to the dark side? I suspect some of you are questioning my loyalties at this precise moment, wondering if I'm fit to occupy my role as EIC. Well, don't panic, I'm merely being a realist and looking at it from all angles. You'd be the first ones to complain if I buried my head in the sand and just ignored the threat. We have to look at this together and come up with a strategy that will enable us to effectively take on C#. We'll be getting a lot of heat from all over and we need to be armed with the information and prepared to go back to the drawing board and reeducate the masses. Sadly, they are being led a merry dance by Pied Piper Gates.
Allow me to cite you an example of such blind ignorance and if this doesn't scare you, then I don't know what will. I was recently involved with the Scottish government, discussing technology and what have you, where naturally the topic of Microsoft was high on the agenda. Excusing the fact that these people took a certain pride in believing they knew what was going on and loved name-dropping, the phrase that caught me off guard was the following: "Java? No one is doing that now. Microsoft is no longer supporting it."
Wow! Talk about a major miscommunication. And this from someone who controls budgets for the technology sector in Scotland. Ironically, I believe he really thinks he has his finger on the pulse of technology. It's sheer ignorance like this that scares me the most. Microsoft has successfully planted and nurtured the seed in people's heads that just because it isn't supporting Java in Windows XP, Java is dead. I have to admit I was taken aback and quite flabbergasted when I heard that retort. I really didn't know where to go with that. So much background information was obviously missing that I wasn't too sure if I would come over as patronizing and whether, ultimately, they would understand.
Sadly, this is not an isolated incident. Ever since I started writing about this topic in my editorials, I've been hearing stories from you regarding similar misconceptions and it scares me. We have a beautiful language here in Java; it has achieved industry-wide support and is pushing forward with great velocity. What can we do to support it?
You do realize we need an anthem. All great causes have an anthem. Something for us to get behind and sing!!! Suggestions gratefully received. We need a Java song!
Until next month...
Author Bio
Alan Williamson is editor-in-chief of Java Developer's Journal. During the day he holds the post of chief technical officer at n-ary (consulting) Ltd, one of the first companies in the UK to specialize in Java at the server side. Rumor has it he welcomes all suggestions and comments.
It seems like we here this a lot. Now that we have language X, no one will program in language Y anymore. Time after time, this proves to be incorrect. There are many reasons to stay with an old language, even if a better one has come along. This includes finding programmers who have the requisite years of experience, the added development cost of doing multi-language development, programmer preference, etc.
C# will definitely become a major player in the field. Both due to the fact that it is a well reasonably well designed language (Anders Hejlsberg did a good job) and that Microsoft is going to put its weight behind it. But just because C# becomes big, doesn't mean that Java will disappear.
I think the author has several good points, especially in pointing out some key shortcomings of Java (java on the client, Swing). Also, the .NET toolkit looks very competent and building and deploying .asp's is quite simple as compared to deploying a java solution.
.NET instead of Java in their tools. More important, when IBM and MS are talking to each other and making standards for web services, it is more likely than not that both Java and C# will coexist.
But the key thing not mentioned is the fact that Big Blue and the rest of the industry is quite determined on Java. Sure, IBM and Microsoft are working together on Web Services, but I think IBM is unlikely to start supporting
Java has shortcomings, but it has become a success despite this, and due to a vast support from professionals ranging from programmers to computer scientists. To say that all this will be gone in 5 years is more than bold, when in fact the amount of existing Java code are probably more than can be replaced in 5 years.
Of course, languages and platforms come and go, but since C# doesn't drastically change the way application development is done - which is what Java did, in several ways - I don't think it'll start a revolution in the way that the article suggests.
Oh, I can't help quoting you because everything that you said rings true
Java used to be in trouble. Now Java has Willow from Buffy The Vampire Slayer on it's side. With Willow's Elite teaching ability and magical powers, Java will become unstoppable.
You think I'm joking? See here - Willow Teaches Java.
Geek Clothes with Slashed prices for the next 30 days.
In case this site goes down, here's the article:
.NET services alongside Apache on a Redhat box, seamlessly integrating into the rest of the network. This alone would be a major blow to server-side Java. It's also a subtle way for Microsoft to unofficially support the growing number of Linux seats without losing face (read www.halcyonsoft.com/news/iNET_PR.asp).
As Nat King Cole famously sang, we have to "face the music and dance..." This month's editorial is coming to you with a reader beware warning!
I've been engaged in some great debates over the last month on a variety of topics, but the one that has caught my interest is the old chestnut regarding the longevity of Java. Is it here to stay? If not, how long do we have? Quite rightly, it's being talked about and I've had the good fortune to brush shoulders with a number of big names in our industry who have given me their perspectives on the whole debate. I have my own feelings about where Java is headed and I do believe that if, as a community, we don't get our act together, we may have only five years left at the most. After talking to my counterparts, it would appear I'm being overly generous with five years.
What's happening? Well, it's our old friend C# and its relentless march toward the development community. Setting aside the old argument that due to Microsoft's dominance it may well win the day, it's interesting to look at other reasons why C# may win the battle. Let's blow away some misconceptions that you may or may not be aware of regarding this new kid.
Myth #1: C# is a Windows-only technology.
You could be excused for believing that, but did you know there's a major movement in the open source world to port the CLR (Common Language Runtime, i.e., their JVM!) to operating systems other than MS Windows? Linux, to name one. Imagine for a moment being able to run your
Myth #2: C# is an inferior Java clone.
This is the most dangerous one and the one you probably tell yourself in order to keep the scales tipped in Java's favor. The truth is, it's not an inferior clone; it's a different clone, with many arguing that the differences are minute to the majority of the developer community. It will be frighteningly easy for Java developers to move over to C# with no real headaches to contend with. I suspect this was always on Microsoft's mind when developing the language (read www.prism.gatech.edu/~gte855q/CsharpVsJava.html).
Myth #3: C# is for developing Web services only.
Most definitely not, and I have heard this one retorted back to me on a number of occasions. Ironically, this is the one area that could really hurt Java on the client. As you know, Java has not made any significant headway in this space due mainly to its awfully slow Swing implementation. While the recent release of JDK1.4 has brought significant performance gains, it's still nowhere near the speed of its native Windows applications with respect to fast, snappy responses (although it must be said, the speed of a Swing application on a Mac OS-X does show what could be achieved). C# is the new building block for Windows applications, the next VB! And we know how many applications popped up when VB hit the market (read www.c-sharpcorner.com/WinForms.asp).
Okay, how many of you think I've abandoned all hope for Java and have gone to the dark side? I suspect some of you are questioning my loyalties at this precise moment, wondering if I'm fit to occupy my role as EIC. Well, don't panic, I'm merely being a realist and looking at it from all angles. You'd be the first ones to complain if I buried my head in the sand and just ignored the threat. We have to look at this together and come up with a strategy that will enable us to effectively take on C#. We'll be getting a lot of heat from all over and we need to be armed with the information and prepared to go back to the drawing board and reeducate the masses. Sadly, they are being led a merry dance by Pied Piper Gates.
Allow me to cite you an example of such blind ignorance and if this doesn't scare you, then I don't know what will. I was recently involved with the Scottish government, discussing technology and what have you, where naturally the topic of Microsoft was high on the agenda. Excusing the fact that these people took a certain pride in believing they knew what was going on and loved name-dropping, the phrase that caught me off guard was the following: "Java? No one is doing that now. Microsoft is no longer supporting it."
Wow! Talk about a major miscommunication. And this from someone who controls budgets for the technology sector in Scotland. Ironically, I believe he really thinks he has his finger on the pulse of technology. It's sheer ignorance like this that scares me the most. Microsoft has successfully planted and nurtured the seed in people's heads that just because it isn't supporting Java in Windows XP, Java is dead. I have to admit I was taken aback and quite flabbergasted when I heard that retort. I really didn't know where to go with that. So much background information was obviously missing that I wasn't too sure if I would come over as patronizing and whether, ultimately, they would understand.
Sadly, this is not an isolated incident. Ever since I started writing about this topic in my editorials, I've been hearing stories from you regarding similar misconceptions and it scares me. We have a beautiful language here in Java; it has achieved industry-wide support and is pushing forward with great velocity. What can we do to support it?
You do realize we need an anthem. All great causes have an anthem. Something for us to get behind and sing!!! Suggestions gratefully received. We need a Java song!
Until next month...
There are couple of key points that are interesting about this.
C# really is a standard. Microsoft's decision to go the standards route really validates the competitive advantage true open standards generate.
The HUGE question is if Microsoft will try and pull some patent / IP protection / royalty stunt with C#. We need to have some lawyer go over the C# license, standards doc, patent agreement to see if Microsoft has given up it's rights to sue for patent infrignment if people develop competing implementations.
My feeling is that if it becomes clear that C# is a truely open standard, that it will be suprisingly succesfull. Despite what Java zealots like to claim, the underlying technology is good. And while I initially was a member of the Java lobby, their eternal harping on the "eventual" standardization of Java turned me off. Java is not an open standard, and for an underlying technology that every company can feel comfortable going with (including Microsoft) that fact is problamatic. And Sun has already pulled a couple of students with Java and royalties on the enterprise level etc. We're getting competing implementations already with go-mono.net for C#.
The problem Microsoft faces is that they really need to totally convince folks (aka with binding legal agreements) that they are making this a real open standard and aren't going to pull a patent protection bogosity on anyone. They face in this case the facts of their history, which is horrible. I'm frankly concerned a bit less about the embrace and extend side of things, though it would be nice if they didn't pull stunts in that area either.
Anyways, if Microsoft does it well, C# could really take off. The key is schools. Java is the it language now, and that matters more than people think. If you start with java you become familiar with Java IDE's, you become familiar with other Java projects, and when the time comes to whip up your first website you'll pick java which means when you deceide to make a big website, you'll probably choose Java as well. People will choose whats comfortable, not what is necessarily technically superior and the decisive moment for comfort is what you are forced to learn in high school and college.
"Microsoft has successfully planted and nurtured the seed in people's heads that just because it isn't supporting Java in Windows XP, Java is dead"
I don't think MS had much to do with it. Sun and a seemingly large segment of the Java community and many industry pundits made a big stink about XP not including Java. I don't recall MS saying much one way or the other except saying you could download a JVM from their site. The Java community themselves planted this seed of doubt.
"As you know, Java has not made any significant headway in this space due mainly to its awfully slow Swing implementation. While the recent release of JDK1.4 has brought significant performance gains, it's still nowhere near the speed of its native Windows applications with respect to fast, snappy responses"
I'm not going to say Sun should open source Java, but for heaven's sake, make a GUI toolkit that doesn't suck. You can't cite Java's 'newness' as an excuse anymore.
However little you think of VB (especially VBScript) MS has provided a huge number of tools to make development easy and painless - and the results are often decent. I remember being able to put together *simple* VB data collection forms back in 94-95 without having too much idea what the hell I was actually doing. There STILL nothing like that for Java. - Go ahead, flame away. I'm not a hardcore Java guy, but someone else here at the office is, and we constantly see shortcomings. That's not to say there's not strengths too, but still shortcomings. Open sourcing Java *MIGHT* help overcome many of those shortcomings (especially in the GUI toolkit area).
I keep repeating this on various boards - if Sun was serious about getting Java to the masses, they'd carpet bomb the hell out of the US with CDs ala AOL with the latest JVM for multiple platforms. That they DON'T do this speaks volumes. Better yet - get AOL to bundle it on their CDs and have an installer with lots of nice Java packages - an 'intro to Java' for the common man. Explain the cross-platform benefits, etc. - something my mom could understand.
creation science book
Microsoft software usually doesn't start to be good/stable until version 3.0. They may not be giving Java a run for it's money now but how about 5 years from now when C# has the same number of API's as Java?
Shh.
Looks like the site is starting to bog down, so here's a mirror if need be.
--It's Pimptastic!--
As a CS major, i've used quite a variety of programming languages. Among those, Java is by far the smoothest, easiest to understand and most elegant.
C is outdated, C++ is the standard and is much more refined than C, but still has it's quirks and rough edges.
Java offers very well documented classes and easy ways to do EVERYTHING. This alone makes Java superior, but also, Java enforces object orientation. While some people don't like this about a language(especially when you want to just write a 3 or 4 line mini-app), most people won't argue that once you have learned what classes, objects and methods are, OO makes things SO much easier to understand. It's a lot nicer way to think.
C# will never replace Java, it's just too cool.
Nowadays, it pays to always suspect propoganda first. The press isn't in the information business, it's in the money business.
I smell a rat when the editor of a bloody Java magazine sets the timetable of death for Java. He's either nuts, or he's bought. No other alternative.
I have only recently installed and used the .NET framework and C# on a project, so I am no expert. However, the entire marketing angle of C# seems to be more focused on it as more of a replacement for Visual Basic. There is a big push by M$ towards Web Services where XML is the glue between different languges (C#, C++, VB, etc.)
Maybe if M$ changes their angle, C# will be taken more seriously by Application and Product Developers.
However, Sun and Java have been pushing J2ME, and other uses for Java beyond windows applications and web services. The C# solution is more of a threat to J2EE than J2SE or J2ME. Not to say M$ doesn't have solutions that compete in those arenas. Just that C# doesn't seem to be the end-all-be-all language.
not mention that to those solutions tie you down to wintel, which will always limit the growth since Java is much more platform friendly.
Vital Idea
Well, the author does a good job of debunking some of the myths about C# that have been floating around, but he seems a bit too optimistic in my opinion. Sure, there are efforts underway to port the C# CLR to "alternative" OS'es, but last I heard, it's not quite there yet. He also makes the claim that C# is not inferior to Java, without really telling us why - just that it'll be easy for Java developers to switch over, which is prolly what MS intended in the first place. No surprises there.
.. read it while you can. It is interesting, though some die-hard pro-Java anti-MS fanatics will no doubt feel offended by it. Also interesting are the reader comments already posted.
What is interesting about the article is that the author makes a U-turn on page three, shifting his writing from "here's why and how C# will own" to a more "we must combat the Evil Microsoft":ish stance, which is more along the lines of what one would expect from a Java developer.
The article ends on page 4 (of 5 - where did page 5 go?). The pages are loading slowly now, a slashdotting is probably taking place
Quality, performance, value; you get only two, and you don't always get to pick.
Myth #6.
Despite the hoopla over Mono, its not likely that
Myth #7 Java needs the desktop to succeed
Not so. Java's greatest success to date has been on the server, powering servlets and
Myth #8.
Um, well yeah, as long as they are singly-inherited languages that don't have pointers and don't support any unique features, I guess that statement is true. Otherwise you are really looking at a bunch of languages whose features are the same and only differ by syntax(unless they don't support all of
Java is five years ahead in this game, has widespread corporate acceptance, and the deciding factor is the server, where Microsoft is still way behind. If this is a horse race, my money is on Java.
No, Thursday's out. How about never - is never good for you?
Java is certainly not going anywhere. Java is the very thing that allows some companies to be in business. For example, NerdTreeHouse is a company that uses 90% Linux and 10% BSD to power the entire company. Basically, they provide gaming servers to highschool and college kids. Without Java, the company won't be around.
Microsoft benefits in two big ways: the hoards of Windows application developers will make the switch from Visual C++ to C#.NET, because of C#'s incredible versitility and cross-platform capabilities. Non-Windows developers (both C++ and Java) will start using C#, because it can do everything that C++ and Java could do, with the added bonus of being very Windows-friendly. Microsoft's third-party developer base expands. They gain further entry into the internet services world that they very much want to take over.
Interestingly enough, as good as this is for Microsoft, C# and .NET may (perhaps) be a blessing in general to the world of computing by introducing the first *truly* write-once-run-anywhere development platform.
dinner: it's what's for beer
There are a few reasons to fear a particular solution:
1) technical inadequacy
2) a single point of failure inherent to the system, such as a proprietary identification system.
3) submarine patents & copyrights
.Net seems to be a technically viable solution & Hailstorm has been withdrawn. That leaves #3, and that's being attacked by better minds, as we sit on our asses reading
the morons will always post first and the normal ppl will be silenced in the voices of the fuckwit script kiddies who think they are l33t
One example of the author's cluelessness is that he touts the Halcyon solution - which is implemented in Java. This is supposed to show Java's vulnerability how?
The rest of his "myths" are just as insightful..i.e. a bunch of crap. ;-)
Where was SWT in this discussion for instance? Where was the discussion regarding millions of Java-enabled devices in the marketplace? Where was the discussion of Javas total dominance in application servers right now (perhaps .Net will make a dent, but it remains to be seen).
Then the author gives forth with:
"We have a beautiful language here in Java; it has achieved industry-wide support and is pushing forward with great velocity. What can we do to support it?"
For a start, perhaps NOT writing clueless, FUD-filled articles that completely exaggerate the threat of C# to Java... Many, many Java users are going to be very slow to move to a Microsoft proprietary solution...and make no mistake about it, .Net is Microsoft proprietary. Only the C# language and the CLR runtime have been submitted to ECMA and those make up a tiny subset of .Nyet (sorry, couldn't resist doing that at least once!).
Galileo: "The Earth revolves around the Sun!"
Score: -1 100% Flamebait
You can get a copy of the source to a CLI implementation which also includes a C# compiler that can run on XP and FreeBSD, here.
From the link:
-c
I have discovered a truly remarkable proof which this margin is too small to contain.
I think the issue at hand here is one of a language's maturity. Java was discarded early on because of performance problems and a clunky GUI toolkit. Now that Java lives primarily on the Web and on the server side, it has exploded. Java and C++ control the server market of today. Is that to say that they will in five years? Probably. It is a simple fact that large ISVs and corporations cannot change dev. platforms every six months. It's simply not cost effective.
Secondly, to echo what other developers have said already, developers don't like to jump from development platform to platform. Sure, Java took a while to get used to, but once you're there, you're done. Learn another API, pick up a book. Why bother with a language that hasn't been put through its paces? Why bother with a platform by a company known more for its mistakes (security, IP, networking) than its successes? As a Java developer, I'm not really worried...
Then again, COBOL programmers can still find work too.
"Goodness, how did you people live long enough to invent tools?" -Hobbes (the tiger, not the philosopher)
"the problem with C++ was that exactly zero of code was reused, "
bull.
I won't get into a JAVA/C++ debate, but please don't go off spouting crap like that, and try to understand that which you speak out against. You make yourself out to be a damn fool.
A damn fool, is the worse kind.
The Kruger Dunning explains most post on
As a java programmer, I want to see it succeed in the long term, which I think it will. However, if C# begins to become more popular, I will learn and use that too. Why not? It's just a language. I don't subscribe to the "if it's from Microsoft it's evil" nonsense. Use the right tool for the job. My goal is to get paid. If Sun continues to basically ignore the GUI, then the choice for client-side development will be an easy one for all of us.
On one hand, I've never heard anyone say anything nice about Java. While languages like Perl, Python, PHP, etc attracted a following because they're good (or at least because programmers think they are), people seem to be pretty ambivilent (sp?) about Java, and I think a lot of folks would gladly jump ship if they came across something else.
.NET? Even if an implementation of C# for UNIX were ever completed, I think UNIX geeks would look down their noses at it.
On the other hand, it seems that most CS students have to learn Java in college these days. I don't know how many schools use it in their courses, but I suspect it's enough to ensure that Java has a decent following for a long time. Furthermore, I have very little faith in open source efforts to bring C# to UNIX. C# will probably remain a Windows-only language. Also, remember the backlash when Miguel announced that parts of GNOME should eventually be developed in
Anyway, I think that C# will have a sizeable impact on the Java community, but I doubt that it will kill the language altogether. We'll see.
As a sideline observer, I have seen Java rise and CRASH. At more than 18 customer sites, Java was regarded as amateur. Java is a great cross platform language, but it never did fulfill it's promise of a THIN Solution to bandwidth problems.
Our company spent Millions coding in Java, only to replace it with Native C 2 years later. Guess what? 55% increase in speed, 45% reduction in size, and before you knock the programmers, they're completely competant.
I know of 2 companies who put their faith completely in Java, had a great product, but somehow corporations kept waiting and waiting til Java "matured" and these comanies both went bankrupt waiting.
-YoGrark
==The opinions expressed in this opinion are not necessarily based on fact, are not necessarily reprentative of the poster==
Canadian Bred with American Buttering
-1 Troll
C//
I started learning Java during the great Java hype (1997). Then I went back to school to learn C. My initial impression was, why would anyone want to program in this unweildy language where your executables crash with weird errors like "Segmentation Fault" and "Core Dumped". I did not like all that pointer crap and the fact that you hade to declare your variables before you did anything else.
... each have their own attractions and turn offs. C# is something I haven't approached yet. But like dating, it just broadens your outlook (not to mention the fact that it is fun).
Four years of college and several programming languages later Java is still my best girl. But I have learned to appreciate the beauty of C and its need to be a control freak in some cases.
To solve the debate, I am going to quote the words of one of my professors. "A programming language is a tool in a tool box". There are several things wrong with that analogy. I tend to think that a programming language is like a woman and learning one is like dating.
Im my 5 year 'dating' life I dated more languages than girls. Perl, Python, Tcl, C
There should be not be fear of a new programming language. It is the new girl in town. It is true that one has to be wary that C# is a Microsoft baby. If it turns out that you cannot use C# without paying MS big bucks and the returns are not justifiable there are always other alternatives to look to.
When I was a sophomore, I was scared when some senior started talking about C++. I thought, another language. Oh no. But once you have mastered the basics of what I referer to as the dating game, you can romance almost any girl. Even if it was the girl with red hair and pierced ears (Perl) or the one that you can't take your eyes off of (Scheme).
Java seems to be in the damned near forever category. There is a lot to recommend it, but, more importantly, there is already a lot of java code out in corporate infrastructures and corporations don't like to rewrite from the ground up.
That's not to say java won't shrink in terms of overall importance. That seems a likely outcome of more competition, especially given the poor experiences many people have had trying to implement java-based solutions.
C# is only one -- though a signficant one. Off in the weeds, python use is slowly growing, and python can fill many of the same purposes served by java. With Mozilla finally biting the bullet and declaring an API-frozen 1.0, some of its tools might also find a spot.
Java is like every other technology that ever existed: sooner or later something or some things come along to displace it. Not kill it necessarily, but displace it.
"We have a beautiful language here in Java; it has achieved industry-wide support and is pushing forward with great velocity. What can we do to support it?"
Well, another song product, Open Firmware, has a song (though it's not a programming language... but it does use Forth!)
"I would say that 99 per cent of what my father has written about his own life is false." - L. Ron Hubbard Jr.
i'm so tired of hearing that microsoft's not bundling of java with xp is going to cause it to die. that's patently untrue! if i write a killer app in java nothing stops me from packaging the jre with it for a small cost of 10 meg. considering my java code in most cases will be less than 1 meg, the size is not much different than most apps. in fact, it's smaller than most apps! and nothing stops me from putting the damn thing on a cd and distributing it. concerns of not having java bundled are overblown bigtime!
Perhaps all those VB "programmers" will actually learn how to write real code.
The Dean of Engineering at my university was overheard saying "Boy, switching the curriculum from C to Java was a big mistake".
Java has some really nice features but I find it more useful in the learning situation. In real life I found C and C++ much more useful.
--- I used to moderate, then I read the -1 articles and decided having to filter through them was not worth it.
This is interesting but I feel Java is far from dead. It's not a useless language. what it needs is the following... and here's my suggestions on how they can be achieved
Optimized JVM's that do more than just work. solution? Open source
Designed to work more efficiently and seamlessly as a desktop language. solution? Open source
Greater programmer support in windows development. solution? see above, Open source
Absolutely!
But then, so is Unix. NT is going to absolutely destroy it.
Don't forget that Visual Studio costs over $1000. There are a large number of decent Java tools that are free (as in beer.) For the notoriously cheap developer community, that is significant.
Now that Java is the biggest player in the industry, it seems Sun has gotten a bit greedy, and is trying to cash in on Java's popularity.
I'd like to know how much time and millions of dollars Sun has spent developing this free language, with a wonderful API, and plenty of source code available, before I start calling them "greedy."
If anyone's greedy here in this context, I sure as hell don't think it's Sun. Shit, they could make Java proprietary today, closing off all source access, requiring people to buy the JDK, etc... and it would still be popular, and you'd still have all their current and older Java-related stuff available for free.
"And like that
check mr. williamson's bank accounts to see if he got any lump sums in the last month or two....
.NET if bill gates was to say(while drunk and near a microphone), "are you kidding me- I'm not trusting THAT with my credit card numbers!"
wouldn't that be a kicker!
:)
i could totally see this being a power play by MS- buy out a loud voice of the competitor and have them downplay their products(obviously they'd make sure it wasn't tracable back to them).
think about this- what would happen to
or senator hollings was to say "yeah, I use MP3's at home, but I'm not a pirate, I fight piracy"
what that would do to microsoft's shareholders? how about hollings credibility?
Looking for Book Reviews? Check out Literary Escapism.
just like Java, you have the option of downloading or not the .NET framework. So, the fact that Java is bundled or not with Windows won't make much difference.
.NET platforms will win over from java because .NET compilers to .EXE and .DLL files which look and seem to work just like the ones you are used to.
Of course they are completely and utterly different behind the scenes, but that one simple fact makes .NET seem familier but new and exciting, and not at all like all those scary java .class files.
Ok, so I exagerate, but I think that having .EXE and .DLL files really WILL make a lot of difference to how people percieve this platform.
Sig is taking a break!
The problem with the Java Environment is the integration of the tools. Even beta 2 of .net I was amazed at the productivity gains. Even thou I hate the beast they do have very good tools. The tools will make the difference. They did in the early 90's with VB. People bitch about performance that is not the case. If you look at VB It had performance problems compared to C MFC apps but it was highly adopted because a lot of people could easily churn out code. Even people that should not ever write code.
.conf file and figuring out where my classpath is pointing too and why my servlet is not making its JDBC call the .Net guy has already deployed their app and is fetching XML records from SQL Server.
/Java person that can be as productive as a .NET / VB business analyst will cost a company more.
C# as a language does not matter it is very similar to java. It is about the tools and can you get a business analyst that churns out VB code who has never used a command line to adopt your environment.
Jbuilder is a nice IDE and ANT is nice for makes but while I am vi ing an apache
Which one will they adopt and why? A nerdy UNIX
I hope the beast does win but it is about the tools!!!! History repeats itself.
But like most things that come out of the popular press, the truth is far from the reality. Java has actually been gathering strength and momentum in many areas which is somewhat odd for a dead or dying platform. Java is currently the principal platform for deploying into the mobile market with many announcements for Nokia, Nextel, Sprint with services based around Java technology. C# and PocketPC/WindowsCE are nearly non-existant in this space. The application server market is consolidating and the remaining players are still making a bundle of money as corporations are still investing heavily in the market - which tends to prevent a technology from dying. More players are involved with Java and dedicated to its success such as IBM. IBM has bet heavily on Java and since they STILL deploy more servers and machines than anyone else - Java will be around for many years yet - hell OS/2 is STILL around in many ATM banking applications. Confused journalist who don't actually work in the field are always quick to look at one or two events and claim to predict the future - I recall that the XBox should be mopping the floor with PS2 and Gamecube at this very moment. After all, most of them believe Microsoft is the second coming and that it cannot be beaten at anything, so I tend to ignore their predictions as they are generally baseless and without any evidence other than "Microsoft is coming - everything else will lose because that's the way its happened in the past".
Java is a good language, but starting to show some of the wear all languages do as they age. C# and up coming J# are new languages and like all new languages build on the past with new features, requirements, and libraries. Java did the same thing when it came out, building on C++, Smalltalk, and other languages.
Bottom line Java isn't going to go away, if you like it keep using it. You will have plenty of work for years to come. C#/J# (they all compile down to CRL anyway) are new and cool and people will use them.
Be happy, you got Java because Sun thought they had a better tool than C++ with MFC or OWL or whatever library. MS has upped the ante in order to compete and came out with the CLR and C# and other languages CLR will support. Now its Sun's or anyone elses turn to come out with something better. It called evolution and we all benefit from it.
Yes, C# is a better designed language than Java. But Objective CAML is far better than both of them, ad nobody uses it outside the academia. And C++ is a piece of crap that became hugely popular. History tells that the popularity of languages has nothing to do with how well they are designed.
i hate java. it sucks, i guess in my opinion at least.
I write code.
I have in the past used pascal, ADA, C, C++ and changed over to Java about 3 years ago. Of all the languages I have used Java is my favorite.
.Net will do well and they will both co-exist and talk to each other using SOAP or whatever protocol is popular at the time.
reasons:
Its very easy to pickup the basics
Its well documented. Once you learn the basics of java its easy to pick up any of the new packages.
Its easy to document(Javadoc is great)
Its cross platform, I have never had any trouble with my server side code or GUI code.
Its the most productive language I have used.
It forces Object Oriented coding, which alot of C/C++ coders dont like at first but once you get the hang of it youll wonder how you did without it.
Admittedly the GUI is very difficult to start off with but once you get the hang of it it is very quick to use(especially with the GUI builder tools in forte or JBuilder).
I have coded many GUI apps with java and found it to be very quick to develop them with. Its not as fast as a native app when running but I have never had a user complain that it too slow.
Although I love Java I would have no problem learning a new language, although I dont really want to learn a Microsoft only language(which it is dont bullshit me that C# is cross platform) I would if it was better for a certain problem.
This is the typical my console is better than yours argument thats been going on for years. Each programmer likes the language he uses and doesnt want the hassel of learning a new language if he can possilbly fudge the solution with the language he uses.
Java wont die,
Oh, well, ok, as long as we're talking libraries here, I doubt Java will beat the breadth and raw number of C++ libraries out there for a while yet.
In any case, I would hardly consider the number and size of libraries available a sign of reuse.
"Hot lesbian witches! It's fucking genius!"
I'm serious.
cheers
If people happily follow dotnet, they're basically allowing MS to embrace and extend every programming language and the means of communication. Frankly, I'm not going to be a part of that.
IE won because it was free, and packaged with every Windows computer. MS basically made it happen on its own. dotnet will win because developers -- people who should have an ounce of sense when it comes to IT decisions -- choose it.
In which case my decision to consider moving away from computing will be even more correct.
IIRC, Java Developers Journal has very close ties to it's older sister publication Windows Developer Journal, and receives much of it's funding from none other than....
<drumroll/>
Microsoft
<cymbal type="crash"/>
With that in mind, it's not surprising that the editor has such dire predictions since you can guess who signs the checks.
Note, I'm not bashing C#. The language is so similar to Java that you can certainly find good things in it, but predicting that MS will port their runtime over to a large number of other platfoms might not be the smartest bet.
You're still thinking about traditional client-server or even client only apps. Java is making good progress in web-based apps, like shopping carts and dynamically configured websites. I've started noticing more large commercial websites written with JSPs, which are basically Java servlets.
There is one good reason that Java will never go away, JAVA Rules!
I notice that you only compare Java to C and C++..
Sure, it's better than Stroustrup's train wreck in a lot of ways, but I notice very little enthusiasm for Java among people who already knew a superior OO language, such as Smalltalk.
What you say about OO is true, but Java isn't a very good example.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
Sitting back to watch the show!
While the recent release of JDK1.4 has brought significant performance gains, it's still nowhere near the speed of its native Windows applications with respect to fast, snappy responses...
I'm a Java neophyte and have just begun the tutorials along with a second reading of Brian Eckel's books. Accordingly I'm framing this as a question that will hopefull bring in a helpful reply. Will the implementation of a MS Instruction Set in the upcoming line of AMD chips lend greater credence to the Java not being as snappy as a native Windows app on a Windows OS? Thanks in advance.
"Academicians are more likely to share each other's toothbrush than each other's nomenclature."
Cohen
please don't go off spouting crap like that
ok, without going into a flame war... sure there are excellent packages available for C++. even some libraries that people use, like sockets, STL, perhaps even system libraries that you can throw in the mix. i was a little too brief there.
but Java made so many packages beyond that.
yes, there are XML parsers for C++, but everyone uses the Java one. (not the least of the reasons is that Java looks more web-friendly)
yes, it's conceivable to write a servlet/ODBC solution in C++, but Java does that so fresh and so clean (ok, mostly clean...).
yes, C++ has a mechanism for extensibility, but Java even has reflection that beats everyone's pants off when it comes to enterprise solutions.
in short, when you don't want to sit and program all day, but simply want to customize someone else's application, much like what the web services want you to do, you simply go with Java, because you won't need to start your Java application from scratch.
yes, i realize that a lot of these reasons are due to marketing, but they are real concerns for enterprises.
I was thinking of how to intentionally fail my drug test... It would make a good memoir story someday.
The arrival of SHTML, ASP, and other standards did not kill HTML, so why would C# kill Java?
...A front page troll. How clever. And now we can listen to all the various fanatics proclaim that C# is shit and the Java R0x0r5. Of course no one here is going to agree with the author, they all are so blind they assume that anything MS does will immediately suck and fail (you know, like how they failed to capture the desktop market, failed to capture the browser market, etc).
.net server is released.
Truth to the matter is that Sun may be in a bit of trouble here. Sure, C# isn't currently as portable since there are no VMs for other platforms, yet (there will be a freebsd version, and then there is Mono. And since they did submit C# to a standards commitee anyone could develope one) however its much faster, has far superior client side features, has a much better IDE and is just as competitive server side. Moreover it is relitively easy for a Java guy to go pick up C#. I suspect that we will see a good deal of people going over to the "Dark Side" once
On another note, how come so many OSS guys like Sun yet Hate MS. The only difference between Sun and MS is that MS plays the game better. Sun does try though. Remember which one challenged the GPL, hint, it wasn't MS.
- WeaselGod
Eagles may soar, but weasels don't get sucked into jet turbines
.NET is great when you run a wine storage facility and one day, most of the storage shelves fall over, breaking all the bottles. Then, you can use the almighty .NET to change the price in one button click!
Peanut gallery: Hmmm... I thought any well-designed inventory/price control system could handle that.
Steve Magruder, Metro Foodist
M$ is purely angry. After all these years, C# is merely Anders pouting about how his idea for adding method pointers to Java was shot down by the Java community.
Very stubborn dude. Go back to Borland where they get it....
Fortran, COBOL, and Smalltalk are still around not too mention a lot of other lesser known languages like scheme, prolog, pascal, and if i may visual basic :) Some of theese languages should be Looooong gone due to thier age and over the notion that they aren't designed wit hall the Enterprise mumbo jumbo that flats in most companies, and being a java advocate i try not to be biased in saying that java is not that bad anyways since a lot of companies have built the java platform as thier flagship for either thier products to sail on, or used for internal use services.
:)
So i think this is guy is either.
A. Just trying to get site traffic for his comany by placing an isidious article like this.
B. Playing the devils' Advocate for the worse to may be spawn more proactiveness in the java community.
C. Being plain stupid. my guess is here.
on a side note though.
like many dumb postings and aritcles like this one seem to be teeming with lame biased rhetoric that personally i am tired of hearing about.
It is very easy to port Java code to C# (proof: Ant -> NAnt, JUnit -> NUnit, Log4J -> Log4N) - but it's not easy to port the other way around if you use C# features like delegates, structs, enums, bit fields, unsigned types and the rest. C# has fixed many of the shortcomings of Java that Sun was unable to roll into their releases due to time constraints. Instead of arguing about Java "purity" and it is "not cluttered", Sun should be adding these same features to Java to remain competitive and viable.
The day I'll stop using Java is the day they will have to pry my keyboard from my cold, dead hands...
...or the day I can't find another job
I wear pants.
I've run Swing apps that respond like they are native. Things like JDiskReport and even Intellij is not too bad. Thats on a 650MHz machine, I imagine you couldn't tell the difference on a 1.7GHz.
The naive implementation of the event handling is what gives the bad performance. VB must intelligently handle this issue because I can't imagine VB programmers all coding background processing to free up the event queue.
Plus Swing apps look a lot better, even look damn sexy on Mac OSX!
Sun is trying to maintain control over Java and leverage it. Its clear to any Java programmer.
They currently only put 2 certificate chains in their keystore. so how much do you thing verisign and thawte paid Sun for that priveledge? you think that was free? Especially since we have to pay over $100 per year to get certificates.
Their are ago old problem with Suns Functionality on Windows which Sun seems to think is cool to blame on M$. So they dont fix them as long as they can pass off the blame. They could have been fixed them. Like getting rid of terminal windows on spawned programs.
Sun is not smothering Java, but they are not letting Java move as fast nor as friendly as it could.
No I agree c# will not have the community that Java has EVER.
C# does NOT compete with Java. I have to say this about 15 times per month. Clearly M$ wants to keep pushing this idea, but no one has yet told me why its supposed to. C# competes with c++. c# is for windows, Java is for everywhere. Yes maybe you can use c# on some other os, but c# is "for" windows.
I wish they would just let this fake arguement of c# knocking off Java die.
TTBOMK, seahash was developed closed-source and proprietary, then it was submitted to ECMA to be considered for becoming a "standard." Open source usually means community-supported from the get-go, and good software becomes a de-facto standard, e.g. Apache, Squid, Perl. Microsoft developed seahash as a Java contender.
Big Daddy, Johnny, Burp, Aunt Zelda, Scott, Slurp, Big Momma
"Myth #1: C# is a Windows-only technology."
Uhh it is. This guy is off his rocker. Why doesent m$ like Java, because its from Sun? heck no. Because its crossplatform.
What makes this fool think m$ would be happy to replace the cross platform Java with a cross platform c#?? How is it m$ interest to allow this?
Thats just an insane thought. We know m$.
Microsoft suddenly has millions of VB programmers that can now write enterprise level code. I'm talking distributed code, web services, security instead of just forms hiding a database table.
OH! My God! What have they done!
Plus its basically a new language that they will have to learn. Least its adding features I suppose. Bertrand Meyer seems happy to take out features from Eiffel just to get on the bandwagon.
News for Geeks in Austin, TX
Anyone using Java now is not entirely interested in makin .exe and .dll files. Else they would simply use VC++.
:D
And besides that point, a XP2000+ processor is more than enough to speed my java to acceptable levels of windows performance
For all java promises greatly enhanced productivity over C++, there should be a huge selection of client side java apps to choose from. But they are not there.
Why? The GUI is dog slow and ugly.
How much better would java be for the client side if, for example, high quality bindings to wxWindows, gtk+, or qt existed? Then the GUI could be snappy and java could execute all of the logic. If a cross platform toolkit were used, the program would be cross platform.
Swing is a poor substitute for a native cross platform toolkit.
You do realize we need an anthem. All great causes have an anthem. Something for us to get behind and sing!!! Suggestions gratefully received. We need a Java song!
I sure as hell hope it won't be like that KPMG anthem...
J2EE, we're as strong as can be...
aye caramba
Their market capitalization is fragile, based on things staying pretty dang rosy as far as MS is concerned. Once Wall Street no longer believes then the game is over. Suddenly all their best and brightest will be working for peanuts. At first they'll fool themselves into thinking it's just a blip, but eventually they'll start to leave. Once that happens MS will have to start paying real salaries. But they really can't afford to, because their accounting scheme is based upon rewarding with stock options they can print, not actual dollars they can't. So now they start missing quarters, and a few missed quarters in a row and then the stock price collapses down to conventional levels and below.
The above doesn't have to happen, it's certainly a real possibility and more likely than C# taking out Java.
What makes Java different from another once-hyped language, like Delphi, is that Java has actually reached a critical mass with the guru-level developers and the best development shops and has maintained it for at least a couple years. This means that there will be plenty of Java maintenance work lying around for years, if not decades to come. You can't say the same about Delphi. Most shops in the U.S. have already vacated Borland technologies (even though they're better than MS Visual Studio crap, of course).
So, bring on C# and .NET. J2EE needs competition, and thus Java development is bound to get better and better, and stick around longer and longer.
Steve Magruder, Metro Foodist
This JRE
does just-in-time
leaves the app server
respondin' just fine
Hits on the web
make new beans load
database thrashin'
instatiatin' again
Codin' for fame
.NET ahead
high on cocaine
Bill Joy you better
watch out for billg
VB behind
you know that C#
just crossed my mind
with Balmer in bed
some folks are sayin'
Java soon will be dead
JCP slackin'
Apache don't know what to do
look straight ahead
C#'s comin' for you
Codin' for fame
.NET ahead
high on cocaine
Bill Joy you better
watch out for billg
VB behind
you know that C#
just crossed my mind
Apache's Tomcat
ain't J2EE
You've got to be crazy
to attack what is free
Didn't you know
where developers go?
Apple and Lotus
what have they tought us?
Codin' for fame
.NET ahead
high on cocaine
Bill Joy you better
watch out for billg
VB behind
you know that C#
just crossed my mind
Hope you all enjoyed the show. Apologies to Jerry. Boy, I needed one really long line to post this because slashcode thinks it's really smart not allowing poetry. Stupid code. They don't like songs? Men of prose? Men of prose bore the world. We need men of poetry. Just how long does one line have to be to drive up the threshold? What is the threshold? I just keep typing and previewing, driving up the average until it works. Up to 16.4 now. I wonder how much longer this will take. Boy, this is the kind of silliness I go through every day at work ;-) Still only 17.9. Maybe twenty will be the magic number? I don't know. They're probably trying to prevent sill firstpostism. Their attempt can be easily defeated since they rely on averages. Finally made it! Must be around 20 or so.
Java will be around for a good long time. There are plenty of server based applications that are built around Java and for them, portability is a major plus.
.NET than they ever have with Java but those are the breaks. Sun made their choices and stuck to their course. If they wanted .NET type financial success they could have catered more to the desktop market. That isn't what they wanted to do. They have been very successful in their chosen space. It's just a little smaller than the one that MS concentrates on.
On the desktop however you would have to be crazy to build your apps around Java. Java apps run slower, require more resources, and just feel funny on the desktop. C# and VB.NET along with good old fashioned C++ will dominate. Portability is not an issue on the desktop. Everyone runs Windows or a Windows emulator/VM anyway.
I have always liked the Java language but never the results on the desktop. I have put up with VB and Visual C++ for a long time because they produce better desktop apps. I'm glad that MS took some notes from Java and made life easier with C# and VB.NET. I know have many of the nice features of Java (don't care about portability) while still being able to produce good desktop apps.
It must really piss off McNealy and gang that MS followed their lead and will probably make more money in 1 year with
There is plenty of room for Java. I don't want to live in a world without competition. MS pulls a lot of crap but Jeez, Sun had a good 5 years on them on this one and didn't do much with it.
When I first started programming in Java eight years ago
That's a good trick... The official "birthday" is May of 1995 -- how'd you get ahold of it more than a year beforehand?
Microsoft has successfully planted and nurtured the seed in people's heads that just because it isn't supporting Java in Windows XP, Java is dead.
I don't know about you, but the first thing I do after installing any Windows distribution is go to Windows Update to install whatever updates are available. After installing XP, I went to Windows Update and near the top of available of updates was a JVM. Furthermore about one week ago an update to that VM was released by MS closing a security hole.
Obviously XP does not contain a JVM by default. That said how exactly are they "not supporting Java in XP," when anyone who updates their machine has it and it is being maintained.
"but Java even has reflection that beats everyone's pants off when it comes to enterprise solutions."
It worries me that (presumably) professional programmers are so inexperienced with langauges that they think Java's reflection API is anything other than a bag hung on the side (note: you could implement a similar bag on the side of C++, using the FFCALL library and debug symbols).
Reflection/Introspection really just covers up for the lack of a metaobject protocol, which is a characteristic of a real (not C++ derived) OO language.
Try writing dynamic code in a real OO language (like smalltalk, for example) and see how incredibly easy and powerful it is.
Note to programmers: Learn more than one or two languages. If you don't see that Java and C++ are almost identical both syntactically and in terms of their respective object models, you need to learn some more.
Educate yourself:
Scheme: Tachy
A bunch of other non-algol languages: Project 7
If it is true that C# is very similar to Java and it is true that C# can be used on non-windows platforms, then why should we be concerned about C# coming to dominate? I mean, all the java developers go learn C# and life goes on.
What's the problem?
This sig has been temporarily disconnected or is no longer in service
Comment removed based on user account deletion
Not true. What Java lacks is dynamic binding / linking. For example, take two classes - Obj1 and Obj2. Obj1 can't be compiled if it makes a method call to Obj2 and doesn't have some sort of reference to that object - like a header file. A true OO programming language would allow you to do this because everything is linked at run time.
Take a good look at ObjectiveC. It is completely ANSI C compatible and is also a true object oriented programming language. SmallTalk is another prime example of a true OO language.
You're right when you say that Java isn't a pure-OO language but you're reasoning is incorrect.
Willy
Java isn't going anywhere. In fact, it will only get better. Microsoft has excellent marketing, but Java is a much better technology. The Microsoft zealots will say otherwise because that's the type of thing they say.
.NET, Microsoft will either buy you or cream you. If that's what you want, then great. If you use Microsoft's platform, you must consider Microsoft your master. That's okay, I suppose if you believe everyone will eventually work for Bill, like the rest of the pukey punks who work there. That's what they tell themselves to get by, anyway, and misery loves that company!!! Let's see some Microsoft employees, like Carnage4Life come out and say, Bill is my daddy, damnit, and I love him and he's the best father I could ever hope for. I really wish he and Melinda had begotten me, but then again I probably wouldn't be such a twit if they had. I suppose then that the next best thing is doing his dirty work just so I can be close to him and use the same name on my letter head.
Why they support the company, I don't know.If you develop a great technology with
Seriously, Microsoft, and all those within it's walls, are white collar criminals who refuse to give themselves up.If you tag along you may have some excitement in your otherwise boring life, but you'll get caught eventually.
Technology is not important relative to society. The fact that some company has great products means absolutely nothing if they destroy the ecosystem in the process. Microsoft has destroyed the organizational ecosystem. They're not even American-loving Gods, I mean God loving Americans. People get smitten with shiny shit, like diamonds, but would you really want something that you didn't earn or that was stolen? That's what Microsoft gives you. A bunch of broken promises for a blissful society. They actually believe themselves, so they must be forgiven, but there is no opportunity with them. I agree, give them ten years. Those people owe the world lots of $$$$$. They didn't even earn their place in society honestly. A bunch of looters and robbers and petty thieves. Microsoft is mud.
(* What we need is an open language that matches up to java and c#. Something free of patents and IP. *)
Heck no!
There are already PLENTY of open languages. What is needed is open API's.
Why should I have to use language "X" in order to use API "Y" ??????
Sun is trying to turn Java into a fricken OS. It is like Emacs: "It is not just an editor, its an OS". Java: "It is not just a language, it is an OS".
Table-ized A.I.
C# is just a clone of Java with the .NET libraries to
serial numbers filed off. What is persuasive
is the big honking library that goes with it.
Sun looked at every library developed for Java,
took all the best ones, plus some other goodies, and rolled them into the huge CLR
standard libraries. So what you get out of the box is a lot of really useful functionality. The core language is irrelevant, and in fact they
have bindings from the
Javascript, VB, and many other languages.
Until the Mono people can clone that library, Microsoft will have the edge. But hopefully, it
shoudn't be too hard to clone the library,
as long as lots of open source heavyweights get
into the act (IBM, I mean, and Sun if they have
any brains).
(* Maybe you should ask that question to sun. The main reason that I prefer C# over Java,is that Sun is ignoring the desktop. *)
That is a good point IMO. What good is platform-neutrality if it is only server-side? Ignoring the GUI, you can get cross-platform with Perl, Python, Pascal/OOPascal, LISP, C, C++, etc.
And, the GUI should be a multi-lingual API's anyhow.
SUN suckered a whole lotta PHB's.
Table-ized A.I.
No disrespect intended at all but java lowered the benchmark. In the bad old days you need to know about different platforms, you needed to know how OSes and processors worked to be a really really good software engineer. Not that those skills are what define a programmer or what make someone useful in this industry but that's how it was. Java steps in and you don't need to know about hardware or anything like that to be an effective programmer. Plus it's insanely easy to do a lot of stuff, you can just churn out code that does the job correctly in it. Now it's going to take a super computer to run on and your apps are going to have a slightly different look and feel and there is this huge JRE image you have to transport with your apps but you can make apps faster and you can use people with less knowledge to do it and that's probably a lot more valuble than a few cycles and a few megabytes of RAM. (BTW, I've always felt that lowering the benchmark was my duty as a guy with the CS degrees and the knowledge about how all the low level stuff works, the job of us is to make it possible for non-computer people to do useful things with computers.) Java lowered that benchmark in a radical way and then heavy weights like IBM, Sun, and even MS at the beginning were touting it as the future, the new VB, the future of software.. There is a lot of legitimacy to using tools like that, it shouldn't take a genius to write most of the code that needs to be written. Java is an insanely good tool because it does lower the benchmark and it allows people to focus more on solving problems than bits and bytes.
Now that's a prime tool for followers to use, it's easy, it has support from big players. Lot's of the people who are in the java game are people who follow, not all of them but a lot of them. They saw that as the skill to put on the resume, plus it's easy and fun to use, so they move in and start coding up java. Now MS is trying to piss on their parade, java doesn't come with XP (big f---ing deal because anyone serious about java application development was only supporting a specific JDK or two anyways and you probably put it on the CD with your app, that how we do it at IBM and both IBM and Sun have pretty liberal licenses for redistributing their JREs) and they've got this great new C# technology that's just as easy and not too many people have been fired for picking MS solutions. That's another prime environment for the followers. Of course there will be people who flock to it. It's all FUD and hype but it works. The thing to recognize is that those people who moved to java and are going to move to C# will move to whatever the next thing is too, it's not like they're really loyal or something, as long as it's profitable to use and there isn't something more profitable they'll use something.
I think the reality is that a ton of code has been done in java and some of the big boys have committed enough that it's not going to be easy to move completely to C#. Java is going to die just like C and C++ did... oh wait. The fact that C# exists at all is proof of how good a tool the java is because MS is trying to knock it off and lock their followers in to their platform. It's also proof that these kinds of tools are needed and desired.
Java won't go away but I think there is a lot to be said for watching this tide of followers move. The Free software community can benefit from it largely. Maybe we build our own Java/C# for Linux and BSD. There are plenty of tools that already exist for it. I think you could make a standard distribution of Python with a select group of modules, document it, brand it, rally some support for it and you have something similar. If we want to start to really move over to that next level we should start trying to build that benchmark lowering tool for the opensource world. Simply copying or porting those kinds of tools is enough to give Linux and free software some a fair amount of credibility but to take it up a notch we should lead and create our own tools like that, the best you can do while Sun and MS are leading is suck hind tit, you still get some milk but you might not get your hunger satisfied.
Java and C# are as different as Python and Perl. Java is a minimal language that does not tend to add features that could be solved by libraries or conventions. C# is a maximal language that tries to incorporate all language idioms in the language. For instance:
* C# has attributes. Java has external XML manafests.
* C# has event types. Java has Event classes
* C# has for loop iterators encoded in the language. Java has Iterator classes
* C# has resource allocation blocks (where resources are automatically disposed of when you leave the block). Java takes care of this by convention.
* C# has many ways to access the underlying OS transparently. Java has native methods. (Native methods are good enough to wrap OS system calls. Take a look at Eclipse's SWT.)
The JVM and CLR continue this minimalistic versus maximalistic trend. From what I've read, next version of the CLR will likely include closures, templates, and other functional language goodies natively in the VM via special instructions, so the difference between the JVM and the CLR will only increase with time.
Getting a Java supporter to admit to liking C# (or vice versa) is like getting getting a Python programmer to admit to liking Perl (or vice versa). It does happen, but it's the exception not the rule. Both languages have different mindsets.
Because of this, neither language will die.
The JVM, OTOH, might have a limitted life because the CLR's instructors are more or less a superset of the JVM's instructions. Few people look at the Java or C# VM output so there's a lot less fanatacism where this is concerned as long as "100% pure Java" code work 100% of the time on the CLR. It's a tall order that involves all of Java's base libraries being recompiled for the CLR, but I'd be willing to bet money that some enterprising company out there ans some open source programmers out there are working on this as we speak.
The CLR only threatens the JVM, not the Java language. Someone will implement a Java compiler for the CLR; then components written in Java and C# and other languages will be able to seamlessly interact. We will finally be rid of the JVM's language lock-in now that there's a competing product available in the cross-platform market. This is the whole point of the CLR: you can use whichever language you want to.
...that he isn't a FUD-monger, everybody will just buy all the FUD that he wrote. Then he is being more naive than his readers.
Okay, how many of you think I've abandoned all hope for Java and have gone to the dark side? I suspect some of you are questioning my loyalties at this precise moment, wondering if I'm fit to occupy my role as EIC. Well, don't panic, I'm merely being a realist and looking at it from all angles. You'd be the first ones to complain if I buried my head in the sand and just ignored the threat. We have to look at this together and come up with a strategy that will enable us to effectively take on C#. We'll be getting a lot of heat from all over and we need to be armed with the information and prepared to go back to the drawing board and reeducate the masses. Sadly, they are being led a merry dance by Pied Piper Gates.
I personally believe that Java and C# both suck by themselves, both are "poisoned technologies" (ones that carry arbitrary idiosyncrasies built into them just to advance the agenda of their creators -- the only positive example of "poisoned technology" that I have seen is fictional -- it's Asimov's robots, and even they aren't completely positive), that they pretend to solve existing problems while actually solving the problems that people have yet to invent. However the amount of FUD (ex: C# on Linux? Without a single Win32-only library that every usable C# program is going to depend on?) makes me feel bad for Java -- if it has friends like that, enemies are completely unnecessary.
Contrary to the popular belief, there indeed is no God.
the sky is falling the sky is falling.
if you are currently developing java programs
or like java like i do.
do the following:
.....keep programming in java and liking it
your current version isnt going to disapear
i often wonder if things like 'such and such thing wong last so long because of X' actualy create the situation it describes
because i certainly wasent thinking that, and i still dont, but that seed is definatly in alot more peoples heads now
the only fact is that everything is an opinion
C# is certain to be a large success, primarily because it offers windows developers a migration route to a platform which is inherently more supportive (in terms of increased type safety, thorough exception handling etc). However, I think that most of the ground it steals will be from developers already using Microsoft's Development tools.
.Net platform and the Java platform (as opposed to C# and Java the language). Unless you already the know the language well, spend a few hours reading the Java 1.4 API. It is enormous. And most of that code is pure Java. .Net appears equally large, but it seems as though most of it is actually a wrapper around existing windows code. What I'm saying is that the amount of C# in .Net is tiny compared to the amount of Java in Java.
Java, on the other hand, actually seemed to help kickstart a whole new programming ethos when it was released, introducing new techniques to a new generation of programmers. I don't believe C# provides any functionality which will cause history to repeat itself in that way, and Java developers have no reason to change their tools.
There is another significant thing to recognise as distinct between the
Java is designed around (or at least firmly moving to) a specification/provider framework where Sun provide an API in the form of a set of interfaces and base classes together with a reference implementation, for which anyone else can supply an alternative. This encourages lots of Java development which is actually not visible to developers external to the Java development community.
For example, you could probably find a dozen different crypto packages for Java, all written to the same API. I don't think that's how it will work with Microsoft. How often does a developer get to replace a component which Microsoft supplies? Rarely, they're just not encouraged to, or perhaps even allowed to.
Programmers of the world unite, you have nothing to lose but your strings.
Then came the folks at M$. M$ bought an operating system by the name of "Quick and Dirty Operating System" or QDOS. M$ dropped the Q, both figuratively and literaly, and we were left with a dirty operating system by the name of DOS. Now M$ had the power. This power continued with the introduction of Windoze and continues still today.
A bunch of people got really, really mad at M$ for a variety of reasons. Groups of them attempted to overthrow M$ by creating other operating systems. But a sly company by the name of Sun developed a new cup of proprietary abstraction called Java.
Java gained much appeal, but was never able to really give Sun the power that they sought. And they all didn't live happily ever after since everybody has paper clips yelling at them pretending that the paper clip is smarter than the user.
Moral #1: Sun created Java to create another layer of abstraction so that they could rule the desktop market.
Moral #2: The paper clip is smarter than most users.
So which evil do you wanna support? I'd support Java if it was standardized by a committee such as ANSI or ISO. And Sun allowed use of Java license-free.
Innevitably when .NET and Java are discussed there is a posting about the significance of MSFT makine C# and the Common Language Runtime (CLR) standards via ECMA. While this is true it is emphatically _not_ a reason to believe that MSFT is going to stick to that standard rather than performing their standard embrace and extend routine.
.NET "platform" is not standardized, nor is it part of Rotor (the source available implementation for FreeBSD). This includes ASP.NET, ADO.NET, Windows Froms and other API's I believe. All that is standardized and available for FreeBSD is C# and the CLR. That is equvalent to the Java language and the JVM.
.NET platform.
Much of the
The entire API of Java 2 Standard Edition (J2SE)version 1.2, 1.3 and 1.4 is available on Windows and Solaris in _freely_ _redistributable_ _form_. Version 1.3 of the API is available on Mac OS X. While I am not familiar with the Java imlementations available for other platforms, I am confident that some version of J2SE is available for the vast majority of computer platforms. This includes a growing number of PDAs, Cell Phones etc.
Java as a _platform_ is now and will for the far forseeable future be more cross platform than the
Count on it.
Programming languages are like sexual positions. Some are more exciting than others, some are more difficult, some are unusual. Few have tried them all and everyone has a favorite.
By Way Of Example: This article, the strangely prophesied Unix Isn't Dead, and this booster for the next version of Windows.
Although I might be paranoid to wonder about this, it would be a pretty impressive use of grassroots resources. It seems like what they're doing is writing articles that cast doubt on the official Microsoft position. These articles naturally become (in a free spirited discussion site) a thread with some people defending MS and some people attacking it, which provides an excellent position for posting Microsoft's stronger arguments which then reach open-minded developers.
Anyways, it's an amusing thought. :)
Don't worry I won't tell anyone, apart from whoever reads this post. Just double-check your permissions, unless of course you're a sadist ;-)
As for your comment, C++ is much more error-prone for the average coder than Java because of double free() and null pointers, but then while learning this improves your coding skill level so yeah by all means use C++ at Uni, Java in the real world unless you need the extra performance/turbo-charging of C++. Yeah the libraries are crap, but at worst you can always pipe it in from a small C++ program in Linux/Unix. JDK is as portable as you can hope for. I know you hate it now (as I did) probably because you have a difficult tutorial excercise in it due this evening or something. You know the architectural differences between systems, Java does damn well.
True, there are other vendors selling Java Application Servers, but as for Java compilers (javac) that compile to java-bytecode, and JREs that can run java classfiles, I can't think of any bleeding edge vendors. Microsoft dropped J++ ages ago. But I don't think Microsoft copying JVM by using CLR vulnerable to embrace-and-entend tactics is something better.True, to be fair though Java is developing fast especially after having been thrown at the server-side. Windows is starting to approach the status of "Ulimate PC Desktop Operating System" via defacto standards plus usability, so they haven't added lots of new stuff to the Win32 API recently that everybody has to use (unlike from Win3.x 16-bit APIs to Win95 32-bit APIs). In other words Java is more of a moving target.C# has some flaws, but Microsoft doesn't just sit there, it'll tweak C# until it hits Java right on target. These linux people don't want Linux to die so they love the fact that they are soon going to have a good CLR working, if MS does that on enough platforms then it WILL boil down to a C# vs. Java on every platform.
You're damn right it's expensive. At least they're nice enough to give away a free taster, to tempt you. It's midnight, sweet dreams.A caveman dreams of being us, the incalculable power and riches. We dream of being Q, then what?
Publishers of such fine works as "Cold Fusion Developer's Journal", "Web Services Journal", ".NET Journal", "Linux Business Week", "PowerBuilder Journal", etc. They suck advertiser dick to get a contract, then go off and create two new buzzword magazines a year to meet the requirements. JDJ unfortunately seems to get one or two decent submissions per month, but certainly not from their own staff.
(* pure object orientation has to be a concept thought up by MBAs just for this purpose...[moderated as "troll"]*)
Why is it that whenever anybody criticizes OOP, it gets marked as a "troll" by some hit-and-run moderator(s)?
Please tell me why, Mr. Run, why:
Anti-OO == Troll
in your brilliant little mind?
Jerk!
(I used to think it was just me. But now it appears that *anybody* who dares criticize OO is a "troll".)
oop.ismad.com
Table-ized A.I.
It all just doesn't work. Java has its place, but that place grows smaller and smaller every day. In many ways Java is the Basic of the nineties -- including the way in which it fosters questionable programming practices such as sloppy editing (after all, the syntax should prevent slop) and shotgun debugging (after all, the toolkits should shield you from having to know what is going on). Meanwhile it does all this without offering any of the benefits of languages such as Python or LISP or even LOGO.
Java truly should be considered the worst of both worlds. Even though ironically that makes it a perfect fit for some of the most constricted, toy-problem, "the-customer-is-always-wrong" jobs.
Pushin' 'n dealin', shovin' 'n stealin'
So far, the main advantage C# is touting on the desktop is its' native UI, rather than Java's clunky Swing, etc. Non-native UI elements are irritating to the end-user, and visually disorienting (like running MS Word 6 for the Mac!)
n dex.html).
.NET bindings but not Java bindings...
But on Mac OS X, Java has Cocoa bindings, so you can call native methods for drawing windows, menus, or whatever you want. You can do the same with QT/KDE (although I haven't tried it, check out http://developer.kde.org/language-bindings/java/i
This seems ideal to me. Develop your app's core logic, then write a platform specific UI. I've always preferred write-once, compile-anywhere anyway.
So does GTK have Java bindings? How about Win32? Don't tell me that GTK will have
Is this rock and roll, or a form of state control?
Simple.
Java is Java. You cannot plug any other language into the VM. The VM is Java, and Java is the VM. This means that you have all the good and bad associated with this language (more in a minute).
With .NET, and C#, C# is not .NET. The CLR allows you to plug in other languages. See ActiveState
for details. You can plug in Perl, Python, Tcl, etc. And it works.
Why this is important (and it is): No one language is suitable to all tasks. Things which are trivially expressible in Perl or Python are non-trivial in Java. Things you might be better suited to use Fortran or C++ for (for speed or other reasons) are best left in those languages.
Java makes the fundamental mistake of attempting to be all things to all people. It really isnt as good as the hype surrounding it makes it out to be. And the hype has been shrill as of late.
What is Java to do? Well, it can shrivel up and go away, or adapt. This means that it would need to open its VM up to other languages. It is not C# vs Java that is the problem for Java, it is J2EE vs .NET. J2EE suffers from all the problems that Java suffers from (it has to). .NET has its own issues, but Mono is coming along nicely, and it runs nicely.
My best guess is Java will probably continue to win designs for another year or two as this technology (.NET and Mono) firm up. Microsoft is smart enough to know that Linux is its strongest and fastest growing threat in server-land, so if they can give the Linux world something they can deal with (by allowing Mono to continue and interoperate), they get to kill off J2EE by sucking the oxygen out of it.
And that is exactly what they are doing.
Java and J2EE are "dead languages/environments walking" for a few more years, unless they can open up the VM and interoperate like Mono, .NET, and the CLR allow them to. Check out the articles on perl.com about using Perl with the CLR and .NET.
Well, that's a considerable overstatement.
It's true that C++ code has many dependencies that make it difficult to reuse (e.g., "only virtual members can be redefined, but how can you tell?", etc.) But there are many successful libraries.
Java make code reuse a bit easier than C++, but does so at the cost of reducec execution time efficiency. There proably isn't any way around this, despite the claims that keep being made.
A still larger amount of flexibility brings us to the arena of Smalltalk/Python/Ruby. And you will notice that the execution time is again slower. Sorry about that. TAANSTAFL.
But Smalltalk is well know as one of the best examples of code re-use. Ada tried to design for reuse, but Smalltalk built documentation into the environment. So code reuse became common. At a cost. The environment must be present when running the application.
There are a series of trade-offs here. You get to choose which one you make. You can do worse than the optimum, but you can't do better. Some people have been claiming recently that by designing a virtual machine (interpreter!) small enough to fit in memory, it becomes more efficient than native code. I really doubt this. Really. But there may be some particular machine configurations and ram/cpu speed pairings for which it is true. (You can do as well as optimum, but how does one determine that? Remember that the assembler instructions themselves are microcoded these days, so the native code is, itself, a virtual machine.)
And I doubt that C# will remain restricted to the MS platform (or MS + BSD). But think of the BSD version as a step towards the Mac. And C# is close to running on Linux (I thought I heard that it compiled itself about a month ago [not to something that would execute, mind, just that it compiled], so give it a year or two).
Personally, I'd like to see C# and SmallEiffel and Ada added to the gcc. SmallEiffel seems to be aways off, but Ada was rumored to be nearly there (possibly for gcc3.1?) a few months ago. And C# (plus mono) would allow gcc programs to access most things on *.net. Technically, at least. Licenses might make this illegal. (Which licenses should themselves be illegal, fraud seems appropriate here.) Still, as well as the good aspects, that might open Linux user-space up the the new flood of MS viruses that should now be expected. (Mono, it seems to me, should NEVER be run as root. Of course, I don't really understand it, as I haven't read any of the technical documentation and have instead merely subsisted on news reports.)
I think we've pushed this "anyone can grow up to be president" thing too far.
Riding home on the train last week, I was listening to two "software guys" talk about the issue. The summary, "Wow! Microsoft! .NET! Java is dead." "Do you know any Java?" "Yeah I took a course."
The guy took one course as a "programmer" and is an instant expert. Microsoft LOVES the instant expert, and books devoted to the programming shaman are dedicated to stroke their egos before the technologies are publically released.
My point is that its not just the high end decision makers that M$ buys, but also the low end technoweenie.
(The conversation proceeded to Oracle is dead 'cause its over priced, SQLServer rules the world - at which point I wanted to YELL M$ IS PAGE RECORD LOCKING F**KHEAD - then I realized that saying that I'd likely get the same blank stare as my mother gives me when I talk computer talk.)
/\/\icro/\/\uncher
(* Compromise is good; there's a reason why Smalltalk is a niche language and Java and C++ are so widely used. *)
Which niche?
I am not a Smalltalk fan, but I don't see anything better about Java over Smalltalk (except maybe for "normal" IF statements.)
It is hard to tell why some languages are more popular than others anyhow. I would guess that Java got popular because of the hype, and C++ because of its raw speed and C base.
And, if Java is such a good "compromise", then why the heck does it *not* have regular functions? It wouldn't be that hard to add global functions. OO fans complain that too many Java users end up writing procedural style anyhow. (That is because task-oriented thinking is natural to many humans, and has not been shown to be objectively inferior to noun-centric org of OO.)
Table-ized A.I.
Desktop apps are a hassle to maintain. If the hardware dies then the app dies with it. Lusers beat on the apps like a red-haired stepchild, screwing up the configuration. And Windows crashes and takes data with it.
.NET if they were only interested in desktop app development? They already own that segment and there's very little competition.
Sun wants to sell servers, not commodity desktops with margins measured in cents. So Java is designed to run on the server. Why would Microsoft release
Sun sells big servers.
Sun wants people to buy more servers.
You dont run swing on a server.
dominionrd.blogspot.com - Restaurants on
Big battle between Java and C#:
And the winner is Coldfusion!?!?!
PS: to see it in action - download (I would recommend the latest stable build - not 1.0 release) and try Eclipse IDE.
Java is doomed. It could have been a powerful tool to break the Microsoft monopoly if Sun hadn't been exactly the same kind of control freak about it as they claim Microsoft is. Nobody is using Java because it is good technology. People use Java because the university does not teach anything but Java anymore, or because clueless management made a strategic decision that from now on all projects should be Java based. The same kind of constellation that brought us the Microsoft problem in the first place.
;-)
Anyway, I have seen Sun strong-arm an industry consortium in a (big) niche market to make it impossible to implement their Java based standard with a GPL re-implementation of Java. Sun deserves all the doom they get. They are no better than Microsoft.
And, on a side note: Java-the-language sucks. The syntax and semantics are more complex and less powerful than previous languages. You need more training to do less work with Java than with other languages (I'm not talking about C++ here, obviously). I don't know why Sun did this, but they had a reason for it. I guess the reason why Java is so slow is that they wanted to sell more and faster hardware
Java is an excellent language... when it was first announced, and started becoming popular, I went out and bought a set of 5 official Sun books on java.
.NET thing, and C# is an excellent language - I personally consider it better than Java, in design. Unless Sun pulls some major overtime, they're going to lose to MS.
After getting them home and messing with them, I was sorely dissapointed.
Java was a GREAT language. But Sun's JDK, and JRE, and everything, sucked horribly. They were slow, inflexible, buggy, and hard to work with. So I kept using C++ and VB. And now Sun has finally started to get their act together, with lots of fixes to the JDK and JRE, and with technologies like Java3D - but SWING is still horribly slow, and Java is still at a large disadvantage when compared to C#.
Microsoft has the money, the support, and the staff to pull off the
using namespace slashdot;
troll::post();
With every day that passes, Java grows more and more mature. Developers can learn and use the language in the wild, so to speak, and continually work with it and understand all of it's little... quirks.
.NET bytecode? The question is will it work the same as their original counterpart? Will it work flawlessly with so-called "legacy" code.
.Net to mature enough to "compete" with Java. Some of those years have already passed, but many more are still to come.
C# is new. It's flashy. It's Java when it first came out. It's also immature and not widely used or even understood. With all the weight Microsoft will flog behind it there is no doubt that it will be a platform du jour for many developers. However, that does not mean it will displace Java.
For fucks sake, many places are still using COBOL. C didn't dislodge it, neither did Java dislodge C or C++. Sure Java, and eventually C#, is popular, but that doesn't mean that these other languages simply drop from the face of the Earth.
Too many retards are comming along plugging specific programming languages as the be-all and end-all cure for every programming woe that ever has been or ever will exist. In fact there is benifit from being able to choose languages and systems that cater to certain kinds of tasks.
I doubt many existing systems will be rewritten simply because Microsoft is thrusting C#. CLR? So, maybe, Perl or C++ or even Java can compile into the
I think a better apprasial would be that it will take 5 years for C# and
Price, Quality, Time. Pick none. What, you thought you had a choice?
"he problem with C++ was that exactly zero of code was reused"
I can only imagine what you mean by this. As a C++ programmer I can tell you that I reuse a great deal of code. And further, the "industry" is providing libraries for all the functionality that the Java API gives... with more options and better performance.
I do like Java for servlets, I must say.
-pyrrho
Ada was just ahead of its time.
That is a matter of preference. You can easily provide very similar appearance for Java applications as well. Try to check Eclipse (the first example that came to mind, possibly because I use it every day :) - it uses a "launcher" which is seen by people as eclipse.exe file. The rest are plug-ins, which are .jars, though as an IDE user you couldn't care less about it. In other words, this Java application has the same appearance, as any .NET application. And though Java's method to achieve this is different from .NET's, "people percieving a platform" will not notice anything.
I think Java can be extremely successful, but the problem is that Sun's development pace for Java has kind of rubbed Hewlett-Packard and IBM the wrong way at times.
What Java really needs is the backing of a company that has made Java do real useful applications and provides a very good Java Development Kit. That company is called IBM.
Why do you think IBM's Java tools are so well-liked in the developer community?
So, when MS announces that Java is no longer supported on their OS, the message people hear is, "Java doesn't work". This includes ordinary users and clueless CTOs; the techies know better, but no one listens to them.
In addition, "everyone knows" that .NET is built into every computer in the world, for free (well, there is that MS tax, but you need to pay it anyway, right ?). If you were developing a new server-side application from scratch right now, what would you use - a framework which is already built into every computer on the planet, or some dubious 3rd-party software that you have to download and learn ? Plus, it might be un-american to boot, who knows... better stay away from it.
You might think that the level of ignorance I described above is excessive, but I do not believe it is. As a comparison, consider this: recently, I advised my friend (who doesn't have much cash) to install Linux on his old PC, and he said, "No, that's too expensive". Can you expect people who ask questions like this to understand what a "Java library" is ?
In conclusion, I give Java about 3 more years (I think 5 years is optimistic). It's sad, but .NET is the future. MS simply has better marketing.
>|<*:=
Maybe its about time to Sun to reconsider a more open License to it.
[L]GPLing it might give it the boost it needs.
you'd think that someone just foretold the second coming or something. I mean, chill out.
Did you know that it has also been foretold that Latin is a dead language? Hell, how many Latish people do you know??
Anyway, while this may seem like god saying "fuck off" to the Christians, but I'm sure this Geelan guy said it as a joke. This reaction simply shows how outrageously untrue it is.
[www.doodie.com] the possibilities are endless...
Wrong. With the amount of the code written - Java will at least outlive COBOL. Which is to say - I will be twice dead and reincarnated before is goes away.
<^>_<(ô ô)>_<^>
The programming language with the best (i.e. developer friendly) IDE, debugging tools, and code wizards will ultimately win out.
Yes...the vi, emacs and gdb purists will have their opinions, but the majority of developers don't like banging their heads against the wall dealing with vi and emacs.
Although my Java apps run on Linux, I do all the development using Visual J++ v6.0 on Win95/98. Sorry, people, but Forte and JBuilder running on a Linux system are way too slow and suck up far too many resources for me to use them.
I also do a lot of VB development, and my perspective has always been if the java people could put together a development environment just as fast and easy to use as Microsoft's, Java would be unbeatable.
If you go to your local big bookstore and count the books about a language and do that every few months you will find they are a great metric on langauges (and other computer buzword trends).
If you go count the books on C, Fortran or assember you will find a small number that is about the same size as it was last month as well as 15 years ago. Others like C++, Java, C# as well as Ada, Pascal, Modula2 before them all went through stages from none, to lots and then back to very low numbers. At this point Java is going down and C# is on the rise. C++ took a huge hit when Java came onto the block.
need a big server to effectively run Swing.
Amount of the code that is already written and commited to production leaves absolutely no chance it would be "dead in 5 years". Marketing or not - commitement already happened. I have a number of systems installed on my computer right now, most of them have heavy Java support, and not a trace of C#. Most of them absolutely have to run on platforms other then Windows. Most of them are in widespread use in large corporations. Already.
There is absolutely no damn way it will just magically dissappear in 5 years. Whatever is your opinion of the language. C# does not bring any sizable advantages (of the order Java had over COBOL and other legacy systems).
And also: elegant QBASIC? Compared to Java? You may have you morning doze of sour grapes, but it seems they were crack cocain laced..
<^>_<(ô ô)>_<^>
It will be sweet when someone ports one of the many free Java compilers to .Net.
Will the Java programmers still be called Java programmers at that point or will they just be called "stupid assholes"?
The guy is an admitted sensationalist...
"I purposely went a little over the top just to test the water." (second sentence of second paragraph)
...so take it for what it's worth.
What has Sun delivered? Well, they have been doing a good job on the JIT. But beyond that, the Java APIs have become huge, there is no new support for numerical computations, the genericity support is flaky, VM sharing and fast startup are missing, and Sun is suing or picking a fight with whoever shows any initiative in the Java space.
C# isn't a lot better than Java, although it has a few important additional features. But, amazingly, Microsoft has been doing a much better job opening up C# in the form of ECMA C# than Sun. Maybe, in the long run, we may just have to thank Sun for providing the competition that caused Sun to open up.
Java does not belong anywhere near a Windows desktop when actually running programs (not just coding/testing). Java belongs on a server. plain and simple. On the desktop, Java is slow - no, Java is *really* slow. Other programming languages (i.e. VB) are slow, but they provide an easy way for people to make simple applications that can look professional. Java does not provide this. Therefore Java's slightly higher knowledge requirements and slowness make it unsuitable for the desktop. However, Java's strength is running on a server in a JSP environment. This is because Java has so many tools built in for networking (no more C style sockets, yay!!) that a (relatively) few lines of code can produce a very powerful Internet program that is fairly safe to run. I believe it is only hurting Java's image to even pretend that it can function as an application base for desktop applications. Sun should drop all of that - including Swing - and focus on enabling network technologies such as database interfaces and web services where the end user never even knows that they are being fed by Java.
Just a comment on your .sig - Mensa is the domain of the semi-intelligent emotional retards of our world. Surely if you're sop intelligent, you see the irrationality of identifying with a group to bolster your own sense of worth.
Languages are nearly immortal.
We still have wide use of languages like C, FORTRAN, RPG, APL and Cobol, and Java has a very large, and rapidly growing code base, surely larger than FORTRAN, APL and RPG, and maybe even as large as C or Cobol. With the near universal use of Java as an instructional language, and the reams of Java code being produced every day for commercial use it is very hard to imagine the day when Java will be 'dead'.
To suggest that C# will replace Java is at the very best a great extrapolation.
Remember that Microsoft is first a great marketing engine, and most of it's initiatives do not live up to the hype. Like Hailstorm.
Java, I have found, is the best way to bring a good system to its KNEES. The overhead is unacceptable. And I for one can not for any reason understand why a developer would use it.
Write one debug everywhere
Perhaps its a good idea, too bad its build buy a group who spent too much time with bong and hash pipes.
All programming languages have a limited lifespan. There are many reasons, but one of them is that Moore's law impacts the complexity of programs that become possible. After a while, it becomes necessary to create a new language simply to accomodate the growing complexity.
See Mozart - The Future of Programming for a more in-depth discussion on this topic.
And if you want to be the first one to use tomorrow's language, check out LX
-- Did you try Tao3D? http://tao3d.sourceforge.net
I can't help but wonder how long it will be till someone starts a .net OS project.
It might be that C# .NET and the CLI will actually reinforce Java's position.
To understand why, you only have to remember what Gates said about Java at the very beginning. Oh, he was disparaging and ironic, expecting that Java will be unacceptably slow, and die a horrible death right there right then. It didn't happen. Sure, Java was and still is slow, but it solved so many problems that people cared less about the speed than uncle Bill liked. He thought the only way to program was C/C++, and that the unwashed crowds of programmers would soon come to their senses and worship Windows.
And now, with the safety of the historical distance, when peoplehave forgotten those totally unprofetic words, Bill is doing exactly the same!
Surely many in the industry will now have a confirmation that the Java way is, indeed, a good way, even Bill says so!
Sigged!
J2EE and .NET are development Platform. When you start a project with J2EE or .NET, you will most likely use it everywhere.
.NET.
Actually, I don't see servlet/JSP is better than php/perl in developing server pages. The performance is really bad, and writing Java is harder(you slashdot people must not agree with it, but there are many other people out there). Why cannot there is a way to communicate php/perl with EJB?
I really hope there are something which come from the open source community can replace J2EE and
It is not HOW, it is WHO you fuck what matters.
<^>_<(ô ô)>_<^>
A while back I was watching C-Span and it was a luncheon or something with Scott McNealy from Sun. There was a Q&A session and someone asked a question involving Java.
He seemed to (without saying it) blame MS for the "failure" of Java.
McNealy went into a story saying something to the effect of:
"Java was great. We had liscenses with everyone who had their own implementation of it. Then Microsoft came along. Now think of Java as a cup of water. Its pure, safe, and ok to drink. Then take that same cup put a couple of drops of Microsoft poison in it and you don't have a cup or water with poison in it. You have POISON."
I looked for a copy of the actual text but I couldn't find it. Any mis-quotes are accidental.
There was alot more to the program, and was quite interesting to watch.
OMG BIG PENIS ATE MY SOUP
If I developed a programming language called D-flat, would Microsoft sue me for trademark infringement? (Ok, this only makes sense if you're familiar with musical notation)
(* Wrong. With the amount of the code written - Java will at least outlive COBOL. Which is to say - I will be twice dead and reincarnated before is goes away. *)
I think people generally mean "fall out of fashion". I don't know when COBOL started being considered "out of fashion". I assume it was around the rise of minicomputers, in the late 1970's perhaps. Anybody in the industry back then remember?
Table-ized A.I.
the hats they give you. The C# hats are pretty cool, you got to admit.
I was on the bus and Scott McNeally was there talking to Bill Joy and they were sweating 'cause they was feelin' the C# heat!
The Microsoft Press has been a publisher of a series of chess books (which I have read and liked) by international grandmaster Seirawan (coincidentally, a Seattle resident, I think) since the eighties, when MS was not the giant it is today. I believe that the name "C#" is a direct "chessical" reference, rather than a musical reference; furthermore, it is a reference the meaning of which will not surprise anyone here. Let me explain.
In chess, when the king is on a square to which an opposing piece could make a legal move if only the king were not there (as, legally, the king cannot be captured) the king is said to be in check; in most chess notation systems, this condition is notated by appending a plus sign, "+", to the move that sets up the position. When the king is on a square to which either of two opposing pieces could make a legal move if only the king were not there, the king is said to be in "double-check"; this condition is expressed using two plus signs, as in "++". Now, when no legal move can relieve the king of a "check", the king is said to be "check-mated"; this condition is notated by appending the octothorpe, "#", to the move that sets up the "check-mate".
In other words, if you were to read "C++" (which, incidentally, is incorrect chess notation because C is neither a piece name nor a board location) as "C double-check", then you would read "C#" as "C check-mate", which could be interpreted to mean "a move by a pawn onto a hypothetical square C (or perhaps by a hypothetical piece C?) which sets up a condition of imminent capture of the opposing king (not legally realizable, as I said) from which there is no relief and which, therefore, wins the game. See? By delivering the C# language (i.e., delivering checkmate) Microsoft expects to win the game (i.e., move the match to the Windows arena, which it controls) and, thereby, win the match. In fact, in the language of chess, one might say (quite idiomatically but with humorous overstatement) "C# Wins".
There's little doubt that Java won't continue to grow without some fundamental changes. There has to be a breakthrough in the JVM for it to remain successful. It's far too limiting in so many ways. It forces you to live in a tiny address space. You have to give up those wonder OS goodies like signals and semaphores. The classpath, in any large development effort, gets cumbersome, especially when portions of your project require different versions of a particular class. And all those types of packaging. Jar, war, ear, loose classes.
No doubt, Java has been wonderful for the development community, but it's not the pinnacle of computing languages and runtime environments. It's handy, and that's what's selling it.
- Sig this!
You do not know shit. If you think Motif (native fucking C for ya) is faster or better - you are retarded MORON. Go back to your cave.
Everything I see of .Net and C# shows it to be better than Java -- but you only get the benefits if you are on Windows.
.Net are not even in the game, and may never be.
.Net will own Windows and Java will own the rest. Java will nearly vanish on Windows, since .Net can just send messages to Java apps.
.Net implementations on non-Windows platforms, everything I just said will change. That's the wild card in all of this, and there are some scenarios where really good non-Windows .Net implementations could really help MS, like MS-Office on the Mac. This should be interesting.
Outside Windows, C# and
My prediction, and it's not much of a stretch, is that
.Net will probably be somewhat better than Java, which will influence some people to use Windows servers (everyone will keep using Windows clients), but many others can't or won't use Windows. Those folks will put a lot of pressure on Java to keep up, probably mostly successfully.
Of course, if we get really good non-MS
I'm happy for the competition.
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
Wow. That is a great analysis, if true.
'Nuff said.
C# isn't a replacement for Java.... .NET overall is. Every language in .NET is designed to work on every OS.... IF and that's a BIG IF the .NET framework is designed for each OS. Right now it's only for Win. And I don't see MS actually making it for anything else other than Windows. They have only build themselves a safety net that IF *nix takes over (and that another IF) that they will still be left in the market.
Personally I think *nix has a long way to go to take over the desktop. And until it does take over the desktop it won't take over the server market completely either. It is much easier to manage everything in the same environment. Don't believe me? Remember Novell and Win3.x/95? I'm sure I'll have a nice long article for your guys soon.
"Times may change, but standards must remain the same." - George Carlin.
Comment removed based on user account deletion
They haven't done anything to help open source or any communities.
On the contrary, Sun has contributed source code to the Apache group (xml parsers, tomcat and batik). Lets not forget OpenOffice.org, where you can get the source code to StarOffice. Sun has also made various protocols open, like NFS and NIS (for good or bad). Has Sun satisfied everybody all the time? Nope, but I would affirm that they have helped the open source community.
Regarding the article and its assertions, I don't give it much weight. As long as Java programs accomplish the tasks at hand the language is viable. I'm sure some Java programmers will jump ship for C# and others will add C# to their repetoir, but that hardly counts for killing the language.
-- Solaris Central - http://w
It's sad, but .NET is the future. MS simply has better marketing.
I think that some people, particularly some business people who understand the issues a little better (e.g. the upgrade treadmill, the reliability issues, the 'who owns your data' issues (though that last may be stretching it) are biginning to get it, even without being geeks. But numerically, you may be right. Even folks where I work who understand where I'm coming from and let me dabble in Linux still advise me to concentrate on niche areas, rather than going for everything, which they classify as "quixotic".
"that's not encryption - it's a new perl script that I'm working on..." - from some Matrix parody
I like some things about Java, like its simplicity, servlets, JSP and its cross-platform capabilities. I also like some things about C#, like the way it does threads. I don't think Java will die due to C#, however, for the following reasons:
1) C# doesn't come close to the cross-platform, browser agnostic, enterprise server capabilities that Java does. C# is very Microsoft centric right now and can't even create applications for Windows 95 since there isn't (to my knowledge anyway) a copy of dotnetrun.dll (whatever the file is called) available for 95. Java works everywhere there's a JVM, and you can find them everywhere.
2) Java is basically free (as in beer) for developers to download and use. Other technologies that work with Java and the web (Apache, Tomcat, MySQL, PostgreSQL, etc.) are also free. If I wish to create a database driven web site, I can do so for free if I go the Java route. I will have to pay thousands of dollars to do so using IIS, C#, ASP.NET, SQL Server, etc. I think this alone will keep Java around for a very long time.
Corporations can afford MS tools and they are willing to accept silly per-user and per-CPU licensing schemes. These tools and their licenses are simply not a choice for the average individual programmer (sure, some programmers "borrow" their company's MSDN discs, but MS puts watermarks into the compiled product so heaven help you if you create a successful program using pirated dev tools and then try to sell it).
3) C#, like most Microsoft tools, is designed around their operating system. As I understand it, the parts of C# being ported to Linux (and other operating systems) do not include the forms and other controls (aren't they just an update of the WFC crap MS shoved into J++ 6?) That is fine, but what effects will this have on cross-platform capabilities if C# has to use a different graphics library on other operating systems? Swing isn't the greatest thing in the world perhaps, but it is very usable and available on many platforms and I personally think it looks great. In fact, the only thing I don't like about graphics programming under Java is the GridBagLayout.
I could go on, but I think I have made my point. There may be reasons to feel that Java will be killed by C#, but I think there are an equal number of compelling reasons that it wont.
A while ago, the CTO of my company give us a speech and touching on Microsoft, he said,
.Net launch .Net pet shop) in the .Net platform. The plain truth that struck .Net...it just surpasses any
"A lot of people ignore the second mvoer advantage, people are always
saying how if you are not in the pack of first mover in the Internet world, you are out. Well, Microsoft has
proven that theory WRONG! Time and again." He gave afew examples, DR-DOS(MS-DOS), OS/2(Win95),
Macintosh(point and click) and so on.
Folks, i maybe a Java programmer but i'm scared when i saw in the recent Visual
seminar, how easy the presenter deployed an application similar in complexity
to a J2EE apps (no it's not even the
me was that the sheer power of Microsoft Office combined the Windows server platform and Visual
packages currently offered by any of the J2EE vendors
in the market today. I honestly don't know how any vendor (Sun, IBM and whoever) hopes to
compete with such a behemoth.
The date of the article is April 2002.... April 1st is .... April Fools. C was to be killed by C++ and then Java and OOP in general. C is alive a well.
IBM is supporting Java and Linux, I think Java will be around for a long long time to come.
Yeah right, OOP brought to you by the monsters that crapped out MFC. One of these days i'll have to give C# a try, but i feel like an abused spouse that keeps on coming back.
Let's be realistic about this, shall we? Java is here right now, works on just about every platform on Earth, and has almost identical features as C#. If you want a modern programming language that works in the real world, and on more than one platform, Java is your choice.
% man girls
No manual entry for girls.
%
======================================
Writers get in shape by pumping irony.
It simply does not make good business sense to put any trust in MS, as history shows time and time again.
Those who do not understand history are doomed to repeat it...
I respect what the mono team is doing, they've done some really great work, but I think it's going to end up being a waste of time, I think it will come back and bite them in the ass.
But, I could be wrong. I _hope_ I'm wrong! If the CLR does become an unencumbered industry standard, well, that could only be good.
Personally, I never liked Java. I didn't mind the language, but every implementation I've seen has been quite dissapointing. And then... Swing?
The best thing that could happen is that the CLR turns out to be great, people freely use it, Sun loostens up, and Java switches to the CLR...
But these are my predictions... ;-)
1. Microsoft throws legal weight around and kills off more competition, completely destroys all competing implementations, stops supporting FreeBSD.
2. Sun loses lots of Java developers due to industry hype(aka, MS Marketing/FUD). Sun, being a stupid corp, becomes more controlling of Java and helps to kill off more developers.
3. Mono ends up being a complete waste of time. Miguel de Lcaza gets a job at Microsoft
4. Linux remains a niche OS. ESR and RMS keep talking too much.
5. My Linux servers keep running without skipping a beat.
6. Wine continues to improve allowing Linux users to continue getting that much needed gaming fix.
Sticking feathers up your butt does not make you a chicken - Tyler Durden
This is one thing I've wondered with regards to C#, and something I've found to be relatively easy with Perl and Java. How easy is it to become a C# .Net developer?
.NET? There is Mono, but I don't think the resources for learning Gnome were as complete and intuitive as those for Java, so I don't have high hopes that Mono will be any different. Miguel himself even said that Mono will be at least a year behind the times when it comes to .Net, so why would anyone use it?
.Net/C# jobs than Java jobs being posted.
With Perl all I had to do was go to any perl web site and follow the tutorials, maybe buy one or two books. All the tools were free.
With Java, same thing, though I would contend that Java did an even better job than Perl. The JDKs are free, the documentation is ample, there are APIs and extensions to do everything, especially in the distributed computing space. And the resources to learn them are all on java.sun.com and the JDC. I don't have to spend a lot of money to become a java developer, or to specialize in any specific area of java development, all I need is time and a web browser.
Will this be possible with C# and
I'll be worried when I see more
I don't recall MS saying much one way or the other except saying you could download a JVM from their site. The Java community themselves planted this seed of doubt.
Yeah, but the friggen Java download is 6 MB's! (So I've heard.) That's nothing for corporate users on broadband connections, but when you're trying to appeal to Joe Consumer surfing the web with his modem at home, with an attention span of maybe 20 seconds, he's not going to be patient enough to sit through a 30 minute download just so he can view your site. More than likely, he's gonna keep on surfing.
If broadband had 80% saturation with consumers, then maybe it wouldn't be a big deal. But I'd bet large amounts of money that this is Micros~1's plan, to push Java into irrelevancy by making it difficult to use. They couldn't own it via their embrace and extend strategy, so they're attacking it by slieghting it.
I once read in an interview with a consultant from a company partnering with Microsoft that the JVM is only capabable of running JAVA programs whereas the .NET VM is capable of running programs written in several other languages. Of course this is not true (eg. look at KAWA: Scheme->JVM). Now, I'm wondering whether it would be possible to compile C# programs for the JVM. In that way both camps would be united and some Microsoft propaganda be demystified.
When I first started programming in Java eight years ago, the industry was far different than today.
Oh my god. That was eight years ago!? Damn I feel old all of a sudden.
autopr0n is like, down and stuff.
Lets not forget ImageIO, XML stuff, Swing (slow, but cool), and Java2d.
autopr0n is like, down and stuff.
Well, i am on a win2k pro workstation right now. I have a highly modified distribution of RedHat 7.2 with latest stable kernel from kernel.org. I'm a Java developer (among other languages). I installed visual studio .NET the other day... and learned the language (syntax and some libraries) in a matter of hours... it's ALMOST exactly like Java, syntax wise. I thought it was cool beacuse the GUI type stuff was faster than Java's Swing/AWT stuff... but then realized, how often am i making GUI stuff in java?... never. o well. As i browsed through the API, i started noticing stuff for accessing the windows registry... i saw stuff for loading DLL's... I saw a multitude of other things that were specific to windows. Now i ask you, how the hell will they port .NET to *n?x (that's unix) based operating systems if a good portion (about 20%) of thier APIs are specific to windows? How is that cross compatible? And what god awful software am i going to have to install on my Linux box to make it ".NET compatible". Are they going to force me to install a "registry emulator"? I hardly see C# taking over java. For one thing, I can't imagine any UNIX admin allowing microsoft software to run on his servers... eh... who cares... I'll still write java code when i want to write quick and easy OO code.
Oh yeah, and my bigest concern about the whole .NET thing is this:
Everything compiled under .NET (C/C++, C#, VB, etc) is ran through the CLR, and will run the same speed, no matter what language it was writen in. I've heard you can compile "nativley" but you loose a huge percentage of the .NET APIs.
With that said, why would i ever use C++.NET? If i'm gunna spend time writing C++ code i want it to run natively!!!!
I'm not drunk, I'm just in touch with pi.
C# is fine as a programming language. It has some dubious constructs, such as the "unsafe" option (MS should wrap that around all of their code), there's some things like enum's, which are very useful if you write a Solitaire game, but overall it looks a helluva lot like Java. So that's good, imitation is flattery, yadayada...
.NET. .NET and Web services in general.
.NET. And that could very well be a non-issue in 5 years time.
A recurring argument in favor of C# is that is supports
The problem is that not a lot of people seem to be questioning
Now, apart from the fact that MS put one of their Web Services projects on ice yesterday, who needs Web services??
Do I want to keep my appointment data on a (MS controlled) server, so that I can download it into my PDA while waiting at the airport?
Do companies want to buy word processing services to write letters through Web services?
Are corporations going to be processing their payroll data through Web services?
Especially for government institutions, do people want to be held hostage by keeping their data on some Web service?
Call me a Luddite, but I don't see how it makes sense. This thing of being connected all the time also creates a tremendous dependency on Web Services being available, and a lot of big customers are not going to go for that (I think).
To get back on topic, it seems that the justification for C# mainly depends on
MSN 8: Now Microsoft even has bugs in their ad campaigns.
that explains why go-mono.net is going gangbusters to develop an implementation on Linux
/. and I don't believe that Miguel de Icaza has ever responded to the substantial points, viz.
Pointing to others who share your beliefs does not advance your argument. Mono has been extensively criticized on
1) Java and the JVM are better established and equivalent in all major aspects to C# and the CLR, therefore a Linux platform would be better starting with that.
2) Since of the ~1200 classes in Dotnet, only about 150 are standardized, the chances of any substantial application actually working outside Windows are zero.
Having used JBuilder 4/5 (Swing) and Eclipse (SWT) on fairly ordinary Windows machines I think they're pretty even performance-wise, and visually. However on Linux JBuilder has the edge as the Motif version of SWT is a bit ungainly. Would be nice if there was a KDE version...
Anyway, I'm sure IBM didn't invent SWT purely for technical reasons.
I just downloaded their Java SDK 1.4 and tried to use it to build the JDBC interface for Postgres.
The compile failed.
If Sun were alive, it would have taken a tiny fraction of a percent of its budget for its primary software product and paid some test monkeys to compile all the major open source products that use it.
Now, the fact that they released a version of Java that doesn't work with one of the most important open source products that uses it isn't necessarily doom for Java -- someone else might pick it up and run with it -- but they'd better do it soon before Sun's necrosis sets in on that most vital organ of Sun's.
Seastead this.
As many times as people post the numbers all over the net, you would think people would get the idea that java isn't slow. I'm not going to bother adding another link to some benchmark showing the progression of java from 24X slower than C to ~1.5x C and continuing to improve. In fact, in some places, it ran faster than C (compared to Intel's compiler).
.NET platform anytime in the foreseeable future? Even if they did, Mac and Solaris are not going to come with the ability to run C# programs out of the box. If you wrote your code in C#, you aren't going to be running it on anything but windows for quite some time. Right now, you can have Java up and running on you system without any problem. I just point people to java.sun.com, and even the least intelligent seam to get it working. Anyone that can download and install winzip, can do the same with java. It's not a big requirement.
:) I read another post on here that claimed PERL would be the next thing, but I just don't see that happening. Do you really think that Perl is going to be user-friendly to the end user? You can get just about any package you need from CPAN, but you have to install it, and face it, CPAN is not as easy as just grunting as you download the 20M or so that is the JRE.
.NET Developer Studio. On the Java side of the world, you can get along just fine with JBoss, Linux, Eclipse, and NetBeans/Forte, all for free. I guarantee you when you add up MS licensing fees, !/$ (read: bang per buck) award is going to go to Java every time. That's how they measure it in the Java world... go check out ECPerf over at theserverside.com.
They wouldn't have to worry about installing and configuring Java if MS didn't hate it so much. Do you really think that a linux user or a mac user is going to be setting up a
Sun recently worked out their differences with the Apache people. Any non-profit organization can now be certified for free as far as I understand. Go check out jakarta.apache.org, it should still be there.
Java is not getting more proprietary! There are several compliant Open Source JSP servers(Tomcat and jetty to name a couple) and at least two open source J2EE platforms (JBoss and Enhydra).
On the other hand you have the FUD claims of MS. They took the Java PetStore tutorial, and used it for a benchmark. Just to be fair, Larry Ellison is probably guilty for doing that to begin with, but no one took his "Oracle Challenge" seriously because it was just silly. Just so you know, Oracle put together a performance enhanced version of the PetStore, and beat MS again, just proving once and for all, it's how you program, not what language you use.
I had a similar opinion to your's a few months back, but after taking a look and testing it myself, I was quite suprised. Java didn't become popular by being slow, difficult, or a licencing hassle. I don't know whether I believed it because I actually thought it was true, or because I was too D***ed lazy to play with it. You'll find it quite interesting if you bother to take a look at what all you can do with it and how fast it really is.
The standard API comes with as much functionality as Perl with every CPAN module available
My point is, Sun is very willing to work with the Open Source community now, much more than MS, and Java is not the beast it used to be. Java also has a large chunk of the mindshare, and MS is not going to steal one single developer from the Java platform until they know that their software can be used by all their clients. If you develop an enterprise application, you will be running it on windows, and you will be paying constant upgrade fees for more users, newer versions of windows, SQL Server, and the
Karma Clown
I hate to say Java is way superior than Java and this author was bought this author.
I disagree. Microsoft have been trumpetting .NET and C#, and had them in Perpetual Beta Mode(TM) for nearly two years. Many of us (I work in a Microsoft Partner software house, for example) have taken a look at C# in that time, quite a few investing significant time in researching what it can and can't do, where its strengths and weaknesses lie, etc. And now, as the floodgates open with the full release of Visual Studio .NET, you know what? Most of us aren't shifting.
There is simply no compelling commercial advantage in moving to C# for most commerical development. There are exceptions, and I'm sure they'll go with C# given time, but they make up a small minority of the whole software development industry. After all, we've been writing every type of application there has been for years without Web Services, etc. Why would anyone think that all these different fields would suddenly benefit from a tool that, frankly, is totally irrelevant to them?
In summary, it's plenty early enough to form first impressions, and first impressions count.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
But that's just not true. The Java community as a whole displays a staggering ignorance of many basic principles common to other programming languages and computer science in general. I've heard more crappy arguments from Java-ites trying to justify the lack of some language feature than from advocates of all the other languages I know put together. (Sadly, I am not exaggerating.)
Free functions, multiple inheritance, operator overloading and templates are my favourite examples. There are perfectly sensible reasons to include all of these features in some languages, and times when using them is much easier than the alternatives. However, I don't have a problem with a language that, for some sensible reason, chooses not to include them. I do have a problem with people who discount them on the basis of lousy arguments and lack of thought. My favourite utterly naive statements are:
Anyone reading who actually agrees with any of these statements needs to do some more research before they start having a go at the features concerned.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Be careful with these numbers, though. It's very hard to estimate how may people actually use or actually know a particular programming language. Number of downloads is certainly not the way to do it; I am personally responsible for three of those downloads, since I like to keep up to speed and have reinstalled a couple of times recently, but I am not currently programming in Java.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Here at NC State University, Sun has given untold millions to our otherwise spotty engineering and computer science departments. What this entails is six different curriculums based around the Java language. Far more useful C and C++ programming courses have already been killed. Seriously. Next fall, you will be unable to take a C++ course at the largest university in the state of North Carolina.
There is a culture of corporate sponsorship, kickbacks, and unwarranted influence that dominates the university landscape, and Sun is a big player in that respect.
I balk at the notion that Java is going away any time soon. It won't--not with Sun ramming it down the throats of the next prospective generation of programmers.
Web Techniques (now New Architect)
has got an interesting article on a similar topic.
the question is, will people be willing to substitute ease of use and standerdization for security. considering how C# IS part of the visualstudio.net package and we can expect to see C# play a critical role in M$ internet take over scheme, i would rather stick with older technology that works than newer tech thats easier.
We seldom regret saying too little but often regret saying too much.
I very much doubt that. There are probably millions of programmers in the world who have some familiarity with that combination, and hundreds of thousands who use it every day. There are certainly milions of man-years invested in existing code using that combination. Why on earth would companies who've made that investment just throw it away and switch?
What is it that makes you think we're all going to give up the C++ and Java we use at present and switch the C#? A few years ago, people claimed Java was the next-generation language in the C/C++ family. Now, C++ is still going strong, Java still hasn't caught up in popularity by any metric I know, and people are questioning how long Java will last. (Meanwhile, work is starting on the next C++ standard, driven by an enthusiastic and informed community of experienced developers.) So, now, C# evangelists (mostly hired by or sucking up to MS, it should be noted) are claiming that it, too, is the next generation language. Why is this time going to be different? Why should I believe that they are going to kill Java or C++? Where is even the slightest evidence for this, beyond MS marketting hype?
No, I think the world will continue to use Java, C++, VB and many other successful languages for a long time yet. And why shouldn't they?
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Well, lessee... How about Open office? or (looking back) their contributions of NIS/NFS? (originally called YP or Yellow Pages by Sun and distributed today with most distros)
Oh, and don't forget JXTA , which provides very .NET-like P2P connectivity between any two devices.
Is Sun out to help Open Source? Not really, they, like ANYBODY TRYING TO MAKE A LIVING, are out to promote themselves, but at the very least, they don't seem to have any problem co-existing with OSS initiatives, having founded quite a few.
Oh, and openoffice.org, which consumes massive bandwidth (Open Office is 50+ MB per download) is primarily funded by Sun...
Love 'em or hate 'em, but don't spread FUD...
I have no problem with your religion until you decide it's reason to deprive others of the truth.
Okay, so maybe Microsoft isn't the most cooperative when it comes to defining standards, given its preference to embrace and extend. But, seriously, learn to dissociate C# from Microsoft's overall .NET strategy. Perhaps many Java brewers are not trying out C# because of the MS barrier.
.NET IDE.
C# is a language very similar to Java, but is an improvement upon it in many ways. Many desirable features absent in Java are present in C#, such as operator overloading, unified type system that permits universal indirection of objects and the all-powerful attributes that permit code to be decorated with metadata inline. Having worked with C#, I think it improves programmer productivity quite a bit, especially when coupled with the Visual Studio
I think one way to combat apprehensions about C# is to encourage the independent development of ECMA-C#. That way we get to use a language as good as Java without having to deal with the tactics of the software big brother. Once ECMA-C# is dissociated from the flavor MS sells, Java and C# will be in a situation where programmers, and not business contingencies, decide who survives.
Yeas, it was simpler to step from assembler to C to C++ and to Java. Because the compiler does really just a mapping from function calls to address jumps keeping the main idea of the program the same - do next step after you finished the previous one.
It is not the first time in our history when it was realized that the militarism is against the freedom and the spirit of software engineering. First experiments in 1960x, then Lisp, then Prolog, now XML/XSL.
Cycle by cycle, programmers required the language helping them to think in math about the problem rather than in electro-mechanical terms about how to control the computer behaviour.
And cycle by cycle the theory and practice of compilers (interpreters) failed to translate declarative description of the problem into the set of machine instructions. Did you noticed why? Because in case of procedural language it is a mapping from more structural and general set of instruction to concrete one specific to the machine. In case of declarative languages, it is not just a mapping, it is a real translation. The process is more complecated and the translator should be smart enough by itself. That time the world was not ready for smart translation. That's why most of declarative languages translated in interpreters. On more detail to notice: each declarative language had its own syntax in order to better reflect its semantics.
Time changes. With XML we've got a universal syntax capable to declare virtually any semantic. XML devides the programming progress into two big periods: without XML and with XML. Before XML the program language was based on "raw" text format and every compiler had own parser and own syntax validator. With XML the syntax parsing and validation problems become obsolete. With XML the compiler or rather interpreter will focus on semantic validation using formal human-readable language meta-description format such as Schema and RDF. Remember programming languages with exactly one line per instruction? Most of programmers even don't know such times. Well, in exception of legacy programmers still working with mainframes and hardware drivers. Same thing: people will forget non-XML syntax of programming languages. Again, in exception of legacy programmers.
Ok, I admit - there are just few XML-based programming languages today: XSL, XPath, XQuery and XUL are the most known. But now it just a metter of time when we will see all pre-XML programming paradigms in XML format: functional programming, backtracking, OOP. User Interface, workflow automation, data mining - every area will have own set of XML vocabularies and the real program will use ususally more than one vocabulary in one project. Why should I stick with one or two programming languages if I can create the right language for the right problem?
Did I fogot about Java and C#? Not yet. But I hope to forget at some point soon. Who remember Pascal and Algol? Same will be with Java and C#. You cannot write a hardware driver and expert system rules at the same language. That's why Java and C# have no future. C (actually, C++) has - we still need OS and GUI. We also need all those XML parsers and transformers. But why do I need JVM to do the task which is more alike a system software task? JVM is certainly not a very effective way to it. Any VM. Besides... XVM? What is XVM? eXtensible Virtual machine? Pure cross-platform AND cross-language universal LEGO-based engine? It is a concept we still have to understand.
I know you're out there. I can feel you now. I know that you're afraid... afraid of us. You're afraid of change. I don't know the future. I didn't come here to tell you how this is going to end. I came here to tell how it's going to begin. I'm going to hang up this phone, and then show these people what you don't want them to see. I'm going to show them a world without you. A world without rules or controls, borders or boundaries. A world where anything is possible. Where we go from there is a choice I leave to you.
"I shall explain this by waving my hands about in an appropriate manner." -- Cambridge University Math Dept.
but then again who would expect you to have YOUR facts straight. .Net is a piece of shit.
Let's see. You could A) program the functionality yourself (assuming you make 75k/year) it would take maybe 1 year to program. That would cost the company $75k. Or you could B) skip 1 year of development and save $65k by buying their product.
Hmmm wonder which makes more sense? I hate it when people cannot pull their heads far enough out of their asses to see the economics of purchasing products.
A perfect example is you could go out and build your own car from scratch or you could buy a car from a dealer. Which is going to be better and which is going to be more cost effective? Likely you'd say "I'll build my own". Apparently you don't have any money invested in a real company.
is a programming language suppose to last forever? Languages change, people change, business change, and everything changes. Get real. Only people who buy into the hype in the first place have something to loose. Nothing is permanent, therefore deal with it.
Keep in mind the context of my post. The claim I responded to was that C# was not going to be successful because there were many more job advertisements for Java than C#. Very few companies are going to require knowledge in a language that only exists in beta. I'm not claiming that C# is going to replace Java or C++, I'm just saying that the evidence he presented is unconvincing and a poor predictor of the success or failure of C# in the long run.
The claim I responded to was that C# was not going to be successful because there were many more job advertisements for Java than C#.
No, the claim (because it's my post that you were responding to) is that there isn't the buzz around C#/.NET, and it's that buzz that gets mass changes such as it implemented: Java did have the buzz almost immediately, and as I mentioned in my other post, so did XML.
".. local job listings show Java leading C# job lists approximately 50:1 .."
Do you read your own posts?
Again, you seem to be rather missing the point: When XML hit the scene INSTANTLY a very large percentage of ads added "XML" in the buzzword "nice to have" listing. On that same board there are about 40x more XML results than C#, and I'd wager than less than 5% of those ads are actually for jobs that use XML in any capacity whatsoever. Hell, there are more bluetooth results coming back than C#.
Try again. Sun is not the only place that has snmp libraries for java, and they actually weren't even the first, the jdmk hit the scene late.
try a google search, or since snmp is just based on udp why not write your own. It is the "Simple" network management protocol after all.
google
--Time flies like an arrow, fruit flies like a banana.
just an observation from discussion:
* programmers prefer safe and easy way
* they realy hate even to think about nasty
dangerous language
and from the reality:
* programmers can be really turned on
only by nasty dangerous language
hmmm...
Alan Williamson is a fucking twat. He knows *NOTHING*-ary. He just raves about his fucking kid in that crap magazine (can you say "Hngarian notation" anyone?), and posts URLS to the fucking ugly offspring!!!! It's a Java mag Alan, not for your fucking grandmother!!!!
"Again, you seem to be rather missing the point: When XML hit the scene INSTANTLY a very large percentage of ads added "XML" in the buzzword "nice to have" listing."
Again, you should read your original post I responded to, it said nothing about XML.
Actually, what I said in my post was extremely clear: I indicated that there are very few mentions of C# in job postings Despite it being the future (or at least, that's what Microsoft promotes). I then pointed out a similar scenario where XML was indicated in wanted postings almost the moment it hit the market. Hence, there is not the buzz around .NET, and the industry isn't anticipating it being a necessary shift. I'm sure you'll fail to understand this though.
Thats true, however your mileage may vary:
I installed a fresh WinXP professional last week
on someone's PC. The lady wanted
http://www.msn.nl/ as her home-page. So i did,
and started loading that page. IE complained that
it couldn't display the page correctly and asked
with a pop-up windows if it could download a
JVM to correctly display it. I installed it
and after that i was amazed. I had a WinXP Prof
machine with a JVM installed. I tested some
nasty java test-websites, and XP's new JVM
passed all tests.
So again microsoft is spreading FUD to us, while
in practice Java is running just fine on XP.
Robert
OTOH, "dangerous" languages like C and C++ demand programmers with the skill and mindset to work with the language's strengths, and not fall prey to their weaknesses.
I totally agree with this.
Recently, I went back to school for my CS degree. In the time I was away, my school had switched from C and C++ to Java. Originally I was excited because Java is popular and modern. But once I got into the coursework, I became appalled.
It was like the lifeblood had been drained out of the curriculum. CS as I had come to understand it - pointers, arrays, code management, optimization - had been reduced to nothing more than reading docs and pasting method calls.
Of course, Java requires adhering to the concepts of abstraction, inheritance, and modularization, so the professors touted Java as "a great language for teaching CS." Well, no, that's backwards. When you require inheritance, it becomes a feature of the Java application in the minds of the students.
Likewise, my school also touts Lisp as a great language for teaching the concept of abstraction. But by the end of the course, half the kids still don't get it. They're lost in a sea of parentheses, not grokking the fact that they have been writing abstracted code all along. Without a contrasting example, they are unable to identify abstraction for what it is.
Schools have gone to great lengths to limit the scope of their curricula in order to "facilitate" the teaching of "fundamental" concepts. But teaching CS in Java or Lisp is like starting a pianist on a Casio or starting a deejay on CD's. It's like starting a sysadmin on NT. By creating a high-level teaching environment, you create a seminar course in the basics. And by creating a context-free "single path" towards comprehension, you disregard the fact that everyone learns in different ways.
Mastering a CS course in Java means knowing your way around java.sun.com/doc. The students who fail or drop out - like me - are the ones who couldn't grok that this is all they were ever expected to do.
Wow...major FUD and misinformation.
... learn how to type, learn about things like polymorphism(sp), data hiding,
n dHowToUsePackages
Market.
Ask any Fortune 500 company's CIO what they
think of Java.
Code.
People can write unmanagable code in any language
including Java. I have got a suggestion to my
fellow commrades
and inheritance.
MyClassHasAReallyLongName
BecauseIDontUndersta
or more likely
MClssHsRlyLngNm
BcseDntUndrstndHwTUsPkgs
Morons.
I want to be the first to say that the emperor wears no clothers.
What is nice about C# is its Java underpinnings. Just about every feature they added on top of Java is flawed.
Take for example the much touted Type System Unification. It is broken. According to Microsoft, "boxing and unboxing" bridges the gap between reference types and value types. But it doesn't. Reference types have the concept of identity and equality, while value types only have equality. Boxing and unboxing does not change this fundamental difference. Autoboxing in C# allows value types to go back and forth between being objects, but each time a value type becomes an object it acquires a new identity. This is very dangerous as it can lead to bugs that ar hard to track down. For more information, including sample code see http://www.geocities.com/csharpfaq/box.html
For another example see structs in C#. Structs look just like classes when they are declared and used. But they work very differently. Using structs can result in very unexpected results, as you can see in this example: http://www.geocities.com/csharpfaq/test1.html. For more information about structs in C# see: http://www.geocities.com/csharpfaq/structs.html
Java caught on among programmers because of two reasons: WORA and simplicity. Is C# WORA? Microsoft has been telling us for many years now that WORA will never work. C# does not support WORA. Is C# simple? To answer this last question, consider the fact that the C# statement x.y += a[b]; can contain upto 10 hidden function calls, including properties, indexers, operator overloading, user-defined implicity type conversion operators, etc. For more information visit http://www.geocities.com/csharpfaq/test2.html
C# has neither of the features that attracted programmers to Java: No WORA and no simplicity. This language is no threat to Java.