Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?

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 ratajik ( 57826 ) on Wednesday February 13, 2002 @06:23PM (#3003427) Homepage Journal
    I haven't seen this mentioned here yet, but they actually released the dev stuff for .NET. Article here []
    • Already got it installed! The damn thing doesn't play nicely with the X-mouse unfortunately. The UI must have been developed by the idiots who did Visual InterDev. I seem to remember MSVC5 had some issues with the X-mouse (auto-raise when the mouse went over things like the class-wizards drop list controls). MSVC6 played very nicely. Now it's back with avengence - behaving just as badly as the InterDev crap did.

      Not really .Net, but the C++ compiler seems more compliant that before.
  • by Anonymous Coward
    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 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.
    • 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 [], which contains about 160.
  • 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 rabtech ( 223758 ) on Wednesday February 13, 2002 @06:41PM (#3003579) Homepage
      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.)
      • 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.
        • 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.

          • The implementation bugs are one thing I'm talking about. Since for JS, there is no body enforcing the standard, like Sun does for Java, anyone can implement the 'standard' but have bugs in the implementation. Unfortunatly these bugs make you choose between platforms. If you program to the 'bugs' in the IE platform then all of a sudden you've got IE specific code that doesn't work correctly on Mozilla, and vice-versa.
            This is the reason that I love Sun for not releasing Java to a standards commitee.
        • 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 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.

      • Well if you'd read the article then you'd realise that Intel's new Itanium architecture is actually completely unsuited for the kind of JIT techniques used by .NET due to the fact that the CPU doesn't reorder code - it needs the compiler to organise things beforehand.

        So I very much doubt that Intel are pushing .NET to wean themselves off of x86...

    • 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...
    • They seem to be touting portability, but what kind of portability? Certainly not inter-OS portability, that's for sure.
      It cdertainly *is* portable across operating systems; I can count at least *six* operating systems I'm sure it supports:
      • Windows 95
      • Windows 98
      • Windows ME
      • Windows NT
      • Windows 2000
      • Windows XP
      And I'm sure they will support several more operation systems (of their own creation, of course) in the future.

  • .NET is... (Score:4, Funny)

    by pq ( 42856 ) <rfc2324&yahoo,com> on Wednesday February 13, 2002 @06:27PM (#3003466) Homepage
    .NET is just a way to catch the .FISH!

  • .NET is mlife.
  • by denzo ( 113290 ) on Wednesday February 13, 2002 @06:33PM (#3003517)
    Unfortunately, no one can be told what the .NET is. You have to see it for yourself.
    • You know, I know this program doesn't exist. I know that when I try to use this program, .Net is telling my brain that it is juicy and delicious. After nine years, you know what I realize? Ignorance is bliss.
  • by XBL ( 305578 ) on Wednesday February 13, 2002 @06:35PM (#3003530)
    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.
    • Please be aware that you can purchase a copy of any single visual studio tool, such as VB for really cheap. You are then eligible for the upgrade price on Visual Studio.

      Right now at least, starting from scratch, it is cheaper to pickup VB 6.0, then buy the VS.NET upgrade.
      • I ordered an academic copy of VS Professional for $99. If you're a student, have one in your family or can find a way to finagle a student ID (or take a class at a local university), it's an excellent way to get a legit copy for a very competitive price. The individual languages are cheaper still.
    • Right now I am downloading the seven CD Visual Studio.NET Enterprise final version (yep, already warezed), a $2500 program.

      The entire devil's toolkit (MSDN Universal, all OS, office, backoffice, and dev tools) goes for about 2.3K USD.... Course I'm sure there are people who might pay more for everything, but if you break up the kit, it is closer to the real price.
    • Re: FreeBSD (Score:3, Interesting)

      by nettdata ( 88196 )
      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?
    • Right now I am downloading the seven CD Visual Studio.NET Enterprise final version (yep, already warezed)

      I downloaded the seven CD Visual Studio.NET Enterprise Architect final version (yes, the one they officially released this morning) a month ago from Microsoft's very own download site []. They made it available as one big download, or as ISOs. You've gotta be an MSDN Universal subscriber to download it, which costs about as much as Visual Studio.NET does, but you get full download access to all of their products (all their OS's, Office versions, server software, beta releases, etc.), not just Visual Studio. Not a bad deal when you add up the street price of all the software.

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

    • by Corrado ( 64013 ) <rnhurt&gmail,com> on Wednesday February 13, 2002 @07:07PM (#3003746) Homepage Journal
      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. :)
    • then go here []. You can't beat Borland.

      Then again, .NET and web services are destined to become the next great niche, but that's another story.

    • 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,

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

  • Hmmmm (Score:3, Interesting)

    by 2nd Post! ( 213333 ) <.gundbear. .at.> 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 Carnage4Life ( 106069 ) on Wednesday February 13, 2002 @06:41PM (#3003572) Homepage Journal
    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.
    • by DrPizza ( 558687 ) on Wednesday February 13, 2002 @07:06PM (#3003745) Homepage
      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.
    • "I prefer Miguel's description of .NET [] which is"

      Actually, they're more or less both right. What you just listed are the edges of .NET. The article talked about what's in the middle. It's hard to tell where one ends and the other begins because they're only making small adjustments to existing software. The web services and service apps envisioned are really the same old NT Server, IIS, SQL Server, VisStudio, IE, etc. but somewhat modified to accept and use .NET code.

      Adapting these apps to merge with .NET isn't much different from how Microsoft changed some apps to merge with Active Directory in Win2k for example, Exchange 2000 adds metadata classes to existing Active Directory accounts instead of creating its own accounts and directory like previous versions.

      Strictly speaking, Active Directory is just a directory service, but you could also include Windows 2000 Server (which uses AD for its domain structure), Exchange 2000 (use of AD described above), IE (new browser tools in the OS needed to browse and search the directory) as part of the entirety of "Active Directory."
    • "I prefer Miguel's description of .NET [] which is"


      The only information one can derive from a document hosted on a Microsoft server is that this document can be used my Microsoft to strenghten its propaganda, without being obvious Microsoft advertising. One example of this technique is "paid programming" on television : when some random person interviewed in the street tells you Bowflex really works, that person has been carefully screened (and often paid) to say that, and you are not watching a real interview. Another example of this is Miguel de Icaza explaining .NET : he is building a business around it, therefore has all the reasons in the world not to trash .NET and stay in good terms with Microsoft.

      "Disclaimer: I work at MSFT but this is MY PERSONAL OPINION not some official claim."


      "I work for Microsft, this is my personal opinion on Microsoft's products" : anybody who works for Microsoft for any length of time will adopt Microsoft's company culture (or else they won't stay at Microsoft for very long, due to the paranoid single-minded esprit-de-corps the company has been built upon). Microsoft's company culture precludes real personal opinion on any aspect of the Microsoft company and its products, and precludes expressing them if they are not in favor of Microsoft in any way. Any person who tells you he works at Microsoft but only expresses his personal opinions is either :

      Overwhelmed by Microsoft's company culture, and has assimilated the company's official lines as their own opinions

      A Microsoft astroturfer, part of the more and more subtle Microsoft astroturfing campaign

      A troll

  • Another fairly good summary of .NET is Here [].
  • .NET (Score:2, Funny)

    by WndrBr3d ( 219963 )
    I've converted the Article into a Word Document that can be found here [].

    Wonderful article.
  • This article [], rejected by Slashdot for this one I might suppose, has some thoughts regarding what other companies and groups think about .NET (Not exactly favourable) and mentions how other companies will be rolling out there own networks.

    I'm not sure how I feel about this statement.
    Microsoft is developing its own Java-like language, called C#, and it has developed a tool that lets those familiar with Java use their knowledge to create Java-like programs for .Net servers.
  • by gosand ( 234100 ) on Wednesday February 13, 2002 @06:53PM (#3003657)
    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 []

  • 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... :)
  • It is four bytes long.
    It is three US-ASCII letters preceded by a period.
    It can also be written as 0x2E4E4554.
    Or, 0x4BD5C5E3 in EBCDIC.
    It has a total ASCII value of 277 (712 in EBCDIC).
    Its checksum is 303cb0ef9edb9082d61bbbe5825d972a.
    Goes great with .COM and .ORG.
    Alone, it gets blocked by the caps lameness filter.
  • 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.

  • SAT time: (Score:2, Funny)

    by base3 ( 539820 )
    o (A) government : tax
    o (B) sponge : water
    o (C) car : travel
    o (D) tank : invasion
    o (E) girder : bridge

    This is a hard one! The good news is that the SAT has no guessing penalty.

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

  • Bertrand Meyer (Score:2, Interesting)

    by Anonymous Coward
    An interesting read [] 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 [] 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, 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: []
    (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:


    Visual Studio .NET

    .NET Framework

    .NET MyServices

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

  • 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 [] which I wrote back in November 2000.

    - adam

  • There are quite a few posters and and pdf's that show a graphical representation of the core java class library. I've looked for something on the .NET side of things but have been unable to find anything. Anyone know of such a beast?
  • 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.
  • - 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.

  • Visual Studio - Enterprise Architect. Sounds like I need my PE.


    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.
  • by Slarty ( 11126 )
    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...
  • A Blinkered Rant (Score:3, Insightful)

    by rho ( 6063 ) on Wednesday February 13, 2002 @11:07PM (#3004931) Homepage 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.

A consultant is a person who borrows your watch, tells you what time it is, pockets the watch, and sends you a bill for it.