Slashdot Mirror


J#

fuze writes: "It's basically a way for Java developers to migrate their Java apps to .NET.... even provide a 'convenient' migration tool... check it out on MSDN." News.com has a story describing Microsoft's plans to suck Java into .Net, and some commentary saying basically, "No one will use it".

337 comments

  1. .NET by staticdragon · · Score: 1, Interesting

    I still don't after all this time understand exactly what is the point, or rather the benefit of .NET. I've even had the on-campus M$ rep try to explain it to me, all to no avail. As to M$ sucking something else into one of their own products, what's new with that? Isn't that what they do best?

    1. Re:.NET by Osty · · Score: 3, Informative

      I still don't after all this time understand exactly what is the point, or rather the benefit of .NET. I've even had the on-campus M$ rep try to explain it to me, all to no avail.

      Check out http://www.microsoft.com/net/whatis.asp for an explanation on what .NET is. Take special note that .NET is not the Common Language Runtime, or the C# programming language, or Visual Studio.NET, or Visual Basic.NET, or the SOAP Toolkit, etc. Those are part of the .NET Framework, or the platform that enables you to build .NET services (since .NET is all about XML-based web services).


      As far as what benefit you gain, that's twofold. With the .NET Framework, specifically the Common Language Runtime, you gain the ability to easily work with objects across many different languages, without any grunt work to get in the way (such as making sure you write everything as a COM object, and doing your own reference counting, and making sure you initialize and deinitialize COM). And since all the objects from code targetting the CLR are exposed as COM objects, you can even use them from languages that don't support the runtime, such as C, non-Managed C++ (aka, C++), VB6, Delphi, or any other language that supports COM objects.


      .NET itself is more about server-server communication over the web. By passing around SOAP messages (via SSL, when security is an issue), you can implement anything from alerting users that they're being out-bid on something like eBay, to providing stock quotes more easily (without having to "scrape" html pages), to offering choice hotel information when you book a plane flight, and so on. Yes, all of that can be done now, but .NET aims to make it much easier. The potential for XML-based web services is pretty much bounded only by your (editorial your) imagination, and since it's all based on standard communication methods (HTTP(s), SOAP), you won't have to define new protocols for passing data around each time you want to do something new.


      There are similar things out there, such as XML-RPC, but they don't focus as much on providing web services as .NET does.

    2. Re:.NET by jonnosan · · Score: 5, Informative

      This is the perspective of someone with a couple of years experience in "enterprise" development, i.e. apps that have a UI that is probably a bunch of data entry forms, a database at the back, and a "business logic" layer that looks at the input, massages it, acts on it, sends it to the db, etc.

      These sorts of apps are not very sexy compared to writting an OS or a game or something, but they're what 90% of developers in the world work on.

      A typical enterprise app will need to have a bunch of different front ends (e.g. web interface, a simple gui for data entry clerks, a bunch of reports) etc. Also, you'll have lots of people working on different bits and peices, and lots of changes going on all the time, e.g.say a sales manager comes up with a new promotional scheme that gives volume discounts you need to update your app to handle the calculations.

      So with all these people working on apps that are evolving rapidly, you can end up with spaghettii code pretty quickly. If you want to have something that's maintainable, you really need to use OO and come up with an object model that seperates the user interface, the business rules, and the data layer.

      The problem with this is that it is hard to have an object model that works well over distributed systems, and hard to have an object model that can be used by developers using multiple languages.

      COM is a start to allowing objects to be used from multiple objects, and over distributed systems, but it has limitations, largely related to the fact that different languages don't have the same idea of basic data types.

      .NET solves this by making all languages share a virtual machine that defines a bunch of basic data types, and a base 'object'. This means that any object created in one .NET language can be accessed by another .NET language.

      So you can have a your web front end people write ASP (VB) pages that interact with business logic written in c# without having to compromise your object model.

    3. Re:.NET by Hostile17 · · Score: 2, Troll


      In short .NET is a brand new way to spread VB script virus. They have even convinced a couple of Open Source projects to develope for .NET so now even Linux users can now enjoy the next Melissa/LoveBug virus to go around.



      This is Flame Bait and I am a Troll, Please moderate accordingly.

      --
      Fascism should more properly be called corporatism, since it is the merger of state and corporate power - Benito Mussoli
    4. Re:.NET by Anonymous Coward · · Score: 0

      M$ bashing is getting old.. maybe if people
      stop bashing M$ and creating some innovative tools for Linux for a change other than making the next cool windows manager or waiting for the next kernel update, Linux would be taking over.

    5. Re:.NET by Anonymous Coward · · Score: 0

      Although I would argue that the way that .Net 'solves it' is by modifying all the supported languages so heavily (particularly VB - yes, OK, no big loss there!) that they aren't the same language any longer.

      There is really only one supported language in .Net: MSIL (Microsoft Intermediate Language)

      If your language of choice didn't work like MSIL before, it will now.......

    6. Re:.NET by AbsoluteRelativity · · Score: 1

      Wouldnt that mean MSIL-lockin or dotNet-Lockin...

      --
      disclaimer : My views do not represent those of every one else in slashdot.
    7. Re:.NET by Twisted+Mind · · Score: 2, Insightful

      Not saying this isn't true, but this is all already possible with Java.

      Differences are only that for the JavaVM there are much less languages available (besides Java itself Python and maybe some other language), where for the CLR you already have (besides C# and VB) Cobol and Haskell and even more languages.
      Also, Microsoft seems to market .NET better, of course five years ago Sun was slightly to early with their Java platform (but they needed that time anyway to manture Java).

      --
      (-% TwistedMind %-)
    8. Re:.NET by DavidJA · · Score: 1

      Is vendor lock-in such a bad thing tho?

      At the end of the day, if can happily do everything I need to do with one company, why not stick with them? From Windows on the desk top to Exchange & SQL on the back end.

      Where 'Going The Microsoft Way' is a good thing is skill sets. I can have a $65k VB/SQL coder create my corporate order tracking systems in SQL/VB/ASP, delivered over Win32 or IE, then when I want to tightly integrate this system with Exchange to take advantage of Unified Messaging (sending confirmations via SMS, Fax, IM) I can get the same coder, with the same skill set to do it as well. (He can even use ADO to access the exchange mail store!) - Or I can write some funky Digial Dashbord type technology which allows me to embed HTML + COM 'wiegets' into Outlook today

      So you can end up running your entier company from within the Outlook Interface, with different web pages hosted within the Outlook UI. Take it off-line, sync to a local MSDE database and everything is available on the road.

      Imagine doing this on an Oracle Platform, then having to integrate with Notes.

      All .NET really does is take this mentality to the next level.

      In my experience, it all comes down to trade offs. Yes I will be locked in to using Microsoft for ever, yes they can jack the price up, but at the end of the day I've probably better off because development has been quicker/easer/less painful.

    9. Re:.NET by pubjames · · Score: 3, Insightful

      At the end of the day, if can happily do everything I need to do with one company, why not stick with them?

      There's a simple answer to that - because you then give the company the power to screw you. The question is not sticking to one company, but choosing a partner that uses open standards which do not lock you in.

      Microsoft is beinging to turn the screws by increasing their licencing fees, which at least in the UK is upsetting an awful lot of big organisations. They are only able to do this because of their 'vendor lock-in'.

    10. Re:.NET by Anonymous Coward · · Score: 0

      Believe it or not, but the integration between applications you 're writing about is exactly what Unix does from long time.
      Microsoft had to reinvent the wheel one more time because of marketing choices, and because on the Windows platform you don't have small integrated programs that do one and only one thing like on Unix, but big applications that replicated almost all functionalities between each other, without even considering the possibility to communicate to exchange data.
      Under Unix, instead, it's normal to have very little specialized programs and a powerful underlying system that will allow interaction between them in a incredibly powerful way.

      Besides that, under Unix you aren't stuck to an object model or to one programming language, because it's the operating system that takes care of all interaction and data exchange between your applications.

    11. Re:.NET by Lumpy · · Score: 0

      So basically you're saying that Linux has had this .NET ever cince perl and php came into existance.

      I have been doing what you said above but without the overhead of asp and VB apps for years. Usinf OO programming and with a decent project manager the code mess is also avoided. E-commerce, data entry, you name it, if it deals with a database and data It is already been done, and done easily with a linux or BSD system, Apache and one of the super powerful scripting languages. Having an Object model that is portable is a moot point, if you create a commumication interface that is simple but secure (open text over ssh for a really simple and trivial to impliment example) you can even have someone write code in turtle for it. (Ok that's an overstatement, but you see my point)

      Also the typical enterprise will not stand for having a million interfaces written in 30 different programming languages. Most corperate deployments are going with purely web interfaces to eliminate maintaince problems and install problems, no client software needed other than netscape, and security is the #1 concern now. enterprise wants 1 interface that they can control, lock down, and eliminate bugs and exploits from, they do not want 15 client apps out there and wonder what to do when an exploit is found.

      So what again is the benefit of .NET? exactly how does it make my job easier? Or is it only intended to remove the burden of a thick wallet by removing that pesky money and delivering what I already have.

      Is it enhanced, uncrackable security?
      compatability?
      I see no advantages, but then I have yet to see a comprehensive presentation that shoes an example of "old school" app and a new .NET app doing the same thing... (Migration example and how my life is peachy now instead of evil torture)

      --
      Do not look at laser with remaining good eye.
    12. Re:.NET by Anonymous Coward · · Score: 0

      Are you going to code Perl and PHP for the next 50 years using fucking VI? if so then you are correct, there is no benefit to using .NET

    13. Re:.NET by ergophobe · · Score: 2, Informative

      Let me give some input from the perspective of a systems engineer rather than a software developer. Someone who has to run the crap you programmers put out.

      So you can end up running your entier company from within the Outlook Interface, with different web pages hosted within the Outlook UI. Take it off-line, sync to a local MSDE database and everything is available on the road.

      That sounds like a marvelous idea. And the next time a nasty virus/worm creeps in that exploits some flaw in Outlook, you've just lost all your corporate data because that worm will crawl from component to component thrashing everything in its path, completely oblivious to Microsoft's so called security. All in the name of integration. Does it still sound like such a great idea? There's nothing you as a developer can do to stop it, because all you're doing is writing tools for a fundamentally flawed platform. You can't fix the platform, and you can't choose a better one. You're locked in to Microsoft.

      There's nothing wrong with using a single vendor as long as you're not locked into that vendor. Any production systems engineer will tell you there has to be a back-out plan before you make any change. Where was the back-out plan when people started choosing Microsoft? With Unix, if you don't like one vendor, choose another. If your code is well written it takes little to no effort to port it and recompile (if any porting is even necessary). Switching from MySQL to Oracle? I don't know about C, but in Perl, it's as easy as changing one line of code (if you were foolish enough to hard-code your DSN string). Want to port your business logic server but not your clients? If you want to switch from Microsoft to some other vendor, well.. Good luck, and have fun re-writing your application from scratch. I said I'm not a developer, but I'm a systems engineer who occassionally writes useful tools to make my job as a systems engineer easier. I write AND TEST those tools on my desktop Linux box. I run them on $500,000 Sun Solaris servers. I generally don't even have to change one line of code. I can do that in C/C++, Perl, PHP, Java, Python, and any number of other languages. I can even write a program in C that interacts with another program written in Perl. Try writing a tool in C# or VB or some other new proprietary Microsoft language or even one of the standard languages like C. Now try compiling that code and running it on a Sun server. Won't work.

      The people who think Microsoft is the best solution, generally have lived their entire lives locked into Microsoft and don't know of a way out. This is how Microsoft has made its billions, and how despite all its devistating flaws, remains a top competitor.

      --
      "We can make this work, but you're going to need a screwdriver, pocketknife and some duck tape."
    14. Re:.NET by Anonymous Coward · · Score: 0

      Can you write a proggy that passes a binary object from one executable to another OVER HTTP in Linux? .NET can, even from executables written in different languages.

      Can you write a class (dog), and implement that class into a new class (poodle) using more than one language? .NET can.

    15. Re:.NET by dave-fu · · Score: 1

      > There are similar things out there, such as XML-RPC, but they don't focus as much on providing web services as .NET does.

      SOAP is already an open standard. If Sun wanted to, I'd imagine it could pretty easily build in SOAP functionality into J2EE's guts, but you'd still be stuck, for better or for worse, developing in Java.

      --
      Easy does it!
      This comment has been submitted already, 276865 hours , 59 minutes ago. No need to try again.
    16. Re:.NET by Fraize · · Score: 1

      you then give the company the power to screw you


      You're absolutely right. What the business needs to do, then, is perform a risk assessment. Is the risk that Microsoft is going to screw me in licensing fees later worth shrinking the development cycle, and reducing my time-to-market?


      For many companies, mine included, time-to-market is the magic number that must be kept low. Therefore, we're a Microsoft shop.


      ...except for those java twinks down the hall. ;-)

      --
      --Quidquid latine dictum sit, altum sonatur.
    17. Re:.NET by AssFace · · Score: 2, Interesting

      this is fucking ridiculous - this guy gets a mod score of 2 b/c he says "linux good, grrr, ms bad, grr".
      whereas the people that point out that he is *wrong* get modded to zero.
      fucking idiots.

      anyway, the parent to this dudes post raises some good points - but I'm curious if .NET, since it is a VM on top of the OS, which is what Java is as well - does it run as slowly? or slower b/c it has more languages to work with?

      all I know is that I spend all day programming business apps as that guy said, and java sucks balls, but I'm not certain that .NET is the answer to it.

      oh and, linux linux linux - I run it, I also run all the MS OS's - so let's see how I get modded.
      fuckers.

      --

      There are some odd things afoot now, in the Villa Straylight.
    18. Re:.NET by irix · · Score: 2
      So you can have a your web front end people write ASP (VB) pages that interact with business logic written in c# without having to compromise your object model.

      Funny, I though I had ASP(VB) talking to C++ years ago with COM and MTS (althought I hated working with ASP).

      I admit that the common language runtime is a good idea, but more evolutionary rather than revolutionary (virtual machines have been around for a while).

      After that there is not that much to .NET other than marketing. XML-RPC is a good idea in a lot of cases, but it is not like Mirosoft invented it, or is the only one doing it. Passport and Hailstorm ore likely never going to fly in the marketplace - how many people, even PHB types, who would really trust Microsoft that much?

      --

      Do you even know anything about perl? -- AC Replying to Tom Christiansen post.
    19. Re:.NET by Fraize · · Score: 2, Interesting

      I'll give you some figures I compiled yesterday.

      I'm writing an application that will bring our e-commerce site for my company into .NET-land. One of our concerns was bringing COM objects through .NET's interop layer (a translation layer between .NET and COM). We ran some code in ASP that manipulated a large XML dom 1000 times, and execution time took a pathetic 21 seconds (21348 ms).

      We, then took that code and re-wrote it in .NET. The exact same operation took 1.5 seconds (1511 ms).

      Just to see if it was the JIT compilation that gave us our performance jump, we compiled the same logic into a COM object, and ran it through ASP and .NET. The same operation took just under 1.5 seconds (1487 ms).

      The advantage here is clear - You get the same level of maintainability with .NET ASPX files as you do with ASP files, but you get the performance equivelant to compiled binaries.

      --
      --Quidquid latine dictum sit, altum sonatur.
    20. Re:.NET by AssFace · · Score: 1

      that's impressive.
      I worked on a project and yes - ASP is retardedly slow with XML - we were doing XSL transforms/translations and the tests we did in ASP were worthless (but ASP still kicks JSP's ass all over the place). so it was all done in the COM objects (done in vc++) and they were of course plenty fast.

      I have another questions then - how does the .NET do in clustered environments? right now the biggest problem we are running into is caching the config data for a clustered group of servers and the associated problems (integrity, persistence, etc).

      --

      There are some odd things afoot now, in the Villa Straylight.
    21. Re:.NET by fredrik70 · · Score: 1

      "...Under Unix, instead, it's normal to have very little specialized programs and a powerful underlying system that will allow interaction between them in a incredibly powerful way..."

      you mean pipes??
      ;-)

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    22. Re:.NET by Fraize · · Score: 1

      Depends on the clustering environment, but here's what we're doing...

      We expect to expose our e-commerce objects as web services that will live behind a cluster. So, for example, we can have a Commerce class exposed on "http://commerce.dotnetservice.com/". That name resolves to a web cluster of n machines: machine1, machine2, ..., machinen. .NET can maintain state via the same old session objects as ASP, you can add garbage to the querystring, or you can maintain state in a database. The clustered machines don't care, as long as you use either the querystring method or databased session management.

      Our initial (figureless) prototypes show clustering in .NET kicks major bootyack.

      --
      --Quidquid latine dictum sit, altum sonatur.
    23. Re:.NET by Anonymous Coward · · Score: 0

      with all due respect...
      get a clue.

      PHP/Perl are not even the same architecture. Agreed - they do the job. But try separating your interface from the business logic - and you'll be in a mess. Enterprise applications are quite complicated - perl is a great language - but where's the distributed computing?

    24. Re:.NET by dwarfking · · Score: 1, Interesting

      Coming from the perspective of years of designing and implementing enterprise application, I'm afraid I must disagree with "you really need to use OO". However, I do agree with the remainder concerning coming up with a model, if the model in question is modeling the communications layer between systems.

      We have systems written in totally non-OO languages (MVS COBOL, Informix 4GL, RPC, etc) that we leverage quite nicely. Instead of forcing an object model on this, we use a system that either performs HTTP POST requests or passes XML documents around via the HTTP procotol and have adapters invoke the existing code.

      For example, we have (don't laugh) COBOL code that generates XML documents. The COBOL code is invoked by an HTTP server listening on the MVS CICS system for POST's.

      Currently it isn't necessary to have the COBOL code parse XML as it works quite well with key/value pairs from a POST.

      The point was to utilize the existing available services in our 20+ year old enterprise without whole-scale re-writing. All we are doing is writing adapter's.

      HTTP as a protocol works very well. Most of the activity with table maintenance in a large enterprise is OLTP, thus psuedo-conversational. HTTP works well in that environment as no real state needs maintaining on the service's side.

      O-O is fine, CORBA is a nice idea as well. .NET will have it's benefits. However, considering that there are many large enterprises that have never used O-O that are fully functionaly, high speed and stable, if all .NET provides is an O-O method of performing functions in the enterprise, then I won't need it.

    25. Re:.NET by Znork · · Score: 2

      Your eventual price will be "cost to migrate everything minus $1 per period", where period is the time over which you have to justify the cost. Calculate what it would cost you to migrate everything out of your lock-in and then figure on paying that every one to three years.

      You should also realize that you no longer have any control whatsoever about when you get to recode it all. That is entirely up to when the vendor (MS in this case) wants to ramp up revenue through releasing an upgrade that will break your code.

      Wanting quicker/easier/less painful development is exactly why computers today are expensive, slow and unreliable.

    26. Re:.NET by Anonymous Coward · · Score: 1, Interesting

      I just want to point out that I've coded both your examples:

      + Web pages/COM hosted in Outlook with offline ASP and MSDE syncing

      + Oracle/Notes integration with offline Notes syncing.

      And I'd take the Oracle/Notes solution is a heartbeat over the Microsoft solution. It could be coded in AT LEAST 50% of the time of the MS solution and it's a hellavalot more reliable (Notes syncs code and data, for example, you also have complete control and security over what gets synced).

      I'm not saying that MS doesn't have some great technology, particularly on the webserver and middle-tier level, and NET just extends that and opens all sorts of possibilites that weren't available with crappy old non-OO VB.

      But once you get beyond that, is where the brainwashing begins. Outlook is really a crappy platform, for example. What you called "Unified Messaging" can be achived by any Unix graybeard with a SMTP gateway and a shell script. There's no reason to put in the solution you described other than to be a MS Drone and lock yourself into more of their products.

      So, Microsoft has some good solutions that you should go for. But you have to be a little circumspect. If you aren't, your screwed. (I know people that did lots of Exchange coding via CDO, for example, and we know that that's just going away now, and was a very crappy API to begin with. They're now porting to MSSQL, and kicking themselves for listening to MS to begin with.)

      Furthermore, the 'same coder' stuff is a bunch of bull. I've seen those $65K VB guys -- they might be a wiz with your VBX Grid widgets, but they generally can't do n-tier worth crap. If you really think you can go hire a MS Guy that can wander the minefield successfully, you're going to have to hire a real programmer and not just a code monkey. .NET really drives this point home.

    27. Re:.NET by rayster2000 · · Score: 1

      Encouraging developers to write Java that only works with .Net is like buying breakfast cereal that only stays crispy at night. Maybe that's not a good example. Howz 'bout: Trying to attract Java developers to J# (Sharp) or whatever the hell they want to call their little Java snippet thing, is like GM making cars that only go 100 mph, because you'll wreck, they'll sell more. eh.? Java is King. The M$ framework will not come to measurable fruition 'til 2004 or so. Reality. Java is already there.

      --
      Whatever you like, dream it.
    28. Re:.NET by czardonic · · Score: 1

      Java is King. The M$ framework will not come to measurable fruition 'til 2004 or so. Reality. Java is already there.

      Java had it's chance. Reality. It failed.

      --
      Takahashi Rumiko made beats! DON, taku, DON, taku. . .
    29. Re:.NET by Anonymous Coward · · Score: 0

      Well, that's hardly Advantage Microsoft -- people like WebLogic have supported clustered sessions for a long-time.

      Furthermore, we found that the native ASP session object was so poorly implemented that it was faster to roll your own object with a SQL storage. The bonus was that clustering was free. It's not like a lot of code or it took genius level intelligence to design. (That was with IIS4 -- haven't rechecked 5, although I note that's what MS Commerce Server still goes back to the DB.)

    30. Re:.NET by rutledjw · · Score: 1

      Sun is doing just that, the spec is called JAX-RPC and it's in the formative stages. I wouldn't expect too much from them just yet...

      There is another spec called JAXM (Java / XML Messaging) which is more mature - version .94. I don't know enough about it right now, but at least we know that Sun is working on it. I'm hoping that they do a better job than what we saw with early EJB specs.

      I'd think that Sun would integrate it into JMS (or at least J2EE). Even if they didn't and left it seperate, I wouldn't bitch, I think platform is getting to big anyway. I'd almost rather just have the foundation classes and then download jars as needed...

      --

      Computer Science is Applied Philosophy
    31. Re:.NET by AssFace · · Score: 1

      not sure why the parent of this message got modded down, seems fine to me.

      I will add that WebLogic is what we are currently working with, and they... well, it has many problems - esp with the clustering - so I wouldn't just shrug it off as a cure all - unless you don't plan on using it and instead want your clients to just read the weblogic documents - "no look, it says right here this works, please disregard the fact that the code doesn't"

      I will say that weblogic, from what I've been told by coworkers that deal with them, have a very good customer service dept and they make an effort to track all the problems in the code.

      --

      There are some odd things afoot now, in the Villa Straylight.
    32. Re:.NET by Anonymous Coward · · Score: 0

      J# is another example of a dumb product from that will not take off.

      I remember another revolutionary product that was supposed top be a "applet" killer. it was called ActiveX, and it sucked so bad nobody did anything with it except hackers, who found it's best use was to take over other people's windows computers.

      J# is a joke, more vaporware.

    33. Re:.NET by Thatman311 · · Score: 1

      Sorry I had to response. Please define that "fundamentally flawed platform" that you speak about. You went through and defined the problems with people not knowing how to write OS portable code (at least on the source level) but you never spoke to the "fundamentally flawed platform" you mentioned. Unfortunally for me...your entire statement is hinged on your reasons you think that the plateform is a "fundamentally flawed platform".

      And you speak as though because you are a "System Engineer" you are better than "Software Developers". That is complete and uder BS. You must have some crappy Software Developers to think that their stuff is "crap".

      --
      Silly Rabbit...Sig's are for kids.
    34. Re:.NET by Anonymous Coward · · Score: 0

      Explain this one? I can't wait to hear this!

    35. Re:.NET by AbsoluteRelativity · · Score: 1

      > Is vendor lock-in such a bad thing tho?

      It can be, or am I mistaken in microsofts anti-competitive practices.

      There is not that many viable competitors to Windows these days, a lot of people like linux but it still lacks as a general purpose desktop environment.

      Vendor lockin after all means your choices will degrade.

      > At the end of the day, if can happily do everything I need to do with one company, why not stick with them? From Windows on the desk top to Exchange & SQL on the back end.

      Because at some point it goes from being about whether you should stick with them, to whether they should stick with you. And I mean that in several ways. Like prices, quality of support, quality of products. When you have less choices they have more.

      > Where 'Going The Microsoft Way' is a good thing is skill sets.

      But you would be foolish to think the Microsoft way is the only way (which I'm not saying you are), and to not be constantly exploring your options and trying to leave your options open.

      > So you can end up running your entier company from within the Outlook Interface, with different web pages hosted within the Outlook UI. Take it off-line, sync to a local MSDE database and everything is available on the road.

      It sounds nice, but doesnt sound exactly secure.

      > In my experience, it all comes down to trade offs. Yes I will be locked in to using Microsoft for ever, yes they can jack the price up, but at the end of the day I've probably better off because development has been quicker/easer/less painful.

      But again, at what trade off will there be for security? If you run your business off of outlook, then your business is centered on outlook and how secure your system is. The best thing to have is a way out, dont put yourself in the situation where if things go wrong your ship is sunk with no chance for rescue. Just remember the Code Red Worm cost aproximately $2.6 billion and you want to depend on Microsoft.

      --
      disclaimer : My views do not represent those of every one else in slashdot.
    36. Re:.NET by ayjay29 · · Score: 1

      The MS marketting seems to cunfuse people by talking about "Return on Investment" and stuff that is of no interest to techies. I was very sceptical of .NET as I like to work with Java.

      The best way to learn about it is to install the Beta 2 and play around with it for a weekend. I did this and am really impressed with the framework, the tools and with C#.

      As the old saying goes "Don't knock it 'till you have tried it".

      --
      Offtopic, Inflammatory, Inappropriate, Illegal, or Offensive comments might be moderated up.
    37. Re:.NET by blackwater · · Score: 1

      .Net is pretty cool if you're a Windows developer BUT it's also a great example of why sticking with one company is a really bad idea.

      My company is just about to release a COM-based product that has had many person years of effort expended on it. Once the .Net bandwagon really starts rolling it's going to look like "legacy technology" (in PHB-speak) and we're going to have to re-write large chunks of it just to get the .Net tick-in-the-box from the marketing 'droids.

      We are official partners of MS and *we* are being screwed by .Net so God help everyone else.

    38. Re:.NET by rayster2000 · · Score: 1

      HAD IT'S CHANCE?!...To be a framework?!! Java works NOW! It's already there: Quote:: .NET and J2EE offer pretty much the same laundry of list of features, albeit in different ways. Although Java is ready and continuously being improved Quote2:: "Java runs on any platform with a Java VM. C# only runs in Windows for the foreseeable future." See the link: http://java.oreilly.com/news/farley_0800.html

      --
      Whatever you like, dream it.
    39. Re:.NET by javaman235 · · Score: 1

      Interestesting...I admit that I don't know all the details, but I thought XML-RPC was the Sun equivilent of SOAP...

      --
      -The art of programming is the pursuit of absolute simplicity.
  2. Of course "no one" will use it by Osty · · Score: 4, Insightful

    and some commentary saying basically, "No one will use it".

    Maybe I missed the point, but it's a migration tool. It's not meant to take the place of Java, or even really compete with Java, other than it makes it possible for developers to take their existing java code and move it to the .NET platform with relatively few changes. This means the old objects are now accessible to all .NET languages (C#, VB, Managed-C++, and all the other marginal languages that have been ported), making it less painful to move over to C#. Until the old modules are reimplemented, they're still available. Moreover, even non-.NET languages will have access to those objects as COM objects, since that's a benefit of the CLR. So if you want to write code in C, or non-managed C++, you can still get at those objects (which you couldn't do before without extra work).


    1. Re:Of course "no one" will use it by jilles · · Score: 5, Interesting

      Even as a migration tool its use is limited to projects using the partial jdk1.1.4 API MS supports. Basically any serious Java project nowadays is written using the Java 2 (i.e. 1.2 and upwards) API. And if they are written to the 1.1 API they likely use jdk1.1.8 rather than 1.1.4.

      So basically it is a migration tool for J++ applications. Considering that is a MS product, it makes you wonder if this is the best MS can pull of after all the sole reason migration is needed is because MS decided to drop Java support (so they already screwed you once).

      And even for J++ it is limited since it only allows you to compile source code, you lose information stored in e.g. forms, project files and so on. In addition, Java objects tend to be closesely tied to the Java API and reusing them basically means you are using the Java. So you might as well go for the real thing (including richer API, better performance and so on) and use the com bridge to communicate with the objects.

      In any case, if this is just a migration tool, MS is going through a hell of a lot of trouble to present it as a Java alternative.

      Some advise to people considering to use it:
      - After 'migration' it is still Java code you are using. It won't be much faster and you will still have to maintain it.
      - MS is not very Java friendly, they might drop support for the migration tool at their convenience. The long term strategy is C# (if it ever takes of), not J#.
      - Migration to real Java is probably much easier unless you heavily rely on MS specific APIs
      - There are ways of letting Java objects talk to COM objects (and consequently also .Net objects) that don't require recompilation.

      --

      Jilles
    2. Re:Of course "no one" will use it by Carnage4Life · · Score: 4, Insightful
      In any case, if this is just a migration tool, MS is going through a hell of a lot of trouble to present it as a Java alternative.

      Where and how has MSFT presented this as anything more than a migration tool? From the MSDN Visual J# page.

      Visual J# .NET provides the easiest transition for Java developers into the world of XML Web services and dramatically improves the interoperability of Java-language programs with existing software written in a variety of other programming languages. Visual J# .NET enables Microsoft Visual J++ customers and other Java-language programmers to take advantage of existing investments in skills and code while fully exploiting the Microsoft platform today and into the future.

      Visual J# .NET includes technology that enables customers to migrate Java-language investments to the .NET Framework. Existing applications developed with Visual J++ can be easily modified to execute on the .NET Framework, interoperate with other .NET-based languages and applications, and incorporate new .NET functionality such as ASP.NET, ADO.NET, and Windows Forms. Further, developers can use it to create entirely new .NET-based applications.

      This is rather unfortunate since it looks like no one is working on a port of the Java language to .NET especially since the claims that Rational is working on a Java for .NET seem to be unfounded considering there is no mention of it anywhere on their site. That's a shame, since I feel the combo of Java and the CLR would make a very killer combination.
    3. Re:Of course "no one" will use it by Anonymous Coward · · Score: 1, Insightful

      provides the easiest transition for Java developers into the world of XML Web services

      Which carefully implies that Java doesn't do XML web services. When, in fact, it was the Java crowd that started the ball rolling on such things, and Java is currently the easiest and most powerful XML services solution, thanks to servlets, J2EE and JAXP (which is part of Java 1.4's core...)

      dramatically improves the interoperability of Java-language programs with existing software written in a variety of other programming languages.

      Yeah right. MS Visual non-C++ and VB, they mean. Java already interoperates fine with just about anything else - ANSI C++ and C are covered by JNI, Python, Scheme, Forth, ECMAScript, TCL all compile to JVM.

      In short, this is another pile of wank from Microsoft's ministry of propaganda.

    4. Re:Of course "no one" will use it by Anonymous Coward · · Score: 0

      It would be if JNI wasn't such a bitch and the fact that "Python, Scheme, Forth, ECMAScript, TCL" are completely unsupported and unused in the field.

      Java was designed to interoperate with Java (and CORBA). If working with it hasn't convinced you of that, you need get the blinders off. (And of course, NET was designed to interoperate with Windows, which is actually a feature in some people's books.)

  3. What will they think of next? by Anonymous Coward · · Score: 1, Insightful

    J# seems to me just a cross between c# and java.
    I dont really see of yet another langauge designed for web depolyment.

  4. Evil Ploy Alert! by Gnight · · Score: 5, Funny

    And in other news Microsoft has publicly announced plans for the following projects:

    1. GNU#.net (RMS finally gave up and was hired my MS)

    2. OSX.net (Steve jobs has now finally ground his teeth all the way off)

    3. .org (DON'T even ask what it is)

    1. Re:Evil Ploy Alert! by javilon · · Score: 1

      And in other news Mr Icaza has publicly announced plans for porting J# to Linux.

      --


      When his defense asked, "Which computer has Jon Johansen trespassed upon?" the answer was: "His own."
  5. Well by MxTxL · · Score: 3, Interesting

    There is always the fact that Java is being natively excluded from Win XP. The conspiracy theorists among us would probably argue that this move is to have the J# initiative and thus the .NET initiative to be more successful and quash everyone else.

    1. Re:Well by TZA14a · · Score: 1
      There is always the fact that Java is being natively excluded from Win XP.

      "Natively excluded"? Just because they didn't smach a JVM on the install CD doesn't mean they're excluding it, they aren't excluding Microsoft Office just because you have to install it separately.

      Of course, that's not a very Sun-friendly move, but "excluding" isn't exactly what "not including" means.

    2. Re:Well by Moridineas · · Score: 1

      Natively excluded? I'm not sure of the reasons of this, wasn't it due to a licensing problem with Sun? (could be totally wrong)

      In any case, the first time you go to a webpage with java on it (which actually is pretty rate as I found out) XP pops up a message saying "Do you want to install the Java VM? Yes/No" click yes...it downloads...done. That's it. not a big deal.

      Scott

    3. Re:Well by sql*kitten · · Score: 5, Insightful

      There is always the fact that Java is being natively excluded from Win XP.

      Uhh, hello? Didn't Sun just sue Microsoft? Aren't a bunch of other companies, including AOL and Real arguing with MS right now over bundling of products? It's not as if MS are saying that you can't run Java, they're just saying that it's a piece of third party software, you have to install it yourself, just like you have to install, say, WinAmp if you want it, or Photoshop.

      Sorry, but I think Microsoft are doing the right thing here, or at least they are doing the least-worst thing.

      Isn't it all supposed to be about choice? A world where Java is the only language (and we all know how responsive Sun have been to the wishes of the community, can you say ECMA standard?) would be a poorer world than one where Java/J2EE and C#/.NET have to compete on features and quality.

      There's one way out of this for the Anti-Microsoft camp: get Java to be like C, SQL and FORTRAN, an ANSI standard. Until we see that, this battle isn't one for the engineers, it's marketeer vs marketeer.

    4. Re:Well by JanneM · · Score: 2, Insightful

      So, Java isn't a part of XP. So what, it isn't a standard part of Linux either, and nobody's complaining about that. Of course, I don't personally know of anybody that does run Java apps on the desktop...

      Have you seen the commentary arguing that this, BTW, is a good thing for Java? It avoids having to write for an outdated version, as people will get the latest version when (if) they install the VM.

      /Janne

      --
      Trust the Computer. The Computer is your friend.
    5. Re:Well by Anonymous Coward · · Score: 1, Insightful

      On the whole, the not-bundling-java thing is actually making Java developers' lives easier. Why? Microsoft's Java hasn't been updated since 1.1.

      Java has moved on from there a hell of a lot - 1.3.1 is the standard, 1.4 is in beta - with (a) a completely different GUI system (swing), (b) completely different I/O system (nio), (c) built in XML parsing support (jaxp), etc, etc.

      Now, if you're an online-stock-trading shop that depends on Java for your complex UI on the client side, you can be more confident that the client is using an up-to-date JVM, since they've had to install the latest version, like realplayer, etc.

    6. Re:Well by Andreas+Rueckert · · Score: 1

      > I don't personally know of anybody that does run Java apps on the desktop...

      Is this serious? I don't wanna miss my ArgoUML on the desktop. And if it wouldn't be there, it would be Together. And then there's FOP, Ant etc. I guess I have more Java apps running, than native stuff. If only Classpath would be more complete...

    7. Re:Well by JanneM · · Score: 2, Informative

      Yes, I'm quite serious. I have several friends that run Linux, and several people at my dapartment at the university, as well as at a small company I also work for, run Linux. No one runs any java apps. Two of my friends use Java in classes, so they have the VM (and development packages) installed, but they never use it for anything but class projects.

      I had a JVM installeed for a while recently, as I tried to run a roleplaying accessory (pcgen) written in Java, but it was just far too slow to be useful, so I removed the stuff again.

      /Janne

      --
      Trust the Computer. The Computer is your friend.
    8. Re:Well by Anonymous Coward · · Score: 0

      Talking about conspiracy theory, I think Microsoft is playing right into hands of Sun and AOL here.

      Give out signals about Sun-AOL rift, get Balmer to bad mouth "Liberty Alliance Project".
      Microsoft excludes Java from XP, AOL ships AOL 7.1 (final version) CD with Jdk1.4, and StarOffice 6.0, Netscape 6.2 and add Liberty Alliance Project to it over version 7.0. Office XP sales tank. J# dies and C# is stillborn. Passport becomes a second rate system. End of game.

    9. Re:Well by Anonymous Coward · · Score: 0

      ...everyone hates Nutscrape, buys XP for Christmas, gets on Passport, uses the .Net services that businesses have been deploying, loves the Internet, Linus Torvalds gets hit by a bus and NO-ONE CARES except the two remaining Linux users who need a nurse to help change their diapers. You're right, it IS game over. For Sun and AOL.

    10. Re:Well by Anonymous Coward · · Score: 0

      Java is all over the place these days in enterprise computing and financial services - it's kinda becoming a 21st century COBOL (shudder).

      There's lots of vertical-market stock-analysis and financial software in Java - you just won't see it on the average home luser's desktop, or on the shelves at pcworld.

    11. Re:Well by pmz · · Score: 1

      Sun's settlement with MS


      Sun suing MS isn't the reason why MS removed Java from Windows XP. MS chose not to bundle Java; they were not forced into not bundling Java.

    12. Re:Well by fredrik70 · · Score: 1

      on a 56K modem it's a rather big deal....

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    13. Re:Well by egomaniac · · Score: 2

      They didn't sue Microsoft for using Java, they sued Microsoft for using a non-compliant version of Java.

      Microsoft could have simply added in the missing features and removed JDirect, and everybody would have been happy. Instead they made it about 'innovation' and 'eliminating all other forms of life' and moaned like it was all Sun's fault that they couldn't obey a simple contract.

      --
      ZFS: because love is never having to say fsck
  6. What's next? by wysoft · · Score: 2, Funny

    VBS# - killing two birds with one terribly ugly stone.

    --
    -- I'll cut you up so bad, you'll wish I'd never cut you up so bad!
    1. Re:What's next? by Anonymous Coward · · Score: 0

      You can write .Net components in VBS, if you want. It's a terrible decision, but so's using Linux, and that hasn't stopped you weenies yet!

    2. Re:What's next? by Anonymous Coward · · Score: 0

      You can? I thought VBS was stuck using their lameo COM bridge.

      JavaScript (the scripting language that shits all over Perl and Python), however, can be compiled to NET bytecode.

  7. Boycott D Flat by Anonymous Coward · · Score: 3, Funny

    I will never use D flat.

    According to CNN, Microsoft's B flat is the programming language of choice of Osama bin Laden.

    1. Re:Boycott D Flat by Anonymous Coward · · Score: 1, Insightful

      Very funny. If you knew anything about music, you'd know that C# and D flat (curse this character set) are not quite the same note. They are on the piano, but not on stringed instruments.

    2. Re:Boycott D Flat by SamBeckett · · Score: 1

      C=# and D-flat are the same notes on my 6 strin guitar, keyboard, trumpet, trombone, tuba, baritone, french horn...

    3. Re:Boycott D Flat by FatHogByTheAss · · Score: 1

      If you knew anything about music, you would know you're dead assed wrong. A musician's adjustment of tones to compensate for speicific characteristics of the instrument doesn't make the tones any different.

      Thats why it's the same on the piano.

      --

      --
      You sure got a purty mouth...

    4. Re:Boycott D Flat by Anonymous Coward · · Score: 0

      You left out the skin flute, which is the instrument favoured by Osama Bill Gaten and his right hand rag-head Steve-abdul Ballmeraleev to lead their herd of trained goatcx performers up there in Redmondalabad.

    5. Re:Boycott D Flat by pivo · · Score: 1
      I do know something about music and you are wrong. First of all if you "adjust" a tone you are altering it, so by definition it is a different tone. And it's not adjusted because of the characteristics of the instrument, it's adjusted because of physics of sound and vibration. The only reason this isn't done on a piano is because it's too difficult.

      Up until about the time of Bach instruments were tuned for the particular key they'd be playing. This made life difficult for the harpsichorist. Bach's, "The Well Tempered Clavier" was a work written to be played in what was called, "Well Temperment" a tuning which actually meant that each note was slightly out of tune in all keys, but not so much that it would sound unacceptable and let the harpsichordist modulate between keys without retuning.

      You can read more about the issue in Elementary Music Theory

    6. Re:Boycott D Flat by Anonymous Coward · · Score: 0

      That, sir, was an insult to all REAL skin-flute players EVERYWHERE. You should be ashamed. May your skin-flute never be played again.

  8. GTK# by Majix · · Score: 4, Informative

    Spotted this on the GNOME Weekly Summary:

    Hello World in C# using the GTK toolkit :)
    The syntax does look pretty clean.

    It's not quite up to Java GNOME functionality yet, which is now compilable to native binaries, with gcc3 (For those of us who couldn't care less about platform independence but really like Java as a modern language). More choice is always good however.

    1. Re:GTK# by Lars+Arvestad · · Score: 5, Funny
      Bah, that ain't clean. This is clean:
      echo 'Hello world!'
      or if you are into elisp:
      (message "Hello world!")
      For further discussion, I refer you to the (almost) definitive resource on hello-world programming: Hello World! Thank you.

      --
      Reality or nothing.
  9. Corporate Thinking or Public Service? by falsemover · · Score: 2, Insightful

    what would you do?

    - your grip on the server market appears to be slipping
    - great companies such as google.com are proving that you can grab web market share fairly quickly with a better product
    - technologies such as Linux, VM Ware, WINE and Java are threatening to nibble away your desktop market
    - having some spectacular white elephants such as MSN on record

    I ask the question :- if you were a director/shareholder of a company like Microsoft would you

    a) play to your strength and leverage your current market domination and try to eliminate competing standards while creating new "standards", eg .NET that ultimately play back into your desktop Windows (XP) market, or

    b)go open source, support Java, employ open standards, go cross platform, etc etc and risk losing any market dominance you have now?

    This is a tricky question but throws open the debate for us rabid slashdotters

    Dr. Simon Ronald

    Nerdy SpeedReading Software http://www.rocketreader.com (shameless ad)

    --
    consider coffee a lubricant that helps one penetrate the coding zone
    1. Re:Corporate Thinking or Public Service? by Moridineas · · Score: 3, Insightful

      Are programs like Wine and VMWAre really taking away from MS's desktop share?

      Most of the people that would ever run these would be running *nix/*bsd already. In fact you need to one a copy of Windows for VMware, and it prolly helps for Wine.

      And besides, as long as people are running windows apps, developers will continue to target windows. This is similar to the dilemna IBM faced with OS/2 Win32 emu stuff. It was so good (ANY win3.1 app could run in native OS/2) that very few native OS/2 apps were ever made.

      Scott

    2. Re:Corporate Thinking or Public Service? by sql*kitten · · Score: 5, Insightful

      I ask the question :- if you were a director/shareholder of a company like Microsoft would you

      a) play to your strength and leverage your current market domination and try to eliminate competing standards while creating new "standards", eg .NET that ultimately play back into your desktop Windows (XP) market, or

      b)go open source, support Java, employ open standards, go cross platform, etc etc and risk losing any market dominance you have now?


      Legally, you would have no choice at all. If a director fails to act in the interest of shareholders, the penalty can be a jail sentence and a ban from ever running a company again, at least under UK law. Yes, that's right, you can go to jail for doing the "right thing". Unless you could prove that it was in the best interest of shareholders - who will tear you apart if you miss your quarterly earnings target - there is no option for you but (a).

      The reason corporations put profit before everything else is because the law - created by the governments, who represent the taxpayer - have decreed that they must do so. It would be a little hypocritical to criticize a thing for acting in accordance with its nature.

    3. Re:Corporate Thinking or Public Service? by Zico · · Score: 5, Insightful

      Well, I understand that as a self-described "rabid Slashdotter," this might be news to you, but your entire premise is pretty wacked.


      - your grip on the server market appears to be slipping


      Hate to break it to you, but Microsoft's server market share has never gone down since NT first came out.


      great companies such as google.com are proving that you can grab web market share fairly quickly with a better product


      Well, seeing how Microsoft/MSN gets around 7 times the number of unique visitors that Google gets, and that they hang around the site around 25 times longer than Google's, you tell me how concerned they are.


      technologies such as Linux, VM Ware, WINE and Java are threatening to nibble away your desktop market


      They are? Funny that Microsoft's desktop market share, just like its server market share, went up over the past year. Guess they better be on the lookout for OS/2 and Amiga, too.


      having some spectacular white elephants such as MSN on record


      See above about MSN.


      I think that the shareholders of Microsoft would be pretty relieved that it's one of the best performing stocks this year. Oh, and they're probably happy as Hell that they don't listen to Slashdot hype, otherwise they might've traded all their Microsoft shares for stock in VA Linux, Red Hat, and Sun, thus watching their kids' college funds go *poof*!

    4. Re:Corporate Thinking or Public Service? by falsemover · · Score: 1

      * we can trade surveys until someone accuses Gartner of corruption but there is no denying that there is a serious MS Server pecking attack by Linux

      http://news.cnet.com/news/0-1003-200-2332817.htm l

      http://www.infoworld.com/supplements/99poy_drv/9 9p oy_linux.html

      * nothing is invincible :- MS are currently the kings of the desktop OS market. Who, however, would have predicted the hatchet job Linux has done to the server scene.

      --
      consider coffee a lubricant that helps one penetrate the coding zone
    5. Re:Corporate Thinking or Public Service? by falsemover · · Score: 1

      Well, seeing how Microsoft/MSN gets around 7 times the number of unique visitors that Google gets, and that they hang around the site around 25 times longer than Google's, you tell me how concerned they are.

      ** whoa, back up, time out, history lesson. Microsoft's MSN (project Blackbird) was a complete failure. Their following internet site which has very little in common with Blackbird, now called the "new" MSN is very successful. I was referring to the real, original MSN.

      Dr. Simon Ronald

      --
      consider coffee a lubricant that helps one penetrate the coding zone
    6. Re:Corporate Thinking or Public Service? by Anonymous Coward · · Score: 5, Funny

      >Well, seeing how Microsoft/MSN gets around 7 times the number of unique visitors that Google gets, and that they hang around the site around 25 times longer than Google's, you tell me how concerned they are.

      considering that google is a search engine , and msn is just a mess, I would consider your statement to be a glowing endorsement of google. People get what they need 5 times faster!.

      And it's true because you said it!.

    7. Re:Corporate Thinking or Public Service? by stx23 · · Score: 1

      Blackbird was a publishing tool for MSN, not MSN itself.
      Blackbird eventually became Visual Studio.

    8. Re:Corporate Thinking or Public Service? by Anonymous Coward · · Score: 0

      OH NOS! A large corporation has a project on its books that was a failure! Shock! Horror!

      To innovate, one must take risks. In taking risks, one is open to the prospect of failure. So some Microsoft projects failed? So what? They were cut off and the good bits recycled before they could kill the company.

      Face it: Microsoft.Net is a truly innovative suite of products. J2EE has some of the features, but they're nowhere near as easy to use. Open Source is playing catchup and has a couple of hastily assembled pre-alpha bits of code to show for itself.

      Once again, Microsoft have innovated in a way that none of their competitiors have. That is why Microsoft are a world-beater. Suck it down, lUn1X h4xx0rz

    9. Re:Corporate Thinking or Public Service? by Zico · · Score: 0

      Who, however, would have predicted the hatchet job Linux has done to the server scene.


      Ay, there's the rub! The single most important thing to note about your statement reveals itself when I restate it more succinctly: "Who, however would have predicted the hatchet job Linux has done to the UNIX server scene?


      Compare the trajectories of the Unix server market compared with Microsoft server market share (remember, MS' server marketshare has never decreased since NT came out). So maybe Microsoft didn't kill Unix after all, but Microsoft and Linux together sure might. ;)

    10. Re:Corporate Thinking or Public Service? by falsemover · · Score: 1

      Let explain myself better as your arguments are complex and well crafted.

      I would like to point out that the entire reason for my original post was to go against the "Microsoft the-Borg grain" that sometimes goes about slashdot and introduce some reasoning why Microsoft would want to play, to some extent, into their own hand by intoducing standards that tend to look like standards but utimately lash users back to their core product.

      RE: innovation. Microsoft do it well, the re-emergence of MSN is one example (of many) of how Microsoft have turned a loss into a win.

      --
      consider coffee a lubricant that helps one penetrate the coding zone
    11. Re:Corporate Thinking or Public Service? by Zico · · Score: 0

      To me it sounded like your whole post was implying that Microsoft stockholders should be worried now, partly because of Google. Now you're talking about the "real, original" MSN. Was Google even around then? Why would Microsoft's stockholders be worried about what you describe as "history?"

    12. Re:Corporate Thinking or Public Service? by falsemover · · Score: 1

      "To me it sounded like your whole post was implying that Microsoft stockholders should be worried now, partly because of Google. Now you're talking about the "real, original" MSN. Was Google even around then?"

      I referred to Google and MSN as separate unrelated points. The mention of Google was obviously not related on some kind of "dependant timeline" to my mention of my other point about MSN.

      "Why would Microsoft's stockholders be worried about what you describe as "history?""

      The same reason why any corporation would be worried about history. You see history has this strange property; if the same conditions are met as the last bit of history, it can happen all over again. If you spent as much as Microsoft did on the original MSN you would be pretty concerned about it; and something that you and your shareholders wouldn't forget in a hurry.

      Dr. Simon Ronald

      --
      consider coffee a lubricant that helps one penetrate the coding zone
    13. Re:Corporate Thinking or Public Service? by Anonymous Coward · · Score: 0

      There are no Microsoft "servers" in the business world. No-one uses Microsoft for anything mission-critical.

      MY BOSS WAS FIRED FOR BUYING MICROSOFT!

    14. Re:Corporate Thinking or Public Service? by at_18 · · Score: 1

      So maybe Microsoft didn't kill Unix after all, but Microsoft and Linux together sure might. ;)

      Strictly speaking, they cannot: Linux is a Unix operating system, so if Solaris, AIX etc. disappear replaced by Linux, you still have lots of Unix servers.

    15. Re:Corporate Thinking or Public Service? by tb3 · · Score: 2

      No Blackbird became Visual Interdev, which is an abortion on toast, and has been dropped from further releases of Visual Studio. I'd say it was a failure.

      --

      www.lucernesys.comHorizon: Calendar-based personal finance

    16. Re:Corporate Thinking or Public Service? by stx23 · · Score: 1

      You are quite right. My mistake.

      Interdev 1.0 was utter nonsense, and Interdev 6 is nearly as useful as a Chocolate teapot.

      As you rightly point out, it is gone from VS.net. ASPX files can be created from within VS.net, which does a better job of providing a single Devenv, not a collection of programs that barely look the same.

    17. Re:Corporate Thinking or Public Service? by bay43270 · · Score: 2

      Yes, we all know its in Microsoft's nature to act this way. We even understand why. But does that mean we can't dislike them too? Just because we understand why they do these things, and even if we might do the same thing in their place... that doesn't make it a good thing... and it doesn't mean we can't bitch about it.

    18. Re:Corporate Thinking or Public Service? by Anonymous Coward · · Score: 0

      I can't comment on UK corporations, but in the US, a corporation needs a reason for existing. Generally, this reason (filed with the State(s) they incorporate in) is to "make money in any legal manner". Non-profit corporations have a reason for existing, and so do for-profit ones -- increasing value for the shareholders.

      In the early 1900s, the board of directors was hampered by law, forced to act in the draconian manner you describe.

      (eg Dodge vs Ford. Ford motor company had extra profits, and the board of directors wanted to reinvest the money into the company. Dodge, a shareholder, sued on the basis that they had a responsibility to return profits to shareholders. He won. (and later started his own car company when Ford bought his stock to get rid of him)).

      However, corporations are no longer restricted so much, and can donate money to charity (since it promotes the company) or reinvest dividends (which many companies do) since that increases the value of the company, so presumably shareholders interests are protected by an increase in stock price.

      However, the board of directors have a responsibilty to act in the best interest of the company (and its shareholders). But most corporations don't "put profit before everything else".

    19. Re:Corporate Thinking or Public Service? by Anonymous Coward · · Score: 0

      What a stupid fucking post. Go to hell with your mail order goat skin and stupid ass notions.

      With all due respect, "Doctor"

    20. Re:Corporate Thinking or Public Service? by Anonymous Coward · · Score: 0

      Strictly speaking, linux isn't unix, so if Solaris, AIX etc/ disappear replaced by Linux Unix will be decreased.

    21. Re:Corporate Thinking or Public Service? by Jagasian · · Score: 2


      Well, seeing how Microsoft/MSN gets around 7 times the number of unique visitors that Google gets, and that they hang around the site around 25 times longer than Google's, you tell me how concerned they are.


      This is mainly acheived by "bundling" MSN with Hotmail, and making MSN the default homepage for Internet Explorer. After you log out of Hotmail, you are sent directly to the MSN site. Google doesn't do any of this, and soley relied on word-of-mouth of their superior internet site.
    22. Re:Corporate Thinking or Public Service? by Zico · · Score: 0

      After you log out of Hotmail, you are sent directly to the MSN site.


      No you aren't. You're sent to the Hotmail Sign-In page. What's with up you spreading disinformation like that? And why are you making excuses for why Google has so many fewer visitors? The original poster made it out like Microsoft should be fearing Google, I explained that it was kind of silly since Microsoft/MSN gets tons more eyeballs and people stay at the site longer. Microsoft being IE's default home page doesn't explain why, once people are at the site, they end up spending 25 times as long. They do it because MSN has a lot more to offer. You coming in with all this other stuff just makes you sound like a sore loser.

    23. Re:Corporate Thinking or Public Service? by kubrick · · Score: 1

      After you log out of Hotmail, you are sent directly to the MSN site.

      No you aren't. You're sent to the Hotmail Sign-In page.


      Here in Australia, it (used to?) redirect you to ninemsn.com.au -- a joint project between the most watched television station nationwide and MS. (I wouldn't know if it still does, it's been a while since I've visited Hotmail.)

      So this could well vary in different regions around the globe.

      --
      deus does not exist but if he does
    24. Re:Corporate Thinking or Public Service? by Anonymous Coward · · Score: 0

      I suspect that "25 times as long" bit includes time spent reading your mail at hotmail.com

      In fact the argument is riduclous because Google makes their money selling service to Yahoo, not from google.com. Compare browsing times at Yahoo versus MSN.

    25. Re:Corporate Thinking or Public Service? by Anonymous Coward · · Score: 0

      RE: innovation. Microsoft do it well, the re-emergence of MSN is one example (of many)

      Oh, please. Give my Grandma infinite money and 7 tries, and eventually she'll have a successful online service too. MSN is great example of the neato stuff you can do when you have a monopoly. If you want to suck Bill Gates' turds, there's a gazillion better examples of "innovation".

    26. Re:Corporate Thinking or Public Service? by jerdenn · · Score: 2

      He wasn't spreading disinformation - the same thing happens to me on IE 5.50.4522.1800 on Win2k. Each time I log out of hotmail, I am re-directed to MSN.com. Perhaps you are using a different version of IE? Or perhaps other things effect the redirect. Please accusing others of spreading disinformation when you clearly do not know what you are talking about.

      -jerdenn

  10. This is good news... by Jotham · · Score: 3, Interesting
    The CLR (Common Language Runtime) is a great idea and is in my opinion the next generation of programming tools. ie. it doesn't matter what language you prefer or what language library X is written in if they go through the CLR you can use it.


    The ability to write in your favorite language C#, C++, VB, JScript, etc and now Java is a huge improvement over locking a project into one language only and missing out on all the other shared libraries because your project is in Java or Objective-C or Python etc.


    Unfortunately in removing one lock, microsoft has added another (to their OS). What I'd love to see is a Common Runtime for Linux... unfortunately all I see is people dismissing it or complaining because its Microsoft.

    1. Re:This is good news... by Moridineas · · Score: 1

      Wasn't microsoft planning on releasing this for FreeBSD? IIRC, MS was planning to support at least .NET development on FreeBSD.

      This is the MS attack on Linux--via its arguably weakest (at least in the commercial world) point--the GPL.

      Scott

    2. Re:This is good news... by Lars+Arvestad · · Score: 5, Insightful
      The ability to write in your favorite language C#, C++, VB, JScript, etc and now Java is a huge improvement over locking a project into one language only and missing out on all the other shared libraries because your project is in Java or Objective-C or Python etc.

      I'll admit that I have never done any large scale programming, but this statement about language lock-in seems entirely false to me. I have done programming for research purposes and combined C with C++, C with Scheme, and used tools mostly written in C call Fortran libraries. I have seen and used examples of Perl and Python programs accessing common C libraries.

      Where is the lock-in?

      --
      Reality or nothing.
    3. Re:This is good news... by King+Of+Chat · · Score: 3, Insightful

      Is it a good idea? I can see that it would be - if it weren't for the small point that it only runs on Windows. If you're only going single platform then surely you'd be better off going native code and just using the same compiler back-end for all languages (as Borland do for Delphi and C++ Builder - which both run like sh*t off a shiny shovel).

      Sure they say they can build a CLR for other platforms, but I'll believe it when I see it.

      Of course, if they didn't have this CLR, then they couldn't make the claim that they were going multi-platform so it looks like they just found a way to slow down your Windows code for no good reason.

      --
      This sig made only from recycled ASCII
    4. Re:This is good news... by velco · · Score: 1

      Well, this is not true and just plain stupid.

      > and missing out on all the other shared
      > libraries because your project is in Java or
      > Objective-C or Python etc.

      Shared libaries are not in Java or C or any other language, they are BINARY. And, of course, every
      language provides some means to call binary code.

      -velco

    5. Re:This is good news... by Osty · · Score: 4, Interesting

      Is it a good idea? I can see that it would be - if it weren't for the small point that it only runs on Windows. If you're only going single platform then surely you'd be better off going native code and just using the same compiler back-end for all languages (as Borland do for Delphi and C++ Builder - which both run like sh*t off a shiny shovel).

      For now, yes, the .NET framework is only available for Windows. However, Microsoft has committed to providing a reference implementation for the *BSDs (FreeBSD, I believe), and other projects like Mono have sprung up to bring an implementation to Linux and other unix-like operating systems. Since Microsoft has submitted both the CLR and C# to ECMA for standardization (say what you will about ECMA, but at least it's a standards body), anybody can write their own implementation. Sun's backed out several times on submitting Java to ECMA.


      Of course, if they didn't have this CLR, then they couldn't make the claim that they were going multi-platform so it looks like they just found a way to slow down your Windows code for no good reason.

      That would be true, if it were the case that CLR bytecode only ran under the VM. However, that's not the case at all. The CLR has the ability to compile its bytecode down to native code for whatever machine you're on. Most likely the way this will happen is that CLR bytecode will be "shipped" (in a box, or as a download), and as part of the installation that bytecode will get compiled to your platform. What that means is that, taking a Windows-only view for a moment, when you buy Office.NET (just as an example -- I don't know whether Office.NET will be targetting the CLR or not), it won't matter whether you're running on a 32-bit x86-based system, or on a 64-bit iTanium (or whatever AMD's 64-bit chip is called), the same version will run on both. And with native speed, because after installation, you'll be running native code. Obviously, it's developer choice whether or not to compile down to native code, but that's the point -- the choice exists. And given full CLR implementations on other platforms, I don't see any reason why pure CLR bytecode wouldn't be perfectly cross platform, even to the point of compiling down to native code and running as a native app on your chosen system. Perhaps this is how we'll eventually see IE, Office, etc on Linux? (Through the efforts of Mono)

    6. Re:This is good news... by AbsoluteRelativity · · Score: 1

      Not only that, but also they assume that someone who programs in an object oriented language like Java for example, really wants to access a shared library in another language. Java developers as an example tend to use object oriented programming in a particular manner that most Java developers are used to, while if a libray is written in C or C++ or Objective-C or Python or VB or JSCript will likely not be in a condition in which Java programmers would like to do it. Plus they dont seem to mention the fact that there is still issues between the way libraries work and how one language will access a library of another language, there would definetly be restrictions in that. So even then their arguement about language lockin is pointless unless they alter the language itself making it incompatible with the original language.

      --
      disclaimer : My views do not represent those of every one else in slashdot.
    7. Re:This is good news... by TomV · · Score: 1
      ...but this statement about language lock-in seems entirely false to me. I have done programming for research purposes and combined C with C++, C with Scheme, and used tools mostly written in C call Fortran libraries. I have seen and used examples of Perl and Python programs accessing common C libraries.


      As presented to us by MS, and I'm not saying this is true, just that this is what MS said, the big deal with multiple language objects under the CLR is that you can inherit between languages transparently.

      That is, I could write a component in C++, then when you use it in your project under the CLR you could inherit, override and so on, all in 'python#', then, looking at your extensions and liking them, another developer could inherit from you, writing his/her extensions in, let's say, J#. This would mean, for example, that you could end up with a class whose methods are all written in different languages, say perl for text-handling stuff, fortran for number crunching, and so on, each playing to the particular strengths of a language, or the particular skills of a developer on the project team.

      So it's a slightly different direction in terms of code reuse. Face it, even VB could always call C-based win32 API functions with a bit of bodge.

      TomV

    8. Re:This is good news... by Domini · · Score: 3, Interesting

      I don't think People will use J#, not because it is MS, but because I think people will rather move to C#. (Just my opinion there...)

      .NET is so far as I can tell something good... Microsoft has done something right. Don't mock it, it does happen sometimes! I just can't stop feeling nervous...

      I'm a Python advocate, and I like the .NET initiative. It may not be all unique ideas, but finally someone if driving it and formalising the processes to get it to a standard.

      MS is not oficially giving up on COM, but .NET will certainly downplay it a lot. (Which is also a good thing.)

    9. Re:This is good news... by CaptainZapp · · Score: 1
      Actually, Digital had that 15 years + ago in their VMS operating system.

      As long you adhered to the calling standards, you could mix and match languages to your hearts desire.

      Oh, and some of the programming tools at that time (LSE, SCA, CMS, symbolic debugger, etc...) would still kick ass nowadays.

      Of course the world wasn't that GUI focused then

      --
      ich bin der musikant

      mit taschenrechner in der hand

      kraftwerk

    10. Re:This is good news... by Anonymous Coward · · Score: 0

      Yawn. They've done all that. Read about how it works on microsoft.com, then come back when you've learnt how all your "problems" have been solved.

    11. Re:This is good news... by greenrd · · Score: 1
      I believe exactly the same thing can be achieved with native methods (for compiled languages) and/or BeanShell (for interpreted languages) in Java. Correct me if I'm wrong.

    12. Re:This is good news... by Fat+Cow · · Score: 1

      The lock-in comes when the interaction is between compiled components - java and C++ for instance.

      --
      stay frosty and alert
    13. Re:This is good news... by mjfgates · · Score: 1

      Ohhhhhhh. I would *love* to see some poor coder try to debug an object that was half written in c# and half in python, with just a bit of VB code in that one member, you know, the hairy one that does the date formatting.

      You could do a time-lapse movie of it, so that people could watch as the guy rips all of his hair out over a period of several hours.

    14. Re:This is good news... by spongman · · Score: 2
      yes, but there's more to consider than just a CALL instruction, you have to consider the binary represntation of data-types, marshalling those types, handling exceptions, threading, garbage collection, etc... In most situations calling from one language to another requires a lot of support in order to get these things right. COM, CORBA, JNI are examples of systems that provide this kind of support, and there's always performance and convenience overheads associated with them. With .NET this is no longer an issue, since you're not calling between languages, you're just calling one .NET method from another. The fact that they were compiled with different languages is irrelevant.

      But these things really aren't the bst part of .NET, sure having multiple languages is nice, but personally I wouldn't touch VB with a 10' barge pole. The real benifit lies in the libraries and OS integration: ADO.NET (traditional/XML data access), ASP.NET (WebForms, Web Services), WinForms (GDI+), etc... that are great improvements whatever language you choose.

    15. Re:This is good news... by Anonymous Coward · · Score: 0

      Like fuck they have. All they've done is define subsets of each language that are usable under .net - this is particularly evident with eiffel and perl.

      It's like saying "yeah, you can use scheme, so long as you don't use tail recursion or first-class continuations"...

    16. Re:This is good news... by Anonymous Coward · · Score: 0

      They are not great improvements, unless the only thing you've every used is Win32...

      Java does everything they do, and it's far more mature. Remember: MS's Java VM (which is what a lot of win32 coders associate with Java is HORRENDOUSLY OUT OF DATE).

      The JVM can be targeted by: Python, Scheme, TCL, Forth and many other languages.

      Java already does everything Mickeysoft say .net will one day do...

    17. Re:This is good news... by Corrado · · Score: 1

      Just a FYI. There is no planned offical CLR compiler for C++, just plain C. Also, you have the ability to write in your favorite managed language -- Managed-VB, Managed-C, Managed-Scheme, etc. Actually, Managed-VB has very little in common with VB beyond some simple syntax.

      --
      KangarooBox - We make IT simple!
    18. Re:This is good news... by Corrado · · Score: 1
      This is what I fear! How the hell would you debug this pile of sh*t?!?! Debugging COM objects hosted in MTS is bad enough now!

      There was an error in your object (#1111000102302)

      --
      KangarooBox - We make IT simple!
    19. Re:This is good news... by ZigMonty · · Score: 1
      They've created an interface that can be used in any language. Big Deal. Plenty of things can be done in almost any language. Manipulating a file is something that the library of almost every language can do. You don't see people jumping for joy because they're now not locked into language A because language B can also read the same files.

      Basically they've made a bridge between languages. This has been done before. One example I have is Apple's Java Bridge. It allows you to use Java objects in ObjC programs and visa versa.

      Example: A java object in an ObjC app.

      MyJavaClass = NSClassFromString(@"java.util.AJavaClass");
      MyJavaObj = [[MyJavaClass alloc] init];

      From this point on MyJavaObj can be used as if it were a native ObjC object.

      Compare this to the normal ObjC way using ObjC classes:

      MyObjCObject = [[MyObjCClass alloc] init];

      One extra line of code! Note that strings, etc are translated from Cocoa's NSStrings to Java Strings and back.

      The crucial bit is the NSClassFromString function. It will take the name of a class, whether ObjC or Java, and return an ObjC Class. I'm sure there are other examples of language bridging.

    20. Re:This is good news... by spongman · · Score: 2
      err, no. cl.exe compiles managed C++ just fine. it has to, since in the managed world every function has to be a method of a class.

      sure, Managed C++ doesn't support templates or multiple inheritance (because CIL doesn't support them yet), but otherwise it's C++.

    21. Re:This is good news... by spongman · · Score: 2
      yeah, but with .NET you don't have to convert data-types from one environmnt to another because there is only one environmnt - .NET . The data-types are identical. As are the exception mechanisms, memory allocation/garbage collection, inheritance, threading models, etc...

      sure, bridges like the one you describe are nice (Microsoft's extensions to Java did exactly this with COM), but they often have limitations (for example, how do you marshal a block of memory allocated using malloc() into the Java world, or a (void*)?). The nice thing about .NET is that it provides a programming environment where such things are unnecessary: the types in one language are the same as the types in another, only the syntax is different.

      question: with the bridge that you describe, is it possible to write a class in ObjC, then derive from that class in Java?

    22. Re:This is good news... by ZigMonty · · Score: 1
      Not sure, I've never really used it for more than just mucking around, ie 30 mins tops. I'm not really a Java programmer. Swear allegiance to C and all that. ;-)

      I'd suggest checking out that link in my post, I haven't read it in ages so I'm not sure if it's in there. I vaguely remember that it is possible. I was more concerned about using the abundant java libraries in ObjC programs, not about inheritance or anything like that.

    23. Re:This is good news... by maxpublic · · Score: 1

      So essentially you turn cross-language spaghetti coding into something that looks like a strength?

      This must be great news for all the half-assed programmers in the world who otherwise wouldn't be able to get a job. Now .NET is guarranteed to provide them one, if just to maintain some part of the mess in which they have a vague understanding of what's going on.

      Max

      --
      My god carries a hammer. Your god died nailed to a tree. Any questions?
    24. Re:This is good news... by SpryGuy · · Score: 1

      The issue is a bit more subtle. With .Net someone can write a base object in C#, and someone else can extend it in Perl.net, and someone else can derive from THAT using Fortran.net.

      It's not just interoperability of languages... its the fact that you can completely forget about such interoperability issues. I don't care what langauge the base class or component was written in. I can always use the best language for any particular job or implementation, and not have to worry about any data type conversions or managing different runtime expectations of different languages.

      In fact, a LOT of current interoperability is done using C as a least-common-denominator... giving access to C libraries via special calls, or using C linker protocols, the C function calling convention, etc. This can be pretty limiting in many ways. The .Net framework changes the least common denominator to the CLR and its runtime environment, which is significantly more capable. All languages share the *SAME* set of class libraries (for collections, etc) so everything is completely interoperable.

      --

      - Spryguy
      There are three kinds of people in this world: those that can count and those that can't
  11. Initial reactions by Rogerborg · · Score: 5, Informative

    Microsoft are still strongly implying (at least) that Visual J++ is Java. Uh, wait, didn't a court tell you to stop doing that?

    • "Visual J# .NET enables Microsoft Visual J++ customers and other Java-language programmers"

    Tsk, tsk, Bill. There's no "other" in that sentence.

    The focus seems to be on J++ developers, not Java developers. But personally, I will use J# iff:

    • It compiles Java completely and correctly.
    • It compiles to a native .NET executable that gives a significant speed advantage over VM bytecode on a .NET platform.
    • I have to make exactly zero changes to my Java to have it compile to both VM bytecodes and to a .NET executable.

    Basically, I can live with loading J# and hitting compile once for each of my Java projects. If it's any more hassle than that, I agree, it's not worth my while.

    However, I'm keeping an open mind. Microsoft's decision to not include a JVM in WinXP concerns me, as does the increasing size of the Sun VM. I love Java and want to keep using it purely, but I'm not going to cut off my nose to spite my face. If Microsoft and Sun collude to make it hard to use Java and easy to use J#, I could be swayed. I hope not though.

    --
    If you were blocking sigs, you wouldn't have to read this.
    1. Re:Initial reactions by Moridineas · · Score: 2, Informative

      It's not difficult to get the Java VM in XP. The first time you go to a page with java it pops up a windowsupdate message and downloads it. very, very easy.

      scott

    2. Re:Initial reactions by 0xA · · Score: 4, Funny
      The focus seems to be on J++ developers, not Java developers. But personally, I will use J# iff:

      It compiles Java completely and correctly.

      It compiles to a native .NET executable that gives a significant speed advantage over VM bytecode on a .NET platform.

      I have to make exactly zero changes to my Java to have it compile to both VM bytecodes and to a .NET executable.

      So basically what you're saying is that there's no way in hell you're going to use J#?

      I agree with the points you made 100% but I don't think its' going to happen.

    3. Re:Initial reactions by Milo · · Score: 3, Informative
      "Visual J# .NET enables Microsoft Visual J++ customers and other Java-language programmers"

      Tsk, tsk, Bill. There's no "other" in that sentence.


      Actually, the is an other. They are only referring to the java language, not the java platform. Like has been done for a large number of other languages, the .Net platform will allow compiling of java code to their intermediate language (IL), which will then run in the .Net common language runtime (CLR).

      Basically, instead of compiling to java bytecode and running in a JVM, it will compile to IL and run on the CLR.

      If you want cross platform support, this sucks. However, if you want to take your java app and get the best bang for your buck on the windows platform, using the CLR will probably provide better performance than a JVM, because the writer of the OS writes the CLR.

      So, even if you don't currently develop with Visual J++, if you're going to release a java app for Windows.Net, you might want to think about using the MS compiler, if not the IDE.

    4. Re:Initial reactions by TomV · · Score: 3, Informative
      Microsoft's decision to not include a JVM in WinXP concerns me


      This seems a reasonable point to attach the following question, to which I cannot come up with a reasonmable answer right now...


      How can it be evil for MS to INCLUDE a browser / media player / etc in XP, viciously anticompetitive and so forth, ...


      and...


      simultaneously evil for MS to EXCLUDE a JVM in XP?


      If anyone can supply a reasonably coherent answer to this, I'd be really pleased to see it :-)


      TomV

    5. Re:Initial reactions by Anonymous Coward · · Score: 1, Interesting

      So they're STILL installing the ancient MS Java 1.1 VM ? It would be much more useful if they automatically installed an up-to-date Sun 1.3.1 VM...

    6. Re:Initial reactions by GreyPoopon · · Score: 5, Interesting
      How can it be evil for MS to INCLUDE a browser / media player / etc in XP, viciously anticompetitive and so forth, ...

      and...

      simultaneously evil for MS to EXCLUDE a JVM in XP?

      Actually, there's a pretty simple answer to this. Both of these actions kill competition.

      Microsoft owns the browser, media player, etc that it bundles with XP, so they can eliminate competition by including them and making them impossible or extremely difficult to remove. The problem is that most people will not know enough or be motivated enough to switch to a competing product. So, since Microsoft owns the OS, they can be reasonably certain that people will use their integrated browser, media player, etc. By doing this, they can also be reasonably certain that companies who develop content for these products will be inclined to purchase Microsoft products to aid in the development of that content.

      Java is a slightly different story. Microsoft does not own the Java technology. They have to play ball with Sun in order to use it. They have to follow Sun's rules. But more importantly, there is quite a bit of competition for Java development environments. Supplying a JDK or JVM with their OS does not in any way motivate developers to use their development environment, unless they can add proprietary extensions or other changes to the language to make their development products attractive. They attempted this with J++ and have been told they can't. So, since they can't make any money from J++, they decide to develop their own environments and languages, and bundle THOSE with their OS instead of Java. That effectively kills competition by sending a message to developers: "Do you want your application to run without hassle on 95% of desktop systems? Use .NET."

      Try and remember that these tactics are only questionable because Microsoft has a MONOPOLY. That is the defining factor. Otherwise, they'd be considered good business practices. If Microsoft had only 30% of the desktop market, bundling the browser, media player, .NET technology and other things with XP would only help them to be certain that most of that 30% would be using their technology and their tools. They would be forced to make their tools operate on other desktop environments in order to increase market share. This would put them on an even playing field with their competitors. However, since they currently dominate the desktop market, the game is way too easy for them. Tricks like inclusion / exclusion just help cement their monopoly in other areas of the market. It is illegal to use a monopoly in one market segment to stifle competition and increase market share in other segments. Both of these tricks accomplish this. You really have to look at the end results.

      --

      GreyPoopon
      --
      Why is it I can write insightful comments but can't come up with a clever signature?

    7. Re:Initial reactions by mroshea · · Score: 3, Informative

      "The focus seems to be on J++ developers, not Java developers. But personally, I will use J# iff:

      * I have to make exactly zero changes to my Java to have it compile to both VM bytecodes and to a .NET executable. "

      That won't be possible. The .NET Framework Base Class APIs available through J# are not based on the J2SE APIs although in places the object models look similiar. For example, both have a base Object class from which all other classes inherit but even the APIs on this class are different. All of the auxiliary APIs for IO, Math, Collections, Security, Reflection also differ in too many ways to describe. Perhaps they will provide tools to automate the conversion of source from one API set to the other but don't expect it to be automatic.

      That's not to say that the .NET Framework is worse than the J2SE APIs or vice versa - they are just different.

      All Microsoft are facilitating with J# is allowing developers who know the Java language syntax to develop .NET apps using the .NET Framework APIs. Java the platform (the JS2E APIs and VM) are not part of the deal.

    8. Re:Initial reactions by brunes69 · · Score: 2

      Basically, I can live with loading J# and hitting compile once for each of my Java projects. If it's any more hassle than that, I agree, it's not worth my while.

      If you're going to be doing this kind o stuff, whats the point in using Java / .Net AT ALL?? If you're going to have to re-compile for seperate platforms, Java has lost its prime benefit. Personally, if I'm going to be re-building anyway, I'm going to use a faster solution, like C or C++.

    9. Re:Initial reactions by tolan-b · · Score: 0

      java-language != java-runtime

      that's apoint that sun keep making, and i think it's how microsoft are getting away with that kind of talk

    10. Re:Initial reactions by sheldon · · Score: 4, Insightful

      If Microsoft includes a Java Virtual Machine within Windows, it kills the potential competition in the market there for JVMs.

      Obviously if Microsoft includes a JVM, then no users will go out and bother to download the JVM from Sun, IBM or Acme Computing. You already state that there is quite a bit of competition in the Java market, so obviously with Microsoft including this old outdated JVM it stifles the ability for that market to move forward.

      I'm sorry, but the original poster was correct. Your argument is horribly inconsistent and flawed. If it is evil for Microsoft to include Internet Explorer, it is equally as evil to include a JVM.

      You really can't have it both ways. If you get to say what goes in Microsoft's products, then I feel it is my moral duty to say what goes into Linux distributions.

      And I hereby declare that bundling lilo into RedHat is evil because it kills competition in the boot manager market. RedHat's purpose is obviously to damage the market that System Commander operates within, without providing them adequate compensation.

    11. Re:Initial reactions by spongman · · Score: 3, Informative
      actually J# does alot more than you think: it includes .NET implementations of the (albeit outdated) Java APIs. for example, the following namspaces (corresponding to java packages) appear in the library:
      • java.applet
      • java.awt
      • java.beans
      • java.io
      • java.lang
      • java.math
      • java.net
      • java.security
      • java.sql
      • java.text
      • java.util
      along with a bunch of 'com.ms.*' packages.

      I just compiled a couple of small java applications one (TCPMapper) uses sockets and another was a multi-threaded AWT app. Both compiled without changes into small .EXEs (11K & 25K respectively) and ran fine.

      Also, I downloaded PC Labs' JMark1.1 which comes only as .class files (no source) and used J#'s jbimp.exe which converts .class files to a .NET assembly (.EXE/.DLL) - very cool. It ran fine also, and gave reasonable results, although MS's JVM was quicker overall. Still some room for improvement on performance there, but given that the JVM's been around for a while, and both J# and the .NET system it uses are still in beta, it's pretty imprssive nonetheless.

    12. Re:Initial reactions by DickBreath · · Score: 2

      You really can't have it both ways.

      Yes you can. In each case of either including or excluding something, the purpose is to be anticompetitive and maintain a monopoly.

      Doing things to maintain a monopoly is illegal in the US. And in this case, "illegal", means evil.

      MS is acting in a consistent and evil way. Just because in one case they are "including", and in another case they are "excluding", doesn't mean they are acting in contradictory ways, and therefore, one action must be good and the other bad. In both cases (include and exclude) the action is bad, because the action isn't really "including" or "excluding", but the action is "monopoly maintenance".

      s/include/monopoly maintenance/
      s/exclude/monopoly maintenance/

      --

      I'll see your senator, and I'll raise you two judges.
    13. Re:Initial reactions by Maryck · · Score: 1

      Odds are then that you'll never be using J#. At least based on what the articles state, J# is only compliant with MS's last JVM, which was 1.1.4 which is hopelessly out of date. Java has undergone some major changes since then (the new Collections API, NIO, etc) and most Java developers are not going to take a step back just to get a natively compiled app on windows.

      The other problem I can see is that part of developing in Java is using 3rd party class libraries, particularly JDBC drivers for database apps. Unless MS provides some mechanism for linking to those libraries, J# will largely be dead in the water.

    14. Re:Initial reactions by Rogerborg · · Score: 2
      • Actually, the is an other. They are only referring to the java language, not the java platform

      Microsoft Visual J++ is not Java. Admittedly, the main focus on the Sun court case was about the Microsoft JVM (now just the Virtual Machine), but Visual J++ was also panned as being a deliberate attempt to hijack Java by adding extensions.

      Sure, Visual J++ does compile Java source to perfectly valid bytecode, and if J# compiles Java source to a decent executable, I'll use that. But if it extends the language, or is less than 100% capable of compiling well formed Java, then I won't call it a a Java compiler, any more than I call Visual J++ a Java compiler, or Microsoft Visual C++ a C++ compiler.

      --
      If you were blocking sigs, you wouldn't have to read this.
    15. Re:Initial reactions by Rogerborg · · Score: 2
      • So basically what you're saying is that there's no way in hell you're going to use J#?

      Not necessarily. Microsoft Visual J++ can be set up to disable Microsoft extensions and to use the latest JDK. It's perfectly capable of turning well formed Java into well formed bytecode. There's no point to using it, other than for the swooshy IDE, but it's usable for actual Java development.

      So if J# compiles well formed Java into a fast executable, I'll consider using it. I won't like it, but I write games software, and my biggest market is Windoze. If J# gives me even a 10% speed boost at the cost of having two compiles/downloads (bytecode and .NET executable) from a single source then it might be worth my while.

      --
      If you were blocking sigs, you wouldn't have to read this.
    16. Re:Initial reactions by GreyPoopon · · Score: 2
      You already state that there is quite a bit of competition in the Java market, so obviously with Microsoft including this old outdated JVM it stifles the ability for that market to move forward.

      Not really. By including even an outdated JVM, they support at least Java 1.1 applets. Many people get nervous when their computer offers to "automatically" install functionality. So on WinXP, when the browser asks if they want to install a JVM, they may answer no. That means that web sites using Java will not work properly, so they will choose other web sites. In the end, this has the effect of convincing developers to use something else for their sites. But you also have to remember that the original reports of WinXP not including a JVM made no mention of an automatic installation on the first attempt to run an applet. In that scenario, many many users would have been turned away from sites with Java applets.

      I'm sorry, but the original poster was correct. Your argument is horribly inconsistent and flawed. If it is evil for Microsoft to include Internet Explorer, it is equally as evil to include a JVM.

      Actually, the original poster wasn't so much making a statement as asking a question. But it is your argument, my friend, that is most unbelievably flawed. You conveniently glance over the fact that Internet Explorer is a Microsoft Product, whereas the JVM is a Microsoft implementation of a competitor's product that would ultimately aid the competitor. Your own logic is flawed because you are making the assumption that the consequences of both of these situations is equal.

      And I hereby declare that bundling lilo into RedHat is evil because it kills competition in the boot manager market. RedHat's purpose is obviously to damage the market that System Commander operates within, without providing them adequate compensation.

      And this very statement here proves that you don't understand the situation at all. RedHat doesn't even have a monopoly on Linux distributions. You, like many others, forget that Microsoft has a monopoly in desktop operating systems. Period. This changes all of the rules. We absolutely do have a right to say what we think should and should not be included in the Microsoft Windows distribution because of that monopoly. (Actually, we have a right to SAY whatever we want, but you get my drift).

      --

      GreyPoopon
      --
      Why is it I can write insightful comments but can't come up with a clever signature?

    17. Re:Initial reactions by sheldon · · Score: 2

      Oh I see... Because in your opinion Microsoft is evil, so you get to decide what they can and cannot do based on arbitrary fuzzy criteria that you can't really build a consistent ruleset for.

      Hint: Microsofts exclusion of the JVM was obviously done for technical reasons. i.e. they are deprecating that code because it is no longer actively maintained. It's an optional download now, but with the next release of Windows I can guarantee you there won't be a download at all.

      That decision to not maintain the code was not made by Microsoft, but rather Sun. So you are really claiming that Sun is attempting to maintain Microsoft's monopoly. Which really doesn't make any sense at all.

      Sounds to me like this issue is much more complicated than good versus evil. Maybe you should stop letting your emotions rule you and engage your brain.

    18. Re:Initial reactions by Rogerborg · · Score: 2

      For completeness, I'll just point out that I said that it "concerns" me, not that I'm judging it. I like Java, but my target audience is Joe Windoze running Internet Exploder, and anything that makes it even marginally harder for me to get my creations running on screen is a bind.

      YES, I know it's an automatic one-step, and that it's only 10Mb, but that's one step and 10Mb more than I'd like. While I enjoy griping about the impatience or laziness of end users, I also have to cater for it. And I can't see it getting any easier in future, which is why I can see myself using J# and (ouch) contributing to the stifling of Java on Microsoft platforms.

      --
      If you were blocking sigs, you wouldn't have to read this.
    19. Re:Initial reactions by sheldon · · Score: 2

      "You conveniently glance over the fact that Internet Explorer is a Microsoft Product, whereas the JVM is a Microsoft implementation of a competitor's product that would ultimately aid the competitor. "

      The W3C standards for HTML and such are formulated solely by Microsoft? W3C is owned by Microsoft? What?

      The JVM is, an implementation of the Sun Java standards. It is just as much Microsoft's product as is the browser.

      Before calling someone's logic flawed, maybe you ought to stop and think for a few seconds.

    20. Re:Initial reactions by Hugh+Kir · · Score: 1

      You're missing the point. You don't pay for the JVM, regardless of who it is written by. So, excluding the JVM doesn't help Sun or IBM or anyone else, because downloading their JVM isn't bringing any profit to their company. They produce the JVM purely as a service to the consumer. What the JVM provides is the ability to run programs written in Java on your machine. The reason Java is appealing is because it can run on any OS, as long as the machine running the OS has a JVM. Now, all of a sudden, imagine that no Microsoft desktop comes with a JVM. Yes, it is possible for the user to go out and download the JVM from somewhere, but why would average Joe User do that when he can just use a similar program written for Windows? And since the vast majority of desktops have Windows as their OS, this effectively cuts out most of the potential customer base for programs written in Java. Thus, companies are unlikely to write programs in Java.

      Now why, you may ask, does Microsoft care what language a program is written in, as long as it is running on Windows? Here's the reason: if all programs were written in Java, a user could switch operating systems and still use all of the software he already had! Right now, part of the reason most people use Windows is because of the wide selection of software available for it which is not available for other operating systems (I know that's why I keep it around). If, heaven forbid, programs could run on any operating system, people could just use whatever operating system they thought worked best. It would even make it easier to interact with other computers running different operating systems. The market share of a particular operating system would then be based solely on its appeal to the consumer (well, that, and advertising/FUD campaigns). And that's something that Microsoft wants to avoid at all costs. I'm sure that quite a few people would continue using Windows were this to happen, but I know quite a few who would switch over to MacOS, or Linux, or FreeBSD, etc, were they able to run the same software on any of these systems. And, as you might imagine, Microsoft really doesn't want its market share to go down. So, it removes the JVM from Windows XP. Maybe Java would have taken off on the desktop, maybe not. But this pretty much assures that it won't. Of course, Microsoft still has those nasty embedded devices to worry about....

    21. Re:Initial reactions by Rogerborg · · Score: 2

      You seem to be a little confused about a few points sheldon.

      Internet Explorer is a lot more than "HTML and such". It's Microsoft's own stated position that IE is a "platform", not a "product". It's the add-ons in IE that allow it to compete with the Java Virtual Machine

      Note that I said Java Virtual Machine, rather than Microsoft Virtual Machine, which is what I believe you're talking about. In case you missed it, Microsoft is no longer allowed to call their VM "Java", because it's not an implementation of the Sun Java standards. The Microsoft Virtual Machine is in fact competing with Microsoft Internet Explorer, so it's a perfectly sensible decision to stop shipping it. However, that removes even the semblance of Java support from Windows, and further strengthens the IE platform and marginalises the Java Virtual Machine platform, something that Judge Jackson picked up on in his verdict that Microsoft are running an illegal monopoly.

      Is that the point that you're missing? You're quite right that there's no reason why Microsoft should distribute a VM or JVM, but by not doing so, they put a strangehold on another competitor, and when you have a monopoly position you are (all together now) not allowed to do that.

      Perhaps you could do some more research and then get back to us, and we can have a productive discussion.

      --
      If you were blocking sigs, you wouldn't have to read this.
    22. Re:Initial reactions by Rogerborg · · Score: 2
      • The .NET Framework Base Class APIs available through J# are not based on the J2SE APIs

      Ouch. I was hoping that it would be like Visual J++ where a simple registry tweak lets you use whatever JDK API's you want. Are you sure I still can't do this with J#?

      I know, I should really go and check this for myself. ;-)

      --
      If you were blocking sigs, you wouldn't have to read this.
    23. Re:Initial reactions by Rogerborg · · Score: 2
      • If you're going to be doing this kind o stuff, whats the point in using Java / .Net AT ALL?? If you're going to have to re-compile for seperate platforms, Java has lost its prime benefit

      For me the prime benefit is write once, run anywhere. I really don't mind building twice; that's just computer time, and computer time is cheap.

      • Personally, if I'm going to be re-building anyway, I'm going to use a faster solution, like C or C++.

      Which is my point! If J# will compile my Java to a native executable which runs faster, and my extra cost is hitting one button (and making myself a cup of coffee while I wait) then it's a positive benefit, especially as my target market is mostly Joe Windoze anyway. Hurrah for Microsoft (sort of).

      If I have to re-train, or it requires extra development time or managing multiple source then you're right, I might as well go back to conditional compilation hell. ;-)

      --
      If you were blocking sigs, you wouldn't have to read this.
    24. Re:Initial reactions by Rogerborg · · Score: 2
      • java-language != java-runtime

      Hmm, fair point. You can be a Java developer using Visual J++, as long as you're careful (or turn off extensions, and point it at an up to date JDK). I know that the core of the case was the Microsoft Virtual Machine (nee Microsoft Java Virtual Machine), but I just couldn't resist making the point that Microsoft were found guilty of being BAD PEOPLE over J++. ;-)

      --
      If you were blocking sigs, you wouldn't have to read this.
    25. Re:Initial reactions by Anonymous Coward · · Score: 0

      It would be much more useful if they automatically installed an up-to-date Sun 1.3.1 VM...

      You mean the software that's buried 4 levels deep on java.sun.com? That's not linked to at all from www.sun.com?

      It's funny how obsolete Microsoft software can be obtained so easily relative to stuff that Sun is supposedly pushing.

    26. Re:Initial reactions by NutscrapeSucks · · Score: 2, Informative

      Overall, I agree completely with your point. However, trying to blame the lawsuit on either Sun or Microsoft is bogus -- it's pretty clear that they both entered the deal in bad faith with intent to sue each other.

      This is from Wired 8.11:

      I asked Ballmer about an internal Microsoft document concerning Microsoft's licensing of Java, which had come to light in the DOJ's investigation. In it, PaulMaritz stated that the company's goal was to "get control of" and "neutralize" Java, whose cross-platform raison d'être was seen as posing a threat to Windows. Scott McNealy had told me he considered the document prima facie evidence that Microsoft had signed its contract in bad faith. I asked Ballmer if McNealy was right.

      "Sun is just a very dumb company," Ballmer began.

      "We always honored our license. We always intended to. We always have." His voice quickly rising, Ballmer continued, "Sun wasn't confused. We weren't coming in there saying, Hallelujah, brother! We love you, Sun! We said, We don't like you as a company - nice people; I like Scott - and you don't like us! We said, Hey Sun, you want to get on the back of us and ride, baby, ride You want on? OK, here's the terms!"

      Ballmer's face was beet-red now, and he was screaming so loudly that, had there been any windowshades, they would have been rattling. Up on his feet, leaning across the table so that his face was no more than 6 inches from mine, pounding his meaty fists on the tabletop so hard that my tape recorder leapt and skittered, he roared, "Nobody was ever one little teeny tiny bit confused that we and Sun had this wonderful dovetailing of strategic interests! Those sub-50-IQ people who work at Sun who believe that are either uninformed, crazy, or sleeping!"


      [These 'sub-50-IQ people' eventually out-lawyered Microsoft and beat them in court]

      I took this as a Yes.

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
    27. Re:Initial reactions by Fjord · · Score: 2
      It compiles to a native .NET executable that gives a significant speed advantage over VM bytecode on a .NET platform.


      I'm doubtful this will happen. Since JIT'ed bytecode is much faster than MSVC in many cases, they would have to change their optimization stategies to get their compiled .NET platform to be close to as fast.

      --
      -no broken link
    28. Re:Initial reactions by Platinum+Dragon · · Score: 2

      Oh I see... Because in your opinion Microsoft is evil, so you get to decide what they can and cannot do based on arbitrary fuzzy criteria that you can't really build a consistent ruleset for.

      *sigh*

      I've officially become tired of watching you twist words to defend MS.

      It's not his opinion that Microsoft is Evil. The background for his argument is the legal fact that Microsoft has a monopoly on the desktop market, which puts restrictions on its behaviour. It cannot actively try to lock out competition in the desktop market, and it cannot try to extend that monopoly to other markets.

      Hint: Microsofts exclusion of the JVM was obviously done for technical reasons. i.e. they are deprecating that code because it is no longer actively maintained. It's an optional download now, but with the next release of Windows I can guarantee you there won't be a download at all.

      And why would that be? I mean, MS could license a compliant JVM from Sun or someone else that's written one. They could write their own compliant JVM. The operative word there is "compliant;" they cannot write a "Java Virtual Machine" that doesn't run compliant Java code, but instead their own "version" of Java, and still call it Java.

      Now, if MS simply left it at that, great, no problem, no Java in Windows by default, download a JVM/JDK or something. However... there's this C# and J# and whatnot business, which looks awfully like an attempt to squeeze Sun's Java out of the programming market.

      And that's monopoly extension.

      Microsoft can innovate all it wants. It cannot try to actively kill competition using its monopoly power. MS tried to do it before with their noncompliant JVM, and now it looks like they're trying to just kill Java entirely by leveraging its desktop monopoly.

      I actually have little problem with MS bundling practices, outside of their attempto to break, or damage the reputation of, competing products, languages, and data formats.

      --

      Someday, you're going to die. Get over it.
    29. Re:Initial reactions by mroshea · · Score: 1

      Yep, you're right, but as you mention, these are the 1.1.4(?) APIs and will never be updated (for legal reasons) to J2SE level APIs which is what most Java developers are using today.
      That precludes automatically compiling an awful lot of Java source code - e.g. existing code which uses Swing, rmi, CORBA, sound, 3D and even newer APIs for logging, printing, crypto etc. It also closes the door to any existing J2EE API based code (e.g. JDBC 2.0 - of course EJBs and Servlets are non runners!)

      The roadmap is clearly to migrate more recent code to the .NET Framework equivalents. If you take that route, you are using the Java language but not the java platform and you're locked in. If that's what people want, MS is definately the company to give it to them but they should be clear about what they are getting tied into.

    30. Re:Initial reactions by lukel · · Score: 1

      Your argument is horribly inconsistent and flawed. If it is evil for Microsoft to include Internet Explorer, it is equally as evil to include a JVM.

      You really can't have it both ways.


      Wrong

      There is not a market for JVM for desktops: they're given way free, the market is downstream. As long as the JVM isn't broken, including it in windows is fine. There was, however, a market for web-browsers, so including it in windows is not fine.

    31. Re:Initial reactions by NutscrapeSucks · · Score: 1

      I'd be interested to hear if you could just grab the Java 2 and J2EE java/class files and recompile them with the converter tool (jbimp).

      One the face of it, this would seem like it could work for everything that's pure-java based (doesn't use JNI), so long as they support RMI, that is.

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
    32. Re:Initial reactions by Malcontent · · Score: 2

      Yet another MS troll rated up insightful. Further proof that slashdot has become a haven for people who hate open source and come here to praise the MS god.

      "Obviously if Microsoft includes a JVM, then no users will go out and bother to download the JVM from Sun, IBM or Acme Computing."

      If MS had included a JVM as specified by their contract with sun nobody would have cared. That JVM would have been compliant with the standard set by sun. MS willfully broke their contract (who actually believes that MS will honor a contract anyway? eveybody knows those guys are slime buckets) they got sued and they lost. Sorry but that's the reality.

      "You really can't have it both ways. If you get to say what goes in Microsoft's products, then I feel it is my moral duty to say what goes into Linux distributions. "

      Well you could if Red Hat had a monopoly. They don't so you can't. MS has one (a court said so!) so they have to act differently. Sorry but that's the law.

      --

      War is necrophilia.

    33. Re:Initial reactions by sheldon · · Score: 2

      "You seem to be a little confused about a few points sheldon."

      After reading your response, I'd say it's pretty clear that I'm not the one who is confused.

    34. Re:Initial reactions by sheldon · · Score: 2

      Wow, you can use HTML tags in your /. posts!

      If there is no market for JVM on desktops, then there is also no market for WWW browsers, instant messaging clients, and multimedia players... since these are all also given away for free.

      But I notice your last sentence is inconsistent with your first one.

    35. Re:Initial reactions by lukel · · Score: 1

      If there is no market for JVM on desktops, then there is also no market for WWW browsers, instant messaging clients, and multimedia players... since these are all also given away for free.


      No. Read my comment again carefully to see why.

    36. Re:Initial reactions by Anonymous Coward · · Score: 0
      After reading your response, I'd say it's pretty clear that I'm not the one who is confused.

      And I'd say it's pretty clear that you didn't take his advice and do a little more research. If you're going to argue so passionately about something, at least take the time needed to be informed instead of sounding like you work in the Marketing Department for Microsoft. That way, even if people disagree with you, they'll still respect your opinion and the thought process that went into it.

  12. And thank you! by Anonymous Coward · · Score: 0

    Whew. For a moment there, I thought a joke with a mass culture reference might remain unexplained. Thank you for pointing out the obvious to us all.

  13. so Java is ... by quick_dry_3 · · Score: 3, Funny

    even more portable than before?!

  14. J# vs. C# by MrBlack · · Score: 3, Informative

    Java and C# are already pretty similar...how am I going to know at a glance which one I'm looking at. Surely the differences between the two (which are subtle, but certainly there) will catch people up all the time.

    1. Re:J# vs. C# by Anonymous Coward · · Score: 0

      It's easy. 4 steps:

      1. Look at code
      2. If readable then it's Java. Goto step 4
      3. If unreadable then it's C#
      4. Start coding

      You don't believe me? Try writing some C# which makes significant use of the new attributes syntax and the lovely (not) XML comments. Bleugh!

    2. Re:J# vs. C# by BitwizeGHC · · Score: 3, Funny

      XML Comments? What are they smoking? They must be really intoxicated with XML hype over there. Pretty soon Ballmer'll start mandating that all meetings be conducted in an XML variant. Instead of "This meeting is adjourned" you'd hear "Open bracket slash meeting close bracket!"

      --
      N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
    3. Re:J# vs. C# by Domini · · Score: 2

      should rather be:
      <meeting />
      ... the best kind; no meeting!

      <emote>grin</emote>

      But seriously...
      XML may be heavy, but it has it's advantages. Wrapper tools can wrap it so that you don't even know you are using it, and you can compress it down to almost nothing anyway if it bothers you.

    4. Re:J# vs. C# by Domini · · Score: 2

      Languages really don't matter... syntax is for the birds.

      All that does matter is where there is propper support to back you up, and by looking at Visual Studio .NET it seems that C# is pretty well stocked. I'm sure MS is going to push it pretty hard and make it work.

      As long as the language allows me to implement my OO design elegantly, or at least easily, then I'm happy.

      (thus VB will always suck be default)

      I'm just happy I can use my Python, and ocationally meander into C++ and C#.

    5. Re:J# vs. C# by Anonymous Coward · · Score: 0

      XML comments are great. They mean that I can produce my own set (or sets) of stylesheets to give me whatever presentation of whatever subset of the comments I like. Much better than that lame javadoc crapola.

    6. Re:J# vs. C# by Anonymous Coward · · Score: 1, Informative

      Fuckwit. Clearly, you've never rtfm of javadoc. You can do that, and more, with it - it allows you to specify java classes to act as syntax transforms, so that you can use it for produce pdfs or tex output directly, for example, or highlight every second method name in orange, our WHATEVER YOU WANT. It's almost too unrestricted - since it allows you to do ANYTHING to the comments, people seem to have a hard time deciding what to do - kinda like the way people don't think to store photos on their computer until the OS manufacturer sticks a "My Photos" folder with a pretty icon in it...

    7. Re:J# vs. C# by Anonymous Coward · · Score: 0

      Hmm, well I take your point but I'd rather be able to read the code easily in a plain text editor than be able to automangle the comments using a separate tool.

      Anyone want to argue that the attribute syntax isn't ugly?

    8. Re:J# vs. C# by spongman · · Score: 2
      Visual Studioo allows you to collapse sections of code, and will do this automatically for XML comments. You only need to see them if you want to.

      One of the major advantages is that they're automatically integrated into the intelllisense argumnent completion stuff, so when you're writing a call to a method that is XML commented, a tooltip appears which show the type of the current argument and a free-text description of that parameter.

      check this article for an excellent overview. if nothing else, check out the last screen-shot for an example of the power of XML/XSL.

    9. Re:J# vs. C# by Mindbridge · · Score: 3, Informative

      Languages do matter. Certain language features can significantly improve productivity and the quality of the code. Especially in respect to team environments and large projects.

      Case in point: Java has checked exceptions, C# does not. The extensive use of exceptions in large projects is typically a significant source of program instability if you do not have the benefit of compile time checking. This is a very simple language feature, but it makes a major programming mechanism from one that requires caution to one that is ubiquitously useful.

      Even carefuly selected syntactic sugar can make the code clearer and simple and cause some boost in productivity as a result (e.g. 'foreach' in C#). Of course, badly selected syntactic sugar can have just the opposite effect -- massive confusion. I find it astonishing that in C# you can never be sure what the expression 'a.b = c' does (assignment or function call). Are the several characters that are saved from 'a.setb(c)' worth the amount of programming time that would almost certainly be lost due to misunderstandings? I very much doubt it. (although anyone who has public members probably deserves that)

      So languages do matter, and even the small differences can have a big impact on the stability and maintainability of a large program.

    10. Re:J# vs. C# by Domini · · Score: 2

      Sure languages all have limitations. But when you get to know each of them well, you have ways of working around those limitations anyway.

      All I'm saying is that it's more important to design, than what language you use. Mostly the client dictates the language, so that does not matter to me.

      I agree that a.setb(c) is a good(tm) thing. Implicit operators can cause a lot of trouble only for the sake of a few less keystrokes and the illusion of a powerful language.
      ;)

      But then there is also unneeded features. Yes, sure, so some features let you implement much closer to your design, but as long as you solve the problem in an easy maintainable way, with the least amount of conceptual bugs... that all dandy!

      My private views differ from these, as these are my professional client-oriented views. Privately I still think next to smalltalk, Python is the best thing.

      But I'm just stupid that way...
      ;)

      PS: One can still do an OO designed and implemented program with:

      ~> cat /dev/tty > /bin/project && chmod a+x /bin/project

      ... but then one would need an infinite troop of monkeys.

    11. Re:J# vs. C# by NutscrapeSucks · · Score: 2

      Surely the differences between the two (which are subtle, but certainly there) will catch people up all the time.

      Java and C# have a nearly identical syntax, except that C# has a bunch of added syntactical junk (out params, (gasp) pointers, and the like) that's there so that Microsofties can port their legacy code base over.

      As somebody pointed out, not having checked exceptions really sucks too (reeks of VB on error goto handling).

      Anyway, I was considering a private 'coding standard' that would toss much of C#'s advanced syntax in favor of something simplier and, umm, more like Java. Now, with J#, I might just consider coding in Java, although there's a bunch of open questions such as how COM would be handled and how events (and other structures that rely on delegates) would be handled.

      I guess the biggest problem with J# is that Microsoft will probably forget about it next year and it will silently break with CLR 1.2 SP4a. Furthermore, there's probably going to be very little commercial demand -- and try explaining to a manager (expecially one in the MS Camp) that C# and Java are pretty much the same thing.

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
    12. Re:J# vs. C# by Anonymous Coward · · Score: 0

      Well, my theory is that this and a few other features (like meta-data attributes) are designed "in" to stamp out us Visual Notepad folks (actually EditPlus, but I know VIM and EMACS MS developers). You get code that looks great in VS, but looks like unreadable ass anywhere else. VS.NET is less annoying than previous versions, but still this seems like a way to charge developers for the 'free' SDK.

    13. Re:J# vs. C# by spongman · · Score: 2

      now you know another VIM MS developer (actually, I worked on a VI emulation for an unreleased version of VisualC++ when I interned at MS in '92). vim 6.0 does the collapsing I'm talking about, do ':help folding'.

  15. .NET is marketing hogshit by Anonymous Coward · · Score: 0

    Java is here to stay.
    Microsoft is pissed off so their marketing department creates the .NET for braindead.

    They sell it, some idiot managers buy it.
    What the fuck these managers are good for then wasting more money ?

    What is wrong with win2000, XML, JBuilder ?
    Nothing.
    They just fuck you around to suck you dry of money.

    Yeah go and upgrade to XP too you fucking idiot manager shithead.

  16. Microsoft turned their backs on... by DA_MAN_DA_MYTH · · Score: 1, Insightful

    the Java COM developers. So we picked up and said well hey maybe this isn't such a bad thing, let's go find our roots and discover what this J2EE platform is all about. Besides M$ has given us a boloated crappy VM anyway. Hey who needs this XP thing anyway?

    Now that they see most of us, developers have picked up and left this is M$ brainchild to suck us back.

    Tsk, Tsk Bill, You've got spunk... Sadly though, unlike other companies Microsoft can easily pay for the mistaken direction that they've taken.

    --
    "It takes many nails to build a crib, but one screw to fill it."
    1. Re:Microsoft turned their backs on... by Anonymous Coward · · Score: 1, Informative

      Talk to Sun. It's not that Microsoft wanted to stop supporting Java; they loved the concept. They had, until Sun stepped in, the fastest JVM available. It's quite the opposite of bloated, considering Microsoft has not been permitted to update it since 1.4, which means it's lacking the bulk that Sun has been scrambling to add.

      Oh well, I'd like to see Java stand up to DirectX.NET.

    2. Re:Microsoft turned their backs on... by Anonymous Coward · · Score: 2, Insightful

      Someone's going to attack you on the basis that Microsoft added extensions to Java...when they do, they're an idiot. Microsoft HAD to add stuff to Java to let it call COM, as Microsoft always supports its legacy code (as this J# release shows), so they needed Java to interoperate with COM. Sun weren't about to do that in a hurry (can we say "because they had a monopoly over Java which they attempted to leverage to force other companies out of business"? No? Do Slashbot weenies only accept that criticism when applied to The Great Bill? That's 'cos they're thick little lUn1X weenies.)

    3. Re:Microsoft turned their backs on... by Hast · · Score: 1

      Bollox!

      The entire point of Java is to be platform independent. If you start adding hooks for a specific OS then the point is lost. After all, if that was "allowed" why didn't Sun add a lot of good stuff for Solaris/Sparc users?

    4. Re:Microsoft turned their backs on... by Anonymous Coward · · Score: 0

      Because Sun knows that selling UNIX boxes is a dead-end business, and needs to move into software to survive?

    5. Re:Microsoft turned their backs on... by maxpublic · · Score: 1

      Haven't you read the Halloween Documents? A core Microsoft strategy is to add extensions to open protocols, in effect 'embracing and extending'. In MS's own words, they "de-commoditize protocols" in order to render them less-than-useful on anything other than MS's own sofware.

      MS did this with Java to dilute the threat that Java originally presented by promising to be truly cross-platform. It worked, and it worked well. It's no surprise they're trying to do it again.

      If you have any doubt of this you can read the documents for yourself at: http://www.opensource.org/halloween/

      Max

      --
      My god carries a hammer. Your god died nailed to a tree. Any questions?
    6. Re:Microsoft turned their backs on... by blackwater · · Score: 1

      Or just observe their behaviour ever since they started.

      The funny thing is that if you talk to their employees they *genuinely* believe that their extensions "add value for the customer" (and that's a direct quote from an apparently sincere person that's quite high up in MS).

  17. Control by Anonymous Coward · · Score: 1, Interesting

    Another attempt by M$ to lure developers they lost to Java, back into their game. The intent here being to (re)invited developers to the .NET party through Java, making every effort on the way to convince them to move their codebase to c#, given the limitations of the JVM they're offering.

    1. Re:Control by Anonymous Coward · · Score: 0

      What if Sun (re)ports their VM to .NET/XP?

    2. Re:Control by MillionthMonkey · · Score: 2, Funny

      So the Sun JVM would run on top of .NET? The JVM itself would be running under a CLR VM. Native code is now TWO levels below you.

      This is actually an interesting idea. Maybe you could use Java to write an interpreter for your own custom bytecode. Then you would run it using the Sun JVM running on top of the CLR VM and get THREE levels away from the native code. The ultimate would be a VM written in the same bytecode that it interprets. Then you could just stack those VM layers up like Legos to the sky! There are probably some good IOCCC entries in here somewhere.

      The real question is: if .NET is only going to run on Windows then why does Microsoft need to set up a VM for it at all?

    3. Re:Control by Zico · · Score: 1

      The real question is: if .NET is only going to run on Windows then why does Microsoft need to set up a VM for it at all?


      You just answered your own question: It isn't. :)

    4. Re:Control by BitwizeGHC · · Score: 2

      The ultimate would be a VM written in the same bytecode that it interprets.


      Squeak actually has this. It's pretty nifty: a VM for Smalltalk written in Smalltalk, so that it can self-host. It's slow, but it works. The Smalltalk is translated into C and then compiled natively, of course, to build a runtime, but the reason why this was done was to aid the developers of the system in debugging. (They are Smalltalk zealots and do not like messing with icky C.)
      --
      N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
    5. Re:Control by Anonymous Coward · · Score: 0

      a couple of Java project come to mind
      http://www.sun.com/research/kanban/JavaInJava.ht ml
      and the long awaited Jalapeno from IBM
      http://www.research.ibm.com/jalapeno/

      it'd be interesting to see if IBM can pull this one off...

    6. Re:Control by Anonymous Coward · · Score: 0

      > So the Sun JVM would run on top of .NET? The JVM itself would be running under a CLR VM. Native code is now TWO levels below you

      This doesn't make sense, the JVM is conceptually equivalent to the CLRVM (ie. both have their own garbage collection mechanisms,...).

      I wouldn't be surprised if someone came up with a java c# preprocessor (along with some wrapper DLLs to make up for missing interfaces).

  18. warning: goatse.cx link by MillionthMonkey · · Score: 1, Offtopic

    Maybe slashcode can look for a redirect URL in the query string of each URL. It would be useful to see something like
    [lindqvist.com ?-> GOATSE.CX]
    or even
    [lindqvist.com/externsajt .php?externalSite= http://GOATSE .CX]
    instead of
    [lindqvist.com]
    Although it's still a good pictoral overview of Microsoft's Java offerings.

  19. Stupid Question from a Non-Programmer by Platinum+Dragon · · Score: 2

    Is it possible for someone, who knows what they're talking about, to tell me what the big difference is between COM, COM+, and CLR that makes the latter so "revolutionary"? As far as I can tell, they all allow programs written in different languages to interact with one another.

    Consider me clueless, and provide me with clue, please:)

    --

    Someday, you're going to die. Get over it.
    1. Re:Stupid Question from a Non-Programmer by m_pll · · Score: 2, Interesting

      COM(+) runtime layer is very thin. When you make a COM call, you essentially call raw native code. Which means there is no easy way to implement integrated services like cross-language exception handling, garbage collection, reflection, sandbox security etc.

      CLR provides all that and much more.

    2. Re:Stupid Question from a Non-Programmer by spongman · · Score: 2

      the main reason is that instead of having to conform to a different object/memory/exception/threading model than the language natively supports, the models that the CLR supports are now native to the language so you don't have to jump through hoops to use them.

  20. What does it DO? by macpeep · · Score: 3, Insightful

    Yeah yeah, J#, GNU# ha-ha. We've heard all the jokes and M$ spelling already. Now can someone please explain what J# actually DOES cause the Microsoft site doesn't seem to explain this. Does it operate on compiled bytecode? Does it translate the source code? To what language? C#? The site says that J# "improves the interoperability of Java-language programs with existing software written in a variety of other programming languages". That doesn't sound like just a migration tool to me. Also if it's just a migration tool, the name is pretty misleading since most people assume it's a language (C#, J#, ...)

    Later in the "article", it says that J# INCLUDES technology that enables customers to migrate Java stuff to .NET. But I still get the impression that J# is more than just a migration tool.

    Having said all this, I don't see that there would be a big need for this.. Most Java developers and companies using Java are using Sun's VM's and technology and won't be migrating to .NET. Most Visual J++ developers were writing Windows-only, client apps - not server side stuff, so I don't see that they would benefit from this either.

    Can someone enlighten me?

    1. Re:What does it DO? by Zico · · Score: 4, Insightful

      J# lets J++ and most Java developers get in on the .NET action. I say most because the version of Java supported by J# is 1.1. And yes, almost all of the hardcore Java developers are using Java 2 now (as they should be), but there's a large percentage of people still coding to the 1.1.x standard, either because they're still doing applets or because they haven't gotten all that serious about Java development.


      The Java code doesn't compile to Java bytecode, but instead to CIL, the Common Intermediary Language (formerly MSIL), so that it can run under the Common Language Runtime, just like C#, VB.NET, JS.NET, Perl.NET, Python.NET, etc. It improves the interoperability because I can then take any Java class and use it like it was any other .NET class. Someone write a sweet applet or chat server or ssh client in Java? Cool, I'll take the .java files and compile them to CIL and now I can use the classes directly in my C# programs, extend them, whatever, just like they were C# files. And vice versa, and with any other .NET language.


      Personally, I know it's not officially a migration tool, but I view this as more of a migration tool than anything else. Otherwise, you're going to be left using an older version of Java. It's important to note, though, that Microsoft isn't alone in this Java on .NET thing, so I think a lot of people need to calm down about it. What I mean is that other companies are going to be putting the Java language on .NET, just like other languages are being ported to .NET. And these companies will be using Java 2. So, I don't think that anybody should dismiss this concept just because Microsoft itself is only supporting Java 1.1 with it, because it's going to happen. For now, though, it is an important release so that Microsoft can support their Visual J++ users. As for a true migration tool, that's the JUMP tool (Java User Migration Path to .NET), which is coming out later, and from everything I've heard, will be for migrating Java 2 as well Java 1.1 code, probably to C#.


      That said, I think there's a good benefit to it. A lot of Java programmers just flat out like the language, the whole WORA jive never mattered to them. It's really not a huge event, though, it's just one more language coming to .NET. One interesting thing, though, is that .NET programs run quite a bit faster under Windows than Java programs do. So, once a current Java is on .NET (and probably also a little bit with the older Java available via J#), Java on .NET is going to be pretty tempting to people wanting to squeeze better performance out of Java, especially if they really don't have much interest in non-Windows platforms. Interestingly enough, Microsoft could parlay this into its advantage in that .NET platform could ironically enough become the best platform on which to run Java programs. (Based on the few ports I've played around with in J# today, my really tiny code ( < ~30 LoC or so) runs faster in the 1.3.0-C JVM, while the larger stuff is running faster in the .NET CLR.)


      Anyway, I really like the move, I'm glad somebody has finally put something out there which separates the Java language (which is pretty nice IMO) from the whole Sun vision of Java as a platform. Hope this helped...

    2. Re:What does it DO? by macpeep · · Score: 2

      Cool! Thanks for the explanation. I write C++ for a living but I code a lot of Java for fun & for tools. To me, the cross platformedness from the COMPILED code isn't important at all. It's nice, sure, but the more imporant thing is that the language is great and that the source code is portable. The extra compilation is no big deal. If Java2 apps would run on .NET - and be faster - I believe that would be a pretty important thing for Microsoft. I wouldn't be surprised if it turned out that 3 years from now, Java is the most popular language to write .NET stuff with. I don't see how this would be bad for Microsoft...

    3. Re:What does it DO? by spongman · · Score: 2

      It also comes with a tool (jbimp.exe) that converts a bunch of .class files (java bytecode) into a .NET Assembly (CIL .EXE/.DLL).<p>

    4. Re:What does it DO? by ThatComputerGuy · · Score: 1

      Some companies (such as the one I work for) need their Java app to run on the Mac too. As I understand it, Java 2 support on the Mac is really poor (or nonexistent), at least until OS X.

      And now there are rumors that Apple doesn't want to release any newer JREs (MRJ, whatever) for pre-OS X, so we're basically stuck with Java 1.1.8 or whatever was the latest.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    5. Re:What does it DO? by Anonymous Coward · · Score: 0

      Anyway, I really like the move, I'm glad somebody has finally put something out there which separates the Java language (which is pretty nice IMO) from the whole Sun vision of Java as a platform. Hope this helped..

      So long as you are willing to buy into .NET as a platform.

      Which isn't necessarily a bad thing, especially if you are dependant on client-side GUIs or you want to use ADO DB drivers and so on.

      But like everything, it's a political tradeoff. Certainly better than VisualBasic as a platform (which it is!) tho.

  21. Migration for Visual J++ developers by samirkseth · · Score: 3, Insightful

    I believe this is merely Microsoft's solution to provide a migration path for the Visual J++ developers who have been left high-and-dry since the discontinuation of that product. The references to "other Java language" is just a red herring.

    It would not make sense to suck "Java" into the .NET platform, when a language so close to Java (C#) has been expressly created for that purpose.

  22. It's about debugging. by Otis_INF · · Score: 4, Informative

    Ok, with COM and COM+, you could f.e. use a component written in C++ in VB or vice versa. However, when you're debugging your VB application and the error you receive is inside that C++ component, you're out of luck. (You can, in a way, compiled VB stuff in VC++, but it's a nightmare). With the CLR, you're not. You can step into that C++ component directly from your VB code. And if that C++ component uses a serie of C# components, no problem there.

    The main advantage is here: development is faster in a team where every programmer can use the language he/she likes the most. Even if you're not familiar with C++ in the example above, you can pinpoint the developer who wrote the component that in line xyz his code bugs when you supply it the parameters your VB application passed to it. File the bug your bugtracker system et viola. The C++ developer can even use your VB application to debug his own code, without having to write a testapp in C++ that will supply EXACTLY the same inputparameters.
    With COM and COM+ you don't have that.

    --
    Never underestimate the relief of true separation of Religion and State.
    1. Re:It's about debugging. by MillionthMonkey · · Score: 5, Insightful

      The main advantage is here: development is faster in a team where every programmer can use the language he/she likes the most.

      .NET people love to say this and it makes me laugh. It's so naive. It's like saying that development is going to be faster once you let all the programmers use the bracing and indent styles that they personally prefer.

      "Welcome to the team. I wrote the C# parts of the application. John writes in Eiffel, Paul here likes C++ and uses that, and George over there prefers to use VB because he really likes its type system. You'll be sitting at this desk here, and you'll be in charge of the code that Ringo was working on before he left. None of us really knows how it works because we don't know INTERCAL."

      I submit that development is faster in a team where all the developers are using the same language and can at least read each other's code. I work with a bunch of guys on a successful Java-based scientific application. We have to go into each other's code and change things all the time. They're all smart guys- and I have real respect for them, because 1.they're very productive and 2.might be reading this. But they're physics PhDs with no formal CS training, and they write fiendishly clever code that is really hard to read. The best of them writes huge amounts of complex-flow infrastructure that is riddled with "historical" stuff that gets coded around everywhere. Another one writes impenetrable clockwork mechanisms. A third delights in purposeful obfuscation (so he handles the licensing validation code). If any of them were on a plane that got hijacked, the company would be in serious trouble! Their code is pretty hard to read, but I can usually figure it out because I'm used to deciphering uncommented Java. The mere idea of these guys running around writing different parts of the code in their favorite languages makes me shudder. (The clockwork mechanism guy likes OCaml, for example, and naturally the obfuscator would prefer C.)

      The idea of everyone coding in their favorite language only works well if each developer is going to be entirely responsible for his/her own domains of the code, and nobody will need to cross boundaries too often into other domains. If there is more coupling than that, then soon everyone has to learn everyone else's favorite language. This sets up a language holy war. It also makes it difficult to reassign responsibility for parts of the code because now you have to worry about who knows what language.
      This might be useful for more loosely coupled development teams. As in, your project in language X could really use this nice new library that someone wrote in language Y. But you can already use language bindings that are already available for that purpose. If you encounter a bug in a library do you normally debug it yourself? If you're like most people, you either send a nasty email to the guy who sold you a buggy library, or you dig through a mailing list archive to find out what the problem is. If you use a debugger at all, it's to get a general idea of what's going on so that you might get an idea for a workaround to put in your client X code. But you can usually just pull that off if you just have the source! It is kind of neat that you can step into a different language, but it's unlikely to be of much critical importance for reasons that have more to do with humans than computers.

    2. Re:It's about debugging. by sheldon · · Score: 2

      Why do you think everyone is working on the same team?

      Why do you not see that perhaps part of the components your application might call could be reusable enterprise components developed and maintained by someone else... or third party components you have purchased?

      You don't understand what .Net does for you because you are still operating in a monolithic world. Once you get out of your University environment and starting working for a business, then maybe you'll understand who Microsoft is targetting.

    3. Re:It's about debugging. by miguel · · Score: 2

      There is no need to go to the extremes (in both cases). I think your premises are both right.

      It is a good thing if most of your code is written in a single language and various team members can take the place or fix someone else's code.

      The bit you are missing is that as a class library developer, you can write all your classes in J#, or in C#, or Fortran and then the end-user that happens to use those will be able to use whatever he preffers rather than the language the class library vendor ships.

      Miguel.

    4. Re:It's about debugging. by scrytch · · Score: 2

      Welcome to the team. I wrote the C# parts of the application. John writes in Eiffel, Paul here likes C++ and uses that, and George over there prefers to use VB because he really likes its type system. You'll be sitting at this desk here, and you'll be in charge of the code that Ringo was working on before he left. None of us really knows how it works because we don't know INTERCAL

      Yeah, INTERCAL. Do you have to resort to such hyperbole? Here's two very real scenarios:

      "Welcome to the project. The original was written in C, but it was segfaulting all over the place. Right now we grab the output with some shell scripts and massage it a bit with perl scripts so we can feed it to another big perl script that kicks off a java app written by this other department that spits out some html back to the perl script which drops it in the directory for the browser to view when it next refreshes" (this was similar to a monitoring app I did write, I did the Perl)

      How about a hypothetical:

      "Welcome to the project. You get the grunt work, writing report forms. You use VB for that? Oh, you say there's a python package that does report generation from the db better? Well, as long as it can use our chart control, we can bring that up in the meeting. Judy over there -- hi Judy, meet our candidate -- she's a business logic wizard, she wrote parts that process the figures in mercury. She gets new rules into the system in like, minutes, and we almost never have to send bugs back to her, so we let her do her thing. Now if only we could get a gui programmer to peek into the objects she's writing in mercury and have them show the partial results in case we want to run scenarios or something..."

      Fuck's sake, we're not talking about a tower of babel, we're talking about the interoperation of two or maybe three languages.

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
    5. Re:It's about debugging. by lostguy · · Score: 1
      The main advantage is here: development is faster in a team where every programmer can use the language he/she likes the most.

      Do you have figures for this, beyond,"I like Perl, and gosh darn it, I can code Perl faster than I can code Befunge, which I hate"?

      I propose the exact opposite -- a team that standardises on a single "good enough" language is more productive. Not only can everyone read and edit everyone else's code, more advanced team members can mentor junior members, leading to a greater average individual ability. Being able to ask for help is also a huge advantage.
  23. Also... by Otis_INF · · Score: 3, Interesting

    (sorry for the separate message, but if I put this text in the other message I replied, Slash will time out. Please fix this)

    Also, you don't have to register your components anymore. With COM/COM+ components, you have to register them in the registry. This is not a problem, but updating registered components is. In n-tier webapps, where the webserver has loaded the components in its core process (or separate process, if you've tuned it that way), you can't overwrite the dll and re-register the new components, because the dll is locked (which makes sense). Witb the CLR, just dump the dll in the dir and off you go. Updated the dll? overwrite it. The CLR will automatically see that the file is updated, and reload the components into memory.

    --
    Never underestimate the relief of true separation of Religion and State.
  24. Well ... by King+Of+Chat · · Score: 1

    OK, I must admit that I haven't got round to benchmarking CLR versus native yet - but then of course it's only in beta. For some reason, I load up the IDE and then lose the will to live.

    I can see them producing a decent CLR for Itanium, but for a decent high-end *nix box? They'd need to charge so much for the CLR to make up for the fact that you didn't need 50 Win?? boxes.

    Still sceptical.

    --
    This sig made only from recycled ASCII
  25. More importantly :how to pronounce J# ? by clarkie.mg · · Score: 1

    Yes, I still don't know how to pronounce those C# and now J#.

    seebar ? djayyybar ?

    Not that I talk a lot about it but who knows ?

    --
    Men are born ignorant, not stupid; they are made stupid by education. Bertrand Russel
    1. Re:More importantly :how to pronounce J# ? by opk · · Score: 1
      J sharp I think

      and C# is C sharp.


      Hopefully it'll result in fewer Americans calling `#' the pound sign.

    2. Re:More importantly :how to pronounce J# ? by muffel · · Score: 3, Funny
      In German, '-is' is appended to the letter for # (and '-es' for flat).

      So: Jis

      which I will comment no further.

      --

      bla
    3. Re:More importantly :how to pronounce J# ? by Anonymous Coward · · Score: 0

      I prefer the pronunciations "see-pound" and "jay-pound," since they more closely reflect what M$ is attempting to do with the market.

    4. Re:More importantly :how to pronounce J# ? by joel.neely · · Score: 2, Interesting

      According to The Elements of Typographic Style by Robert Bringhurst (a standard and
      highly-respected reference in the field), the
      character "#" is named "octothorp". The origin
      of this name? "In cartography, it is also a
      symbolfor a village: eight fields around a
      central square... Octothorp means eight fields."


      (Insert appropriate wisecrack here...)

    5. Re:More importantly :how to pronounce J# ? by Artichoke · · Score: 1


      > calling `#' the pound sign.

      which is really '£' blah, blah

      Am I the only one who goes for:

      C# == see hash
      Can anyone tell me where # == hash comes from?

      --
      __
      Arse
    6. Re:More importantly :how to pronounce J# ? by SnarfQuest · · Score: 1

      C is the roman numeral for 100, and # is used to represent 'pound'. Since it's from MicroSoft, you can assume it is junk, so you get the final pronounciation "One Hundred Pounds of Crap".

      --
      Who would win this election: Andrew Weiner vs Andrew Weiner's weiner.
    7. Re:More importantly :how to pronounce J# ? by Martin+S. · · Score: 2


      >Yes, I still don't know how to pronounce those C# and now J#.

      In English (i.e. British english) # is called a 'hash' so that gives C(hash). Also to hash something is to bodge it or make a mess of it . All in all a rather appropriate description.

    8. Re:More importantly :how to pronounce J# ? by easter1916 · · Score: 1

      I'm curious, maybe you can answer this. In Ireland I've heard this symbol referred to as 'hash', 'cardinal' and 'cross-hatch'. Have you heard either of the latter two used in the UK?

    9. Re:More importantly :how to pronounce J# ? by Martin+S. · · Score: 2


      I've heard the expression cross-hatch used from time to time. I've not heard cardinal used but I've seen it used to mean [interger] number on forms i.e. Ref# /Id# (Ref No/Id No).

  26. ^^ Link above is redirect to some goatse.cx frames by Mr+Thinly+Sliced · · Score: 1

    And like and fool, our Mr Ham fell for it.

    Don't click. Don't. I know you want to, but don't do it.

  27. Too many languages by StrawberryFrog · · Score: 4, Insightful

    You are right in that the advantage of CLR is that it is a level of integration better than COM, which is itself a level of integration better than the flat-DLL/library API function call interfaces that the original poster was happy with.

    but

    development is faster in a team where every programmer can use the language he/she likes the most.

    Is it really? It hasn't been tested in the real world yet. IMHO, that's not a team, that's a collection of individuals going off in all directions. IMHO a project that's written in 5 different styles in 5 different languages would be a 'mare to maintain, extend or even to complete.

    I'm all for picking the right tool for the job, and writing the project in the best language (or two) for the job, but in a medium-to-large project, it is important that code is collectively owned, well-integrated and understood by more than one person.

    How will that work if everyone codes in thier pet language? Do you now expect Joe VB to learn not one but ten new lanuages? Or to not understand 4/5 of the project he is working on, even with the source? Language choice should not be made on personal whim, but as a group decision on language suitablity.

    I see this as having the potential for of a whole new level of code impenetrability.

    --

    My Karma: ran over your Dogma
    StrawberryFrog

  28. You really need to stop smoking that cheap shit... by begonia · · Score: 1

    .Net is WINDOWS ONLY

    --
    RM
  29. .NET = component-based programming on the Internet by Aapje · · Score: 1

    Just like programmers built programs on Windows with DCOM, .NET allows you to built a program with basic components. Only now these components are not restricted to the same computer, OS or programming language, but may be used over the Internet. But Java offers the same thing: J2EE.

    I can see merit to it, .NET will at least allow other platforms to use Windows-based components through SOAP, lowering the barrier for the adoption of Linux or MacOS X. But service-based software also has great risks of causing a Big Brother society (you'll only use the software as we allow, we'll be monitoring) and has security risks.

    There actually are very few conceptual differences between J2EE and .NET (probably because one of the two is a rip off). The most basic differences are that J2EE locks you into a language, while .NET locks you into an OS and tool-provider. I have made my choice.

    --

    The Drowned and the Saved - Primo Levi
  30. ...when you take debuggingtimes :) by Otis_INF · · Score: 2, Insightful

    when a team develops a product, you'll have different aspects of functionality implemented, by different kinds of people (both on skillset and on interest). When these people are offered to make it possible to develop in the language they like, it's an advantage, and because component based development is a way to speed up devtimes, it's a plus that people can choose the language they like. However, in the COM/COM+ world, others can't debug your code. (VB-VBCom components, ok, but with different languages, that's a problem). When they CAN step into your code, they can pinpoint to the errorous lines or blocks of code that could be wrong, directly. This adds another speed gain over COM/COM+ development.

    Component based development is all about not caring which language the component is written in. Therefor in theory the language is not important. For debugging, it can be helpful. the CLR provides you that helpful tool.

    --
    Never underestimate the relief of true separation of Religion and State.
    1. Re:...when you take debuggingtimes :) by Anonymous Coward · · Score: 0
      Therefor in theory the language is not important.

      He heh hehehheeee..

      You're an idiot.

      Welcome to my team. :)

  31. Re:You really need to stop smoking that cheap shit by Osty · · Score: 1

    Either you have some severe reading comprehension problems, or you didn't even bother to read my post. Try reading it again. The .NET Framework (CLR and C#) has been submitted to ECMA, and thus anyone may write their own implementations. While it's true that the .NET Servers (Hailstorm, for instance) are Windows-only, there's nothing that says a well-implemented CLR (for instance, the Mono project) will not be able to run the bytecode for those servers (assuming, of course that the .NET servers are built using the .NET Framework, and thus target the CLR). As well, .NET is a concept, that of XML-based web services, and a platform, built on the .NET Framework (which I've already established has the potential to be cross-platform, where "platform" here refers to cpu/os combinations).


    If you want to jerk your knee, that's fine. But at least pick apart what you think is wrong with my post.

  32. It's about component based development... by Otis_INF · · Score: 2

    that's the bottom line. get a component's instance, set some properties, call its methods, get results, destroy/release the component's instance. From a developer's point of view, you don't care HOW that component is developed, with which language etc, just that it should do what it supposed to do when you call a method. The OP wonders what's the big difference between COM/COM+ and the CLR's model of component based development. YOU are wondering if component based development is better or not. That's not at stake here. Some say it is, some say it isn't (f.e. the extreme programming people). When you go for component based development, the CLR has the advantage over COM/COM+ that you can step right into the code WHEN IT FAILS. this is an advantage and CAN gain you time. If you don't see the advantages of component based development, you will never see the advantages of COM/COM+ and the CLR.

    --
    Never underestimate the relief of true separation of Religion and State.
  33. I will use J# iff by Tharsis · · Score: 1

    it complies with the ANSI C89 specification

  34. Re:You really need to stop smoking that cheap shit by spongman · · Score: 2

    there's nothing in the CLR that is windows-specific. sure, right now the only fully-functional version publicly available is Microsoft's which runs on Windows, but there's nothing in the spec that requires windows featurs. In fact, there's nothing in the Win32 API that requires windows, either (see Wine).

  35. Why? by Dexter77 · · Score: 3, Insightful

    Could someone explain to me why would I start to code J#?

    I cannot create standalone applications with J# so I had to learn C# to do them anyway.

    J# is not compatible with Sun's Java so I can't use them together.

    Sun's Java runtime is available for Windows(tm).

    C++ is faster than C# so why would I use .NET?

    1. Re:Why? by Fraize · · Score: 2, Informative

      C++ is faster than C# so why would I use .NET?
      C++ is marginally faster than C#. However, C# is Hella easier to code in. No worries about pointer-math. No concerns about garbage collection. You don't have to write COM interfaces... I can write code that does the same job, in half the time that performs at 98% the speed it would if written in C++.

      With the time saved, I can go home and download more pr0n.

      --
      --Quidquid latine dictum sit, altum sonatur.
    2. Re:Why? by wadetemp · · Score: 1

      C++ is not nessesarity faster than C#. For example, if your software needs to support all Pentium class hardware, you compile for 586. With C#, you always compile to the same bytecode regardless of the target platform.

      A JITer written for the Athlon or P4 can take advantage of those architectures when producing runtime code from the bytecode. And in .NET's case, the runtime code is cached so you're not always JITing applications. The machine code that results may not be as optimized as directly compiled C++ machine code for a specific processor, but in general it will be better optimized for the processor it is JITed on, which may make it faster on that machine, and certainly makes it more cross-platform.

  36. increasing size of sun VM????? by jilles · · Score: 5, Insightful

    I keep reading about this on sites like this. It should be pointed out that even the JRE (java run-time environment) for jdk 1.4 is well below 10 megabytes (mainly depending on the platform). Of course if you download the full jdk you have a bigger download, mainly because that includes, among others, various tools and the source code for most of the API. But even then we are talking about 30 or 40 MB.

    Go check out Opera or netscape, both have an optional download for the JRE 1.3.x. I think it was about 6MB. The JRE includes everything you need to run Java applications. It is hardly bigger than MS jvm and does a lot more.

    Incidently, there is currently a beta of an enhanced 1.3.1 JDK that includes an activex component that fully replaces microsoft's JVM. Yes that's right, you can now run all your applets in IE using jre 1.3.1. Of course it doesn't support the MS specific extensions of the JVM.

    --

    Jilles
  37. Re:You really need to stop smoking that cheap shit by Corrado · · Score: 2, Informative

    Ahem. Only about 40% of the .NET framework APIs have been submitted to the ECMA. We'll see if the other %60 make it and in what form. :)

    --
    KangarooBox - We make IT simple!
  38. Web Services by ZigMonty · · Score: 1
    This sort of sounds like what Apple is starting (emphasize starting) to do with Web Services. It is an OS service that Apple is including with MacOSX 10.1 that allows you to make SOAP and XML-RPC calls to any web site that supports them.

    Note: the link above is to an info page of their Apple Script interface but you can call the service from Carbon or Cocoa programs using the techniques outlined in this developer doc.

    Can anyone who knows both post a comparison of them for us?

  39. Welp, the Register has a good article on J#, too by haggar · · Score: 3, Informative
    --
    Sigged!
  40. CLR - whats the advantage? by spike666 · · Score: 2, Insightful

    i find it strange that microsoft would choose to try and 'leverage' the bytecode concept that java has. i keep hearing from developers that CLR is cool, etc where i just keep thinking its the same concept as the java bytecode.
    People already have written cross compilers to compile C/C++ into java bytecode. BUT, AFAIK, not that many people actually use it. most people just go ahead and make the jump to using java as their programming language, instead of trying to remain on their old language.
    by the same token, if you're going to use .NET, then i would think you would want to learn C#. but if you are going to do that, why not learn java and then be platform independant? its not like learning java is that difficult for a proficient vb/c/c++ developer. C# keeps more of the c++ eccentricities. or as its been said "C# - it keeps all the worst bits of java AND c++"

  41. Get thee to the C# decompiler. by dave-fu · · Score: 1

    > After 'migration' it is still Java code you are using. It won't be much faster and you will still have to maintain it.

    This would be true, but as with Java, .NET has a decompiler. This one happens to be open-source, even.

    --
    Easy does it!
    This comment has been submitted already, 276865 hours , 59 minutes ago. No need to try again.
    1. Re:Get thee to the C# decompiler. by jilles · · Score: 3

      Decompilers are close to useless for maintenance activities unless you don't have the sourcecode (so either you threw it away, duh, or you're not supposed to have access to it). You do maintenance on sourcecode, preferably properly commented source code, preferably source code you are familiar with.

      Whether you compile to .Net or to bytecode is irrelevant. There's really only one certainty: migrating to .Net will generate additional maintenance activities since you will have to test whether it works and almost certainly you will encounter small problems. Once you have migrated and supposedly actually use the binaries you will find that you need to fix little things and even add new features from time to time. So you will keep tinkering with your old J++ code.

      It is worthwhile to mention that J# is not really a migration tool since there is no conversion of source code taking place into one of the typical .Net languages. Also J# apps still use the rather limited 1.1.4 API and not the .Net API so it is really a tool to communicate with legacy J++ applications rather than to migrate those legacy applications (which eventually you may need to do after all). And once more: the whole problem of J++ applications being legacy software is because MS decided to abandon J++. First they charge you for a J++ development environment and now they charge you again for some crappy solution to let you keep using your J++ stuff. Probably the reason you decided to use J++ in the first place was to be compatible with the other wonderful windows stuff you paid for. You were screwed three times! If I had used J++ in the past, I'd be very pissed off. This also shows that you have to be careful to invest too much into C# or Visual Basic or .Net because MS may suddenly decide that they need some extra revenue and change things so much that what you invested in heavily suddenly becomes legacy software. Visual Basic changed substantially during its existence and generally 'migrating' apps between different versions cannot be done fully automatically (i.e. it will cost you). Just like with office it is highly debatable if the changes are worthwhile and that breaking compatibility is really necessary but you have no alternative so you upgrade and revise your old stuff.

      jdk1.0.2 code still compiles on jdk1.4 (ok, minus some minor API changes which were necessary and are generally easy to fix). The resulting bytecode can still be executed on a jdk1.0.2 VM. Try to do that with VB applications written in 1995 (when jdk1.0.2 was released) on the latest version of VB and you will see my point.

      --

      Jilles
  42. Re:No you can't by GodSpiral · · Score: 2, Informative

    This is not the same as perl.

    Its not that .Net creates the possibility of writting code/systems that could not execute before, just that now, this code can run efficiently.

    Currently with COM, cross language inter program communication (or cross machine program communication even in the same language) a lot of time has to be spent reading, interpreting, and converting data types (especially object types) into the native language of the program. So if you had a payroll tax program on another machine and you wanted it to update your employee record (object), you might have code that reads something like:

    UpdateTaxes(MyEmployeeObj)

    Under .net you'd be copying a chunk of memory, having the process update fields directly, and then copying it back.
    Under traditional systems, the object your passing has to go through packing and unpacking of each field, in both directions

  43. Competition never hurts. I welcome J# completely. by javabandit · · Score: 5, Interesting

    First, a disclaimer, I am not a Microsoft advocate. Those guys can stick it up their ass. That being said, I will do what it takes to do my job and get paid.

    The issue here is that *many* Java developers have been trying to code quality front-end applications on Windows using Java -- and have failed (or fallen very short). *I* am one of those people who have done so. I know many other Java developers who have failed to meet their expectations reasonably when coding on Windows.

    If I know that my target platform is only going to be Windows, but I can't use any of the Windows libraries... what good is Java? Its not. So I have to go back to C++. But C++ is a horror in its own ways.

    Too many in the Java community are zealots about what Java should and shouldn't be used for. The idea that if it isn't WORA (Write Once Run Anywhere) then it shouldn't be written in Java is completely ludicrous, IMHO.

    Some Java developers want the elegance of Java with an easy way to utlitize Windows native libraries without having to write convoluted JNI interfaces all over the place.

    The answer is J#. However, I was perfectly happy with the idea of C#. C# has some compilation advantages and syntax advantages over Java that I really love.

    I have extensive experience with Swing (Java GUI libraries), and they just simply don't cut it for serious front-end application development. The more complex controls such as JTable and JTree are full of bugs, they are difficult to use, and complicated. If you want less complicated controls, you have to buy a proprietary vendor's API and use those, instead. The Windows 'look and feel' does NOT look and feel like Windows. Because of the MVC design, you have to import practically every single class in Swing into your programs.

    AWT was much more compact and easy to use. It also was pretty snappy; however, it suffered from lack of GUI controls.

    I don't see anything wrong with J#. If it works for you and serves your purpose, use it. If it doesn't, then don't.

    But a little competition in the Java marketplace (or any marketplace) never hurts. Maybe it will light a fire under Sun's ass and get them to contribute more to the front-end side of Java -- which has been ignored for far too long.

    Better yet, maybe they will open-source Java, instead. Even better.

  44. Deformed quote of the day by Balinares · · Score: 1

    News.com has a story describing Microsoft's plans to suck

    Wow, and here I was thinking that was Slashdot's job...

    --

    -- B.
    This sig does in fact not have the property it claims not to have.
  45. So .NET = selling CORBA to suits? by Balinares · · Score: 3, Insightful
    .NET solves this by making all languages share a virtual machine that defines a bunch of basic data types, and a base 'object'. This means that any object created in one .NET language can be accessed by another .NET language.

    Okay, so, in terms of functionality, how does that differ from CORBA, where you can very easily call a complex method written in Java on an Alpha box running OSF/1 from an object written in Python on an x86 box running Linux?

    Outside, of course, the fact that CORBA is a fully documented specification, meant to be completely open and interoperable, complete with mappings for data types and everything, and that you don't need a virtual machine to make it run where you want, the way you want?

    Please note -- it's not a troll. I'd just really want to know.
    --

    -- B.
    This sig does in fact not have the property it claims not to have.
    1. Re:So .NET = selling CORBA to suits? by ClosedSource · · Score: 1

      Here is a link to a whitepaper that describes the problems creating web services using COM or CORBA.

      http://www.orchestranetworks.com/us/solutions/01 05 _whitepaper.cfm

    2. Re:So .NET = selling CORBA to suits? by Anonymous Coward · · Score: 0

      And a real link to the real whitepaper itself (sorry, it doesn't seem to be available in any less closed and clumsy formats than PDF) rather than the short intro.

      URLs in plain text don't become links, and slashcode is notorious for mangling them with whitespace because of all the whiners with brain-damaged browsers that don't break overlong lines.

  46. I think VS.NET will shine in the classroom by chandas · · Score: 1

    Think about it. VS.NET would be a dream come true for CS lecturers. You basically install one run time and can teach the nuances of programming in different languages alot more elegantly. I mean, students can easily now find out why it was a good or bad idea to leave enums for example out of Java. Or compare delegates to function pointers. As more languages get added to the fray (Python.NET and Perl.NET are underway as we speak) it would be a great teaching aid.

    1. Re:I think VS.NET will shine in the classroom by easter1916 · · Score: 1

      Enumerations are part of the java.util class library, have been since the advent of Java 2, IIRC. Granted, still not part of the base language, but available in the standard SDK.

  47. Sun will never open source Java by Anonymous Coward · · Score: 0

    Sun will charge a fee for the JDK within 3 years.

  48. Its about the right language for the job at hand by bogusflow · · Score: 1

    If you're building an n-tier system, some languages are more appropriate for different layers. For example, you could write a GUI using VC++, but why would you when VB is better suited for fast GUI development. On the other hand, VC++ is better for lower-level component work where you're making API calls, doing direct memory management, and working with threads. Most of those kinds of tasks are difficult/impossible using VB. In the world of business system development, its not a matter of "okay Bob your favorite language is C#, so go ahead and implement the user interface with it". Its really an issue of what tool allows the job to be done with maximum efficiency.
    I'm rockin' the suburbs

    --
    8 bit computing - It may be 2007 out there, but it's 1983 in here!!
  49. What we really need instead of J# by mmacdona86 · · Score: 2, Insightful

    Is a compiler that turns C# code into JVM bytecodes, so we can use the kind-of-neat C# language syntax with the mature Java tools. This shouldn't even be that hard to do (well, a little harder than a Java compiler). By the way, the CLR runtime supporting multiple languages is kind of a myth. Each language that the CLR supports has been rewritten (with new syntax, etc.) so it can be used with CLR. No code in an existing language will work with CLR without going through a migration. If you are going to work with CLR, you might as well use it's native language (C#) directly.

  50. Yeah sure... by Balinares · · Score: 2

    And I hereby declare that bundling lilo into RedHat is evil because it kills competition in the boot manager market.

    Spare us the BS, will you?

    To start with, Lilo isn't owned by RH, nor is it commingled into RH -- you don't want it? Removing it is trivial. Plus, if you're not happy with RH, you can go with Mandrake, which comes with GRUB, and which is still fully interoperable with RH.

    MS may not be the Absolute Evil /. tends to make them, but trying to compare their practices with the way Linux works is not -quite- a smart move. :)

    --

    -- B.
    This sig does in fact not have the property it claims not to have.
  51. "No one will use it" by heroine · · Score: 2

    Like no-one used Divx, AVI, SMB, DHCP, active server pages, common object model, or the X box. They don't even have to ship stuff to sell people on it anymore. It's wonderful.

  52. Downloaded J# by thedarkstorm · · Score: 1

    I'm probably going to modded down to -99 for this one.. but hey!

    I downloaded J#. It's a migration tool and a full-blown IDE for Java developers that want to write Native-compiled and native speed java windows applications. Yes, it does covert the WFC stuff to the new Windows forms that Studio.NET uses. No, it's not going to be for all the java or cross-platform people out there. It's going to be a niche player just like J++ was for a long time. If you know Java, and want your app to run cross-platform, go get an editor and a JDK. if you know Java, only want to run on Windows# and want speed, go get J#. Pretty simple, no need to lambast this thing, if you bring more people to the java language, so be it. Yes Java is fast on the server, does well for everything I need it to. But Swing GUI's still suck. Not everybody has a 2 GigH# machine out there, and even on those, swing is still slow compared to a native windows app like Delphi. I welcome this just as I have welcomed C#. I still use Java for my cross-platform stuff, but now I can reuse my java skills to create real desktop apps...

    --
    ... hey ... I had a .sig, bu then MicroSo$$ embraced it...
  53. The reason corporations put profit before ... by Aceticon · · Score: 2
    Is because corporations are runned by people ...

    ... and said people have stock options ...

    ... and the higher the value of a companies stocks the more those people can make by cashing said stock options ...

    Actually profits does NOT come before everything else - market valuation comes first ...

  54. Could we have slightly less sun propaganda? by Zeinfeld · · Score: 1, Flamebait
    Hey folk, before prostrating ourselves at the shrine of Sun's 'open standard' remember that Sun has exclusive control over the future of that language.

    The whole Java thing was more in Sun's interest than the developers from the start. In return for a somewhat better objective extension of C than C++ you wrote your code so it would run on Sun hardware as well as Intel and it would run at a tenth the speed on both. JIT compilers closed the gap somewhat but there is still a major performance penalty. A good C coder will write faster code than a good java coder.

    The 100% pure stuff is ridiculous. If I am writing a program to run on Windows I want to make use of the extensive APIs. I want the program to look and feel like a windows program, and definitely not like a Java applet.

    Sure platform independence is a good thing, but it should not be forced. Sun's little tantrum was about preventing people writing the programs they wanted to in 'their' language. So Microsoft have invented their own. I don't give a hoot about running on Solaris, Linux and NT are the only platforms I can be confident will be mainstream in 5 years time. Sun will go the way of the rest of the *nix hardware vendors in the end. (and blame their bad management on Gates to the end).

    There is not a great deal of innovation in C#, but there wasn't much in Java either. The big step forward in both comes from junking bits of C that were really bad ideas.

    There are a number of features of C# that make it much better to write programs for manipulating XML etc. than Java. If I did not anticipate ever wanting to port to another platform (and did not think C# for linux would arrive) I might use J#.

    In the meantime J# means that you can still use Java to teach intro to programming.

    --
    Looking for an Information Security student project suggestion?
    Try http://dotcrimeManifesto.com/
  55. Key problem with .Net by Ars-Fartsica · · Score: 2
    I want to like what I perceive as innovatiive programming tools, but I simply don't have a problem that is solved by .Net, and yes I do wide-scale distributed web programming.

    No matter what tools come on the scene, C/C++ will be my mainstay for performance-intensive code. Perl will be my tool of choice for glue and scripts. A SQL database or DB files solve my data storage problems. XML, HTTP, and HTML solve my interchange problems. I am not interested in giving up any of these as they have all proven to work.

    So I ask Microsoft - where do I need .Net tools??

    1. Re:Key problem with .Net by wadetemp · · Score: 0, Troll

      No matter what tools come on the scene...

      That's fine, don't give them up. But .NET does provide some integration and improvements on all the tools you've been using. For one, C# is an easy language to program in and with the right JIT/processor match it can be as fast or faster than C/C++ compiled for non .NET platforms. It buys you a few other things as well like reference counting/garbage collection. MS provides a .NET C/C++ compiler if you want that. Nearly any other language with the right type structure can be compiled to the .NET VM, including one day Perl.

      Database support is built into .NET. XML and HTTP support are built into .NET. HTML support is not, but you don't need to be writing code to sling HTML... ASPX does it for you very nicely. Ever write a Windows app and then with a few changes to the code have a equivalent HTML-based app?

      There's nothing that says you need .NET tools. You can keep doing what you're doing and be happy. But .NET is really set up to integrate alot of the things you do into a tighter package... 1-stop development if you will. If you want to have an easier time integrating the components you mention, you might consider .NET as an option.

    2. Re:Key problem with .Net by Anonymous Coward · · Score: 0

      IMHO the biggest advantage with .NET stuff is for writing Client apps. If you're writing web apps there probably isn't a big advantage, except maybe easy deployment.

      One thing you might want to look at is ASP.NET, it has some pretty revolutionary ideas about creating web pages. It could go the way of Visual InterDev, or it could work really well. If ASP.NET does work, it will be a great way to create really pretty front ends for web apps.

    3. Re:Key problem with .Net by Anonymous Coward · · Score: 0

      Resistance is futile. You will be assimilated.

    4. Re:Key problem with .Net by David99 · · Score: 1

      Anyone done any benchmarks on C++ and Java compiled using GCC?

      --
      -- Welcome to nowhere fast / nothing here ever lasts.
  56. "Assume" makes an "ass" out of "u" and "me" by Platinum+Dragon · · Score: 1

    You are right in that the advantage of CLR is that it is a level of integration better than COM, which is itself a level of integration better than the flat-DLL/library API function call interfaces that the original poster was happy with.

    Actually, I have little idea how any of this stuff goes together at anything above a really rudimentary level. That's why I asked, not because I was "happy" with anything:)

    --

    Someday, you're going to die. Get over it.
  57. Joe VB by Aceticon · · Score: 2
    Yes, i can just imagine it ...

    Joe VB: I was debugging an problem in the system, and i ended up stepping into your C++ code, where i found the bug. Apparently you derived your class from two different classes, both of which implemented the same function - void doStupidThing( void ) - and the wrong one was being called during runtime. You have to be carefull when using multiple inheritance. I've just patched it and it's working ok now.

    Me: *amazed silence*

  58. new language by Anonymous Coward · · Score: 0

    I don't know about you, but I think the newest # language should be called SHIT#.

  59. Yes, Java and .Net both useless by Anonymous Coward · · Score: 0

    I always take hints from observing what the very best programmers use when given a free choice of tools. I have found that Java is never the tool they choose, and C/C++ and Perl almost always are.

  60. Re:You really need to stop smoking that cheap shit by NutscrapeSucks · · Score: 1

    .Net is WINDOWS ONLY

    Actually, a Mac OS X version has been announced. Don't expect any devtools, tho...

    --
    Whenever I hear the word 'Innovation', I reach for my pistol.
  61. Re:Its about the right language for the job at han by Anonymous Coward · · Score: 0

    That makes sense under the OLD MS model, where due to the mercy killing of J++, you pretty much only had a choice between non-OO GUI-forms VB and low-level C++.

    Now we throw a revised VB.NET and C# into the situation (not to mention J# and Python.NET and so on). Basically these two+ languages are equivalent and can be used interchangeably. VB has most of the old limitations removed, and has pretty much become Java/C# Without The Braces and SemiColons. However any shop that says "Go forth and use whatever you want" is going to have a gigantic maintenance hassle down the road.

    C++ will still be available for low-level stuff, but with real OO and other language constructs available on the 'high level', it won't be used as often (MS never released a commercial app written in VB, but they will with C#.NET)

    My personal feeling is that VB.NET coders will outnumber C# ones 10:1 as MS moves their existing userbase over. So, I hope dearly that there's "programmers choice" in these environments so that I can continue to use C#. But impending dread says that VB is going to be forced back down my throat.

  62. How stupid do you think I am? by MillionthMonkey · · Score: 1

    I'm not clicking on that.

  63. What about native code? by javabandit · · Score: 1

    You might get away with this for CLI compliant code.

    But it can't be done if you are using Windows-specific libraries or system calls. Which is the entire point that someone would want to use C#/J# anyways. We want the front-end controls.

    So cross-compiling isn't going to be a reality.

    1. Re:What about native code? by mmacdona86 · · Score: 1

      C# is kind of a fun language in itself without the CLR. You might want to write C# code that interacts with the Java run-time; then you'd just worry about compiling it to java bytecodes without trying to do (admittedly pointless) library translation. See, the Java runtime is just as multi-language as the CLR; they both support multiple languages, as long as the code is written specifically to work with them.

  64. J# is not a musical note. by GeneOff · · Score: 1

    I can't believe M$ missed this fact. The octave only goes to G# then starts over again at A. Whats next, snide jokes about K-flat?

  65. I was thinking... by dave-fu · · Score: 1

    ...more along the lines of "bootstrap it into J#, compile it into MSIL, decompile it into C#, and you're hopefully ahead of the porting game."
    If you don't like that idea, no one's stopping you from taking your Java classes and porting them over to J2EE/EJBs. MS knows who its core constituency is, and it does't happen to be you. They can't be everything to everyone and you can't make everyone happy all the time, champ. If you want to point the bone at someone for fscking with you if you were a J++ developer, look at Sun. Granted, MS shares some (yes, plenty) of the blame for not implementing the AWT, but really: you already had access to Windows APIs to build Windows' windows, so why would you want to use a cut-rate windowing API that could likely confuse users by giving them a new look-and-feel that they're not used to?
    Ancient VB apps aren't terribly hard to port, either, aside from the COM shifts and the like, but even those can be worked around. VB->VB.Net will likely be a different story, but you can still use COM components under .Net, so you can leave working components as is until you decide it's time to iterate them to .Net.
    Where's the beef?

    --
    Easy does it!
    This comment has been submitted already, 276865 hours , 59 minutes ago. No need to try again.
    1. Re:I was thinking... by jilles · · Score: 2

      You'd still be using the Java API that way so it wouldn't help you much. The whole point of migrating to .Net is that you end up using .Net. Transforming the syntax doesn't really help since both languages are more or less equal in capabilities.

      MS knew exactly what they were doing when they broke compatibility (presumably they can afford the legal staff to read a license) and it had nothing to do with improving the product. They expected that they could get away with it but were proven wrong.

      They did implement AWT BTW. The problem was the way they called native code (i.e. they didn't use JNI). The only reason they did not support JNI was because that would allow them to create platform specific APIs in addition to platform specific implementation. MS always had the option to implement the necessary APIs but they refused to do so. Consequently, MS is entrirely to blame for the death of J++.

      J# is Java without the Java platform (vm + API), except for the obsolete, partial jdk1.1.4 API. It is generally agreed that what makes Java so powerfull is the vm + API. The language itself is not very exciting really (your average OO language).

      --

      Jilles
  66. M$ try to run after Java users ;-) by Anonymous Coward · · Score: 0

    Funny ... at the same time they release a JDBC driver for SQLServer !!!!

    http://www.microsoft.com/sql/downloads/2000/jdbc .a sp

    MS tnx for the laugh :o)

    -JB'.

  67. also by _avs_007 · · Score: 1

    Right now even the best Java JITS still have parts of the JVM interpreting...

    .NET was built such that absolutely nothing is interpreted. The entire thing is compiled up front at execution time, not on a per method basis. But even if Java compiled all the byte code to native up front, parts of the JVM itself is still interpreted.. That's why we have a project here to develop a new JVM that isn't...

    Also in .NET everything derives from object, unlike Java... In Java primitives are not Objects... In .NET, that is not the case... Even literals are objects...

    Also, I personally prefer the delegate methodology to do events over inner-classes, etc etc...

    Also, .NET is built for asyncronous I/O.. Java is not... In Java you have to pretty much spawn a thread for everything... And there is no state object in spawning threads... I had to implement my own thread pool, and add a state object... In .NET, you can use async I/O, and have MUCH MUCH MUCH greater performance... I implemented much of my work in both .NET and Java, and .NET smokes Java in most cases in my experience... I could go on and on and on....

    1. Re:also by Anonymous Coward · · Score: 0

      Literals are not objects in NET -- they just get boxed/unboxed automatically by the compiler. I suspect this feature was designed in for marketing reasons, because the boxing is a common bitch about Java.

    2. Re:also by _avs_007 · · Score: 1

      Literals are objects in .NET in the sense that you can take a literal, type cast it, call methods on it, etc etc... This makes some tasks a lot easier. In java, you cannot type cast a literal, and you sure as hell can't call a method on one...

    3. Re:also by sg_oneill · · Score: 2
      Also, .NET is built for asyncronous I/O.. Java is not... In Java you have to pretty much spawn a thread for everything

      It's the old blocking versus non blocking socket argument in disguise...

      Blocking socket processing is often maligned , but this really is a legacy of Winsock and the fact they had to figure out how to get single threaded co-op multitasking for old 3.1 windows to serve sockets.

      The reality is, at core Unix sockets have traditionally been blocking, because it's just to easy to fork() and catch them requests in multiple threads. It's better server programming, because a clogged or busy thread doesn't jammy up other threads, and .. well.. it's just polite.

      I had an article from the old winshoes delphi components (clasic example of how rad programmers should enter the open source community. good stuff) on why multi threaded blocking sockets are the way to go.
      --
      Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
    4. Re:also by _avs_007 · · Score: 1

      Except spawning threads/processes takes overhead. So do the context switches... Asynchronous I/O is cheaper. In terms of raw performance, Async I/O will beat a system that spawns new threads for new connections...

      Even if you use a thread pool. Lots of systems have optimizations for when a thread pool will spawn a new thread... I've run into it many times. A thread will block, but a new thread will not be spawned by the thread pool immediately... The result is a delay in the response, because the other socket will sit in the queue until the system decides it will spawn a new thread. I'm not talking about the message pump locking or anything, I'm talking about latency in a response. Sometimes this is sensitive. A switch to Async I/O yielded MUCH greater responsiveness. And if you forgo the thread pool, and just spawn a regular worker thread, because it will immediately spawn... Then you introduce the notion of thread ownership....

    5. Re:also by 680x0 · · Score: 1

      // java code calling a method on a literal
      int len = "this is a literal string".length();
      // yeah, yeah, I know it won't work on an int, etc.

    6. Re:also by J.+Random+Software · · Score: 1

      If an immutable literal appears to have a class and methods, it's effectively an object. I don't care whether it's boxed or not any more than I care whether overridden methods are implemented using jump tables, branch-on-type, or telepathy. Having to explicitly write out all the (un)boxing code is ridiculous, since it can always be reliably inferred--Lisp got this right, what, 20 years ago?

  68. Re:.NET = component-based programming on the Inter by someother_dude · · Score: 1

    I can see that you are definiately not an Engineeer. Actually he is right. Sun developed Java with the mindset of write once, run anywhere. Hence it IS NOT OS sepecific. .Net only runs on Windows platform servers therefore it IS OS specific. Do your homework before you send out flames.

  69. definitely can't work by HongPong · · Score: 2

    I think no one can use www.J#.NET , simply because DNS can't handle those darned octothropes. And how is MS going to steal the whole .NET TLD anyway? Those wily Redmond punks fooling with the Domain Name System.... :)

  70. .NET vs .COM by ISPTech · · Score: 2, Funny

    I can already see the Sun ad campaign to follow the .NET initiative.

    Sun: We put the "." in .NET too. ;-)

    --
    This space intentionally left blank.
  71. Offtopic, but what about J? by Bren · · Score: 1

    Wouldn't these people have problems with the name of Microsoft's J# programming language being so similar to their product's name? Seems like they were around before J#... but I'm not sure...

  72. Why exclusion can be 'evil' by ewb · · Score: 2, Insightful

    You're misunderstanding something, or you're a microsoft advocate. Java is not a goal, it's a tool.

    Sun is a commercial company, just like MS. They care a lot about targets, shareholdervalue, etc. Why do they develop and give a away something like Java?

    The wintel platform is growing into the server market. Actually or potentially eating away SUN's marketshare. MS profits a lot from it's available software base: Why do people buy and install MS? Because there's loads of software for MS. Why do developers create software for MS? Because there's loads of people buying and installing MS.

    If people develop or use a lot of Java software, they don't need to run a certain OS. Making them potential SUN customers. And if SUN operates from the (likely) point of view that their hardware/OS combination superior to the wintel combo, they would consider them likely customers.

    If MS includes a fully comliant java implementation with their OS, they increase the likelyhood of a 'write once run anywhere' idea appealing to people, making them less dependant on MS. If, however, they include incompatible java-like implementations with their OS, they probably won't attract the Java-loving-crowd, but they still attract a lot of MS-loving-crowd trough the channels they already have. They are not going to explain to them that their product is not Java; even though their product is not Java they create diversion and inoperability in the Java-field. And if they play it smart enough they might even make people prefer te MS-Java-lookalike, because it's the only one compattible with with the MS-Java-lookalike software. This is why SUN is eager to fight lawsuits against MS.

    Both introducing/supporting Java and introducing/supporting the non-Java could be valid business tactics. However, the MS-monopoly gives them the chance to pull their trick of; I don't know if using a monopoly to keep and increase a monopoly is evil, but it doesn't sound likely to be benefitting consumers.

    ---

    Ewout
    cat /dev/nullsig

    1. Re:Why exclusion can be 'evil' by sheldon · · Score: 2

      "Java is not a goal, it's a tool."

      It's interesting how you make this statement and then go on to explain that Java is a goal:

      "If people develop or use a lot of Java software, they don't need to run a certain OS. Making them potential SUN customers."

      You might wish to make your argument consistent next time.

    2. Re:Why exclusion can be 'evil' by ewb · · Score: 1

      No inconsistency: It's a tool in the battle for marketshare; but not Java-marketshare. The goal is to have them run your OS (and hardware, in SUN's case) - that's where the money is made.

  73. Open source non-Swing Java tree and table Java by jonabbey · · Score: 5, Informative

    Actually, if you are looking for less complicated tree and table components, check out the ones included with Ganymede.

    I wrote them because I needed them for Ganymede development, and Swing hadn't quite come along yet. I kept them because they are simple to use, they are pretty high performance, and you can do fancy tricks like node dragging ihttp://www.arlut.utexas.edu/gash2/doc/javadoc/arl ut/csd/JTable/baseTable.htmln the tree with little-to-no effort.

    You can read the Javadocs on them here and here.

    They are licensed under GPL, along with the rest of Ganymede.

  74. No technology exists... by BitwizeGHC · · Score: 2
    ... until Microsoft invents it.


    Which carefully implies that Java doesn't do XML web services. When, in fact, it was the Java crowd that started the ball rolling on such things, and Java is currently the easiest and most powerful XML services solution, thanks to servlets, J2EE and JAXP (which is part of Java 1.4's core...)


    This is irrelevant in Redmond. Because a key feature of .NET is XML Web services, such services did not exist until .NET was invented, the fact that they've been implemented with Java,
    Perl, and what else have you notwithstanding. Somebody didn't take their soma today. ;^)
    --
    N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
  75. The Education Market, The Real Target by CFN · · Score: 2, Interesting

    Almost all of the introductory CS text books use the Java language, and therefore, most intro CS courses teach Java.

    This means that thousands of individual students, computer labs, departements, need to use Java compilers or IDEs. With MS no longer able to provide a Java implementation (more or less, I don't know the exact details), they faced the prospect that new programmers (at least untill the curriculum was switched to C#) would learn to program using non MS tools - MS looses the income from selling these tools, and faces the prospect that students 'comfortable' with products from another company might be harder to 'capture' as MS devotees.

    By providing a J# compiler, those students can use (read, buy) a MS tool to do their assignments (especially considering that the intro assignments don't use the advanced features of the Java API, which are un-supported on J#) and start along the path of becomming happy MS developers.

  76. INTERCAL by MillionthMonkey · · Score: 1

    Yeah, INTERCAL. Do you have to resort to such hyperbole?

    Actually it's probably worth pointing out that you can compile INTERCAL to Java bytecode already. See the J-INTERCAL page. Looks like .NET already has some catching up to do.
    I, for one, am hoping that I can move my Malbolge code to .NET where it belongs!

  77. Re:You really need to stop smoking that cheap shit by sunconscious · · Score: 0

    not true. i was at an MSDN conference a while ago and the exact words were: "In theory, .NET could run on Linux. Are we going to make it do that? I don't think so. But you can be pretty sure a third-party will. Our goal is to make Windows the best operating system to run .NET on."

  78. Python by ffatTony · · Score: 2

    Some Java developers want the elegance of Java with an easy way to utlitize Windows native libraries without having to write convoluted JNI interfaces all over the place.

    It sounds to me that python might be easy to fit into this situation. The syntax is familiar and relatively easy and it can import c/c++ libraries if you need to. And the documentation, fraught with Monty Python witticism, is hysterical. Python bytecode can be run on a jvm and I've heard rumors there is ongoing work to make it useable via .net, but perhaps someone else with have more info about this aspect.

    Although I am looking forward to Perl 6 (which also is rumored to eventually contain .net compatibility), python is filling my needs where perl5 and java are too cumbersome.

    1. Re:Python by QuadZero · · Score: 1
      ...python is filling my needs where perl5 and java are too cumbersome.

      I'm very new to perl, have only a cursory exposure to java, and none at all to python. IOW, my question isn't at all meant to inspire a language war.

      Would you (or anyone else 'in the know) be more specific about some of the cumbersome aspects of perl & java that you find python preferable for handling?

      Again, I'm not trolling; I'm a neophyte looking to learn something potentially useful.

      Thanks in advance!

      --
      Richard (aka Merwyck, aka QuaDZeRo) I blog at http://richardharlos.com
  79. Re:You really need to stop smoking that cheap shit by sunconscious · · Score: 0

    They need to FINISH them first, jackass. Right now they are at beta 2 with plans to finish this winter.

  80. Re:also(continued) by sg_oneill · · Score: 1

    err... forgot to finish my sentence!

    I mean;-

    I had an article from the old winshoes delphi components (clasic example of how rad programmers should enter the open source community. good stuff) on why multi threaded blocking sockets are the way to go. but I can't find it. Google for "blocking sockets are not evil" by Kudzu from the "Indy pit crew"
    (Winshoes are now called Indy so as to not discriminate Kylix users)

    --
    Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
  81. No, you've forgotten your MS history already.. by slashbrent · · Score: 1

    Dont you remember?

    BillyG has been telling us the same thing for years:
    &nbsp&nbspBundling everything but the kitchen sink is good for consumers

    Oh, except if it's not MS stuff, then f*ck it.


    M$, ruining computing experiences one user at a time

    --

    Moderators need an additional choice: "Karma Whore" for people who cut-and-paste articles as their comments!
  82. more detail by _avs_007 · · Score: 1

    If you use a thread pool for more than just socket I/O for example.... With some of the optimizations: You can add a work item to the thread pool for a socket read... It blocks.... Now lets say you add another item into the Thread Pool to do something unrelated. Sometimes the thread pool will not spawn a new thread for a while, thus resulting in your other operation not starting immediately... With async I/O, this won't happen.

  83. Re:Competition never hurts. I welcome J# completel by blackwater · · Score: 1

    Everything you say is true but I don't find the inability to create a truely native-feeling Windows UI a huge issue.

    Unless you must achieve that goal for some reason then screw the native UI. What I'd like to see is a Swing L&F that's *better* than the standard Windows widgets. Make it a selling point, not a drawback.

    Most (clueful) Windows users already tweak their desktop as far as posssible to get away from the 'boring grey rectangle' school of design that MS have favoured in the past (pre-XP) so I wouldn't underestimate the user base's willingness to embrace new types and styles of controls.

  84. Java IS open source. by CDanek · · Score: 1

    A little late on the post, perhaps, but maybe this'll get read:

    Java 1.3 source code: http://www.sun.com/software/communitysource/java2/ index.html.

    cd

    1. Re:Java IS open source. by javabandit · · Score: 1

      Java is NOT open-source. Don't even begin to think that it is. Sun has been trying to pass their SCSL off as a GPL... but it is FAR from it. Truly open-source application are those which satisfy by the definition of open-source by either the FSF or OSI.

      I point you to these limitations within Sun's Community Source License (SCSL) which you are purporting to be open-source:

      1) Modified source code cannot be distributed without the express written permission of Sun.

      2) Binary programs built using modified Java 2 SDK source code may not be distributed, internally or externally, without meeting the compatibility and other requirements described in the License Agreement

      There is NOTHING open about these two line items. They give you the source, but open-source is more than just looking at it.

      I encourage you to investigate what open-source really means by visiting the two sites I mention above.

      Best regards.

  85. My new Java2C# compiler by TheEviscerator · · Score: 1

    #!/bin/sh
    cat *.java > *.c#

    --
    The pomposity of the professor is inversely proportional to the difficulty and importance of the subject being taught.
  86. Re:Competition never hurts. I welcome J# completel by javabandit · · Score: 1

    Most (clueful) Windows users already tweak their desktop as far as posssible to get away from the 'boring grey rectangle' school of design that MS have favoured in the past (pre-XP) so I wouldn't underestimate the user base's willingness to embrace new types and styles of controls.

    We are talking about the look and feel of the operating system and the applications that run on it. There is a definitely for look and feel to be consistent. You can't have a bunch of different applications with a bunch of different look and feel. It doesn't make sense. The learning curve is high.

    The native Windows look-and-feel is actually very well designed, easy to use, and easy on the eyes. It has been through years of evolution to come to its current state. And it is very slick.

    Desktop 'tweaks' do nothing but alter colors and font-sizes. But these have nothing to do with the Windows 'look and feel'. The native L&F is actually a very strict guideline by which the placement of controls relative to eachother happens.

    We're talking pixels here. That a menu item must be so many pixels inset from its container border... blah blah blah. Stuff like that. Swing is so far off the mark that it is ridiculous.

    I find the Java L&F to be very bland. No anti-aliasing of fonts. No smoothing. Limited font selection.

    You aren't going to see Swing have better widgets the Microsoft anytime soon. Microsoft got a several year head start on them. I'd be willing to settle for Java widgets that behave like Windows widgets in the WindowsL&F. Right now... they really don't. They look 'similar', and behave 'similar'. But that doesn't cut it.

  87. Re:You really need to stop smoking that cheap shit by statusbar · · Score: 2

    Probably they will "Make Windows the best operating system to run .NET on" in similiar ways that 10 years ago they made "Windows the best operating system to run Microsoft Word on" by adding busy loops in their programs to slow them down if they detected that they were running in OS/2's Windows compatibility mode.

    I'm not convinced (yet)

    --jeff

    --
    ipv6 is my vpn