Slashdot Mirror


ESR's Open Letter to McNealy: Set Java Free!

yukster writes "Eric Raymond has posted an open letter to Sun Microsystem's Scott McNealy asking him to 'Let Java go.' He says Sun can 'have ubiquity or [it] can have control.' The excellent improvements made to Java in the upcoming 1.5 release help re-level the playing field with C#. But, it seems like if Sun really wants Java to rule the world, they should heed ESR's advice. Hey Mr. McNealy, listen to this guy... set Java free!"

19 of 671 comments (clear)

  1. Well, maybe they will listen to him by roman_mir · · Score: 4, Interesting

    Because noone is listenning to my rants anyway.

    I I posted it a few times maybe ESR read it? :)

    Well, I am posting it last time now.

    I would like to see GNU/Linux to become a more powerful platform and by a more powerful platform I mean a platform that provides the user with a pleasant experience. Now, to provide a pleasant experience a platform must give the user a choice - a choice of applications that exist for the platform is a step in the right direction. However, GNU/Linux is not such a platform yet. If it were, it would have been embraced by the masses already and it is not. There are a few things that GNU/Linux system is lacking and one of the more important lacking components is a convenient tool that allows a novice create his/her own software for the platform, software that easily manipulates data imported from multiple sources and allows to create graphical interfaces to that data. In the Microsoft this functionality is provided by such a ubiquitous tool as Visual Basic. In the Free Software world there are many tools that are extremely powerful but none of them have the same kind of momentum that Visual Basic delivers on Microsoft platform. VB is taught at schools, it is the language of macros under MS platform.

    To answer the question- "What can be the VB for Free Software?" we need to look at the kind of problems that will have to be solved by this tool. The problems solved by VB are of many kinds, but for the general public VB provides the bridge that closes the gap between a user and a multitude of small problems that the user wants to solve. Of-course it is possible to just create a VB IDE for FS platforms but I believe there is a more interesting solution to this problem and it is Java. Just like VB, Java runs in a virtual machine, so the user will never really have direct access to any hardware resources, but an abstract layer of JVM can provide a nice buffer between the user and the hardware and at the same time Java will always behave in the same way on multiple other platforms, including Windows. Java is an OO language but at the same time it is very easy to write functions in Java (static everything). Java has thousands of convenience libraries, there is enough Free Software written for Java that can be integrated into an IDE. However there is a big problem with the language itself - it is not Free.

    Sun allows anyone to use Java for free but nobody can modify the language itself except for Sun. In order for Java to become for Free Software and Gnu/Linux what VB became for Microsoft, Java has to be Freed and put out under the GPL. There is also probably a good business sense in it for the Sun Microsystems as well - their language suddenly becomes the language of choice for millions and thousands will work on improving the language, the virtual machine, the compiler etc. In this case Sun will stay in a position that Linus finds himself in - they become the gate-keepers for the vanilla Java tree, but Java will branch and will become much more spread than it is right now. Sun can capitalize on that by providing more Java based solutions and services.

    Now it is likely that Sun management will not agree to the change of their Java's status, however, if there was an immediately profitable reason for them to do this, they just may turn around and start thinking about it. A reason that is profitable could be a large sum of cash available to them upon releasing Java under the GPL. Where could this money come from? These money could be collected by the FS and OS supporters, the developers and the users who would like to see more momentum in the GNU/Linux movement towards a successful (wide spread) desktop solution. I suppose no one will seriously object to have one more powerful tool in their Free Software tool-bag. Java can be this tool and it can be just the thing needed to tip the scales over towards quick appearance of a useful and a popular GNU/Linux desktop.

    * I use Free to mean Free Software (Libre) and I use free to mean free of charge.

  2. While I am at it by roman_mir · · Score: 3, Interesting

    (I wrote this yesterday and tried to post it as an article on /., but apparently there are so many more interesting and better written articles posted on the front page here that mine did not meet the qualifications to be posted. Or maybe it is just so off-topic and does not represent any real new ideas or news for nerds, you know, no stuff that matters is expressed in it, so don't read it.)

    I am sure that all of you would agree that the free software community has been facing some bad publicity since the entire SCO incident started about a year ago. I am also sure that when the SCO goes away another publicity stunt will be performed by some other corporation or an entity that could potentially cause more trouble. An earlier article on /. reminded us that there are other dangers that could stall the development of free software projects - an illegally distributed application source base can become the next battlefield for the free source community. Whether this source code could be distributed with an intent to contaminate is not the issue, the issue is that it is important to convey the message to the public that this community does not want to contaminate its source code with proprietary software. We know that the Linux kernel for example is maintained by a group of people who would never want to be faced with the problem of proving in the court of law that their creation is really their own code. What about other projects? How many lawsuits are comming towards this community? I do not know that. But I understand that some preventative measures should be taken, some measures that will clearly display that this community wants free software and free software will not be stolen from other source bases.

    How can this be ensured and how can it be easily shown in a court of law that this community takes copyright issues seriously? One way that I see is to set up a server that runs the comparator by ESR against any new submission to any open source project against any code released either by mistake on with malice by a closed source vendor.

    This will help to identify copyright problems before they arise. Of course to have a proprietary source code base on this server would probably be illegal in itself but it is unnecessary to have the proprietary source code, all that is needed is a set of hash-keys that identify that source code.

    How could this work? A copyright protection server (CPS) would have hash-keys supplied by different vendors of software that falls into various categories and the free software projects are also divided into these categories. Let's say there is a free software project that deals with image manipulations. The CPS would run a hash-key generator on the new code submission and then would compare the generated keys with the keys supplied by Adobe or other companies specialized in image manipulations. Of-course the closed source companies would have to run the hash-key generators on their code and supply their keys, and someone has to tell them to do that, but if it is done right then the following would happen:

    1. The Free Software community would have better protection from inappropriate code submissions.

    2. This can be publicised and shown that the Free Software community takes their work seriously and goes to the great length, much more than any corporations to make sure that their code is Free and free of inappropriate submissions.

    3. In a court of law this can be very useful, it shows good faith on the part of the free software community.

    4. This would make it easier to also figure out whether the closed source vendors are misusing GPLed software :)

    5. This makes a nice project that can be commercialized (with all the lates IP propaganda and lawsuites.)

    6. This hopefully will prevent many possible infringement claims.

    Well, this is just a thought, but I think this kind of verification will become part of reality at some point in the future, given more lawsuites.

    Any thoughts, comments, suggestions, ideas?

  3. Re:why? by localman · · Score: 4, Interesting

    Office rumor has it that McNealy called my company to personally pitch a SUN hardware deal. We're small. We run 3 web servers and two DB's. But we got a little AP story a few weeks ago. We are groing pretty rapidly, but yeah, he's really looking for stuff.

    I don't know if this letter really has a point, but SUN is on the ropes to be sure. And it will probably take such a bold and risky move to have any chance at all.

  4. Re:Once bitten, twice shy? by listen · · Score: 4, Interesting

    Eclipse, IntelliJ, Visual Age for Java (old), Visual Works - any small talk IDE ...
    if you don't have refactoring capabilities, wtf is the IDE for?

  5. Re:If Sun is on the ropes... by Anonymous Coward · · Score: 5, Interesting

    You don't seem to understand Open Source. This *will* save Sun from bankruptcy. By making Java Open Source, Sun will gain a huge number of developers who will work on it for free. Development staff (namely, programming talent) is hugely expensive and most of them can be laid off save a few who can coordinate and integrate volunteer submissions. As a result, they can cut back on the most expensive part of maintaining Java (the labor!) and dramatically increase their profit margins.

  6. Re:If Sun is on the ropes... by Florian+Weimer · · Score: 4, Interesting

    How do you expect them to cash in on Java?

    Change the license terms and withdraw all support for older versions, thus forcing everyone to upgrade and pay the bucks?

    There's quite a bit of business-critical software running on Java now, and the alternative Java implementations often can't run them. Worst of all, you'd probably lose certifcation and support from other vendors if you don't run the official Sun Java version.

    Java could become the cash cow for Sun, they just have to stop the half-baked attempts to milk it (by selling tools nobody needs or tools which compete with significantly better free software alternatives) and go for the real money.

    Would the current Java users keep using Sun Java? It depends, but if the introductory pricing is not too extreme, there's hardly any incentive for porting (or investing in non-Sun Java technology). Sun could raise the costs over the years. But maybe it's too late for that, and there isn't so much time left for the company.

  7. Huh? by jkabbe · · Score: 4, Interesting

    Has this guy not heard of the Java Community Process or am I just really mistaken about how it works?

  8. Re:If Sun is on the ropes... by RyuuzakiTetsuya · · Score: 4, Interesting

    The thing is, because Java is free, that's why there are so many apps that run on it.

    I think your solution combined with ESR's solution would be best for Sun.

    That is, sell the compiler(and possibly an Enterprise version of the virtual machine), but allow others to develop compilers of thier own for free. With any luck, it might just sell Java to those who would buy it and get support and keep Java free for those who don't want/need support.

    --
    Non impediti ratione cogitationus.
  9. inaccuracy by amway_sales · · Score: 4, Interesting

    It's amusing how Eric Raymond points out the success of Red Hat's open-source business model and how Red Hat's share price is 3x Sun Microsystem. Open source business model must be working. But wait! Mr. Raymond forgot to multiply by outstanding shares, aka market cap. Looks like Red Hat is worth around $3.2B, and Sun about $18B. Lovely. Really showing some insight.

  10. ESR is crazy by Nick+The+Second · · Score: 4, Interesting
    What a bizarre letter. ESR must have some heavy-duty Open Source fanboy goggles to see things that way.

    I can't imagine what he was thinking when he said that Java is losing out to Perl and Python among Open-sourcers. Java does not compete with P&P on any front whatsoever. Java has proven to be an awkward, heaviweight technology on the client side, and makes a very poor scripting language. But it shines on the server end, where its strong, secure type-checking and exception handling makes programs reliable, and where long-running repetitive tasks allow JIT technology all the time it requires to do an excellent optimization job.

    IBM is totally behind Java. It's not going anywhere, libre or not, and Sun is in a good position setting the standards. If I take off my own Free Software fanboy goggles for a minute, it's pretty clear there's no motivation for Sun to make Java free.

  11. Sun: Let Java go and storm the world with Gnome! by EmilEifrem · · Score: 5, Interesting
    What I do not understand is how Sun could let the Gnome opportunity slip!

    Sun announced several years ago that they would be standardizing on Gnome for their enterprise desktops. They have made significant contributions since then (let's not be fooled: none of these recent public sector / governmental success stories would have been possible without Sun's accessibility work). When they decided to go with Gnome, they already had a production JVM for Linux that equalled the Windows and Solaris (in that order) virtual machines in performance and stability.

    When they went with Gnome, Microsoft had long been banging the .NET / C# drum and Miguel had allocated his devoted team of Mono hackers at Ximian with the explicit intent of bringing a modern programming language, C#, to Linux and integrate it tightly with Gnome.

    And Sun does nothing! This is an impossible equation to me:

    • Sun hates Microsoft above all.
    • The biggest threat from Microsoft is .NET and C#. [1]
    • Therefore, Sun hates .NET and C# above all.
    • Sun wants to push Gnome as the desktop platform of the future.
    • There's a big movement within Gnome to make .NET and C# the ubiquitos programming environment in Gnome.
    • Therefore, Sun will push a desktop platform which at its core[2] will have Mono and C#.

    1] Because it invades Sun's most priced asset: the Java and J2EE mindshare.
    2] Maybe not technically, at least not yet, but well in developer mindshare.

    I don't understand how Sun can let this happen. That's where Java should be! Everything is prepared: all underlying frameworks are in place (industrial-strength JVM on Linux, the new GTK Swing LF, some native Gnome/GTK-Java integration already works, JVM sharing in the pipeline), it's a great way to bring Java to the desktop masses (without having to go through a hostile monopoly) and if Sun doesn't do it, very soon every one will be using their shiny "Java Desktop Systems" to build GTK# applications in .NET on top of Mono.

    So I say to Sun:

    • Let Java free! You will never get full community and Gnome acceptance until you do.
    • Allocate tons of resources to integrating Java with Gnome! And we want real bindings, a buggy Swing Look and Feel is not enough! When a developer sits down to build a Gnome app, they should want to use Java because it's so easy and powerful and well integrated.
    • Let people use gcj, GCC's Java-to-native compiler, to produce native binaries from their Java Gnome apps, they're already building for one desktop so screw Write-Once-Run-Anywhere!
    • Make your client JVM so good that there's no need to. You're almost there already, most Java apps are today equal to or faster than their C/C++ counterparts on the server side. If Swing hadn't been such a hog and you could tweak that JVM startup time some more, no one would notice the difference on the client-side either.
    This may slow down Microsoft's emerging dominance on the free desktop and make that "Java Desktop" brand of yours more than just a PR move.

    -EE

  12. God damn ESR is a punk. by delmoi · · Score: 4, Interesting

    God what an idiotic article. Lets just look at a few issues, OK?

    The open-source community has been hearing reports that you have recently said of Sun Microsystem's strategy "The open-source model is our friend". We're glad to hear that, and Sun's support of OpenOffice.org certainly puts some weight behind the claim. But that support is curiously inconsistent, spotty in ways which suggests that Sun is confused in the way it thinks about and executes its open-source strategy.

    Oh, I see. So if you want to be our "Friend" that means you have to move lock-step with us and everything you do must benefit us.

    Open Office is a huge boost to the Open Source community. It's one of the most powerful weapons in the "war" against Microsoft that a lot of us seem to be emotionally invested in. It provides a real alternative to MS office and a way for business to move away from windows.

    But ESR seems to think that to be a "friend" of the open source movement, everything you do must benefit it. And of course, if you don't, you must be "confused." Apparently ESR views the Open Source community as a sort of single-minded Totalitarian regime lead by him, in which any decent is labeled "confusion."

    But the casual equation between "open source" and "zero revenue" suggests that on another level you don't really know what you're talking about. Open source is hardly a zero-revenue model; ask Red Hat, which had a share price over triple Sun's when I just checked. Or ask IBM, which is using Linux as a lever to build a huge systems-integration business in markets like financial services that Sun has historically owned.

    Okay, share price. Great. As if that isn't a totally meaningless indicator. Why didn't ESR look at market cap, or revenues? Oh yeah, because then RH wouldn't be "bigger". Ever heard of a stock split? How are shares of the company who's board you're on, VA Software, doing? I see you provided them a lot of good advice.

    If Sun were prepared to go all the way with open source it could seize back its position of industry leadership. Sun is one of a small handful of companies that would both have the smarts and the street cred to do even better than IBM has from a full-fledged alliance with the open-source community.

    Of course, as we all know, street cred == money. Please. And how does IBM have a "full commitment to open-source."? They still sell proprietary software, along with contributing to OSS last I checked.

    when Bill Joy came to a Linux conference to push Jini as a universal network-service protocol, we in the open-source community told him straight up "You can have ubiquity or you can have control. Pick one." He picked control, and Jini failed in its promise. The contrast with NFS could hardly be more stark.

    This is the best part. So the OSS community's huge sway with OEMs prevented Jini from being implemented in lots of imbedded hardware. Right. It also prevented OSS's great nemesis from flourishing. Oh wait.

    There are a lot of reasons why Jini failed, and anyone claming to know exactly what "went wrong" is out of their mind. It may not have succeeded even if it were an open standard.

    Today, the big issue is Java. Sun's insistence on continuing tight control of the Java code has damaged Sun's long-term interests by throttling acceptance of the language in the open-source community, ceding the field (and probably the future) to scripting-language competitors like Python and Perl.

    Uh yeah. The vast majority of programmers pick the tool they like, and most people in the OSS community use Python because it's a fun programming language that's easy to write (same with Perl, although I kind of think most people it because 'that's what they know') . Most large OSS projects still use C++, and lots of projects are written in Java. I think the percentage of OSS projects that chose a language based on political issues is pretty damn small. Hell, there are probably

    --

    ReadThe ReflectionEngine, a cyberpunk style n
  13. Why does anyone listen to ESR??? by -tji · · Score: 4, Interesting

    How can this yahoo keep getting press? Why does anyone think that having him as the self appointed mouthpiece for Open Source would be a good thing?

    All of his writings show a distinct lack of depth. He has a superficial understanding of most topics he writes on, and quickly exposes that fact. I'll give him the benefit of the doubt in Unix/Linux/Coding. But, beyond that he should STFU.

    As an example, check out the ill-advised, simplistic, racist ramblings from his blog: http://www.gnxp.com/MT2/archives/001393.html

    In the Java essay, he exposes the fact that he has no clue about business financials by comparing the share price of Sun & Red Hat. Anyone who has invested at all knows this is meaningless.. A company with 1M shares @ $100 is worth a lot less than a company with 1B shares @ $33.

    So please, ignore the troll and he'll go away.

  14. Re:If Sun is on the ropes... by jlechem · · Score: 3, Interesting

    3/4 of the jobs in my local market are all .net now. Most of the others are a mix of Java, C++, and scripting languages.

    --
    Hold up, wait a minute, let me put some pimpin in it
  15. Re:How much control? by Ogerman · · Score: 3, Interesting

    Exactly. Fact is, an Open Source Java would gain more platform support and would become faster and more stable on the platforms that already exist.

    Free Software hackers would like to root for Java on this one, but they can't because Java isn't Free. So instead they are spending their time creating Mono or working with Python, Perl, or Ruby.

    Right again. I would love to use Java instead of Python, but if I do, my software won't be picked up by Linux distros. Java is, hands down, far superior to any of the interpreted languages available to us. Python has it's benefits in other areas, but it can't compete on speed. Perl is.. well.. I won't go there. OK, it's good for simple scripting tasks like it was originally designed for: extraction and reporting.

    Here's the bigger issue: Enterprise business software. This is by far the largest weak spot in the whole world of Open Source. We have absolutely nothing to compete here other than fledgling projects like GNU Enterprise (Python), which aren't ambitious enough to meet the needs of serious business software. Except for.. JBoss, which is Open Source and.. You guessed it: It requires Java!! While I'm not saying that J2EE is the ultimate platform, it does do a lot of things right and it's available now. If Sun opened its JVM/JDK, Linux distros could include JBoss and Free Software hackers would actually start using it! Sure, we should have more than one solution. I still see projects like GNU Enterprise as worthwhile for developing "middle of the road" solutions that aren't as complex as J2EE and aim for the KISS principle. However, Java is a powerful tool that is direly needed in the Open Source toolbox.

  16. Re:the problem with java by iapetus · · Score: 4, Interesting

    i think this is a fine joke. a java program has portability trouble across different JRE on the same processor and OS.

    Can have portability trouble. If this is a problem for you, you can use the old JRE, and things will work well - the equivalent of using a special compatibility layer within NetBSD, IMO. You're comparing apples to oranges here: if nothing changes in the supporting layer, there is no chance of breakage (or more breakage than you had in the first place). If something changes, the chance goes up. Well duh - no surprise there.

    Against that, Java (in my experience) does a better job of running across hardware platforms and JRE versions than C does. As part of my current job I've had to run the same code on Windows 2000, Windows XP, Linux and Solaris boxen, using JREs from 1.3.1 to 1.5 (well, I didn't have to try 1.5, but I wanted to know...) and it worked fine everywhere. I can guarantee this won't happen with your C binaries.

    As long as you don't expect miracles, Java pretty much lives up to the promises of 'Write Once, Test Everywhere'. And more often than not, for the vast majority of code I've worked with, it really has managed to be 'Write Once, Run Anywhere' - or at least anywhere I've needed to. YMMV, especially depending on what sort of app you're writing.

    Java is said to be impossible to be used to write non-portable programs.

    Possibly, but only by people who are wrong. Sun certainly never claimed that, nor did anyone who knows what they're talking about when it comes to Java. The rantings of the clueless should never be held against a language, or we'd never get any code written.

    C is a standard. We had the ANSI C that was followed by ISO C and more recently the C99 which GCC supports. So if you write code relatively cleanly it will get compiled (sometimes with a few fixes) on weirdo platforms.

    Provided you don't want to do anything complex, like have a GUI, I believe.

    The license that accompanies the JRE you can download from Sun gives you the right to use it to test your own applications. It does not give you the right to run other people's applications arbitrarily.

    Not by my reading of it, though IANAL. "Sun grants you a non-exclusive, non-transferrable, limited license without license fees to reproduce and use internally Software complete and unmodified for the sole purpose of running Programs." The supplemental license terms extend that allowing developers to redistribute the JRE with their own code under additional constraints and has a reference to use of the code for development and testing, but AFAICT it doesn't supercede your right to use the license for running programs as defined in the main body of the license.

    When it comes to terminating the license, you actually have more rights than Sun do - you have the ability to terminate it just because you want to, which they do not reserve for themselves.

    Perhaps your source is getting confused and reading the license agreement for beta software (such as the new 1.5 early access release) which I believe is only available for testing. Which is what betas are normally for anyway.

    If Sun does not free their Java as C or C++ or various other languages are free to use and build upon, it will remain in its niche sadly.

    In very much the same way, if Microsoft doesn't free up their Windows as Linux or NetBSD are free to use and build uppon, it will remain in its niche. I'm sure they don't cry themselves to sleep at nights over that, though.

    Don't get me wrong - I'd love to see Java as an open standard in a real way, provided it didn't just open things up for Microsoft to do a demolition job on it. It would be my preferred way for the language to go, for a variety of reasons which others have probably explained in g

    --
    ++ Say to Elrond "Hello.".
    Elrond says "No.". Elrond gives you some lunch.
  17. Re:How much control? by Jason+Earl · · Score: 4, Interesting

    I personally see Zope as the Free Software answer to JBoss, and I think that it is pretty darn good answer as well. As an application server Zope is a fairly amazing piece of work. However, it won't run your applications designed to run in a Java application server :). There are a lot of companies that have based their businesses around Java, and Free Software doesn't really have an answer to that. JBoss is a great application server, but it isn't really enterprise business software. It certainly isn't going to replace SAP or Peoplesoft anytime soon. It's barely more than the tools you need to build your own business software. Compiere, on the other hand, is business software, and it is also written in Java (and requires Oracle to boot, argh...).

    As for Gnu Enterprise. It's problem is not one of not scaling high enough. It's problem is that it's less than half done. I am convinced that Python (especially with a bit of C for speed) can scale high enough to compete with Java. Especially when you consider the fact that hardware continues to get more and more powerful.

    However, Java would fill a very important niche in the set of available Free Software tools. Java is nicely situated between the purely interpretted languages like Python and managing your own memory with C and C++. I am just afraid that Sun will react too slowly to take advantage of their current head start. I have been playing with Mono a bit lately, and it is really impressive.

  18. Nokia's enabling Python on cellphones. by carlfish · · Score: 4, Interesting

    Python-enabled phones were just announced at eTech by Nokia's CTO.

    --
    The more I learn about the Internet, the more amazed I am that it works at all.
  19. IDEs -- blech by 0x0d0a · · Score: 5, Interesting

    It's really quite amazing how many of the good coders I know don't use an IDE -- they use an editor and compiler -- maybe vim or emacs and gcc or Visual Studio or something to compile.

    I think a major reason many Windows developers are such Visual Studio fans is that Visual Studio's CLI tools are a pain in the ass to use. The MS virtual terminal really sucks, as does the shell. MS basically killed off all the non-MS compilers back in the day. MS's compilers are the only ones left in wide use on Windows. Since it's a pain in the ass to use the CLI tools, and Microsoft gives you an editor with their GUI front end...programmers end up liking Visual Studio.

    I do know one Windows developer that likes the (expensive) Visual Slickedit, though I'm not sure whether it's a full IDE or just an editor. It isn't a compiler, that's for sure.

    I've always been rather appalled by Microsoft's IDEs. (The only other IDE I've used is Metroworks on the Mac, and while I didn't strongly prefer either IDE, I really like non-IDE work much more.) Among other things:

    * Managing multiple build configurations in VS is a PITA. You can have options that apply globally, or options that apply to individual configurations, but not options that apply to sets of configurations. You can't add and remove object files to a project based on build configuration.

    * Incompatibility across versions. Try using VS 6 and a few versions of VS .NET for different modules. GNU Make's syntax doesn't change *nearly* as often as Microsoft's project file syntax (and I'm suspicious that they do so to force upgrades). Versions are not backwards compatible, so once you transition to a newer version, you're stuck.

    * Bugginess. VS .NET 2002 has more bugs that I can count (note: .NET 2003 seems to be better).

    * Stupid file formats. Ever tried checking VS 6's .dsw files into a CVS repository? They look like text, they sound like text (and CVS autodetects them as text), but VS 6 barfs all over itself if it doesn't have CRLF line endings. Try adding someone working on a LF ending cygwin system or a Unix box or a Mac into your development mix, and all of a sudden, you realize that all those deltas in your repository have to be thrown out. Yuck.

    * A pain to set build options. Metrowerks' IDE's build prefs GUI was *much* more logically laid out. You should be able to find basic build options in a GUI within a week of using it. A month after I started using VS, I was *still* wasting huge amounts of time finding various build options in VS. That's silly.

    * Can't generate nice graphical call graphs, a la ncc/codeviz.

    * Relatively slow -- this is the make system, not the compiler itself. GNU Make is much faster than Microsoft's make system.

    * Creates a *ton* of files in projects created. I'd expect a project file, full stop. They have project files, workspace files, cache files, .vcproj files, file extensions changing from version to version...argh.

    * The compiler has stopped supporting the current C language.

    The only really nice things that I can think of about Microsoft's dev tools are:

    * The editor supports very good function completion -- a lot of people cite this as a killer feature. Emacs has etags and fume-mode related functionality. Both are more of a pain to use, and less featureful in some ways (like not showing types of a function being completed). On the other hand, I have had nastiness where the editor got confused about where a constant was defined, and I spent ages tracking down a bizarre bug with two identically-named constants in two projects.

    * The debugger/compiler support source-level modification of running programs when one is debugging. God only knows what awful hacks were done to get this working, but apparently it works well enough for general use.

    Really, a lot of the people that I know have used Borland's ancient IDE (I ha