Slashdot Mirror


What is .NET?

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.""

23 of 505 comments (clear)

  1. They've released the dev stuff. by ratajik · · Score: 5, Informative

    I haven't seen this mentioned here yet, but they actually released the dev stuff for .NET. Article here

  2. .NET is... by pq · · Score: 4, Funny
    .NET is just a way to catch the .FISH!
    Bwahahahahaha...

    --
    "I will take the Ring," he said, "though I do not know the way."
  3. What IS the .NET? by denzo · · Score: 4, Funny

    Unfortunately, no one can be told what the .NET is. You have to see it for yourself.

  4. Books, VS.NET, .NET FreeBSD by XBL · · Score: 5, Informative

    There are some good .NET development books coming out now. Even O'Reilly has had one out for a while (which I have), so the publishing companies seem to be eager to sell .NET.

    Right now I am downloading the seven CD Visual Studio.NET Enterprise final version (yep, already warezed), a $2500 program. It even has a version of Visio bundled for doing application modeling, and that somehow automatically starts producing code, from what I understand. This is going to be interesting to try.

    I have had the VS.NET Beta 2 for a few months, and it's generally easy to use, but very slow. I mean, a general "Hello World" application takes several seconds to compile, and also at least 3 seconds to execute! I have done the same thing using the raw .NET framwork development tools, and it seemed much faster (probably because my hand-written code was much smaller).

    Microsoft is developing a version of the .NET runtime and classes for FreeBSD. I have talked with the lead engineer of this project over e-mail, and he said that it's due to be out in late Spring. I asked him about the Windows Forms stuff, and he said it will be based on Tk (could someone explain the implications of this?). He also said that there are going to be very few UNIX-specific classes, but they hope people will develop those on their own.

  5. Was that so complicated? by JohnDenver · · Score: 5, Insightful

    .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!

    --
    "Communism is like having one [local] phone company " - Lenny Bruce
    1. Re:Was that so complicated? by Corrado · · Score: 4, Informative

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

      The only problem with that statement is that it's not true -- .net is NOT language-neutral. It works well with "managed" languages that are very similar to C# (things like Java), but it fails to support a lot of ingrained things in languages that make them unique and usefull (like multiple inheritence in C/C++). Without this language dependent things, they are just so much foder. You might as well develop in C#.

      However, I've heard that C# is a pretty good knockoff of Java. :)

      --
      KangarooBox - We make IT simple!
  6. Article is inaccurate. by Carnage4Life · · Score: 4, Informative
    Although the article is a decent technical overview of the .NET Framework I don't agree with the articles description of what constitutes .NET. From looking at .NET first hand I prefer Miguel's description of .NET which is
    Microsoft .NET strategy encompasses many efforts including: The .NET development platform, a new platform for writing software [.NET Framework discussed in article] Web services Microsoft Server Applications New tools that use the new development platform Hailstorm, the Microsoft .NET Passport-centralized single sign-on system that is being integrated into Microsoft Windows XP. [now called .NET My Services]
    Disclaimer: I work at MSFT but this is MY PERSONAL OPINION not some official claim.
    1. Re:Article is inaccurate. by DrPizza · · Score: 5, Informative
      Read the first part of the article more closely. I acknowledge that there's more than just the Framework. But I haven't covered them in this article, as it's long enough already. This is what I meant when I said:
      .NET is also the collective name given to various bits of software built upon the .NET platform. These will be both products (Visual Studio.NET and Windows.NET Server, for instance) and services (like Passport, HailStorm, and so on).
      A follow-up will talk about such things as, VS.NET, Passport, Hailstorm, and so on. I feel that there are broadly two parts -- the framework itself (your first bullet point), and things that use it or manipulate it (your second, third, fourth, and fifth bullet points). I realize I glossed over them, but I will talk about them at a later date.
  7. Re:I honestly can't figure out by rabtech · · Score: 4, Informative

    You obviously didn't read the article.

    Microsoft themselves is developing a runtime for FreeBSD. When I say 'runtime' here I mean the CLR and the *BASIC* class libraries. You see, that is the standard that Microsoft has released to the EMCA as a standard, soon to be certified by ISO. It is completely open, non-patented, etc. Anyone can develop a compatible implementation.

    However, a few key components are Windows-only: ADO.NET (universal data access) and WindowsForms (the GUI toolkit.) That is where Mono comes in with the development of compatible class libraries on Linux. Please understand: **the interfaces are the same as the Microsoft interfaces**, even though the implementation details are different.

    Microsoft is fully aware of the Mono project and is taking no efforts to stop them. It doesn't really matter if they wanted to. The CLS (Common Language Specification) is part of the OPEN STANDARD. This is the definition of how classes and datatypes interact among languages and the IL; unless Microsoft managed to get a copyright on all the method names in WindowsForms, they can't stop me from creating a compatible implementation because I am simply using the CLS to write my classes that run on the CLR to provide objects for use by .NET programs.

    (Short Version: go back and actually read the article, then try posting again.)

    --
    Natural != (nontoxic || beneficial)
  8. Re:I honestly can't figure out by Anonymous Coward · · Score: 5, Interesting

    >That being said, it does seem like MS is trying to wean themselves out of a strictly x86 world

    Has anyone thought that perhaps Intel (being somewhat friendly with Microsoft) has been pushing this initiative so they can finally put x86 instructions to rest? If Intel has a new processor that doesn't allow x86 instructions (because backward compability would slow it down), all they'd need is Microsoft to force everyone to compile with .NET and write a CLR for it.

    Of course, this may not necesarilly be a bad thing. Imagine the speed improvements any processor would have if it didn't require backward compability. The downside is that it'd require a fully-compability CLR.

    Sam

  9. You want the collective /. answer? by gosand · · Score: 4, Redundant
    The collective /. answer is probably "Microsoft's latest secret method for leveraging their monopoly to take over the world."

    IMHO, that is probably pretty darn accurate. Nobody knows exactly how just yet. Yeah, it sounds like I am paranoid, I have good reason to be.

    Microsoft^H^H^H^Hpoly

    --

    My beliefs do not require that you agree with them.

  10. Review misplaces priorities by RovingSlug · · Score: 5, Insightful
    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.

  11. Re:Mod parent up by clontzman · · Score: 5, Interesting
    Microsoft is trying REAL hard not to make it seem like they are re-inventing Java, whereas in fact they are reinventing Java.

    Just coincidental that Windows XP drops default Java support.

    First, Java works fine in XP -- you just have to (automatically) download the VM or get it from Sun.

    Secondly, the real advantage of .NET is that you can write in whatever language you want to and use components from other languages in your .NET programs. Those are hardly minor advances. Java has had a six-year head start, not to mention a vast amount of hype, and if it's the better technology, it'll hang in there. If developers like the .NET stuff better, they'll use that. In all likelihood, there will be a lot of different competing languages which will be good at different things. Nothing wrong with that, IMHO.

  12. Re:MS is developing for FreeBSD?!?!? by sydb · · Score: 4, Insightful

    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.

    --
    Yours Sincerely, Michael.
  13. Re:Why I won't be developing with .NET: $$$ by overturf · · Score: 5, Informative

    > Anyone who wants to develop for .NET needs to shell out at least $1,079 for Visual Studio

    Or... you can go out to MSDN and download the .Net Framework Software Development Kit for free (*connection charges apply) at this link

    From the description:
    The Microsoft® .NET Framework Software Development Kit (SDK) includes the .NET Framework, as well as everything you need to write, build, test, and deploy .NET Framework applications--documentation, samples, and command-line tools and compilers.

  14. Actually excited about .NET by Tom7 · · Score: 5, Insightful


    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.)

  15. Re:.NET good, not evil by abigor · · Score: 4, Interesting

    Well, you can use any language that happens to look very similar to C#, and which has a CLR compiler. Take a look at some of the languages that have been ported to .NET, and you'll see what I mean. They are modified to look like C# with different syntaxes. Example: Smalltalk# (or whatever it's called). Forget about dynamic typing anymore. Basically, you can use any language so long as it's mauled to look like C# (static typing, etc.) This multiple-language thing is not a big win, really.

  16. Re:dll hell by DrPizza · · Score: 4, Informative

    Well.

    The GAC is reference-counted -- if you no longer have any applications using an assembly in the GAC, it'll get removed (there are some provisos, but that's more or less how it works).

    And the GAC does have shared libraries -- it just provides a mechanism for having different versions of those shared libraries. If a bunch of applications all use the same version of the same assembly, then they'll use the same file. So there's still a benefit over static libraries. It just also fixes the problems that have ocurred with dynamic libraries. When they *can* be shared, they will be, but unlike Windows' previous DLL implementations, it doesn't _require_ them to share the same version, even if they're not compatible.

  17. Re:I honestly can't figure out by Steveftoth · · Score: 5, Interesting

    So basically it's like the Kaffe version of Java. Kaffe supports the JDK 1.1 without AWT (soon with some 1.2 support). And guess what, not too many people use it. Maybe a couple, but most people are using a fully functional implementation with Swing/AWT and 1.3 libraries.

    I think that the whole C# is a standard argument is BS. Look at JavaScript, it's a standard, has been for a number of years now. Why is it then, that I can write 'standard JavaScript' and IE will interpret it one way, while Mozilla, Netscape and Opera interpret it a slightly different way ( maybe it works, maybe not ). Why are web programmers still writing browser detection code into web pages? I'll tell you why, because it doesn't matter if someone makes a standard if nobody follows it. Not one browser follows the standard perfectly. Mozilla (IMO) comes the closest, but even that is not perfect. You still have to go back ,tweak your pages and balh blah blah. Java may not be perfect, but all the 'SUN certified JVMs' work. If you run your code on the Sun JVM, it will work on the IBM one. If not then you can call up IBM and report a bug. With a 'standard' language/runtime, there is no controlling entity to guarentee compatability.

  18. Re:.NET good, not evil by mmacdona86 · · Score: 4, Informative

    They are developing a FreeBSD port of that incomplete and nearly useless portion that they are submitting as a standard. Real .NET apps will in fact be confined to the Windows platform, unless Mono is much more successful than I suspect it can be.

  19. Re:.NET good, not evil by mikec · · Score: 4, Interesting

    But it's not "any language". It's a collection of languages that are nearly isomorphic with C#. In fact, there are currently many more languages, and more diverse languages, targetted to the JVM than there are to the .NET VM. See, for example, this list, which contains about 160.

  20. Re:Classes and APIs more important than language by BitwizeGHC · · Score: 4, Insightful

    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.

    --
    N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
  21. Re:I honestly can't figure out by Jerf · · Score: 4, Insightful

    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.)