Slashdot Mirror


Mercury Researchers Explain Microsoft .NET

Bob.Smart writes "Microsoft's .NET is clearly explained in this article on the Mercury web site. The input from various important research groups is also interesting."

8 of 197 comments (clear)

  1. Forget C# .NET provides more than just C# by cOdEgUru · · Score: 4

    .Net is built on an open source protocol SOAP. which enables anyone to write his own version on any language he please. It wouldnt be long before someone build the .Net framework for different platforms like Linux or Unix. Microsoft is just trying to pry the control out of Java's cold dead hands. It makes sense too.

    The world is not gonna communicate in pure java. Its not about one language, its all about interoperability across platforms. The Framework is pretty flexible so as to allow anyone to write the same framework for any platform and it wouldnt be too late before someone does.

    Microsoft is attacking both Sun in its Server market (by pushing Windows 2000 Advanced Servers) and Java in its pedestal by pushing forward the notion of interoperability through diverse languages using the same framework. It would be interesting to see the benchmarks.

    SOAP got me all warmed up, and I am looking forward to see how .Net holds up against Java.

  2. Wow, Innovation by stuce · · Score: 4
    "So, what's COM?"

    "It's Microsoft's groundbreaking new technology that lets any language call objects written in any other language!"

    "Wow! So what's DCOM?"

    "It's Microsoft's groundbreaking new technology that lets any language call objects written in any other language over a network!"

    "Wow! So what's ALT?"

    "It's Microsoft's groundbreaking new technology that lets any language call objects written in any other language so you perform do automation!"

    "Wow! So what's an OCX control?"

    "It's Microsoft's groundbreaking new technology that lets any language call objects written in any other language through controls that can be manipulated with a GUI tool!"

    "So, what's .NET?"

    "It's Microsoft's groundbreaking new technology that lets any language call objects written in any other language through a virtual machine abstraction!"

    Is it just me, or does Microsoft keep inventing the same thing over and over again trying to get it right? Soon enough .NET will turn out to be kinda like COM and DCOM and OCX but not really and then some hot, new, ground-breaking three letter acronym will come out and we will do it all again.

    I'm a funny guy. I like it when things are thought out ahead of time so they can become a stable standard instead of yet-another-half-assed-attempt.

  3. Re:Other languages? by Pinball+Wizard · · Score: 5
    methinks Microsoft is starting to change its tune. Almost everything I've read about them lately shows that they want to ditch the "evil monopolist" image they created for themselves. They apologized to the Linux/NTFS developers, for example. They are funding open source development companies like Corel. I am open minded enough to ditch my stereotypes about them if they continue to behave as citizens in the corporate world.

    As far as other languages being supported, that's what .net is all about. It will work with Perl, Python, VB, C/C++/C#, Cobol, Eiffel, Mercury, etc. The only programming language I know about that doesn't have .net support is Java, but I don't see why support couldn't be built for it. I imagine MS will leave that to Sun and IBM to do themselves, however.

    I watch the sea.
    I saw it on TV.

    --

    No, Thursday's out. How about never - is never good for you?

  4. Corel .NET by FFFish · · Score: 4

    This is a little tongue-in-cheek... but maybe the reason MS threw money at Corel was to distract it.

    You know Corel: always fascinated by the latest gegaw. Ooh, look at how sparkly Java is! Let's write our Office product in Java! Ooh, look at how sparkly Kylix is! Let's buy the company! Ooh, look at how sparkly Linux is! Let's port our apps to it!

    And now... OOOOooh! Look how sparkly .NET is! Let's write our apps in C# and port our apps to it!

    Corel, with it's attention-deficit disorder, could very well forget that they've got a Linux project on the go. D-oh!

    Like I said, slightly tongue-in-cheek...


    --

    --

    --
    Don't like it? Respond with words, not karma.
  5. .net by Pfhreakaz0id · · Score: 5

    I saw a bunch of the .NET stuff at a recent conference. It's some cool stuff, and I was WAY impressed, especially on the ASP+ side, but as far as client apps, it's not a painless upgrade from vb6. Way different. This is in stark contrast with ASP+, which will run side-by-side with ASP pages (new file extension).

    Most interesting thing is definitely the CLR (common languange runtime). It gives common data types, and a (beautiful) common object model for system stuff. Also, common performance (it's the same runtime). As he put it "Microsoft (this guy wasn't m$) "Your language is a lifestyle choice" also "Microsoft has been putting 80% of it's R&D budget into it. If you think you can write better c++ garbage colleciton, go ahead, but early tests show even VB.NET and c#.NET written against the CLR outperforms the vast majority of C++ code today." Not sure whether I believe all that :)

    Also, you can do full inheritance, etc. AMONG THE DIFFERENT .net languages. Write a form in C#, inherit it in VB, modify it, inherit the interface back into C#. Not only that, but when you run in debug mode in the IDE, it seamlessly steps into and out of the bits of code.

    An old VB head had an interesting point too. By abstracting the API into an object model, it really paves the way for platform independence. After all, he said, if wrote a CLR for the mac, for instance, it would be trival to port a program from any .NET language. Also linux, obviously.

    Anyway, those are my thoughts.
    ---

  6. Here's The Thing by MSwanson · · Score: 5

    A couple things that I feel should at least be put out in the open:

    1. .NET has been in development for over 3 years.

    2. You can visit a sample .NET application at http://www.ibuyspy.com/ where it has been running without fail for approximately 6 months.

    3. You can download the pre-beta SDK and develop in three languages *today*, and it all just works. I've played with it extensively.

    4. The Common Language Runtime compiles only the functions that are called, and it uses an optimizing compiler to do it. When other functions are called, they are compiled just-in-time (saves a lot of system resources).

    5. All languages are on equal footing. They all share the same GC and debugging features. You can spawn threads in VB just as easily as in C++.

    6. You can inherit a VB class into C# into C++ and back into C++ if you want to.

    7. Everything is strongly typed...no more figuring out what kind of string that function in C++ expects. Just call it natively. It just works.

    8. The Common Language Infrastructure (which includes the CLR) is being submitted to ECMA (a standards body).

    9. So is C#.

    10. With Java, you have to learn Java. Plus, statistics show that 70% of all Java developers target APIs that are native to their platform. Thus, the "write once, run anywhere" promise never comes true except in the most simple of situations. With .NET, you can write in *any* of over 15 already-announced languages.

    11. Although I could go on, I have to mention that it just kicks major ass.

    If you actually want to speak intelligently about this, you really owe it to yourself to try it out. Or, you can complain that the ".NET" term doesn't make any sense, thus, because of that severe brain blockage, you can't actually talk about the technology and its merits, because you've never even given it a chance.

    The sad thing is, you'll be talking it down, when in fact, it's one of the coolest things I've ever seen in this industry. Linux or not.

  7. Mercury and .NET by Pseudonym · · Score: 4

    Disclaimer: I'm a former Mercury developer. I left the project before Microsoft approached the Mercury guys, but after a fairly scary dinner with James Plomondon, whose job title at the time was "Principal Java Evangelist, Microsoft Corporation". It's a long story, which can be told some other time.

    Anyway, .NET has, as part of the system, a common language runtime (CLR) for different programming languages (and I mean very different programming languages; C++, ML, Perl, Haskell and Mercury are about as mutually different as languages can get). This distinguishes it from COM/CORBA where objects must be "marshalled" and "demarshalled" (i.e. serialised and deserialised) when communicating between different languages, even on the same machine. With .NET, different languages use the same binary layout and so can just share the memory.

    This represents a unique opportunity for language researchers to get their language used. Software is increasingly being written based on a component model, but implementations of technologies like COM and CORBA impose a significant overhead when moving from one language to another. The .NET system means that you can mix and match languages without the associated performance impact. If you think it's easier to write your GUI in Java, your AI engine in Mercury and your time-critical data logging stuff in C++, you can do that, and you don't pay such a huge price for the mix. This means that programmers can try out new programming languages in their projects without having to go "all the way".

    The Open Source community must take note of this! Admittedly we haven't seen much in the way of actual technical detail about .NET yet, and Microsoft's implementation might turn out top be hopeless, but the CLR is a good idea.

    And now, the obligatory conspiracy theory for the day: As operating system kernels get smaller, moving data between OS components efficiently becomes trickier. The Hurd uses the Mach IDL, which is not unlike the CORBA IDL only much more lightweight, to marshall and demarshall data for the various components, for example. The CLR might represent the first part of a new operating system from Microsoft; one which will eventually replace NT, because it provides a way to build an object oriented OS in multiple languages without the serialisation costs.

    Microsoft already has a suitable microkernel which could support CLR. It's called Windows CE.

    They also have a motive. As we all know, Microsoft only "innovates" when they're trying to kill off competition. (For example, IE to kill off Netscape, Win9X to kill off OS/2, NT to kill off Netware and other similar systems.)

    Watch carefully.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  8. Will it be stable? by tbo · · Score: 5

    The real question is, how stable will it be? Every software vendor out there is rushing to develop new architectures, technologies, etc., but they don't spend nearly enough time testing. True, garbage collection should improve stability, but that's only if garbage collection is implemented properly. People are likely to just jump on the .NET ship and hope that it will cure all their problems.

    When will people realize that there is no silver bullet? More than all these fancy technologies and buzzwords, we need good software engineering and extensive testing. Customers share part of the blame for not shunning companies that produce crappy software. Capitalism only works if customers use their brains.

    Here's a quick question for you: How many broken Java applets have you seen? How many have you seen that work perfectly? I almost never see Java applets that work perfectly (may be my JVM, but what good is the cross-platformness of Java if you can only get a working JVM for one platform?). In comparison to .NET, Java is a mature technology, yet it's still not very good. I'd rather see developers put their energy into making Java mature and bug-free, even if .NET is technically superior (not saying that it is).

    This is my rant for the day. Yes, good architectures help, but good software engineering and thorough testing will always be most important. Too bad they aren't sexy enough to get the attention they deserve.