Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Sun Microsystems

Sun's (un)official response to .NET 286

siliconghetto writes "Sun decided that to post a response to .NET on it's Java home page. According to Madhu Siddalingaiah, "Microsoft is spinning [.Net] as innovative new platform but what they're really doing is giving developers an updated set of handcuffs." "
This discussion has been archived. No new comments can be posted.

Sun's (un)official response to .NET

Comments Filter:
  • What does the .NET `framework' promise that the JVM platform doesn't
    deliver?
  • SOAP is a protocol that's been documented and whose existence is due to W3C and implemented by multiple vendors.

    I'm still researching it, but it seems that SOAP is, like HTTP, a protocol anyone can implement.

    Now, let's look at .NET - it's a VM owned and operated by Microsoft. Whose language of choice with same is C#, again, owned by Microsoft. Well, you can always use ASP+ with it, which is owned by, well, Microsoft. Etc.

    I wonder if and when Microsoft will hijack the SOAP protocol and have SOAP SCUM (SOAP - Supplied Completely Under Microsoft) which won't work with anything else, just like *ahem* J++ *ahem*
  • by uradu ( 10768 ) on Thursday November 09, 2000 @12:27PM (#633951)
    if MS truly wanted to prove their interest in cross-platform functionality, they would have ported COM to as many platforms as possible AND pushed it hard on all those platforms (I know it was ported to some Unix, but who exactly is using it?). Instead, they used it as a Windows fragmentation tool to bury IE deep into the OS to the point of inextractability. COM as a cross-platform standard could have been a very useful tool. It seems to be considerably more lightweight than CORBA (haven't looked too much at CORBA though), and it's extremely popular on the number one desktop OS. If Linux had COM support, they might not have had to duplicate its functionality with KDE parts (if that's what it's called). It would have also allowed Linux to mesh more seamlessly into Windows networks, maybe as an MTS/Apache host. Of course, that would have boosted Linux popularity, so strike that.

    The ideas behind .NET are quite compelling. COM lacks some of the crucial elements of OO (such as inheritance), which .NET addresses in a language-independent way. The idea of taking an off-the-shelf binary component, extending it (in potentially another langue) and creating a new component from it is very appealing. But the compromises this all entails might be too much to swallow for many people for quite some time. I'm still not sure how I feel about it myself yet, I'll let some time go by and see how things work out--not that I have a choice anyway.
  • by brad.hill ( 21936 ) on Thursday November 09, 2000 @11:34AM (#633952)
    Java shackles developers by forcing them to use the Java[tm] platform for all development in all three tiers of a client-server application if they plan to use the Java[tm] language for any aspect development

    Not true. CORBA has bindings right now for just about as many languages as .NET is planning to support, and these systems can all interoperate. In fact, Java's network and component specifications are going towards a more language neutral format with RMI over IIOP and the next generation CORBA specs and products that allow IIOP access to EJBs and deployment of EJB-like services in any language.

    I know this is true because I write Java applications in a three tier system that use C++ components in the middle tier and PL/SQL code in the database tier. We also have Perl code that calls Java components in the middle tier.

    There are also many languages that can be compiled into Java bytecode and use Java classes and services.

    The real facts are that Java probably gives you more choices and makes it easier to use systems written in other languages and on other platforms than any other language. (C may be slightly more ubiquitous, but much more difficult)

  • Well.. you did it Moron.. You moderated me down without even reading what its all about. And do I care.. Well, I wish I knew who you were, possibly some kid who would love to believe Slashdot is all about Anti-M$ FUD, and who thinks by installing the latest patch for RHAT, with all the security holes, and thinks he is cool :). Anyway I have no bone to pick with you lad, you just served your purpose, that is to propogate FUD :).. Good job son :)
  • Very interesting. This is exactly the problem Gelernter ran into with his Grand Concept, the name of which I forget even though I read his book "Mirror Worlds" which is basically one long advertisement for it. (That's what happens when you're doing entirely handwaving- people can come away without any reference points and end up not remembering a damn thing about your hype. I keep thinking of 'Mindstorms' but that's not what he called it...)

    If Microsoft really are going this direction they are in a hell of a lot of trouble. It's like implementation (always hard for them) proved so frustrating that they're abandoning it entirely and going with nothing _but_ 'mindshare'. I will be interested to see how far they get. It'll make a good litmus test for who can think and who just recites propaganda, since there are NO ideas in .NET, apparently.

  • The interoperability promise, which I take to be the difference
    between an operating system and a platform, is vaporware.
  • As others have said, you can have other languages compile to Java byte code, which will then run in the VM.

    The problem you have with using CLR on any other language is the ease with which native code might end up in libraries. WIth the .NET platform, you have an option to compile to CLR and have that compiled later, or just have it precompile right then. Not to mention the ease with which you can insert bits of native code in .NET. So, it seems all to easy to wind up with libraries that have just a bit of native code in them - which will break them on other architecturs.

    But that's not even the real issue. The problem I have is that since the CLR is essentially a VM - why would I want to switch to that? VM's have spent the last couple of years improving at a tremeddous rate, and I have trouble imagining the Microsoft team (last I read, four people) can outmatch them anytime soon.

    An VM's are here now, on a number of platforms. They have mature (and maturing!) API's for hooking in profilers and debuggers. It seems like you'd be crazy to pick what is essentially a beta VM that runs only under Windows to run production stuff on.
  • I assume you are complaining about large memory usage for a JVM. 153M suggests that you are running a fairly big program, not something that's intrinsic to the JVM. But, still, yes, full Java runtimes take more memory than C++ runtimes.

    There are many reasons for that. One is that for native Windows programs, the OS doesn't account for all the resources in the process size: shared libraries and other resources are not mentioned. Another is that supporting some of the functionality in Java requires more runtime support, like dynamic compilation and reflection. Those are very useful, but they aren't cheap. There are some parts of the Java libraries that ought to be optimized (more packed representations for images, for example), so if you are using a lot of images, your process might be larger than an equivalent Windows program. And memory management by the Java runtime may appears to use more memory than it actually does anyway.

    If you want to, you can batch-compile Java just like you batch-compile C++ or .NET, and you get executables with similar size and similar behavior. But you also get similar limitations on dynamic loading and reflection as you would get in C++ and .NET.

    Java process sizes already aren't a problem for most applications (in particular, server applications). In a few years, they'll seem miniscule, just like the humungous Windows executables from a few years ago are the lean and mean applications of today.

  • by Anonymous Coward on Thursday November 09, 2000 @10:20AM (#633979)
    Third parties have inspected the Java platform's publicly-available source code for security holes. There is no indication that Microsoft will ever release the full source code to the .Net platform.

    Maybe they already have.

  • by clinko ( 232501 ) on Thursday November 09, 2000 @10:20AM (#633981) Journal
    Sun Has Declared They will now be running their own system in response to .NET.

    .ORG!!!


  • You can learn many thing about how operating systems work by reading the linux kernel source. You can learn many things about how networking and computer security by setting up linux networks. And I'm just gunna shutter at the "some kind of dos prompt" remark.
  • That's not totally true though I appreciate the intent. There's no real reason why you can't have a compiler generate native code. You can have an object (say a COM object if you must) that has all the methods as native x86 code. Now you send this across to another machine and you want to run it as PPC code, just binary translate it. If your compiler anonotates the code entry points by either not using jump on register or using a standard switch format, you just removed half the problems with binary translation. If you know in advance which platforms you are going to need you can generate fat objects with multiple code formats. Your runtime can even sandbox the code by using code verification techniques or proof carrying code.
  • I remember when I went to the "training seminar" [a misnomer, it was a marketing pitch] for
    Visual InterDev 1.0 in Pittsburgh, the Microsoft speaker swore up and down that activex, MTS, and ASP support was "just around the corner" for solaris, linux and macintosh....


    http://www.chilisoft.com/ [chilisoft.com]

    Try that out.

    Simon
  • I've looked into it. The core of its existance is not Cross-platform, but Cross-Language (which you yourself even said in your post!)

    How can you have any system mean to be cross-paltform (the CLR layer) when the primary language for it (C#) encourages native code fragments!! And as a bonus the compilers also let the people writing code compile directly to native code instead of going to CLR code.

    Today, it is easy to have services running on ANY server (not just Win2K) that talk to mainframes and UNIX servers, using Java. Perhaps the use CORBA, or RMI, or sockets, or even just URL scraping. It doesn't matter - Java does not have to be the only language you use.

    If you don't think of CORBA and RMI (over iiop) as generic communication solutions, then I don't know what to say.
  • Actually, more of an inside joke. The "Red Hat == Microsoft" rant has occurred more than once in this forum. If I'd REALLY wanted to troll or flamebait, I'd have said Debian.
  • youre missing the point. .NET is basically an ASP strategy. what it delivers is fairly *brilliant* if i may say so. this is the first time that M$ has found a way to *own your data* having complete control over your finances, work habits, surfing habits, friends, *everything*..includnig the machine you paid for. .NET will run on M$'s servers - nothing else. the rest of the planet will be thin clients connecting to huge ASP servers. it has nothing to do with Java - thats just a model for the core language for .NET
  • I've never really been a java fan, but if you get the chance, you should really check out the most recent version of the jre (1.3). It runs about 3x faster than any previous version.

    Cool.

    Yes.

    Does it run on Mac? No?

    No - no Mac version at the moment. It will be along presently.

    Supported in major browsers? No?

    Supported by Netscape 6 and Mozilla M18+ - runs nicely on both Windows NT and Linux.

    I think I'll stay "cross-platform" and stick with 1.1.7.

    I'll concur on the need for Java 2 RE to spread to more platforms - I assume there is a Sparc version in there somewhere, and MacOS will be there soon I believe. Not too shabby.

    Cheers,

    Toby Haynes

  • by Chris Mattern ( 191822 ) on Thursday November 09, 2000 @12:56PM (#633998)
    > It's not vaporware -- plenty of developers have
    > seen it being used at shows.

    "Any sufficiently advanced technology is
    indistinguishable from a rigged demo."

    Chris Mattern
  • I'm a beta tester, and I can tell you that VisualStudio.NET is going to bring some great things to application development. I would challenge all those who are gung-ho against .NET to actually signup for the beta and test it out for yourself before passing judgements.

    It is expected that Microsoft will make BETA1 available to anyone who wants it (minus a small SH fee). You can check this page for more info on .NET:
    http://msdn.microsoft.com/net/


    I just find it amusing that so many people (including the author of the article, with whom I am corresponding via email) jump to conclusions, without having read the documents or at least beta tested the software for more than 10 minutes.
    My judgements on Linux are certainly based on more than a few hours/days/months of work, and I think anyone who wishes to be fair owes the same to ALL platforms and solutions.


    -----
  • Smalltalk much more closely resembles LISP from a standpoint of philosophy.

    Python has pretty crappy lambda support, and I wouldn't call it anywhere near the quality of LISP's lambda. I do like Python, but it certainly isn't LISP with a traditional syntax.
  • Well, sure. That's why Microsoft must use it's dominant market positions to be a monopoly - so that it can claim portability! Write once, run anywhere if Windows was everywhere.

    Seriously though, the one thing that Microsoft have always seemed dedicated to, though not perfectly so, is legacy-support. They sacrifice technical excellence/security for legacy support, something many people are not willing to do, much less even think about. Microsoft does SOME forward thinking and always want to be sure that they can support legacy stuff. This is one of the reasons they have such dominance - if you came out with new versions of OSes that breaks legacy support, where would you be? Microsoft understands their market only all too well.

    Remember Win16? Win32s? I'm sure there would be some problems transitioning to Win64, but I'm sure it would work out, it's just a matter of relevance of PC platforms from here on.

  • And I've always found Java, (worse) C and C++ *way* to constrictive. Who cares? Use what you like.
  • Certainly the most time lost in programming is debugging. (well, maybe not by the programmers of certain software companies who seem to do no debugging at all...) And debugging *demands* a console. What is simpler, 'printf("got to xyz, variable xpto has value %d\n", xpto)', or setting breakpoints, opening variable display windows, scrolling to the variable you want, etc, in a debugger? I seldom use debuggers at all, the printf way is so much better.

    My condolenses. Y ou're probably used to crappy C++ debuggers, and simply are ignorant of anything better.

    No, debugging doesn't require a console. I don't doubt that gdb and other very primitive debuggers do. (I've only used gdb in the C world) In Smalltalk, even Squeak [squeak.org], with a relatively primitive debugger (at least compared to IBM's VisualAge Smalltalk) it light years ahead of the trash you C++ coders have to deal with.

    Oh well, i suppose it comes with the job.
  • by Danse ( 1026 ) on Thursday November 09, 2000 @01:10PM (#634015)

    I think we're seeing pretty much eye-to-eye on the general merits of the two languages. I use VB a fair amount when I'm just trying to get something done quickly and I know it doesn't need to run anywhere but on Windows. VB is a great tool for that. I was mainly taking issue with comparing VB to Java because I felt the comparison wasn't fair. They are really two different languages used for at least two different reasons. VB is great for rapid Windows development. Java is great for writing portable software (and happens to be pretty decent for rapid development, though not quite as easy as VB). I think they both do well at what they are designed for.

    but Sun the corporation swung from their goal of creating something that would help people to something that would hurt Microsoft.

    I don't think I know what you're talking about here.

    Sun isn't concerned with whether or not their stuff will actually be useful. They're more concerned with bashing Microsoft.

    I don't see it. The way I saw things happening, Microsoft took the initiative in trying to spoil Java. Sun WAS trying to create something useful, and Microsoft was trying to undermine that creation so that it would not undermine their monopoly power. If Sun doesn't protect its creation from that sort of interference, then it could very well end up as another footnote in computing history and nothing more. Microsoft is an extremely powerful competitor with little in the way of scruples to stop it from doing whatever it takes to eliminate what it sees as a threat. I don't think the Linux comparison fits either. Apples and oranges.

  • Well if you believe Sun's marketing BS, I guess you're really no better off than if you blindly acccepted MS's.

    How did so many /.ers forget? The intention of .NET is to be a runtime environment to run on all platforms, not just on Windows. What, did you all lose your critical thinking facilites just because of some marketing BS from Sun?

    The ultimate goal of .NET is pretty close to the holy grail of programming IMO - be able to write a program in any language that will run on any platform that has the .NET runtime. Mix and match languages if its appropriate and still run on any platform.

    My analysis? The linked story is FUD and Sun is scared. Ignore .NET if you want, but also be prepared to cut yourself off from a lot of business that will be focused on it.

    I watch the sea.
    I saw it on TV.

  • I love Java, but [the quote "but it is yet another proprietary Microsoft platform which will tie the developer to Windows"] is simply bullshit. The main purpose of .NET is the exact opposite. It's purpose is to allow developers to actually use COM and the Windows API without being shackled to VB and Visual C++.

    Well now, I wish I could believe that. Certainly the way .NET has been billed would make you think it'll be easy to access from most any langauge. .NET's idea of using XML to talk to the servers to pass method calls to and to access object models on the fly sounds pretty neat. Really, how hard is it going to be to reverse engineer, much less interface with using mature APIs, well-done XML? Past that, you're just sending back and forth 0101010101s.

    What worries me is Microsoft's track record. They take a standard, argueably add functionality in a Microsoft-brand superset of the standard, and then get programmers addicted to the easier development cycle of selling out to Bill's new tools at the expense of having crossplatform code (which, it should be noted, is not always a bad thing). Look not only at Java, but JScript, DHTML, CSS, and a whole host of web-specific technologies (not that Netscape is ethically clean -- remember the "layer" tag?).

    So though .NET should be a great system that will provide cross-platform access to servers running MS tools (certainly eliminates a lot of the software piracy issues for MS), I wouldn't be surprised if Bill and Co. shut the cross platform door just as soon as you've taken a bite and realized how juicy and succulent the .NET platform's apple can be. And there's nothing to stop MS from making the relationship of .NET to, say, CORBA (or even just TCP/IP and sockets), that of a MS Word doc to a text file. Or JScript to Javascript. Or the Internet Explorer DOM to the W3C standard. Or CodeWarrior to VJ++. Or...

    "This may be the fault of the interpreter, in which case HE is the hippopotamus." Boris Yeltsin, 60 Minutes
    "This may be the fault of the interpreter, in which case HE is the hippopotamus."
  • If you didn't notice, .NET appears to use an intermediate language in a similar way to P-code. So it's not native either.

    D

    ----
  • the .NET framework involves a lot of API's that are, and will be, only available on Windows.

    I was just remembering a post that said IE5 on Solaris had practically the whole of Win95 in it.

    What if the ports for C#/CLR came with huge chunks of Win2k to provide the api's? .NET would then be protable, bloated but protable.

    Just a thought.

  • This is a Sun marketing document meant to spread FUD about dot-NET. Nothing more. Do you think they would point out any glaring benefits to dot-NET? Do you think they would point out where dot-NET is better than Java? Hell no. They are covering their ass just like Microsoft did when Sun came out with a language and framework.

    And you know what? That's okay. As consumers of media, we all need to be able to separate the business-driven hype from the objective news. This is very important when we reference the web site of a company with vested interests.
  • No - no Mac version at the moment. It will be along presently.

    Actually, the Mac OS X Beta comes with a 1.3 VM with the HotSpot JIT. I believe the class library is still 1.2.2, but that should be updated in the next release.

  • Sounds like you've never programmed for rapid development or on a budget before. VB is plenty powerful for what most people need and takes a third the time to code in my experience. As someone who started out gung-ho C++ and who writes at least ten lines of Java a day, I feel pretty safe saying that VB is one of the best things that could have come along for businesses that want an application up quickly that performs acceptably.

    Maybe you should learn to program in Perl; I find it takes me about a tenth (or less) as much time as C or C++, not merely a third. (No, I'm not exaggerating; if anything, I'm understating.) It's also highly cross-platform, including a GUI (Perl/Tk) that works identically under Linux, Unix and Windows...
  • "Microsoft is spinning [.Net] as innovative new platform but what they're really doing is giving developers an updated set of handcuffs."

    Wake up, mister Buhrupgupta. Any Java program is already spat upon, since being programmed in Java results in a lag of at least 100ms per function call. Javalag(TM) is so notorious that sometimes entire websites are avoided simply because of shoddy scripting or too many frivolous applets that take so long to load. And that annoying IBM SurePay POS (Point of Sale, or Piece of S#!&, take your pick) system that CompUSA uses? That POS program runs entirely on Java. It lags like hell, causes the printer to stutter, and gives the keyboard a keystroke acceptance rate similar to that of the PCJr.

    It's funny how the Sun programmers are complaining of Microsoft building another set of shackles when Java has programmers shelling out hundreds of dollars to put themselves in irons.

    Java is to the programming world as trolls are to Slashdot. And I'm not biting when the time comes for me to choose an API.

    DISCLAIMER: Javalag(TM) is a trademark of Sun Microsystems, Inc., LLC, CRAP, ETC.

  • Umm -- ever written any JavaBeans? You can (in fact, are strongly encouraged to) provide multiple types of descriptive text for every class, method, private or public field, etc. As a matter of fact, any Java class can be interrogated at design (or run) time through the Java reflection mechanisms, and most of the major IDEs will display your beloved 'popups,' along with method signatures, comments, (if provided) and reverse-engineered source code to compiled classes. Plus, JavaBean objects can be 'wrapped' in an ActiveX layer that makes them usable in Visual Studio, etc.

    The last means of accessing COM objects from Java I worked was the Visual J++ COM "compiler," which put references to all the Windows-native calls into comment blocks in your Java source, and added the low-level code at compile time. Not exactly pleasant to debug, and completely non-portable.

  • ...applets suck. Really, they were a poor first stab at finding a use for Java technology, and have continued to be more or less retarded cousins of regular desktop applications.

    However, Java on the server makes sense, and works consistently. I write J2EE apps for a living, and I can tell you with confidence that code that I write that relies on nothing but pure Java will run reliably on Solaris, Windows, and Linux at minimum, UNIX, and if I play it safe with my choice of runtime libraries (not core language or logic, just convenience classes), on MacOS, BSD, AIX, Tru64, HP/UX, OS/390, and a few others that I'm forgetting at the moment.

    Don't get me wrong -- Perl is great. The minute you start taking advantage of your 'closer access to the OS', though, you restrict yourself to a small subset of the possible environments it runs on (POSIX is not universal).

  • Microsoft of course being totally innocent of any crime. I know Scott McNealy did this totally to boost his own company, but that doesn't mean that Microsoft didn't break the law. Or should police not use informants in case they might have their own reasons for turning criminals in?
  • What exactly in Java has Sun not opened up to other vendors? The source code to every internal working of their implementation of the JVM and core libraries? That doesn't really bother me as much as most closed-source bullshit does -- there are other versions and suppliers of both, many of which are simply more usable. True, Sun has not simply given up the keys to Java, but they haven't really abused their position, either. Look at the state of the language and its associated libraries today -- it's usable, robust, and flexible, and there are many different potential suppliers.

    JSP/ASP (with or without version numbers, plus signs, etc.) are:

    1. Completely different technologies, with totally different server-side architectures (JSPs are pre-compiled into Servlets, which are fast and reusable)
    2. Both broken from a design standpoint, since they allow for free mixing of business logic and presentation
    3. More or less insignificant in an Internet environment dominated by XML, since you're going to have to work on that native object model directly, anyway

    The fact that Corel has signed an agreement with Microsoft to be port the .NET framework if Microsoft requests it does not impress me. Microsoft could do the exact same thing, if they liked -- they have more programmers than most anyone, and Linux is not so complex that a decent development and runtime environment couldn't be hacked together in a matter of a few months.

    Lastly, Java is not interpreted! The first-generation JVMs treated the bytecode like an interpreted language, but the more recent high-performance JIT environments (as well as native compilers, like gcj) remove that bottleneck, while still allowing for compatibility on systems that don't have (or want) native compilation.

    The goal of .NET is to perpetuate the lock-in that they've had on RAD tools (and the projects created with them) by preventing the mass exodus away from VB and VC++ that would otherwise be inevitable in the next few years. Yes, distributed objects, transactions, and inheritance will be available to users of those coding in a number of different languages, but that's simply the effects of using XML as a universal exchange protocol, not some mystic MS voodoo.

    Of course, it makes good business sense, and if there's anything MS doesn't consistently screw up, it's business. PHBs will eat this shit up, and I forsee a long, dark winter for would-be liberators trying to urge their employers away from MS-specific development environments, langauges, and tools.

  • In your last paragraph, if you exchange Sun with Microsoft the paragraph still holds true.

    This debate really isn't so cut and dried.
  • Microsoft seems to (lately) be rather keen on handing out the handcuffs.

    Maybe it's time to bring out the fisticuffs and see how well they fight back?
    ---
  • I'd like to see your source for the blanketing declaration that any Java method call results in a 100ms lag, and how any of the tens of thousands of sites using servlets or JSPs instead of CGI on the server side could run at all if that were the case. You make the same mistake that so many people seem to have made in this thread -- assuming that Java is applets, and always runs like applets, and suffers from the same inconsistencies and performance issues that applets do. Java does indeed suck for most GUI applications, but does what it is supposed to quickly, reliably, and portably on the server.

    And what is this 'hundreds of dollars' that programmers are paying to use Java? I have written several commercial Java applications, and even more non-commercial ones, and never once encountered a requirement that I pay a licensing fee for a basic Java runtime environment or libraries.

    My only hope is that your second-to-last paragraph indicates a sense of irony, and that your entire posting was intended to be taken a a single large sarcastic wisecrack.

  • by incast ( 121639 )
    it's .net as in the net that people are caught in if they use it, correct?
  • I understand where you're coming from, but I have to disagree from my experience in the industry. I think that people miss the primary reason for creating high-level languages. It's to make it easier and faster to write useful code. You just can't beat VB for this.

    I'm not saying that interpreted Java isn't the right solution for SOME problems. Like I said, I use it rather frequently for things that really need to actually run on several platforms. Where I'm taking issue with your statement is really with your last comment in your reply. If you write something that works on the Microsoft/x86 platform, you've already reached the great majority of the places it's going to be used. And it's easier. You've gotten the most bang for the buck available in all the programming world. For each platform you want to support, it takes longer and consequently costs more money. Sometimes that's okay, sometimes trying to please everyone makes the project overly ambitious. Lots of times you really only DO need to support Windows users to be the most successful.

    I think Microsoft's approach has been far from perfect, but is in many ways the best game in town. They wanted to hit the largest portion of the population they could and make it easy for programmers to adopt their language. I think the concept behind making Java was a good one, but Sun the corporation swung from their goal of creating something that would help people to something that would hurt Microsoft. And that's not what it's supposed to really be all about.

    To swing back to the .NET discussion, I think this is really a simple proof of what I just said. Sun isn't concerned with whether or not their stuff will actually be useful. They're more concerned with bashing Microsoft. I much prefer the route Linux has taken. For the most part it has taken care of it's own business and grown to fill a niche that has since expanded and expanded because it has become a solid product. I think Sun should learn a lesson from this and concentrate on what they're doing instead of trying to counter Microsoft all the time. Ultimately, that's a losing strategy. They're letting MS run the game and putting themselves in the catch-up role.
  • by EFGearman ( 245715 ) <EFGearmanNO@SPAMsc.rr.com> on Thursday November 09, 2000 @10:24AM (#634066)
    "Sun wants you to wear their handcuffs."

    Really. Java is platform independent. While Sun did not succeed with the initial performance claims for Java (ala same speed/execution times) for the various platforms, you can write Java code that can be easily ported to any platform. I say easily as a friend did manage to write some code that he had to modify so that it would work on a Mac (he later learned what he did wrong there). This latest 'offering' my M$ is for the Windows only environment(s).

    Now I don't deny them the right to produce for just their product, but to try and claim that it would become a 'standard' is a little annoying. Now I haven't read a counter-point to the original article on .NET, so my views stand right now. If someone wishes to point out a logical counter to the original article, I will be glad to read it and possibly revise my position.

    Eric Gearman
    --
  • by Fjord ( 99230 ) on Thursday November 09, 2000 @12:06PM (#634070) Homepage Journal

    Not to mention that it is very simple to use an RPC over HTTP using XML for interchange model, and in doing so, remove any laguage dependancies. At my last job, we used HTTP RPC to call into a ProvideX system from a J2EE system. If we needed to call into Microsoft, it would have been no problem.

    It is very easy to pick an RPC architecture that is friendly to disparate platforms.

  • There's really not much of an issue, here. The author of the article complains that Microsoft has copied many of its aspects from Java development environments. No surprise there: not only do we all copy code and ideas, but if I remember correctly, Microsoft has been accused of this before.... ;)

    Second, Microsoft - and Sun, to be honest - is a corporation whose primary objective is to make money for itself. The execs in Redmond don't care if something is innovative or even technically impressive, so long as it is popular and profitable. (Yes, that is an exaggeration - MS may be the Empire, but there are real, live people there, too.)

    Finally - and most importantly - Microsoft's .NET platform is going to be attractive primarily to developers and companies who are already using Windows-based products. They already have a large user base and a brand name that will attract new customers. All they have to do is keep coming out with new things often enough to keep people's interest.

    MS doesn't expand its user base by developing creative new products, it wins people over by marketing a perception that its products are easy (or at least easier) to use. It's up to the developers to wrestle technical shortcomings under control so that the users never know there's a problem.

    But that will always be our job: keep technology looking like magic. ;)
    --- --- --- --- ---

  • No they aren't!

    In the wed. edition of the biggest Danish newspaper (called Jyllands Posten), there was an interview with Steve Balmer where he states pretty clealy that they have absolutely no intention of porting .NET to Linux/Unix!

    Greetings Joergen
  • Actually its a lot less.

    SOAP around DCOM. Good ol Microsoft. They'll keep putting the ame crud ina differen't colored boxes til you buy it.

    At least they are predictable.
  • by jerdenn ( 86993 ) <jerdenn@dennany.org> on Thursday November 09, 2000 @05:24PM (#634077)
    Not even hard-core, full-blown Microsoft lackeys can use these two things [C# and .NET] yet
    Not true - I've been using it for several months, and I am certainly neither a Microsoft lackey nor an MS apologist. Further, many developers have been using C# for over a year now. It's remarkably robust for pre-beta.

    I'm sorry, but until I see proof that C# and or .NET is actually up and running...

    You may obtain a pre-beta C# compiler and .NET for the windows 2000 platform at http://msdn.microsoft.com [microsoft.com]

    AND someone shows me how superior it really is to everything that has ever been

    When new technology is announced, you should assess it for yourself - each project is different. If you program primarily in UNIX, then you will have little need for .NET. So why make such a big fuss? ...and as MS has implied, is superior to everything that ever will be...
    Please show me a company who's marketing department doesn't harp incessantly about their products, and I'll show you a company that will not likely be around long.

    Sorry to sound flamebaitish

    Apology accepted.

    -jerdenn

  • by chancycat ( 104884 ) on Thursday November 09, 2000 @10:25AM (#634078) Journal
    Here in (large company that makes their own PCs, servers, UNIX varient, RISC processor, and lots of printers) we're playing with .net code and platforms to see what we can do with it. First impressions are "sticky place to work". I'm betting that a good, clean alternative from Sun could win developers rapidly. Of course, our own ideas in this arean are nifty too.
  • Linked of the article. Funny article by a former Micro$oft employee saying that .NET is vapourware. Worth a look here [editthispage.com].
  • if you don't like it, there are many other fine discussion boards you can spew on. Mr. Barkto.
  • Oh my, look at the hypocrite.

    Language lock-in. Java, being supported very well by both Sun and IBM with completely different VMs, and by the FSF with gcj. That's still not vendor lock-in. You want language lock-in, look at Visual Basic. Seems to be only one implementation of that language. And it doesn't have a published, open, although unfortunately not ISO specification. Your point is non-existent.

    Second, JSP a ripoff of ASP. Please. Both are derived from CGI + OOP. Did you just start monitoring the industry last week? Or did you grow up on Cnet articles?

    I do agree with you on C# being a good evolution of the MS tied VB and visual C++. VB is very useful on certain problems, but lacks a lot of features that I enjoy in both C++ and especially Java. C# looks like a good move, but a lot depends on how they implement. Objective-C was a brilliant evolution that died on C++'s altar as well.

    As for Corel, although I had a lot of hope for them, the implementations of their own products on Linux, which I paid for and tried, were rather weak. StarOffice is way beyond that. So I don't have a lot of faith in them for the cross-platform torch of MS.

    On that note, look at the COM legacy. Marketing FUD and renaming aside, it's a weak version of CORBA. But the desktop strength is had is great, and is being adopted by CORBA in v3. Just as COM+ is evolving to be a CORBA competitor. Problem: Platform lockin again. At least with CORBA, if Sun pisses me off on implementation of OS, I can move to IBM, HP, MS, or Linux. COM+? SoftwareAG's product isn't cutting it. COM an open standard? Find me a document that reflects the MS implementation on Windows 2000. I believe it is you who doesn't know what they are talking about. Perhaps you should follow your own advice.

    .NET is a great thing for the MS camp, and I would bet that the Java vendors and Sun will learn from the strengths, and adopt some of the strategy themselves. Welcome to the IT industry. Any good idea proliferates. But think of what we could build and how quickly if MS would get some of the good products they do build onto other platforms. Like IE. On Mac, it's great, but ActiveX doesn't work. At all. COM isn't there. Back up a step and figure out what the real goal is. Making things work. Regardless of the OS underneath. There is no best OS, so the tools to knit them together are what counts. If MS would realize that and back away from its franshise, the IT world could move even faster forward.

    As for implementation security, never mind. You don't get it. The VM is the environment in Java. In .NET it appears to be the OS again. Solaris isn't the risk necessarily. The JVM is. But .NET, it's still the MS OS that's at risk.

    As for the interpreted language article, I think you had better check your facts. Many of the JITs, and not just Java, are pulling within percentage points of the native code. And it will get closer. I used to agree with your stance that interpreted wouldn't get there, but for one that's not true anymore, and for two, sometimes that doesn't matter.

    My few humble opinions. Take them as you will.

  • Yes, I know about Chillisoft.

    That is not what the guy was talking about.

    He specifically said that it would
    be an official MS product.
    ---
    RobK
  • by Anonymous Coward on Thursday November 09, 2000 @10:26AM (#634086)
    Microsoft.NYET
  • Do Exactly as we say and nobody will get hurt

    It's fine using something like .net or C# or VB, as long as you're willing to put up with Microsoft's idea of the Future.

    Where do you want to go today?

    Do you think we care?
    If they decide to drop support for VB in favour of C#, you're screwed. If they decide the C# isn't really all they hoped it was, you've wasted your time learning it. If Linux manages to gain a 50% desktop share, you've locked yourself out of 50% of the market (like you're really expecting MS to support a competetor?)

    It's your money, your time and your life. Good luck.
    `ø,,ø`ø,,ø!

  • Python = LISP + infix operators (which LISP always had by no-one used) - about 5000 ()'s.
  • by Anonymous Coward
    .Net will let MS customers to do things they couldn't do easy, easier. .Net will let people who go with MS for their solution use their IDE, and all the languages that plug into their framework.

    .Net is about letting people write their apps on the MS platforms using MS tools. Apps that can use internet standards to interoperate with other servers using internet standards. .Net is a response to the idea that using J2EE you can do things easier than you can with existing MS tools.
    .Net is going after the large amount of businesses that haven't yet gone to J2EE. Heck the large amounts of businesses that don't even know what XML is and why it would help them, that employ geeks like us to show them the way.

    .Net is that warm fuzzy feeling that MS is going to take care of you by selling you and your VB developers that design SAP packages and intranets and interal discussion boards and online sales catalogs the thing you need to solve your problem, and back you up when you need it solved. .Net is MS trying to give you an IBM experience.

    But .Net is nothing without developers trying to solve your problems for you with MS tools. Hence all the hoopla.

    .Net is MS selling things to the people who are already their customers, and people who don't want to know another way. Which is most people.

    .Net is making writing software on the windows platform and the windows internet platform easy.

    Technology is nothing compared to what technology is used for. Solving problems.

    Microsoft doesn't care about the 10% market that knows what they're doing and doesn't want a nice IDE because they're using Emacs or Vi. They want the 90% of the "normal people" that do IT for large companies and small businesses.

    They don't care that much about the hardcore slashdot audience.

  • by Speare ( 84249 ) on Thursday November 09, 2000 @10:27AM (#634093) Homepage Journal

    Sun is the DOT in .NET

    I wonder if MS can enforce a trademark on "dot NET", even if it's in common parlance already. ("Windows" was unenforceable trademark but "Microsoft Windows" is okay.)

  • I said:
    Java shackles developers by forcing them to use the Java[tm] platform for all development in all three tiers of a client-server application if they plan to use the Java[tm] language for any aspect development

    You said:
    Not true. CORBA has bindings right now for just about as many languages as .NET is planning to support, and these systems can all interoperate. In fact, Java's network and component specifications are going towards a more language neutral format with RMI over IIOP and the next generation CORBA specs and products that allow IIOP access to EJBs and deployment of EJB-like services in any language.


    CORBA is a broken specification, and this has lead to the creation of the CORBA Component Model based on EJB which is modelled after DCOM and MTS.

    With .NET objects created in C++ can inherit from objects created in any other language including Java. In .NET, local (none networked) cross-langauge object reuse is easily done unlike in broken-ass CORBA.

    In .NET security, transactions, high availability, failure recovery, naming services, are clearly defined and built into the architecture unlike in CORBA where different ORBs have different behavior since the base CORBA specification is so loose and most services are optional and thus unsupported.

    PS: If you are interested I've written a paper comparing CORBA, DCOM and RMI [gatech.edu] which points out the myriad shortcomings of CORBA.

    Second Law of Blissful Ignorance
  • For the technical scoop: http://msdn.microsoft.com/net/ [microsoft.com] For the PHB-directed marketing hype: http://www.microsoft.com/net/ [microsoft.com]
  • Well, I got an OT mod...so you should be happy.

    At any rate, around 15 years ago most corps were getting a lot of complaints at their shareholder's meetings about "corporate behavior", dealings with employees, environmental issues, etc. (GTE was about the hardest hit, as well as GM and GE).

    Now? Hardly anyone questions corp. behavior...that is, people are so obsessed with greed and profits, they have lost their ability to "detach" themselves from their investment and analyze the possible ramifications of their investments.

    Microsoft is an excellent example. If the employees/shareholders were able to detach themselves and look at the bigger picture, I would expect at least 20% or so to form some type of revolt and officially complain to the board.

    But there is not a peep -- nothing. This is scary to me, since I believe the following:

    "Microsoft shareholders and employees would be FAR BETTER OFF staging a revolt against their companies' current policies of isolation, and demand a complete and total adherance to standards and cooperation with other computing platforms"

    Why? because the current philosophy of isolationism is great for the short term, but possibly devastating in the longer term.

    By failing to (honestly) join in with other companies, they risk losing the lawsuit in a couple years.

    By failing to (honestly) join in with other companies, they put the long-term viability of the USAs software leadership at risk...they force competition between the USA and other tech nations to be an "all or nothing" deal...that could come up nothing for the USA.

    I just find it amazing that MS continues this march...with the .NET strategy...when there are phenomenal opportunities to be had via coalitions and cooperation.

    Even more amazing is that some of the groundbreakers at Microsoft, people were in early, and are now phenomenally wealthy and have almost nothing to loose, can't detach themselves and do a employee or shareholder's revolt.

    The short term embarrassment and financial losses might be distaseful/painful, but the long term benefits and stability of a truly open and cooperative Microsoft could be mind-boggling -- not only for the USA but for the whole world.

    It's just a shame that the employees and 'neauveau riche' of Microsoft can't see past their pocketbooks.



  • by Anonymous Coward
    I don't know if .NET is intended so much to draw new developers into the fold, so much as it is to encourange the existing ones to stay. The flaws of Active Server Pages are becoming more and more evident, and Microsoft needs some way to encourage current ASP developers to stick with Microsoft platforms. .NET is intended as a Microsoft-based alternative aimed at anyone who's seriously considering moving away from ASP.

    That said, the .NET hype machine is clearly aimed at PHBs, not tech-heads. Microsoft's had some big wins by aiming their PR this way (the people who write the purchase orders are, as they say, where the money is), and they aren't going to stop now.

  • heh.. you don't have to go to a pro-linux site to see Microsoft bashing. I've worked for dozens of Microsoft houses and every single one of them has programmers bitching about how fucked up Microsoft is. Even when I talk to the CEO's of said companies (many who have made millions from writing code for Microsoft products) they bitch and moan about how Microsoft just doesn't know what they are doing.
  • I just got an up-close look at .NET
    I think they're letting the Marketing team go crazy with this one. It's not about cross-platform, barely cross-language.

    All it is, is the next reiteration of the COM+ DNA architecture. And a 10 word description of DCOM is being able to run a DLL off of another computer's resources.

    COM components are mostly DLL's that are encapsulated, allow you to access their methods. Then you have an architecture explaining how they talk to each other, and the way they access their data. A possible middle-tier solution in a 3-tier environment. And almost as an afterthought, it happens to be usable with a web-base front end.

    That's the thing that gets me. It's not really web-centric at all. Oh well.

    So first there was COM, then COM+, and not .NET
    They're just trying to squeeze their Visual Studio closer together. Sprinkle some more XML support, try to get a CLR running (Common Language RUntime) (Which by the way, won't include FoxPro playing with the CLR, and is why VB 7.0 will have to be retooled)

    I doubt anyone's reading this since it's so low on the Slashdot front page, but oh well. Just had to mention the extreme un-importance of .NET with the rest of the world.

  • unless you think microsoft might port it's window's APIs

    This, in a thread whose subject is one letter away from WINE [winehq.com]? The WINE project has been creating a free reference implementation of WinAPI that will be very useful for creating .NET class libraries.

  • If it doesn't run on Linux, Mac OS, and Windows then it doesn't run for me. Really, I need my apps to work on all these platforms. .net has no value for me.

    Coderhacker
  • My company does this, and we do distribute our software as "frozen" executables. This compiles everything needed to bytecodes and produces a single executable that is statically linked with the interpreter.

    Not exactly like Java bytecodes + JNI + JVM, but close enough. Unless you know what you're looking for, the end result is indistinguishable from a compiled C/C++ app.

    The guy in charge of Software at my company analyzed the bytecodes and concluded that reverse engineering them is nearly as hard as for Java, although there are definitely some ops that are less primitive.

    PS: Look for freeze.py in the python distribution.
  • There is a MAJOR difference in the way that Sun and Microsoft do business.

    And I'd rather read about a protocol developed and implemented by MULTIPLE companies than one that's implemented by ONE. Where's the document on the deep internals of how .NET works? It's buried in a vault in Redmond.
  • by mangu ( 126918 ) on Thursday November 09, 2000 @02:37PM (#634113)
    When people claim this or that language is so much better than C++, they are often complaining not against C++, but MFC. The "Microsoft Foundation Classes" library is what gives C++ a bad name today.

    My case story: I spent six month last year trying to develop a spacecraft telemetry decoder in NT4 using C++ in MFC. I quit after I realized NT4 simply is designed the wrong way, from the GUI downwards to the kernel. After following every instruction I could squeeze out of Microsoft documentation regarding real-time programming, I found that, with the PII-333 I was using, the CPU wasn't fast enough to run the digital signal processing code for FM detection and write the results to disk at the same time. Even after doing the most efficient hand optimization of assembly code in the inner loops of the program, there were gaps in the recording.

    Seeing no other alternative, I decided to try Linux, using the Qt toolkit and Kdevelop as the development environment. In ten days I had rewritten the GUI part of the program, which I linked with the C++ FM demodulator I had written first, without the assembly optimization.

    Surprise! It worked flawlessly, not a single bit was lost. Running "top", the system usage analyzer, I found that the same program that the Pentium II-333 was unable to run in NT4 used only 12% of the CPU, of which 10% was for updating the screen and 2% was for the digital signal processing. None of the profiler, debugger, and analyzer tools I had tried in NT4 had told me this. I had lost six months trying to optimize 2% of the system, while 98% was being wasted by NT4.

    Today in my workplace there are two Linux computers running in the desktop, used by a team of satellite controllers to perform maneuver calibrations on a fleet of five satellites. They have adapted well to it, but they still use the dual boot to Windows 95 for all other tasks. Conditioning is hard to overcome, although, in my case, I use now Linux for everything but "Need For Speed - Porsche Unleashed".

    In conclusion, in my experience, nothing beats C++ plus the Qt library and Kdevelop for both rapid development and portability (Qt is available for other platforms, although it's GPL only for Linux).

  • dude.. you know the only good part of VB is the form designer and you can get that in the resource editor. Any code written in VB is guarenteed to be unmaintainable (as is anything written in Perl) but luckily you can train someone up in VB in a fortnight and get them to rewrite the app. I do contract programming in VB now and then because companies can't find people who know VB and know how to code in anything else. Microsoft's promise of releasing a real OO VB this year hasn't happened yet, but should they finally do it you might find that VB becomes a more respected language. ie, if you actually develop a class structure and make your code documentable (say, Microsoft could include a class heirarchy viewer and automatically generate implementation level class diagrams for you that you can abstract to a system overview and maybe even refine a spec from that you can compare to your business rules!) and result in code that lasts more than one developer. In my experience, VB is the throw away language of the Microsoft world. Perl is the throw away language of the Open Source world. Many a sysadmin will say "I need to tally the data usage of our clients" and whip up a perl script. Yes, it takes 1/10 the time of C/C++ (which can be totally abused by a poor programmer) but the code is only readable by the original developer. When you get a new sysadmin he will struggle with the last guy's code for a few months but the first chance he gets he'll replace it all with some more spegetti cobledygook and until he does that he will blame the last guy for everything that goes wrong.
  • by eples ( 239989 ) on Thursday November 09, 2000 @10:30AM (#634117)

    What no-one seems to be talking about with the Common Language Runtime (CLR) is how M$ can potentially write a CLR engine for other OSes. With that, developers would have many language choices that could run in an OO environment on many platforms.

    So with Java you get one language on lots of platforms (and lots of VMs per platform, I might add) and with .NET you have the potential for many languages on many platforms.

    I was actually at PDC2000 this year and saw all of this stuff up-close.

    I love Java, C# is cool too. Either way the developer has a great tool to work from.

  • by Latent IT ( 121513 ) on Thursday November 09, 2000 @10:32AM (#634120)
    But Sun is missing the point. It's possible that they've gotten so miffed with the slow Java adaptation of Java that they view everything as a threat. .net is exactly what they say Microsoft 'claims' it to be, however - an enhancement to bring Visual Basic/C++ up to speed with modern times. It allows whichever language you're writing in to access all _windows_ API calls.

    Sun's point, in the article is that Java allows you to access the same API calls, and they'll function on any machine imaginable, which is true. But if you're going to be programming FOR a Windows box (and, last time I checked, developing code to run native in an OS was still the way your program would run the fastest) .net is the solution rather than Java. If you're a Netware Guru, for example, compare NWAdmin32 to ConsoleONE. (Win32 vs. Java) They do the same thing, but if all I had to use was ConsoleONE, I'd quickly go insane waiting for my P500 or higher to open a dialog box.

    Perhaps I should change my login to slashdot to 'Devil's Advocate'. =) Java has it's niche, though. And it does what it was intended to do - make code HIGHLY transportable. But you can't outrun native code, no matter how good your universal language is.
  • Lastly on platform independence, just realize that Java isn't any more platform independent than anything else, it's just got an interpreter that has been written for each platform! If a new platform comes out, it won't run Java at all until someone writes an interpreter for it....

    Other than, say, having to write a new compiler backend?

    "writing a new interpreter for the platform" is actually as simple as pickup up the JVM source code (yes, Sun releases source to their JVM) and recompiling it on the target platform.
  • by Anonymous Coward
    For those with short memories, let me remind you of the "From One Source To Many" article that's still a part (as of vc++ 6.0) of the MSDN.

    This thing was written for the transition from WIN16 to WIN32, and suggested that if you just port your code to WIN32, they'd give you Macintosh support as well from the same source code.

    For a hefty sum, they sold you an add-on to vc++ 4.0 that indeed provided a Mac compiler and DLL's to run WIN32 code on the Mac. And it (almost) worked - that is, it almost produced workable Mac applications.

    Of course, it really worked for MS, because what they apparently intended was to focus all development to WIN32, killing then rival OS2's chances, and seriously limiting the amount of native Mac apps.

    Oh, and by the way, then they pulled the plug on the thing, and now only MS gets to use the WIN32 for the Mac DLL's.

    And some of you think C# will be supported on non-Windows platforms!
  • Let's not forget a key point.. Some argue that MS is not doing any harm in making a new extension to Windows... They're saying they _can_ support other platforms, but the target is obviously windows.

    I can't believe that the SUN folks missed the gun, however. They are arguing that this will undermine Java by MSing network applications while maintaining control.. HOWEVER, the real danger is that MS makes the number one browser. They completely control what gets put into it. It's one theing to fight over HTML standards, it's another to fight over plugin standards.

    Currently, if you want compatible cool stuff on you web page, you use flash (who's goal is to reach every platform and desktop). MS has tried various techniques to make sure that the only browsers out there are MS, and that the "best" place to run their browsers is Windows. Ideally, many features would only work if you had their full Office suite, which is where they can really tie in the money.

    IF, they succeede in making everyone love C# as the code-base, along with .NET utilities, then it's only a matter of time before people start to use C# in place of applettes. They made heavy reference to the security box.. This is mainly useful in web-downloaded ActiveX / Applet components.. Meaning they would absolutely love to lock browsers into the latest and greatest feature sets.. To do cool 3D things, you'd need a good hardware card. To do cool multi-media things, you'd need the latest version of Windows. To do productive things, you'd need the latest version of Office.. So long as these are prolific, (say 80% of the market), venue's or company's can require that all their customers / clients have windows xxx, Office xxx, MS-feature friendly hardware xxx.

    As with the above, the only reason MS would want an open standard on things like IE or C# or even .NET is to say.. Yes, take the sample drug.. Learn to like it.. See how wonderful life _can_ be.. Oh.. what's the matter? It doesn't do everything on that platform? Well, you know, they're a second rate place.. Come to us.. We'll give you a fix... There.. See how much better a one Solution Vendor works?

    MicroSoft - Incredibly small, yet powerful. Just like the virus.
  • I'll fight you, I'll fight you and I'll win.
  • I think the handcuffs statement was fairly appropriate. Microsoft is known for doing everything possible to make people use Windows. They don't create portable languages. They don't do things to make it easier for you to switch to another platform. Java is a portable language that helps make it easier for you to switch to whatever platform you want without having to rewrite all your applications. Microsoft's .NET is just another way for Microsoft to try to get people to tie themselves to Windows. If you want to use Windows, then great. If you want to use multiple platforms or any platform other than Windows, then you don't want to use Microsoft's languages to create software for those platforms.

  • If so, what category would the class be filed under? CS, or Philosophy? Or perhaps they could go whole hog and file it under Ethics ;P

    It _would_ be very appropriate for a first class (for some values of appropriate) because there is NO actual content or technical information involved. .NET is nothing but an idea, and the idea is "If everyone uses Microsoft products for everything, you can use any language you could possibly want, solve any problem ever, and be part of the rest of the world all of which is using Microsoft products for everything you could possibly imagine".

    This is a very primitive concept, thus it makes perfect sense for a 'first class in CS'. It's kind of like, 'these are the axioms, now read on'. The fact that it makes no sense and belongs to religion more than computer science is not likely to upset many universities at this point o_O

  • In PERL, I can write a generic script whose output can easily be diverted to console, file, or device

    I don't use Perl, I use C++ instead, but I feel the same way about devices.

    Certainly the most time lost in programming is debugging. (well, maybe not by the programmers of certain software companies who seem to do no debugging at all...) And debugging *demands* a console. What is simpler, 'printf("got to xyz, variable xpto has value %d\n", xpto)', or setting breakpoints, opening variable display windows, scrolling to the variable you want, etc, in a debugger? I seldom use debuggers at all, the printf way is so much better.

    Having said all this, what can I say of Microsoft Windows *, where programs have no consoles? Sure, you can go all the way and create a console window. You can even format text and display it in the console window you created. And it's simpler to create consoles in Windows 95+ than in the 3.* series. But I still think writing 'printf' is easier and faster.

  • Um.

    How, exactly?

    You see, this is the whole, central absurdity of .NET- at some point you have to stop crying out "Cross language object reuse is easily done!" and actually IMPLEMENT it. It's all very well saying that, but what evidence is there that this makes any sort of sense in the real world?

    Here, I'll answer you with an equal counter-argument: In CORBA, cross-language objects give you freshly baked chocolate chip cookies unlike in selfish, mean old .NET, which cries like a little baby when it can't get people's undivided attention.

    How is your nonsensical, hypothetical claim any different from my nonsensical, hypothetical claim? Are you claiming freshly baked chocolate chip cookies don't exist? *g*

  • Does this mean that no matter what language you use, you now have to use a Microsoft compiler? Or does it mean that no matter what language you use they are dependent upon MS for the spec to be 'compatible' with .NET- which is being specified in rather _general_ terms that aren't useful to a person writing a compiler for another programming language?
  • by EXTomar ( 78739 ) on Thursday November 09, 2000 @10:36AM (#634145)
    I haven't look at the .NET stuff in awhile so I'm not exactly clear where Microsoft stands at this point.

    Sun's point is valid. Its nifty that Microsoft takes it upon themselves to implement a bunch of tools and services for the internet. Unfortunately for Microsoft the Internet is a hardware independent beast. If Microsoft creates a bunch of software that only works on their OS and refuses to be open about their communication protocols then .NET aren't handcuff...its a shackle.

    Microsoft should be open as possible with their Internet products. If they don't, there will be hacking on their protocol to reverse engineer the protocol. If Microsoft refuses to write software to support other platforms and they refuse to keep as much of it as open as possible then it leaves those who want to work in other hardware and software configurations with little alternitive.
  • by Latent IT ( 121513 ) on Thursday November 09, 2000 @10:36AM (#634153)
    The first line - Slow Java^H^H^H^H adaptation of Java.

    I type too fast, and think too slow. Maybe I should use the preview button or something.
  • by Johann ( 4817 ) on Thursday November 09, 2000 @10:41AM (#634164) Homepage
    Check this out [businessweek.com] to see where MS stands on .NET.

    "Fat, drunk, and stupid is no way to go through life."
  • by Utopia ( 149375 ) on Thursday November 09, 2000 @10:41AM (#634166)
    No surprises for an article written by a sun employee. MS has announced Corel will implement the .NET port for Linux.

    As regards java being platform independent,
    java ports on platforms other than Windows/Solrais
    leave a lot to be desired.
  • Any moderate+ sized .NET application well need core windows services and APIs to operate. That's like having a jvm without most of the core java language libraries. Just porting (if THIS even happens) the IL code over to other platforms won't allow any real use of .NET ... unless you think microsoft might port it's window's APIs
  • by PollMastah ( 174649 ) on Thursday November 09, 2000 @10:45AM (#634179) Homepage
    Java has it's niche, though. And it does what it was intended to do - make code HIGHLY transportable. But you can't outrun native code, no matter how good your universal language is.

    And what stops you from compiling a Java program with gcj [redhat.com]? And notice that gcj not only can compile Java source code into native code; it can compile bytecode into native binary!

  • by scott1853 ( 194884 ) on Thursday November 09, 2000 @10:48AM (#634190)
    I sure as hell am. .NET will do nothing more than limit innovation. If you read the MS propaganda, they take away almost all functionality for the sake of security and stability. Obviously because they can't make the memory management work in Win xxx, they're going to take everything away, so you'll never get a BSOD.

    It's nice that they're trying to make this thing stable and secure, but they're taking it to the extreme and don't realize the problems they are creating. They seem to have notion that all developers use VB, and are creating .NET with them in mind. I know .NET is suppose to support all languages equally, but they are dumbing it down to a subset of the existing APIs.

    This all stems from MS attempting to make every product they ship, into a development environment. I don't need my browser to run my system. I need my system to run my browser, which in turn, I only need for loading web pages. They are trying to allow everybody to become a developer, and the truth is, not everybody should.

    Cross-Platform compatibility, security and stability. We need these things, but do we need to give everything up for them? I don't want to have code everything in low-level assembler, but I don't want to eliminate my ability to use it if I need to.

    I'm really hoping that .NET will never come to be. If they release it, I'm switching to Linux.
  • by B1ood ( 89212 ) on Thursday November 09, 2000 @10:48AM (#634191) Homepage
    But you can't outrun native code, no matter how good your universal language is.

    That is usually the case, very true, but cases do exist where interpreted code (or byte compiled interpretation like java) has performed just as good or better. This [aceshardware.com] article illustrates that better than I can say it in a reasonable amount of words. It all comes down to just how parallel the java instructions in the bytecode are to the native instruction set of the underlying processor, and the ability of the jvm to remove its own overhead.

    B1ood

  • ...Microsoft is spinning [.Net] as innovative new platform but what they're really doing is giving developers an updated set of handcuffs...

    Yeah Right.. The same one Java Developers wear :)

    ..Essentially, .NET is an effort to help traditional Visual C++ and Visual Basic programmers catch up with the times....

    Tell me whats wrong with that Bozo !!.. Both these languages has still a huge market share than anything else in the world. And most of the existing systems currently being ported and rewritten to other languages are developed in it. What Microsoft is doing is trying not to lose market share, and in turn come up with a Loosely coupled architecture for integrating and deploying heterogenous systems. Yup..Flame Me.

    ....There are no third party vendors of ASP+. In contrast there many vendors of JSPTM solutions for a variety of platforms...

    First off all, JSP was a ripoff from ASP. ASP has a much bigger developer base and ASP developers has been crying for better features and thats where ASP+ comes in. Now ASP+ will use Visual Basic, C#, and possibly other languages for code snippets. All get compiled into native code through the common language runtime (as opposed to being interpreted each time, like ASPs). So you could mix and match languages and not be tied to Java alone.

    ...Microsoft has not suggested or even hinted that the .NET platform as a whole will handed over a standards body, so standardization can only exist at the language level....

    First of all, Sun doesnt work well with IBM or anyone else in opening up Java. Now they cry wolf when MS doesnt open up the Framework For .Net. M$ has already given Corel the responsibility for building the Framework for Other OS's including Linux. Obviously it would be benefit them financially, but we are not tied down to one OS ultimately.

    ..The Java language, VM, and APIs are all vendor neutral. There is no vendor lock in....

    Yeah right..except that you are locked in to one language who still dont deliver in terms of Portability.

    .....The key difference is that the Java platform is a mature cross-platform solution with no direct ties to any underlying operating system.....

    Where does this guy live ? Antartica ? Corel would work with M$ in porting the .Net framework over to other OS. I would believe it when I see it, but efforts are underway. So if you dont know what you are talking about then SHUT UP..and dont mislead poor tech junkies out there.

    ...This means that any nontrivial application built on the .NET platform must run on Windows, and Windows alone....

    Tsk..tsk.. This guy just dont realise..does he..

    ...Apparently, the underlying goal of .NET is to perpetuate platform lock-in. ....

    Pure Unadulterated FUD.. No wonder since SUN sponsors this guy's Chopper Trips :)

    ....Sun is not the only vendor of the Java platform. IBM, Symantec, Apple, as well ....

    Well didnt we all hear sometime back that these other vendors were planning to liberate Java from Sun ? tsk..tsk..

    ...Third parties have inspected the Java platform's publicly-available source code for security holes.....

    True.. But Sun should rather worry about closing the holes in Sun Solaris 2.7 before they comment on Windoze.

    Ultimately, no Interpreted language would ever handle a candle to something that compiles to native code. M$ is leveraging that to provide integration across heterogenous platforms through the CLR. Like it or not..its going to happen and thats what make sense.

    My two cents.. Thanks for reading.
  • by redhog ( 15207 ) on Thursday November 09, 2000 @11:02AM (#634196) Homepage
    Nope.
    Your memmory don't serve you...

    In an agreement (made when MS bought some non-voting shares in Corel), Corel agreed MS may optionally have Corel port MS .NET to Linux. If MS opt so, they should hand over the sources to MS .NET, and Corel is entitled to a non-transferable, sitewide source-license. As I remember the text from the agreement (It's not by the letter, but freely from my memmory).
  • by twisty ( 179219 ) on Thursday November 09, 2000 @11:02AM (#634197) Homepage Journal
    Sounds like both parties are focusing on the ugly aspect of the .NET idea: VisualBasic and C++/C# can battle Java all they want, but in the long run , the real merit behind any .NET idea is ASP and data sharing, and shackling that into any language is a bad way to make a standard. In fact, a proprietary infrastructure that brands you into fixed product models would be better described an antistandard.

    I dual boot Linux and Windows... but in the programs I've been developing lately, I've been booting more to Linux using PERL than to Windows using VisualBasic. Why, when VB is set up with more of the functions I desire, would I do that? Simple: Microsoft locks the user into inflexible paradigms of "device" metaphors, making it nearly useless in several circumstances.

    I went from DirectX to OpenGL back when MS was pushing "vertex buffers" and "callback routines" just to draw a single triangle on the screen. The device metaphor was crippling. In PERL, I can write a generic script whose output can easily be diverted to console, file, or device. In VBA, the object modelling constrains you to cast your functions against specific application objects... bleh.

    Microsoft got their start in business licensing MS-BASIC to every home computer they could. Once they started the Windows gig, they said "Empower the user?!? What were we thinking!" Now their VBasic bundle is only found in applications, and empowerment comes at a price.

    I cannot fathom their adversarial stance over their own customers. I believe the backlash is coming sooner rather than later.

  • by IGnatius T Foobar ( 4328 ) on Thursday November 09, 2000 @11:02AM (#634198) Homepage Journal
    The early assessment is correct, and Madhu Siddalingaiah agrees: C# and CLR might be portable -- and sure, it's possible to port them to other operating systems -- but that would still be completely useless, because the .NET framework involves a lot of API's that are, and will be, only available on Windows. The core class libraries in Java, on the other hand, are available anywhere the Java runtime is available.

    Make no mistake about it: the .NET framework is designed for this goal: "Write once (on a Windows machine), run anywhere (as long as it's a Windows machine)."

    Probably the only useful bit of "portability" the Microsoft CLR will achieve, is that it gives them a migration strategy for upcoming 64-bit Windows. It allows developers to write on Win32 and run on Win64. Oh, how portable!
    --
  • by johnlcallaway ( 165670 ) on Thursday November 09, 2000 @10:49AM (#634201)
    the statement 'write once, test everywhere' is still much in vogue.

    Now, I don't write much Java, being a Sun sys admin and all I tend to use Perl more because I need closer access to the OS. And the few I have written have not been GUI oriented and would probably run on all platforms. But it seems that if Sun really wants to get into the 'one language for all platforms' that Madhu Siddalingaiah says, then they still have a lot of work to do for anything but trivial programs.

    For example, a current program our developers are working on uses the Sun plugin for IE. The same Java applet performs differently in Windows 98, Windows NT, and Windows 2000. And I don't even want to talk about the problems they had with the Netscape browser....

    Come on Sun ... clean up your own house before you start tearing down someone elses.

    Microsoft, can't live with 'em, can't shoot 'em....
  • by Pov ( 248300 ) on Thursday November 09, 2000 @11:03AM (#634208)
    Sounds like you've never programmed for rapid development or on a budget before. VB is plenty powerful for what most people need and takes a third the time to code in my experience. As someone who started out gung-ho C++ and who writes at least ten lines of Java a day, I feel pretty safe saying that VB is one of the best things that could have come along for businesses that want an application up quickly that performs acceptably. C++ may have a performance edge, but when combined with the latency of your network or the Internet, it doesn't make a bit of difference. Plus, the increased control you have with C++ or Java doesn't really gain you anything you can't accomplish more easily with VB, just more effort with greatly diminishing returns.

    As for platform independence, I think it's highly overrated by slashdot readers. All it really does is force you to leave out advanced features and code for the weakest link in the system. Don't get me wrong, I have to swallow the pill and dumb down a lot of the work I do so it will run correctly on a Mac or Netscape to reach all of the target audience sometimes, but much 'sweeter' applications can be developed in LESS time if you consentrate on a target platform.

    Lastly on platform independence, just realize that Java isn't any more platform independent than anything else, it's just got an interpreter that has been written for each platform! If a new platform comes out, it won't run Java at all until someone writes an interpreter for it and when new releases of Java come out Macs and other platforms lag behind on the new releases so you STILL get code that doesn't work everywhere.

    Microsoft utilized VB to allow one easy to use, fast language to work across the most popular platform. I think they did more for application development with that move than all the effect Java has had being just another language to learn that still can only be used in certain places.
  • by sheldon ( 2322 ) on Thursday November 09, 2000 @10:57AM (#634213)
    Umm... I guess I'm getting somewhat tired of people commenting on .Net without really taking a critical look at it.

    A core basis for it's existence is Cross-Platform support. Microsoft understands that companies do have multiple systems in their environments which need to work together.

    Unlike Sun, Microsoft is not suggesting that you should write all your software using Java. Instead they are saying... write your software with whatever language you want and then using .Net they can communicate together.

    Microsoft's goal is to have services which run on Win2k servers talking to services running on Mainframes or Unix servers.

    This happens today, but you need to devise some custom solution to make them talk with each other. Microsoft is simply providing a generic framework for you, so you can focus instead on the solution details.
  • by Carnage4Life ( 106069 ) on Thursday November 09, 2000 @11:00AM (#634215) Homepage Journal
    The .NET platform is an improvement for Visual C++ and Visual Basic programmers, but it is yet another proprietary Microsoft platform which will tie the developer to Windows, albeit possibly a .NET-ized notion of Windows.

    I love Java, but this is simply bullshit. The main purpose of .NET is the exact opposite. It's purpose is to allow developers to actually use COM and the Windows API without being shackled to VB and Visual C++.

    Currently there are plans for .NET to support the following languages APL, CAML, Cobol, Haskell, Mercury, ML, Oberon, Oz, Pascal, Perl, Python, Scheme, and Smalltalk. In fact, Rational is planning to create a Java-language compiler that targets the .NET common language runtime. The details are available on the MSDN site [microsoft.com].

    Obviously this scares Sun and that's why they are publishing this propaganda because it begins to show the truth that Java shackles developers by forcing them to use the Java(TM) platform for all development in all three tiers of a client-server application if they plan to use the Java&#153 language for any aspect development (yes, I know about JNI, but it is currently subpar).

    Second Law of Blissful Ignorance
  • by Da VinMan ( 7669 ) on Thursday November 09, 2000 @11:19AM (#634221)
    This sucks.. this is one discussion really close to home for me *and* I have moderator points today.

    Post or moderate? Post or moderate?

    POST!

    Don't like Java's (too low) level of abstraction? Tired of being stuck on Windows because of your employers obsession with VB?

    Convert them to Python! They'll be happy how fast you get things done AND they'll love the easy portability to Linux, Solaris, Macs, etc.

    It just makes sense. Today, I can even run Python in a JVM. I can run Python in the .NET CLR (take a look at ActiveState, they seem to be in bed with MS - there's a Python .NET beta ongoing right now).

    If Microsoft never ports the CLR to OSs other than Windows, you STILL win.

    Now, here's the kicker: Java will be available for .NET too. (Or maybe not, this might be pure FUD, but SOMEONE will do it, even if Rational drags their feet.)

    Now, observant people will point out that regardless of the fact that you would be using Python or Java, the fact that you're using it in a JVM or CLR naturally means you will use the libraries in those environments. And that's true. However, it's nothing a good designer couldn't mitigate to a large extent (not perfectly I know) using the GoF strategy pattern and other abstraction techniques. Furthermore, most of Python's standard libraries are already ported to the JVM. It's just a matter of time before they show up for the CLR too (and for Java too).

    Also, learning both sets of libraries and both Java and Python will simply be good for your career. You'll honestly be able to claim multi-architectural proficiencies, from the comfort of a high-level development language (or at least a "higher-level" development language in the case of Java).

    Now, anyone who can poke substantial holes in this will be doing me a favor. My general career direction in the near future will be Python/Java heavy because of my assumptions above.

    Just to clarify something: I approach this purely as a corporate applications designer and developer. I have no interest in systems-level stuff, embedded systems, real-time systems, etc. Very little of the above even matters for those area (although there are embeddable versions of Python AND Java, as well as a hard real time version of Java).

    Thanks in advance for your rabid attacks! ;+)

  • by Anonymous Coward on Thursday November 09, 2000 @12:11PM (#634225)

    What stops me from using gcj is the lack of documentation. Things like
    /opt/jdk-1.3.0/jre/lib/rt.jar:0: Not a valid Java .class file.
    Rather sucks, wouldn't you agree? And
    java.lang.NullPointerException at 0x401033cb: _Jv_ThrowSignal (/usr/lib/libgcj.so.1) at 0x40103402: _Jv_ThrowSignal (/usr/lib/libgcj.so.1) at 0x0804f429: __frame_state_for (./bdd) at 0x0804d14f: __frame_state_for (./bdd) at 0x0804f2b2: __frame_state_for (./bdd) at 0x401cf23d: gnu::gcj::runtime::FirstThread::run(void) (/usr/lib/libgcj.so.1) at 0x401d8d0a: java::lang::Thread::run_(java::lang::Object *) (/usr/lib/libgcj.so.1) at 0x401e930d: _Jv_ThreadSetPriority(_Jv_Thread_t *, int) (/usr/lib/libgcj.so.1) at 0x403064d1: GC_start_routine (/usr/lib/libgcjgc.so.1) at 0x40320a57: pthread_detach (/lib/libpthread.so.0) at 0x4041955a: __clone (/lib/libc.so.6)
    Is rather hard to decipher...
  • by Danse ( 1026 ) on Thursday November 09, 2000 @11:32AM (#634233)

    just realize that Java isn't any more platform independent than anything else, it's just got an interpreter that has been written for each platform!

    Exactly, which makes it many times more portable than anything made by Microsoft.

    If a new platform comes out, it won't run Java at all until someone writes an interpreter for it

    So? Do you have a better idea? Interpreters will be written for any platform that needs it. Once the interpreter exists for the platform, then the java compiler will run on that platform and you can use your code there. Again, much more portable than anything Microsoft has done.

    and when new releases of Java come out Macs and other platforms lag behind on the new releases so you STILL get code that doesn't work everywhere.

    Well, if you decide to update your code to take advantage of new features, and you know you have to support multiple platforms, then you just hold off on releasing changes until updated interpreters are available for those platforms. They will likely be in the works while you are busy updating your code anyway.

    I think they did more for application development with that move than all the effect Java has had

    Perhaps, but only if you need to support only Windows users and nothing else. Microsoft solutions will always be limited by Microsoft's ambition to be the only game in town.

    being just another language to learn that still can only be used in certain places.

    Which amounts to a hell of a lot more places than any Microsoft language can be used.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...