Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Microsoft

What is .NET? 522

CyberBry writes "There's a great technical overview of Microsoft .NET over at arstechnica: "In a remarkable feat of journalistic sleight-of-hand, thousands of column inches in many "reputable" on-line publications have talked at length about .NET whilst remaining largely ignorant of its nature, purpose, and implementation. Ask what .NET is, and you'll receive a wide range of answers, few of them accurate, all of them conflicting. Confusion amongst the press is rampant. The more common claims made of .NET are that it's a Java rip-off, or that it's subscription software. The truth is somewhat different.""
This discussion has been archived. No new comments can be posted.

What is .NET?

Comments Filter:
  • by Anonymous Coward on Wednesday February 13, 2002 @06:24PM (#3003430)
    The main bone of contention that people have with .NET is the whole Hailstorm/Passport crap that MS is trying to push on us.

    .NET itself is a very cool idea wherein any language can be used to write components that can be used by any other language. It's a means of allowing greater interaction between programs.

    Hailstorm/Passport is an ill-devised way of online information management. With the amount of paranoia about this kind of stuff, the idea will be either flounder for a while or will be pushed as hard as possible. I think the former, but that's just me.
  • by rootmonkey ( 457887 ) on Wednesday February 13, 2002 @06:32PM (#3003510)
    .NET is Microsoft's Web Services answer plain and simple, the problem is not too many people understand what Web Services entails.

    One of black marks that J2EE gets in the .NET vs J2EE comparison is the fact that .NET was designed with web services in mind while J2EE has been playing catch up with it various Web Services extensions. I disagree with this view though. I look at it more as J2EE is more mature and has been around longer so that is why web services were not designed into from the begining. Second, I think it shows the power of J2EE that it can be extended in such a manner that works well with the existing platform. J2EE also has a much larger support for other types of protocols with existing enterprise systems. This allows systems to ease into the J2EE platform whereas with .NET you have to make the big leap and move everything into the .NET frame work leaving legacy systems.
  • by JohnDenver ( 246743 ) on Wednesday February 13, 2002 @06:39PM (#3003555) Homepage
    .NET is a "software platform". It's a language-neutral environment for writing programs that can easily and securely interoperate. Rather than targetting a particular hardware/OS combination, programs will instead target ".NET", and will run wherever .NET is implemented.

    When your friends ask, just tell them "It's a language-neutral Java knock-off..."

    Why do people try to make it more complicated? Ok, .NET never interprets bytecode, rather it does JIT compiling. Big deal. Ok, .NET uses SOAP as it's RPC conduit. Yawn. .NET offers Passport for developers who don't want to write thier own user authentication and may want to offer thier users the convienence of not having to enter thier condo's address. *snore* (wipe drool from mouth in a dazed stupor)

    Others like to confuse the application that can be written by .NET (You can write them in most other languages too) like Web Services and equate .NET with Web Services, when Web Services are just one type of program you can make in .NET

    The Platform != It's Applications

    It's Simple: It's a Java rip off!

  • Re:Hmmmm (Score:2, Insightful)

    by Andrewkov ( 140579 ) on Wednesday February 13, 2002 @06:52PM (#3003654)
    Sounds a lot like the Java runtime, actually.
  • by nmnilsson ( 549442 ) <magnus@@@freeshell...org> on Wednesday February 13, 2002 @06:53PM (#3003658) Homepage
    Programming Windoze for a living, I couldn't care less about language interoperability and all that hype.
    It's neat. But that's it.
    In my experience, language skills comes a distant second to knowing your OS.
    What I really hope for are quirk-free class libraries, and bugfree APIs. I'd have to find a new job then, of course... :)
  • by RovingSlug ( 26517 ) on Wednesday February 13, 2002 @06:57PM (#3003682)
    This is perhaps a little disappointing. ... But these features are somewhat notable omissions from Microsoft's first release; profiling JIT compilers are becoming common in the Java world, and optimizing native code compilers are becoming the norm, with considerable benefits from their use.

    Stability before performance, every time.

    Or he'd rather be writing, "The JIT produces fast code, but sometimes crashes."? Or, ".NET is vaporware, still three to five years on the horizon."?

    The reviewer should recognize and applaud the focus of the developers. Because you know they were sitting around saying, "Wouldn't it be nice if we did this fancy optimization...". Instead, they put first things first.

    "Premature optimization is the root of all evil," D.E. Knuth. Learn it. Live it.

  • by djradon ( 105400 ) on Wednesday February 13, 2002 @07:01PM (#3003703) Homepage Journal
    Anyone who wants to develop for .NET needs to shell out at least $1,079 for Visual Studio [microsoft.com]. That's $1,079 more than it takes to develop in Java, and $1,079 too much.

    How can Microsoft afford to shut out all the developers that don't have big corporations backing them? Why not at least give away the compiler and class library?
  • by sydb ( 176695 ) <michael@NospAm.wd21.co.uk> on Wednesday February 13, 2002 @07:17PM (#3003801)
    You can't believe it? It's a natural part of their onslaught on the "viral" GPL. And it makes a Mac version just moments away.
  • by Tom7 ( 102298 ) on Wednesday February 13, 2002 @07:24PM (#3003846) Homepage Journal

    I'm excited about .NET (when I say that, I mean the CLR). I think it's an idea (while not very original) whose time has come. I think that superior technologies exist (for instance, stuff like typed assembly language), but none are really mature enough to be rolled out across the board.

    And really, Microsoft.com is the only one that could manage to make this a reality. As much as I hate the company, I can't help but feel grateful that I'll finally be able to write apps in a nice high-level type safe garbage collected language and have that be the most well-supported method. (And if others start using high-level languages, maybe my computer will not crash so much, or have so many buffer overflow sercurity holes.)

    (As an aside... I fucking hate when people (like the author of this otherwise good article) use the word 'whilst'. Just say 'while'. It's not like we live in Medieval Britain.)
  • by mmacdona86 ( 524915 ) on Wednesday February 13, 2002 @07:28PM (#3003865)
    Which goes to show that "language-neutrality" is a myth. The CLR can't even support VB without changing it into a C#-work-alike.
  • by kwerle ( 39371 ) <kurt@CircleW.org> on Wednesday February 13, 2002 @07:42PM (#3003938) Homepage Journal
    Could be they're being untruthful. Wouldn't be the first time. Although...

    Maybe it is portable. Maybe it *IS* real easy to port. Maybe they already have it running on FreeBSD, linux, Solaris, and Plan9.

    Doesn't mean they're release it for any platform other than windows...
  • VMs, JITs and C# (Score:3, Insightful)

    by SimonK ( 7722 ) on Wednesday February 13, 2002 @07:49PM (#3003977)
    The author is confused about JIT compilers and virtual machines. A virtual machine is just a piece of software that executes programs in some machine-code-like language. It does not necessarily interpret the instructions. Indeed, almost all virtual machines compile to the local machine's instruction set at some point.

    A JIT compiler is a technique used in virtual machine design to speed execution. Technically, a JIT compiler ought to compile code as it reaches it on the execution path for the first time, but thanks to some sly work by Symantec, its become acceptable to call something a JIT compiler even if it actually compiles all the code at load time regardless of whether it is executed or not. Hence the complaints about Java's startup time. Microsoft's efforts in this direction seem faintly bizarre to me. All previous evidence is that keeping compiled code around between runs is not worth it. However, I suppose since they only really support one platform, it won't really cause any problems.

    C# is very much not "C++ for rapid application development". It's a completely different language, much more closely related to Java. While C# and Java share C++'s syntax, their underlying semantics are more closely related to Beta or Smalltalk.

    As I would expect from someone who obviously doesn't know much about VM or language design, the author also makes far too much of the CL?'s cross-language abilities. While it has good support for implementing functional languages, as far as the much more important OO features are concerned, it is only going to work well for statically typed, single inheritance, single dispatch languages that don't need to do any code generation. Its is my contention that any OO language that can be implemented on the CLR can be implemented equally well on teh JVM.
  • Real advantage? (Score:2, Insightful)

    by mmacdona86 ( 524915 ) on Wednesday February 13, 2002 @07:49PM (#3003980)
    You can write in "whatever language you want" as long as the language has been designed (or re-designed) to work with the CLR. You don't use VB with the CLR, you use VB.NET. You don't use C++, you use a bastard hybrid Managed-C++. You don't use Smalltalk or Scheme or Perl, you use something that's kind of like Smalltalk or Scheme or Perl. Not that big an advance, if you ask me.
  • by DrPizza ( 558687 ) on Wednesday February 13, 2002 @07:51PM (#3003987) Homepage

    Standard ECMAScript manipulating the DOM in standard ways works pretty much identically (except for implementation bugs) all over the place. This requires version 5.5 of MS's engine or Mozilla (maybe others, don't know, don't care), but it works well.

    Browser detection code exists primarily because of people using version 4.x browsers

    IMO, this is a demonstration of the standard working. The biggest problem is that it requires people to stop using the fatally flawed implementations (IE 4.x, NS 4.x). If they could be *forced* to upgrade, no-one would have to do that kind of crap any more.

  • Not so (Score:3, Insightful)

    by SimonK ( 7722 ) on Wednesday February 13, 2002 @07:54PM (#3004001)
    The progress apparent in Java had mostly already been made by 1980, around the same time C++ was being created. The problems with C++ are a result of either ignorance or a deliberate decision to ignore those advances.
  • Re:Real advantage? (Score:2, Insightful)

    by ClosedSource ( 238333 ) on Wednesday February 13, 2002 @08:02PM (#3004033)
    It's not the biggest advancement but it is a viable marketing strategy. Why do so many new languages look so much like C? It's not because C has the ultimate syntax but because programmers are more likely to use a new language if it looks familiar to them and C is widely known.

    If a Smalltalk programmer is happy with his current ability to create applications, he'll probably stick with it. If he finds some advantage to target the CLR and Smalltalk.NET (whatever it might be called) isn't that different from plain old Smalltalk, he might use it.
  • by BitwizeGHC ( 145393 ) on Wednesday February 13, 2002 @08:08PM (#3004069) Homepage
    This reminds me of something...

    One of the early premises behind the Guile project was that all languages are essentially Scheme, modulo their different syntaxes. Guile was thus to become a Scheme interpreter with various syntax front ends on it to translate from Perl, Tcl, etc. Essentially achieving language independence in a unified runtime. The Guile team has largely abandoned these efforts, however, and concentrated on making Guile a practical workhorse Scheme for standalone use or embedded in a larger program.

    I'm a big Scheme and Guile fan, and a part of me is disappointed... Scheme, being self-extensible, would make for a much more robust base upon which to construct a language-neutral runtime than the C# and VB-oriented CLR.
  • Re:Mod parent up (Score:3, Insightful)

    by TWR ( 16835 ) on Wednesday February 13, 2002 @08:09PM (#3004079)
    Languages like LISP cannot be compiled to bytecode because the JVM doesn't support tail-recursion.

    Funny, I don't remember the x86 opcode for tail recursion. Or the 68K, SPARC, or PPC one. Would you care to remind me what it is? I guess since there isn't one, it's impossible to run Lisp on Windows, Mac, Sun, or IBM boxes.

    Every computer language in existence is Turing-complete; they product code that runs on Turing machines. Some of these Turing machines may be faster or more efficient, but they're all equivalent.

    -jon

  • by victim ( 30647 ) on Wednesday February 13, 2002 @08:39PM (#3004272)
    I was surprised how often the main article preached .NETs language neutrality. .NET is certainly not language neutral. Heck, Microsoft had to neuter their own primary development languages in order to get them into it.

    I can understand why they would restrict their framework to a single inheritance, single dispatch in order to be easily used from more languages, but they forbid both multiple inheritance and multiple dispatch in the virtual machine.

    I suspect we are seeing the "language-neutral" lie pushed so heavily right now in order to convince people to choose .NET. I mean, you can't be making the wrong decision if it supports all languages equally, right?
  • by d.valued ( 150022 ) on Wednesday February 13, 2002 @08:52PM (#3004344) Journal
    I'm sure a lot of us slashdotters have queried what this dot-net thing was. Anyone with a Hotmail account was aquainted with the chintzy logo in the upper-right corner. eBay is starting to suggest a 'Passport login', which so far has been the most that em-cash has seemed to provide. I've been to trade shows, Microsoft (free hardware swag for false info? that's a steal!)and non-Microsoft pitches and antipitches, and no one has provided an answer.

    At least, a good one.

    This overview is great from a technical angle (the one me and most slashdotters usually have interest in) and decent from a more mundane perspective (the one you pose as in an em-cash or other sales-derived presentation ;)

    It's hazardous to your health as a hacker. It looks like a great way to encapsulate any data in a format which is sufficiently protected under the DMCA. (Yet another reason for that law- and the 99 senators who ayed the vote- to be burned at the stake.)

    It's also bad for anyone on a non-MS platform; two of the languages are extremely MS-centric, Visual Basic and C-hash (something that should only be done right before you smoke it).

    It's bad - all right, worse - for Java fiends. Bad enough Microsoft feels Java is the worst thing to happen to it since the Wicked Witch of the West was introduced to the business end of a water gone, now they're pulling out all the stops with the theoretically embraced and extended J-hash.

    Right now, I just wish there was a way to stop those pricks at Microsoft.. besides a HERF bomb in Redmond, WA :)
  • by Jerf ( 17166 ) on Wednesday February 13, 2002 @09:05PM (#3004389) Journal
    For what its worth, Javascript has been effectively standardized for, oh, I'd say the last five years, even before the ECMA standard. (Note the word 'effectively', it's a critical one to my point.)

    What you're complaining about (justifiably) is the DOM, or Document Object Model. The DOM was standardized much more recently, and unfortunately contains a few holes large enough to drive a truck through, necessitating the need for non-standard extensions in practice. (One of the most-commonly-used of these is the "innerHTML" attributes, which is *not defined* in the standard, despite the fact that it is wonderfully useful. Mozilla actually explicitly added it many milestones ago because people were screaming for it. The 'standardized' way of doing that was upwards of 10-20 lines of rather difficult-to-read code, involving walking the tree and regenerating the HTML, then nearly-manually parsing the given HTML back into a tree, then swapping the newly-parsed Node tree into the document! Is anyone surprised nobody, even those who understood it, wanted to do that?)

    The DOMs are inconsistent, partially because they're hard to get write. But Javascript itself is nearly unchanged since Netscape 3.0. That's not a typo. Yes, a few nice things have been added (for instance, I think an exception mechanism has been added since then), but effectively all of the language anyone uses on a web page script was there in Netscape 3.0. (How many people here have created their own objects in Javascript, or fiddled with the prototypes? IIRC, this feature was in 3.0, and it's still too-advanced to be necessary in most web scripts. Short scripts don't need a lot.)

    This works out on topic nicely... because you're very likely looking at the future of Mono. "What use is Mono when the same code doesn't *quite* run on .NET?" What use, indeed? The greatest challenge facing those who would implement the CLR is not in writing the class libraries, it's matching them bug-for-bug. (One of the reasons Mozilla and IE still don't work identically is that Mozilla was forced to abandon its plans for bug-for-bug compatibility with IE, due to the feature's excessively high "pie in the sky" factor.)
  • by rbeattie ( 43187 ) <russ@russellbeattie.com> on Wednesday February 13, 2002 @09:51PM (#3004606) Homepage
    I agree that .NET is a Java ripoff. I think, however, that Sun needs to rip off some good ideas from .NET.

    For instance the WindowsForms which are natively compiled components for building client-side applications. If Microsoft didn't do this, the client apps would probably have the same runtime performance problems that AWT and Swing has.

    I may be wrong, but I think that Java would be A LOT farther along today if it wasn't trying to be the purest cross platform language. I mean, the number of platforms out there are finite. Sun could write some native code for widgets for the most popular platforms, make the APIs open for people to implement on the less popular and Java apps would be much more competitive to anything Microsoft could come up with.

    I think that IBM has something like this with their SWT libraries in the Eclipse IDE... I think Sun needs to embrace that tech and put it on all their supported platforms. Then they could write major apps like StarOffice in Java and still have the usability of a fast GUI. Add in your basic SOAP calls to the J2EE servers and you've got yourself a real .NET competitor.

    Just my opinion,

    -Russ
  • by clontzman ( 325677 ) on Wednesday February 13, 2002 @09:54PM (#3004626) Homepage
    Yeah, I should have caveated that by saying that it's not legal if you're *NOT* affiliated with a university. If you are student, faculty or staff, though, it's a great deal. I'm not sure what the restrictions are WRT producing commercially released code w/ it, though, so I'd look into that before buying.

    I ordered my copy from Genesis [academic-softwares.com]. You have to send them proof that you work at or attend a university, but they seem legit.
  • by Snafoo ( 38566 ) on Wednesday February 13, 2002 @10:35PM (#3004793) Homepage
    Um. 'Whilst' is perfectly acceptable modern English, no matter where you live (except possibly in whatever cave you crawled out of, my dear primitive primate).

    If you want a language without fun synonyms, use Esperanto, which remains the one true 'Common Language Runtime'.

    But you know what? Everyone uses English, Spanish, or what-have-you for international communication, instead. Because we like 'whilst', and words like it --- inefficiency and redundancy and all.

    I have a hunch that many developers will feel the same way about all those little bevelled edges on .NET that they do about Esperanto, and Haskell and Scheme and all previous attempts to prune the messy, crazy tree of human creativity: "Gee, this is Formally Correct, but who cares?" (I say this as a big fan of Scheme, believe it or not; I'm just documenting the typical C programmer's reaction to it.)

    OTOH, whatever degree of language neutrality they 're planning is certainly a leap in the right direction -- less to change, less to learn. However, quite a few of my fellow coders won't be happy until they have a complete Win32 implementation running atop .Net ;)

    And as for that whole spin about .Net being the death knell for the x86? Well, lemme share a prediction: ten years from now we'll all be using Pentium Elevens with full 386 backward compatibility and toaster-sized nitrogen-cooled heat sinks.

    Just my floor(e) cents.

  • A Blinkered Rant (Score:3, Insightful)

    by rho ( 6063 ) on Wednesday February 13, 2002 @11:07PM (#3004931) Journal

    Sweet jumping savior, how the hell did we get here?

    I managed to get two pages into ArsTechnica's explaination of what .NET is, what it isn't, and why it will be used before my brain rebelled: "Great fuck, if people would simply stop schlepping shit around in proprietary binary formats, data could be imported or exported in any damn application that wanted to write the translation".

    This would be different if .NET was talking about eliminating the concept of an application (document-centric computing). Hell no, it's a bunch of pointy-head nerds and pointy-haired MBAs adding another goddamn layer of nerd-cruft to everything under creation.

    ".NET has three packets of information: the IL, the Metadata, and the fuck-this-where-can-i-find-nudie-pics"... please, for the love of Mike (God wouldn't have anything to do with this, it's purely From the Other Side), let's not stop everything and reinvent the wheel. We had the chance to carefully think things through and do it right, back in 1990. We missed the opportunity, we're now stuck with what we've got. Hasn't anybody learned anything from Be? You can't go home again.

    If .NET makes any fucking difference before it gets replaced with the Next Big Thing, I'll eat my damned crusty underwear. So far, I could grep for .NET and replace it with "Java", and timewarp my pasty white ass to 1997 when it was going to Save Us from platform-specific languages and Microsoft at the same time. I cut my balls off and drank the poison koolaid, but the fucking UFO hasn't poked it's nose out from behind Hale-Bopp yet, the shy fucking bastard.

    Spare me the fucking story. You wanna know what the next great savior is gonna be? Sumbitch, he's already here, and Tim-Berners Lee is his prophet. It's the Church of the Holy Hypertext, and it's vessel is Mozilla. The Web lit up the world because it's simple, it's easy to learn, and it's powerful... and, sin of all sins, it's accessible. Nerds and secretaries are building web pages, because it's easy to do. You think Sally Secretary is gonna benefit from .NET's programming language independance? It's wonky new IDE?

    Pfft. Thicker and thicker layers of cruft will not make programming less hard. Thicker and thicker layers of cruft will not change the way we access information. Thicker and thicker layers of cruft will only slow down the spread of knowledge, because everybody's chasing down the next security bug in .fuckingNET instead of sharing what they know.

  • by rbeattie ( 43187 ) <russ@russellbeattie.com> on Thursday February 14, 2002 @12:04AM (#3005139) Homepage
    No, I disagree.

    Microsoft ripped off Sun the same way it ripped off Apple (who ripped off Xerox) when designing Windows. Yeah, you can say they helped develop the first apps for Mac, etc. etc. but the main idea was still Apple's who pushed the GUI concept and standardized the idea and then Microsoft came along six years later and launched Windows 3.0 based on those concepts developed at Apple.

    Now Microsoft is doing the same with .Net. Back in 1996 when Sun was promoting net development and JITs and the whole concept of a better programming language, Microsoft was still knee-deep in C++ and COM (or was it OLE then?). Six years later, Microsoft looks at the progress Sun has made, copies the most successful parts and bastardizes the rest (again).

    Yes they added some good ideas - just like they did with Windows vs. Mac - but they still ripped off the general concepts and tech gains that were made from Java.

    Sorry, a ripoff's a ripoff.

    -Russ

  • Re:Mod parent up (Score:2, Insightful)

    by jameslore ( 219771 ) on Thursday February 14, 2002 @02:02AM (#3005491) Homepage
    One small thing - generally, it's not the developers who pick what they write. It's management, who do it on a basis of what looks popular, what their customers (also upper management) will want, what fits their budget and finally, what fits their strategic partnerships best.

    The bad news is that technology and "what's best" never comes into it. :-(
  • by Twylite ( 234238 ) <twylite&crypt,co,za> on Thursday February 14, 2002 @03:04AM (#3005618) Homepage
    For instance the WindowsForms which are natively compiled components for building client-side applications. If Microsoft didn't do this, the client apps would probably have the same runtime performance problems that AWT and Swing has.

    Please understand what you are talking about before repeating someone else's bullshit. AWT is natively compiled components. Like any system which must bind to libraries in another language, there are parts in the relevant language, and peers in native code.

    Swing uses the bare minimum of native components and creates its own widgets. This gives you the power to do things you can't do with Windows (and ComCtl32), Motif, Mac, whatever. Swing is not slow in and of itself: try running the program for a while and accessing all the GUI functionality, then all of the classes will be loaded and the JIT will have compiled most bytecode, and you can use Swing happily.

    FYI: if you want to improve Swing performance and are prepared to lose a little time at startup, force load all the Swing classes you use (using forClass() ), and unJAR the JRE classes.

    Another FYI: why don't Sun do this if it is so obviously superior? Because you can't. There is no cross platform GUI system which uses native widgets and can maintain integruity across platforms. Those which seem to go to extreme lengths to control or modify (by wrapping) the native widgets to bring them in line with their view of the world, and still end up breaking.

    Try writing something in Java or WxWindows Universal, and you will get identical GUIs on all your platforms. Go for WxWindows (normal) or Qt, and you have issues - and these are some of the best there are. Don't even talk about Gtk until you've used it on Win32 and discovered its idiosynchrosies.

  • by Anonymous Brave Guy ( 457657 ) on Thursday February 14, 2002 @09:07AM (#3006373)
    Everyone talks about .NET's supposed language neutrality, but based on what I've read so far, it's only language neutral if your language is c# or close to it.

    Sad, but true. C# and VB.NET are so close to isomorphic that choosing between them is mostly a matter of whether you prefer symbolic or "natural language" syntax. Notice the number of long-standing VB developers who are trying to work out the relationship between the tool they've been using until version 6, and the new .NET version.

    In fact, from the article itself:

    The ability to use any language that can target IL is a fundamental feature of .NET. This is achieved through the Common Type System (CTS). The CTS defines how classes (or "types", in .NETese) are defined.

    I think the key thing is that .NET really only supports one paradigm properly: single-inheritance OO. C# fits that description, VB.NET has been moulded to match it, managed C++ is forced into it. You get the idea. I know it's theoretically possible to use other programming paradigms from this foundation, but surely the question is how well they are supported and how efficiently they can be done, not what could be done with infinite time and resources available. (Insert obligatory reference to the thread about functional languages on .NET the other day here.)

    Consider an obvious example: if .NET is reasonably language-neutral, where is the support for generics? C++ has had templates for years, and they are one of its most powerful features. Java has a proposal that doesn't go as far as C++ templates, but does add parameterised type support to a fair degree. (Anyone know if that made it into 1.4 in the end, BTW?) In ML, functions are implicitly generic unless you specify otherwise. If .NET doesn't support such a fundamental feature, then it's immediately dropped an important aspect for all these languages.

    Of course, how important the omissions are depends on your programming style. If you don't use generics, then this particular example is no loss to you. But it should be noted that the current trends in programming-language research are considerably ahead of single-inheritance "pure" OO designs. If .NET can't cope with multiple paradigms and newly developed idioms, it's not going to be leading edge for very long. The power of generic programming, functional programming and other completely separate idioms is being exploited in research already, and has been for some time. I don't think it will be long before they start hitting the maintsream, and then the limitations of .NET's architecture may be its undoing.

Neutrinos have bad breadth.

Working...