Slashdot is powered by your submissions, so send in your scoop

 



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 prisoner-of-enigma ( 535770 ) on Wednesday February 13, 2002 @06:26PM (#3003453) Homepage
    ...where MS is going with this initiative. They seem to be touting portability, but what kind of portability? Certainly not inter-OS portability, that's for sure. No doubt that their Common Language Runtime is so heavily patented, encrypted, folded, spindled and mutilated that it will be quite difficult for someone to make it run on a non-MS platform. I know that quite a few Linux-heads are working on it. Prediction: if they ever get it right, MS will sue them about four microseconds after they post it on Freshmeat.

    That being said, it does seem like MS is trying to wean themselves out of a strictly x86 world, and portable binaries is a good way to do that. What about performance? Java used to be well known for crappy performance because of the abstraction forced on the code. Will .NET have similar limitations, I wonder?
  • by Phil-14 ( 1277 ) on Wednesday February 13, 2002 @06:37PM (#3003537)
    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.


    However, maybe they should repeat
    the claim another million times; it worked
    with getting people to think Windows
    was secure.

  • more .net info (Score:1, Interesting)

    by Anonymous Coward on Wednesday February 13, 2002 @06:39PM (#3003558)
    another fairly good summary of .NET http://www.devhood.com/training_modules/dist-a/Int ro.NET/intro.net.htm [devhood.com]
  • Hmmmm (Score:3, Interesting)

    by 2nd Post! ( 213333 ) <gundbear@pacbe l l .net> on Wednesday February 13, 2002 @06:39PM (#3003559) Homepage
    Having read the first page...

    .NET sounds like OS X's ne NeXT's Cocoa frameworks *with* the addition of a common runtime library... or... Java

    .NET sounds like Java + JVM + jars + beans + JIT (to be fair, Java really doesn't exist without much of the above)

    Am I off base?

    Cocoa has the bundles concept, which sounds like assemblies.
    Cocoa has the framework concept, except they haven't updated for NT in a *long* time.
    Cocoa can be accessed through at least 2 languages: Java, Objective C+, and I think someone is working on a Python binding.
    Cocoa lacks the VM concept, but if you write in Java, you gain this ability.
  • by Anonymous Coward on Wednesday February 13, 2002 @06:45PM (#3003608)
    >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
  • Re:Mod parent up (Score:5, Interesting)

    by clontzman ( 325677 ) on Wednesday February 13, 2002 @07:03PM (#3003727) Homepage
    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.

  • by abigor ( 540274 ) on Wednesday February 13, 2002 @07:31PM (#3003877)
    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.
  • Bertrand Meyer (Score:2, Interesting)

    by Anonymous Coward on Wednesday February 13, 2002 @07:32PM (#3003882)
    An interesting read [eiffel.com] was linked off of that Gnome guys discussion about .NET that was all rage for a bit.

    Interestingly, I didn't know he (Bertrand Meyer) has created a training course [amazon.com] on .NET.

    Who knows which came first, his interest in .NET or his training course?
  • by Foundryman ( 306698 ) on Wednesday February 13, 2002 @07:34PM (#3003899)
    It's interesting that I just got back from Chicago, where MS put on a release party for Visual Studio .NET to approximately 6,000 attendees, and find this article on Slashdot.

    I don't think they ever gave a straight-forward definition that clearly stated that .NET is this and this. If they did then I missed it.
    The show started out with a welcome message from the Microsoft Technology Evangelist...no, really, that was his title.
    Next came Steve Ballmer who came out to work the crowd into a frenzy and tout all the things .NET could do. He introduced and chatted with several MS employees on some of the things .NET could do. I especially liked their comparison to Sun's J2EE Pet Store sample application. They've got this comparison available on the web at:
    http://msdn.microsoft.com/net/compare/default.asp [microsoft.com]
    (I hope Sun posts a followup on Microsofts claims in this comparison)
    After this they worked the crowd into another frenzy by randomly giving away three of the XBox games. Then they brought out some folks who gave success stories on implementing .NET. After three of these we broke for lunch and I went home, still not being clear on what .NET is, exactly.
    All in all it seemed like I heard mention of several different items:

    .NET

    Visual Studio .NET

    .NET Framework

    .NET MyServices

    .NET Server ...and probably some others I missed. I'm going to visit Microsoft .NET Defined [microsoft.com] and see if that helps clear anything up...

  • by Steveftoth ( 78419 ) on Wednesday February 13, 2002 @07:35PM (#3003902) Homepage
    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.
  • What .NET is... (Score:3, Interesting)

    by AdamBa ( 64128 ) on Wednesday February 13, 2002 @07:40PM (#3003925) Homepage
    Throughout its history, Microsoft has defined three platforms for application developers: DOS, Win16, and Win32. You could argue that COM is a separate platform or an extension of Win32, but the basic idea is the same. At every stage of the development of the personal computer, software developers have asked, "How do I write an application?"

    And Microsoft has provided the answer: Here is the runtime model, here are the APIs you call, here are some tools you can use, here is how to get help if you have problems.

    Now substitute a web of connected personal computers -- the Internet -- for a single one, and developers are still asking, "How do I write an application?" And Microsoft's answer is, .NET.

    DOS provided very few services to application writers, but with the Windows APIs, things got more sophisticated: support for graphics, for printing, for various other input and output devices, and eventually for networking. These were filtered through a standard Microsoft-provided operating system to various third-party devices, each with their own device driver, which performed the actual work.

    In the .NET world, the "API" will handle Internet-related issues such as password verification, price calculation, payment, and so on. The "operating system" will be a set of always-available Web sites that may then dispatch the actual work to third-party sites -- the "device drivers" in the .NET model.

    That is an excerpt from a longer article [osopinion.com] which I wrote back in November 2000.

    - adam

  • by DrPizza ( 558687 ) on Wednesday February 13, 2002 @07:43PM (#3003946) Homepage

    Except it doesn't.

    The restrictions are imposed *by the CTS*.

    If you want your class to be exposed to other classes it must conform to the CTS's rules.

    If you merely want to make use of .NET's features -- compiling to IL, a nice class library, and so on -- you can use MI and case-sensitive identifiers and all that lovely stuff. Provided that your compiler supports it, of course. The C++ compiler does, and it works just like it does in native code. The CLR has no problem with multiple inheritance (it doesn't really *know* about it, but it doesn't really know a great deal about single inheritance, either, so that doesn't matter at all).

    If you want to use those features but also expose them to other languages (thus, you need to conform to the CTS), you can wrap your non-compliant code in CTS-compliant code.

    What you see as a major problem is seen as others by a major benefit. Some languages are more suited to some kinds of development than others. .NET levels the playing-field somewhat, by ensuring that they have equal access to a fairly rich class library -- it means that the *only* distinguishing feature is the language, rather than the choice one used to have to make, of "which language and library do I want to use?".

  • by mikec ( 7785 ) on Wednesday February 13, 2002 @07:51PM (#3003986)
    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 [tu-berlin.de], which contains about 160.
  • by germanbirdman ( 159018 ) on Wednesday February 13, 2002 @07:52PM (#3003991)
    - All in all I like it.

    - Will future processors be able to run the IL in some sort of protected mode?

    - What scares me is all the public/private key signing. While this is good for preventing viruses, it makes hacking software (almost?) impossible. I am thinking of hacking a DVD player to play all DVDs from all regions (of course in DMCA free zones LOL), or just in general being able to make versions of a program work with an alternative library.

    The more I think about it, this .Net stuff together with MS's patent on a "secure" computer that only runs DRM enforcing applications is all starting to come together. Perhaps they really are developing a .NET processor and a hardware public key hash checker making running non .NET stuff next to impossible. People will buy it because of the speed increase in applications.

  • by bucklesl ( 73547 ) on Wednesday February 13, 2002 @08:16PM (#3004132) Homepage
    Visual Studio - Enterprise Architect. Sounds like I need my PE.

    erm..anyhow..

    The past two days at work, I have been using that version of VS which comes with this month's MSDN subscription.

    Most of the time I have been trying to figure out what happened to their data access...It used to be quite simple to hook up some data to a grid or control, but - jeez - I still haven't figured out how to do it simply, and I have built my own data provider controls before so I figure it shouldn't be this difficult.

    As one poster mentioned, the compilation and execution of just a simple 'ello World program, with one form and button each took a couple seconds.

    I tried out the WebForms for their new ASP.NET, no doubt this stems from experience in the last ASP, but it didn't seem intuitive to me. In fact, I could probably port existing ASP to PHP in a quicker fashion... On a side note, however, I attended a conference where they claimed to be running this on Apache instead of IIS.

    I am not too impressed right now with this product... IMHO the best part about the product is the new VISIO. You can do database modeling/reverse engineering and it will generate the scripts, etc like ERWIN or Embarcadero.

    I doubt we use this product for awhile at work, if ever.
  • Re: FreeBSD (Score:3, Interesting)

    by nettdata ( 88196 ) on Wednesday February 13, 2002 @08:21PM (#3004170) Homepage
    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.

    I wonder why Miscrosft is developing a FreeBSD implementation? Could it be because substantial portions of Hotmail still runs on FreeBSD? If I remember correctly, MS has yet to successfully port all of Hotmail over to Windows. That being the case, I'd hazard a guess that it's a REQUIREMENT for them to do the FreeBSD thing.

    I could be wrong, though. Anyone?
  • by jonabbey ( 2498 ) <jonabbey@ganymeta.org> on Wednesday February 13, 2002 @08:46PM (#3004315) Homepage

    Yes, Roger Sessions' article does make that point, and the guy running that JVM languages page is quite honorable to link to the criticism.

    However, saying that the JVM isn't a suitable substrate because a lot of the language tools written on it are experimental is sort of a non sequitor.

  • by Slarty ( 11126 ) on Wednesday February 13, 2002 @09:10PM (#3004416) Homepage
    So... am I missing something, or is the whole idea of .NET to take away native software? Replace everything we currently run with a virtual machine? Yeah, write-once-run-anywhere _seems_ nice but am I the only person left on the planet who still wants software that's optimized and tuned to run on my hardware... not a generic VM?

    I dunno. This just seems crazy to me. There has got to be a better way to do cross-platform software than what basically amounts to emulation. And in this case it makes even less sense... MS is naturally targeting this mostly at Windows, which is still pretty much a single-platform deal. So where's the benefit in using slow(er) bytecode as opposed to petal-to-the-metal, optimized native code? Argh...
  • by clontzman ( 325677 ) on Wednesday February 13, 2002 @09:57PM (#3004636) Homepage
    This is Slashdot... who's producing commercial code? ;-)

    Seriously, though, your point about legitimacy is well-taken and something was cavalier about originally. IF you're eligible, it's a great deal. If you're not, then it's illegal software.
  • Re:Mod parent up (Score:3, Interesting)

    by clontzman ( 325677 ) on Wednesday February 13, 2002 @10:07PM (#3004679) Homepage
    Default Java support is gone, which effectively kills it for recreational computer users (client end support, anyway).

    Look, we're splitting hairs here about what "drops default Java support" means. To say that it drops support implies that the OS no longer supports Java. It does as long as you have a VM installed (which, again, happens automatically the first time you hit an applet).

    Secondly, it's hard to argue that Java was particularly relevent to "recreational computer users" anyway. Very few desktop apps that "recreational" users depend upon are written in Java and applets are less common than ever, so what's the big? Look at it another way -- you get to choose your VM, and isn't choice a Good Thing?

    I'm not sure what's "bull" about the fact that you can use multiple languages in the .NET CLR. You CAN. Yes, they have to be .NET aware, but isn't that kind of obvious? It's still a good idea and, by all accounts, it's implemented well.

  • Obviously Uninformed (Score:1, Interesting)

    by Anonymous Coward on Wednesday February 13, 2002 @11:31PM (#3005027)
    And where are you getting this data?

    I, in fact, also work at M$. Certainly, there are some people who are Ra-Ra, Microsoft Rules in all ways, etc. Perhaps more than another company, perhaps not (certainly I imagine many of the folks over at RedHat or at Sun proclaiming the absolute dominance of their products as well.)

    However, a whole lot of folks at the company, I would claim to the majority (of devs anyway), are a little more agnostic as to these issues. Many of use for our own devices whatever technology makes the most sense (I use some Linux and some WinXP, some web sites I've written in PHP/MySql, some ASP.NET/SQL Server, depending on which technically made the most sense for the given purpose). Many of run Linux at home for some boxes, WinXip in others. Of course, at work for work projects you usually use the M$ solution (imagine telling people at RedHat that they had to use Outlook/Exchange in place of Linux servers- I'm not arguing that this would be a better solution, I'm just saying it would be out of the question).

    Feel free to disagree with the company. I disagree with a big part of the way that the company does business. We talk, at work, about how certain MS business practices and technologies suck. I work there because I think some of the technology they do there is pretty cool. But certainly don't make generalizations about the employees, for which you obviously have little experience.

    <rant>
    There are so few people left who legimitately and objectively assess technology. The bias is ridiculous, reminiscent of the old Mac/PC flame wars. When you stretch that political bias from companies to generalizations about individuals (making them the "Other", a little psychological trick that allows us to feel ok about judging people), you've truly crossed the line.
    </rant>
  • by the_2nd_coming ( 444906 ) on Thursday February 14, 2002 @12:03AM (#3005134) Homepage
    the one thing about that is, you lose language function if you are not using a .NET language.

    C++ you lose mutiple inheritence, other languages I am sure have similer problems......yes it is cool for getting your stupid little app compiled to run anywhere, but since it restrics the complexity of your program when not using a .NET language like C#, and C#/VB are not suficiently complex to give you the power of C/C++ you pretty much are stuck to little programs.

For God's sake, stop researching for a while and begin to think!

Working...