“Microsoft Chairman and Chief Software Architect Bill Gates today responded to critics who call his company’s .NET initiative incomplete and lacking innovation by acknowledging that it will take at least four or five years before the promise of .Net is realized. “.Net is not an overnight thing,” Gates told 325 university facility members as he opened the Microsoft Research Faculty Summit here. “A lot of work needs to be done to put standards such as reliable messaging and transaction support in place. We have a commitment to XML to allow for information exchange.” Read the report at eWeek.
and that means that they have done preliminary work and research for atleast 5 years prior.
so, if in 1998 they had a basic idea about how it would work, and were begining to get .NET working, should they not have somthing to show for it almost 5 years later?
What do you mean “something to show for”?
They do have something to show for. A whole working API and platform embedded in VC++.NET. All you have to do, is download the SDK/compiler and use it.
What Gates is talking is about having “complete success” with it and having everyone switched over. Not many developers have switched yet. VC++.NET was only released on February 2002. Give it time. Personally, I like C# as a language. But the whole technology is pretty complicated for my taste.
Microsoft does not believe in one language to rule them all solutions. Nor do they believe in code which cannot be compiled. Nor do they believe in core API’s that they don’t own.
Around the time of the IE4 beta, Adam Bosworth was talking about the preliminary work being done on the Microsoft UVM. I was at one of the companies that was working with Microsoft on J++ and AFC at the time. And we had a lot of C++ code and Java code and scripting code, the need for a universal virtual machine was quite apparent.
It took quite a bit of work and evolution along the way (anyone remember COR?), but eventually .NET emerged.
It is the single most important piece of technology since the Windows API.
By the time .NET reaches 3.0, its genius will be apparent to all.
#m
It’s nice to see Gates say “A lot of work needs to be done”, I think .NET has already come a long way.
Microsoft does not believe in one language to rule them all solutions.
Which is why programming using MS technologies is such a pain in the keister. I think .NET would be cool if they had made, for example, C# powerful enough to have eliminated ASP for web programming, but they didn’t. C# is a cool language, but web programming with it is too convoluted because it relies on other technologies like VBScript, JScript and ASP to get anything accomplished, which is lame; not to mention you currently need IIS to make it all work. Yuck.
It is much easier to write a complete sever based app using Java as opposed to .NET. Since time is money and Java is much less convoluted and therefore quicker to market, there really is no contest. The faster I get my stuff done, the faster I get paid. It really isn’t any more difficult a decision than that.
Nor do they believe in code which cannot be compiled.
Could have fooled me. Look at VB 1 through 4 and the current .NET model.
By the way, I believe you are referring to Java when you say, “…which cannot be compiled”. This is not an accurate statement since Java can be compiled.
Nor do they believe in core API’s that they don’t own.
That’s not entirely true, but it is their preference.
Around the time of the IE4 beta, Adam Bosworth was talking about the preliminary work being done on the Microsoft UVM. I was at one of the companies that was working with Microsoft on J++ and AFC at the time. And we had a lot of C++ code and Java code and scripting code, the need for a universal virtual machine was quite apparent.
However, that was about the time that extending Java was their goal for this virtual machine. They wanted to change Java to suit their desires and Sun sued them for it. Internally, J++ was, “the key to VisualStudio’s continued success”, according to the main product manager over VisualStudio; at least until they lost their suit. At that point my manager and two others from my team (including me) did some preliminary work, regarding foreign markets, on what you eventually be called .NET., so I’m pretty sure I know what took place within Microsoft.
I know that you hate Java, but until MS lost their suit with Sun, it was a very important technology for them.
It is the single most important piece of technology since the Windows API.
Perhaps for Microsoft, but if nobody is using it, then its importance is significantly dimmed regardless of how nice it may be.
As I’ve said before, I think .NET is an excellent replacement for the Windows API, which is nothing to write home about. From a platform point of view, Next had the best API that I have seen; but that’s beside the point.
I don’t see many people running to .NET. I know that MS will force .NET down everyone’s throat, but I think it will just end up being something that only Windows developers will use, and will not impact the market any more that the Windows API does. It certainly hasn’t taken the world by storm so far.
By the time .NET reaches 3.0, its genius will be apparent to all.
Perhaps, but considering all the intruding they are doing with current technologies, and all the invasive possibilities in the future with .NET and some of their other initiatives, will the revelation of .NET’s power be one of awe, or one of dread?
.NET is more than a new language (C#) for old style ASP page programming. There is a whole new framework server-side for ASP.NET.
VBScript/JScript only comes into the picture if the HTML you are generating from your ASP.NET app generates it. Same deal with Java web apps.
As for IIS only: http://www.covalent.net/products/rotate.php?page=93 . Of course they’ll probably charge you an arm and a leg for it, but for some it might be worth it.
But the whole technology is pretty complicated for my taste.
Coming from a C++ programmer.
Which is why programming using MS technologies is such a pain in the keister. I think .NET would be cool if they had made, for example, C# powerful enough to have eliminated ASP for web programming, but they didn’t. C# is a cool language, but web programming with it is too convoluted because it relies on other technologies like VBScript, JScript and ASP to get anything accomplished, which is lame; not to mention you currently need IIS to make it all work. Yuck.
C# is meant to replace VisualBasic, what did you expect? Besides, the C# specification doesn’t enforce the usage of IIS, it is only Microsoft’s implementation of it. They want to integrate it with their product line. If you want C# for Apache, wait for Mono. And BTW, Covalent had announce .NET support…. yes, you could use Apache.
It is much easier to write a complete sever based app using Java as opposed to .NET. Since time is money and Java is much less convoluted and therefore quicker to market, there really is no contest. The faster I get my stuff done, the faster I get paid. It really isn’t any more difficult a decision than that.
.NET had done much more in a shorter time compared to when Java was first introduce. I would bet that .NET Framework, one day, would unseat Java.
I know that you hate Java, but until MS lost their suit with Sun, it was a very important technology for them.
But a lot of the stuff in .NET now were in the R&D labs way before Sun sued Microsoft.
Perhaps for Microsoft, but if nobody is using it, then its importance is significantly dimmed regardless of how nice it may be.
Trust me, people would use it. It is like the replacement of VB. Sure, there isn’t much usage of it right now, but heck, how old is it anyway?
It is amazing how long a journey .Net has had. And, oddly, it seems like Microsoft, at least on the surface, is fumbling around, not quite knowing what to say about it. It sounds like Gates is trying to get things organized again, but this has not been their best moment of clarity <g>.
doesn’t he mean MSXML?
Although it is there for 2 years. Of course it will take a long time, something like 5 years.
I am happy with Java though, and do not plan to change. It basically works. Oh, it is also cross platform, something .NET will never be.
The .NET API is designed by smart engineers at one company vs. the big sloppy mess of group-masturbation spaghetti and closely-coupled meatballs you get with the J2EE scary-monster-from-a-black-and-white-movie spec-a-philia.
All the comparisons show it is far easier and far quicker to write .NET code than Java code. A .NET application is usually a fraction of the size, in lines of code, that a Java application is. And runs far faster. On cheaper hardware.
Oracle is losing share. Sun is losing share. Oracle and Sun are big Java fanboy clubs.
Apple is losing share. And Apple is espousing its Java love.
Linux share is increasing. Linux programmers avoid Java as it invalidates the whole idea of an operating system. And Linux programmers, well, they want to be programmers not Java technical analysts.
Windows share is increasing. And you’d be hard pressed to find many idiots trying to write Windows apps in Java.
The Java set of API’s is fast eclipsing the US legal system as the most labyrinth set of codes in existence. Perhaps Java programmers should be called librarians instead of programmers?
Java is a great example of how to ruin a relatively simple OOP language as fast as possible by going crazy with features and libraries.
#m
Microsoft has quite a luxury. They can fund anything, like .net or xBox or pocket PC, for years or even a decade until they get it right and/or start showing some true return.
That is power. few other companies can do that. That is also why microsoft is so dangerous. They can invest for a future that is 10 years away and forget about short term losses in a given product line. That seemingly endless source of funding is coming from their desktop and office suite monopolies.
Sun, Oracle, apple, Palm etc better get a clue and they’d better take out MS’s source of pleasant, easy and endless funding (a desktop and office suite monopoly) or they will find themselves declaring chapter 11.
You are showing your age. We all understand you are a big fan of Microsoft, fine, just admit it once and for all and step down from the mountain. You don’t have to scream at the top of your head and slam everything none Microsoft. Sounds a little like Balmer-ish.
As for the topic, well, its not a big surprise to me, .NET is still confusing to me and I write code. Their marketing message is lost somehow. I might take a peek at .NET in a year or two, or when I’m asked to develop in it sometime.
I for one am impressed by C# – though I come from a VB background and was always ‘scared’ of committing to C++ or Java….
However, since I have discovered C#, and coded some pretty cool stuff in it, my ability to ‘do’ Java has increased and I can now confidently sit and write Java code.
You could say C# actually made it easier for me to learn Java….
I’m not saying .Net is amazing, I’m not saying it is poor, what I am saying is it is new, and we all like new stuff don’t we
My final year project for university (UK) will be written in C# and I’m looking forward to it
Michael, I think you are not aware of the following facts:
– Java on the Linux is getting better and better. Blackdown JRE just released Java3D and JDK 1.4 beta. Sun is preparing its own Linux distribution, and of course will back Java on the Linux better. There are hundreds of open source projects made with Java which works on many platforms, comes from Linux people. Just go to Sourceforge, Freshmeat, Enhydra, Apache, etc. and check before spreading FUD.
– On mobile field, J2ME is a big success already. All the major phone producers are backing Java based mobiles. There will be 100 MILLION J2ME phones at the end of this year. Nokia, Siemens, Sony-Ericson, Motorola etc. all are backing Java. Java, even SENDO, the MS backer, in the end, licenced “Tao Group’s intent® multimedia Java platform to be available on the Z100 Multimedia Smartphone, which uses Microsoft® Windows® Powered Smartphone.” Here is the link:
http://www.sendo.co.uk/news/newsitem.asp?ID=53 Go to http://www.midlets.org and check out how many midlets emerged already. On the PDA field, Linux based Sharp Zaurus which gives emphasis on Java is already a great success, and there is 2 all Java PDAs I already know exists. One of them is already announced on this site yesterday. Take a look at the other baby here: http://www.infosync.no/news/2002/n/2040.html
– On web services field, check out how many web services implementations are available for Java (open/closed sourced): Here is the link: http://www.javaskyline.com/webservices Do not be surprised to see more than 50 bullets there.
– On application server field, check again how many J2EE based application servers (again open/closed sourced) here: http://www.javaskyline.com/serv.html All the major IT firms except for the MS, such as: Sun, IBM, Oracle, Fujitsu, HP, Macromedia, Sybase, BEA systems etc. already rolled the dice and chosen J2EE. ALL are based on JAVA. There are incredibly successful open source J2EE servers such as JBoss, OpenEJB etc, which work on every platform including Unix, Solaris, Linux, Windows, MacOSX. It took their years to perfect their technologies. IBM’s WebSphere for instance reached something like version 6.0? They are all tested, robust products, being used by many firms already. .NET is new. It needs at least 3 years to be tested and become robust. Show me one application server written on .NET apart from MSs’. Even MS’s own .NET server lagged 1 year.
What I am seeing around in the last 2 years is that everybody is shifting to Java and Linux. Personally, I like MacOSX, since I like stylish things. Its GUI can be a little bit slow, but new OSX release is fast enough for me, and it looks 100 times better than Win XP design. And I like HW designs of Macs. : )
People are saying .NET is developed by smart engineers, MS has incredible amount of money for R&D etc. We saw the brilliant, secure products MS’s genius engineers developed before such as IIS, MS Media Player, IE, etc. Do you suggest MS made this products developed by stupid engineers? Or do you suggest MS did not poured enough money to developement so that these products turned out to be insecure and lame? Please get real.
And do not forget the most important difference: .NET is not cross platform compatible and never will be. But Java already is. : )
The midlet related link should be:
http://www.midlet.org
NOT
http://www.midlets.org
Sorry. : )
“Personally, I like C# as a language.”
C# is a nice language. Since I already know Java, it’s a no brainer
“But the whole technology is pretty complicated for my taste.”
I think that can be said for most of the newer technologies in use today.
It seems that companies are making it more complex to do what used to be simple tasks. Some of the concepts are good, but the implementation is overly complex.
I get to the point sometimes where I wish I wasn’t a software developer.
This one had me laughing:
[.NET] is the single most important piece of technology since the Windows API.
I have never, ever, met anyone who doesn’t think the Windows API isn’t the single most badly engineered PoS ever conceived (barring people who have never seen it, of course).
Um – take out one of the negations in my above comment 🙂
The Windows API was engineered?
I thought the windows programmers just made it up as they went along…
hmm we need an internet API let’s do a cheap rip-off of Berkeley Sockets since windows is to crappy to run the real thing…
on a more serious note…the recently designed Win APIs (WinSock 2, DirectX) are pretty good…but the 16-bit baggage ones are absolute crap
“…Which is why programming using MS technologies is such a pain in the keister. I think .NET would be cool if they had made, for example, C# powerful enough to have eliminated ASP for web programming, but they didn’t. C# is a cool language, but web programming with it is too convoluted because it relies on other technologies like VBScript, JScript and ASP to get anything accomplished, which is lame; not to mention you currently need IIS to make it all work. Yuck.”
Camel, web programming in C# uses ASP.NET, which uses the Common Language Runtime just like Visual Studio does. It does not use ASP. This means that when you develop web apps in C# you will be using C# (or whatever CLR language) exclusively from beginning to end. You will not ever touch VBScript or JScript or anything like that. That is the whole point of ASP.NET’s existence.
So please tell us just what, exactly, are you talking about? Do you even have a clue?
I though when I originally posted that some things would be taken for granted and I wouldn’t have to spell out every last detail of what I was trying to say. Apparently, that is not the case.
.NET is more than a new language (C#) for old style ASP page programming. There is a whole new framework server-side for ASP.NET.
<SARCASM>No kidding?</SARCASM>
VBScript/JScript only comes into the picture if the HTML you are generating from your ASP.NET app generates it. Same deal with Java web apps.
No, VBScript or JScript is necessary when creating ASP WebForm components using C# (at least they are for what I’m doing). Also, it is not the same deal with Java. I am not required to write to an intermittent “language” like ASP when I write Java based web applications. Servlets, JSPs, EJBs, etc. are all Java.
C# is meant to replace VisualBasic, what did you expect?
Personally, I don’t expect anything because I don’t use Windows or any other MS product (except at work). By the way, haven’t I said a hundred times already that I think C# is a great replacement for VB, but that it sucks to do web apps with?
Besides, the C# specification doesn’t enforce the usage of IIS
Neither does Java, which is as good a reason as any to use it.
I know that, which is why I said “yet”. I am aware that Apache and some others have announced support, but it’s not available yet, at least as far as I know. Besides, is VS.NET going to tie into these other web servers when programming web apps like it does with IIS? I doubt it will. .NET programming is convoluted with VS.NET; it is even worse without it.
If you want C# for Apache, wait for Mono. And BTW, Covalent had announce .NET support…. yes, you could use Apache.
I don’t want, or need, C# for anything. I was just giving credit where it is do. Microsoft has finally delivered a RAD language that doesn’t suck.
Last I paid attention, the support for .NET, but not yet stable. Therefore, I cannot use Apache.
CroanoN is right. I think the key thing that has happened in the past several years is the simple fact that many companies that had proprietary application servers and middleware are all jumping head first into the Java Space and rewriting their servers on top of that platform.
Java is just like Windows. It may suck, but for a very wide range of tasks, it sucks less than any comparable alternative.
These companies that are writing the application servers get the benefits of running not only on the myriad of Unix boxes out there, but also on Windows and other OSes. Think about IBM running the same application server on its mainframes, Unix (AIX) server, PCs (running Windows and Linux), and AS400’s. Same server.
The core application services of .NET are only available on Windows right now, and they’re only available from one company. With Java application servers, if you’re not happy with one companys application server, you can jump over to another. It’s probably not a painless jump, but the jump can be made. With the current specifications, it is probably easier to port an application between two different application servers than it is to port the back end to two different databases.
With Moore’s law pushing us forward, Java gets “half as slow” every 18 months.
But for many, slower Java is better than faster XXX because of the other benefits (large support base, good portability, etc.).
The best part of Java for MS is that it gets to follow in its tracks and not take as many wrong turns as Java did in its path. It can cherry pick the problem domains where Java seems to be rising to the top.
I can’t seem to find that JINI printer at the airport for my PDA, so perhaps MS can ignore that whole piece of the pie.
All of the Java companies are in the “Commodity” computing business, selling products that are pretty much interchangable with their competitors. MS is in a different space, doing their best to be essential to their customers, and stand apart from the commodity vendors.
It is against MSs interest to be a commodity, but they’re finding that when all that matters is the packet of bits coming over the wire, and not the bits pushing those packets, its hard not to be viewed as a commodity.
But, its good for everyone, IMHO. We need .NET to keep Sun motivated and pushng the platform.
The Camel says: “…I think .NET would be cool if they had made, for example, C# powerful enough to have eliminated ASP for web programming, but they didn’t. C# is a cool language, but web programming with it is too convoluted because it relies on other technologies like VBScript, JScript and ASP to get anything accomplished, which is lame…”
And then the Camel says: “No, VBScript or JScript is necessary when creating ASP WebForm components using C# (at least they are for what I’m doing). Also, it is not the same deal with Java. I am not required to write to an intermittent “language” like ASP when I write Java based web applications. Servlets, JSPs, EJBs, etc. are all Java.”
***
***ASP*** and ASP.NET Menu ***Server*** Controls:
http://www.coalesys.com/products/webmenuaspdotnet/features/
“Written with C# – Leverages .NET’s managed execution (memory management, automatic garbage collection and type-safety).”
Dundas Chart for ASP.NET:
http://www.dundas.com/index.asp?products/DOTNET/ASPDOTNET/index.asp
From the FAQ – “Is Dundas Chart a fully managed component or is it just have a wrapper? Rest assured that Dundas Chart is a 100% fully managed Component written entirely in C#”
WebSupergoo ABCUpload.NET:
http://www.websupergoo.com/abcupload.net-1.htm
“ABCUpload .NET is based on our many years of experience with ABCUpload but it’s written entirely in C#. It’s 100% CLS compliant, 100% Managed and offers unsurpassed performance, control and stability.”
Plenty more examples of C# web components here:
http://dmoz.org/Computers/Programming/Component_Frameworks/NET/Tool…
***
What the hell are you talking about!? I defy you to find one single ASP.NET component anywhere that isn’t 100% written in C# (or another CLR language) and uses any VBScript or JScript whatsoever. You can start at the dmoz list above.
If your development group is too incompetent to have chosen ASP.NET over ASP, which is what Microsoft (and everyone else) expects when you are using Visual Studio.NET and writing .NET web applications, that is not Microsoft’s fault. You don’t deserve to be bitching about your problems that would be 100% solved if you were using ASP.NET instead of ASP with Visual Studio.NET because you are not using the standard configuration for doing .NET work. Your configuration is oddball to say the least – particularly for a rant saying that C# web programming in general blows.
If your people aren’t even smart enough to be using the right tools in the default combination, why are you blaming Microsoft? We know you have a grudge against them, but who cares? I don’t come hear to read trolls.
Your bullshit story is getting worse every time you open your mouth. Stop spreading lame disinformation in the forum – Please.
doesn’t he mean MSXML?
Isn’t this a troll? Microsoft uses, at least for now, the W3C standard. Not its own version.
Linux share is increasing. Linux programmers avoid Java as it invalidates the whole idea of an operating system. And Linux programmers, well, they want to be programmers not Java technical analysts.
Camel is an example of the many J2EE developers on Linux.
That seemingly endless source of funding is coming from their desktop and office suite monopolies.
Actually, the only monopoly Microsoft own is in the x86 workstation market. Microsoft only owns around 90% of the Office market, not a monopoly, but a dominate force. Also, the “monopoly” status of Windows would soon come to an end, because Linux is being picked up by emerging markets in Asia, Africa and South America, though it would be a long long time still they loose their dominance over the desktop market.
Besides, strange to note that Microsoft’s biggest cash cow comes from a non-monopoly, Office.
Its GUI can be a little bit slow, but new OSX release is fast enough for me, and it looks 100 times better than Win XP design.
I agree, Aqua is much better than that blue-ish ugly thing they choosed as default. Try Silver color scheme, it is much much better. (Besides, unlike Aqua (and Graphite) and the Default of Win XP, Silver doesn’t give me a headache after 2 hours of use).
And do not forget the most important difference: .NET is not cross platform compatible and never will be.
Java when it came out was only supported on SunOS/Solaris. In a few months time, you could run .NET apps on Windows, Linux (and other UNIX OS via Mono) and FreeBSD (via Corel’s implementation). If Apple was smart enough, it would have support for .NET (I didn’t say throw out Java, but just support .NET).
I have never, ever, met anyone who doesn’t think the Windows API isn’t the single most badly engineered PoS ever conceived (barring people who have never seen it, of course).
Aside from being the most used API out there.
hmm we need an internet API let’s do a cheap rip-off of Berkeley Sockets since windows is to crappy to run the real thing…
On one have we have people critizing Linux for not using BSD’s TCP/IP implementation, but on the other hand, we have people bashing Microsoft for using something that was allowed and even encouraged by the BSD license.
haven’t I said a hundred times already that I think C# is a great replacement for VB
You had.
The aphorism “you can’t tell a book by its cover” originated in the times when books were sold in plain cardboard covers, to be bound by each purchaser according to his own taste. In those days, you couldn’t tell a book by its cover. But publishing has advanced since then: present-day publishers work hard to make the cover something you can tell a book by.
I spend a lot of time in bookshops and I feel as if I have by now learned to understand everything publishers mean to tell me about a book, and perhaps a bit more. The time I haven’t spent in bookshops I’ve spent mostly in front of computers, and I feel as if I’ve learned, to some degree, to judge technology by its cover as well. It may be just luck, but I’ve saved myself from a few technologies that turned out to be real stinkers.
So far, Java seems like a stinker to me. I’ve never written a Java program, never more than glanced over reference books about it, but I have a hunch that it won’t be a very successful language. I may turn out to be mistaken; making predictions about technology is a dangerous business. But for what it’s worth, as a sort of time capsule, here’s why I don’t like the look of Java:
1. It has been so energetically hyped. Real standards don’t have to be promoted. No one had to promote C, or Unix, or HTML. A real standard tends to be already established by the time most people hear about it. On the hacker radar screen, Perl is as big as Java, or bigger, just on the strength of its own merits.
2. It’s aimed low. In the original Java white paper, Gosling explicitly says Java was designed not to be too difficult for programmers used to C. It was designed to be another C++: C plus a few ideas taken from more advanced languages. Like the creators of sitcoms or junk food or package tours, Java’s designers were consciously designing a product for people not as smart as them. Historically, languages designed for other people to use have been bad: Cobol, PL/I, Pascal, Ada, C++. The good languages have been those that were designed for their own creators: C, Perl, Smalltalk, Lisp.
3. It has ulterior motives. Someone once said that the world would be a better place if people only wrote books because they had something to say, rather than because they wanted to write a book. Likewise, the reason we hear about Java all the time is not because it has something to say about programming languages. We hear about Java as part of a plan by Sun to undermine Microsoft.
4. No one loves it. C, Perl, Python, Smalltalk, and Lisp programmers love their languages. I’ve never heard anyone say that they loved Java.
5. People are forced to use it. A lot of the people I know using Java are using it because they feel they have to. Either it’s something they felt they had to do to get funded, or something they thought customers would want, or something they were told to do by management. These are smart people; if the technology was good, they’d have used it voluntarily.
6. It has too many cooks. The best programming languages have been developed by small groups. Java seems to be run by a committee. If it turns out to be a good language, it will be the first time in history that a committee has designed a good language.
7. It’s bureaucratic. From what little I know about Java, there seem to be a lot of protocols for doing things. Really good languages aren’t like that. They let you do what you want and get out of the way.
8. It’s pseudo-hip. Sun now pretends that Java is a grassroots, open-source language effort like Perl or Python. This one just happens to be controlled by a giant company. So the language is likely to have the same drab clunkiness as anything else that comes out of a big company.
9. It’s designed for large organizations. Large organizations have different aims from hackers. They want languages that are (believed to be) suitable for use by large teams of mediocre programmers– languages with features that, like the speed limiters in U-Haul trucks, prevent fools from doing too much damage. Hackers don’t like a language that talks down to them. Hackers just want power. Historically, languages designed for large organizations (PL/I, Ada) have lost, while hacker languages (C, Perl) have won. The reason: today’s teenage hacker is tomorrow’s CTO.
10. The wrong people like it. The programmers I admire most are not, on the whole, captivated by Java. Who does like Java? Suits, who don’t know one language from another, but know that they keep hearing about Java in the press; programmers at big companies, who are amazed to find that there is something even better than C++; and plug-and-chug undergrads, who are ready to like anything that might get them a job (will this be on the test?). These people’s opinions change with every wind.
11. Its daddy is in a pinch. Sun’s business model is being undermined on two fronts. Cheap Intel processors, of the same type used in desktop machines, are now more than fast enough for servers. And FreeBSD seems to be at least as good an OS for servers as Solaris. Sun’s advertising implies that you need Sun servers for industrial strength applications. If this were true, Yahoo would be first in line to buy Suns; but when I worked there, the servers were all Intel boxes running FreeBSD. This bodes ill for Sun’s future. If Sun runs into trouble, they could drag Java down with them.
12. The DoD likes it. The Defense Department is encouraging developers to use Java. This seems to me the most damning sign of all. The Defense Department does a fine (though expensive) job of defending the country, but they love plans and procedures and protocols. Their culture is the opposite of hacker culture; on questions of software they will tend to bet wrong. The last time the DoD really liked a programming language, it was Ada.
Bear in mind, this is not a critique of Java, but a critique of its cover. I don’t know Java well enough to like it or dislike it. This is just an explanation of why I don’t find that I’m eager to learn it.
It may seem cavalier to dismiss a language before you’ve even tried writing programs in it. But this is something all programmers have to do. There are too many technologies out there to learn them all. You have to learn to judge by outward signs which will be worth your time. I have likewise cavalierly dismissed Cobol, Ada, Visual Basic, the IBM AS400, VRML, ISO 9000, the SET protocol, VMS, Novell Netware, and CORBA, among others. They just smelled wrong.
It could be that in Java’s case I’m mistaken. It could be that a language promoted by one big company to undermine another, designed by a committee for a “mainstream” audience, hyped to the skies, and beloved of the DoD, happens nonetheless to be a clean, beautiful, powerful language that I would love programming in. It could be, but it seems very unlikely.
http://www.paulgraham.com/javacover.html
Trevor Blackwell had another take on Java’s Cover. He raises an interesting question: are dumbed-down languages actually better for some subset of programmers?
I think it isn’t as clear-cut as Java and its ilk being good or bad. I would make the following argument:
There are two kinds of programmers: brilliant hackers, and corporate drones. It’s natural that they should want different kinds of tools.
As a hacker, you can only shine if you use the right tools. Don’t let yourself be saddled with inappropriate tools by your management, and don’t be led by the media into using the tools meant for drones.
Because there are 100x more drones than hackers, most new commercial technologies are aimed at them. You have to learn to quickly identify which tools are and aren’t meant for you.
Any technology that has the outward features of Java (hype, accessibility, committee design, ulterior commercial motives, …) is probably designed for drones, so avoid it for the same reason you would avoid a novel with Fabio on the cover, or an inn that advertises parking for trucks. They may be right for their target audience. They may be created by smart people. They’re just not meant for you.
http://www.paulgraham.com/trevrejavcov.html
#m
“Java when it came out was only supported on SunOS/Solaris. In a few months time, you could run .NET apps on Windows, Linux (and other UNIX OS via Mono) and FreeBSD (via Corel’s implementation). If Apple was smart enough, it would have support for .NET (I didn’t say throw out Java, but just support .NET).”
No, it will not be. MS did not give all the .net platform to Ecma. For instance, it is still holding patents of WinForms, ADO.NET, and maybe the most important, Enterprise Services framework, which contains the most important services, such as transactions. Even Icaza says Mono will not implement Winforms etc. Java of course started on Solaris, then spread. But Sun is not like Microsoft. MS did everything (legal/illegal) to halt cross platform compatibility of its programs. Lately, they are trying to stop Samba by patent tricks.
“I agree, Aqua is much better than that blue-ish ugly thing they choosed as default. Try Silver color scheme, it is much much better. (Besides, unlike Aqua (and Graphite) and the Default of Win XP, Silver doesn’t give me a headache after 2 hours of use).”
I said XP design, not XP themes. And, also I said both HW, and SW design. I mean, look at Macs as a concept computer. The HW design matches with the software GUI. Windows desktop design, GUI system, is ugly and soulless. As an analogy, you can paint s_h_i_t in any color you want, but, s_h_i_t is still a s_h_i_t. I was not talking about Windows themes, but I also do dislike silver theme. Aqua does not give me headaches. I admire MacOSX’s GUI, also its theme aqua.
C# as a language is good, but it has the same stupid freedom as C++, such as implicit type casts and operator overloading. Autoboxing mechanism also is not good enough, in some cases confusing.