Hacker News new | past | comments | ask | show | jobs | submit login
Why was .NET called .NET? (dodgycoder.net)
92 points by damian2000 on May 6, 2012 | hide | past | favorite | 72 comments



I worked at a company that was a sometime-partner of Microsoft in its efforts to get other languages running on the CLR.

You have to understand that Microsoft had spent most of the 90s being clueless about the internet. Then actively trying to kill it. But by 2001, their strategy was to embrace and extend internet protocols and technologies so they would be forever tied to Microsoft.

My impression was that .NET was a marketing term for a number of unrelated technologies that all served this overarching goal, that all came out roughly around 2001. They were saying to big corporations, that your choice wasn't Microsoft versus the internet, Microsoft WAS the internet. Only better.

C# and the CLR were there to counter Java and the JVM.

Their concept of Web Services was to make web technologies a mere transport layer for an RPC protocol called SOAP, which you would build with Microsoft IDEs.

Hailstorm and Passport were an attempt to make Microsoft the centralized broker for all sensitive information on the internet. Think Facebook Connect, only imagine it was more corporate and business focused, and knew your credit card number.

Anyway, Hailstorm/Passport and Web Services are dead, but The ".NET Framework" lives on in the CLR and C#, which were actually rather good even apart from Microsoft's strategizing.


There were likely considerations that fed in at different levels of the process:

1. Higher-ups who still believed that they could offer a platform that would be more valuable than the internet at large. Hailstorm always felt like an AOL for web services. 2. Lower down in the MS hierarchy various areas were under pressure. They had technologies built on COM and Win32 that had been thrown together quickly as a response to the growth of the web. eg. IIS and COM+. Both had problems in terms of scalability (and security as exploited later) and there is was no way to improve performance without jumping down to C++. Obviously there were a lot of other issues with these tools and a "rewrite" was needed.

Microsoft were really playing catch-up here and "copying" various things from the JVM ecosystem such as garbage collection was required. It is worth reviewing Brian Harry's note re: reference counting. A large number of developers were concerned with the implications of this change but it was for the better (for more people - there is still no perfect solution here). C# appears to the uninformed to be a mere copy of the Java language but Microsoft included features to attract some C++ developers, help the transition, and improve usability over Java. SOAP is an abomination, but it is still better than DCOM which came before.

I think Rotor was one of the most valuable things that Microsoft produced in the early years of .NET. Ted Neward et al wrote a book on it with O'Reilly and an unpublished 2nd version is at http://callvirt.net/blog/post/SSCLI-20-Patch-for-VS-2010.asp.... You may not want to look at Rotor if you contribute to Mono-based projects.


Your impression sounds plausible. I have always seen .NET as a me-too marketing reaction to Sun's cheesy "we are the dot in .com" (as for example on the first slide of this 1999 ppt presentation on the future of java: http://www.java-forum-stuttgart.de/jfs/1999/folien/B7_Jim_Co... )


I doubt it's a reaction - it was just that, at the time, a domain name was a symbol of newness, coolness, and gobs of money. "blahblahblah.com" was something that even the most clueless IT executive knew meant "the internet". So both companies would want to exploit that.


It's funny that you should mention their cluelessness of the web at the start. I remember when .NET was first released, my first question was "wow, how do they ever expect me to find that in a search engine?!?"

Search engines were a little dumber back then :)


C♯ isn't much better, since IIRC search engines often ignored special characters.


"dot net"


... is fine now. It wasn't at the time, for me at least. It truly was difficult for a lot of people to search for anything on it.


Companies are STILL pulling moronic moves like that. Cooke, a cinema-camera-lens company, decided to call their electronically coupled lens technology "/i". Yes a slash with an "i" after it. Try searching on THAT.


Fun fact: office 2003 was originally designed around these APIs, and it was planned as a cloud offering. The world just wasn't ready for it back then.


But now that people are more gullible, it seems like a fine idea.


I was Summer intern at Microsoft in 2001 and back then the interns went to Bill Gates's house for a bbq near the end of the Summer. One of the interns asked "what other names did you think of before coming up with .NET?"

To the best of my memory, Bill's answer was something like:

  I didn't actually like the name .NET.  It makes people 
  wonder if we are finally just starting to learn about the
  Internet.  Sadly, the other proposed name was even worse.
  Our mission statement at the time was 'work Anywhere,
  Anytime, on Any device,' so the proposal was AAAWare.


i worked on .net before it was .net. we didn't have a name for the runtime, we (a very large we) just forked the J++ compiler and started hacking, calling the J++ language "COOL", for Common Object Oriented Language. For a long time the runtime was only usable by building executable files with the "jvc" compiler but compiled C#. We started a VB fork that compiled to the "clr". Yet still no name. At the end of the day it was purely a marketing decision.


Yep, I remember COOL as well. And yes, marketing strikes again. :-(


Curious, was the CLR also built off of the Microsoft JVM? And is any of the original code for either still rattling around inside modern .NET?


totally separate people who had never worked on the jvm for legal reasons


How nice of Mr. Gates to invite interns to his home, though.


My understanding is that they did this every year, along with other intern events. The goal is to allow interns to become friends with each other, because friends follow each other through their careers, so the ones who decide to go back to microsoft will bring the others along.


Sounds almost as bad as http://en.wikipedia.org/wiki/Wonderware ;-)


Works anywhere anytime on any device, hmmm think I've heard that before: http://en.wikipedia.org/wiki/Write_once,_run_anywhere


yeah... write once, debug everywhere

edit: oh it's even in the article, how nice :)


Microsoft's naming has generally ranged from clueless to infantile.

.NET was definitely an attempt to play catch-up to everyone else in regard to the Internet, and even Microsoft couldn't explain what it was. We went to TechEd every year, and even attended a traveling dog-and-pony show that Microsoft held to explain .NET. We came away thinking it was distributed COM.

But then everything was named .NET. Or "My". .NET sucks, but the "My" this and "My" that was downright insulting. Yes, I know it's MY computer, because it's on MY desk. Holy shit, are those MY documents on MY computer? Who would've thought!

Then "Windows Me". WTF. Where was the enterprise version called "Windows Us"? And no, it didn't stand for "Millenium Edition", because that would've been "Windows ME".

Microsoft used to design good UIs, though. They did more to advance the GUI in the '90s than anyone else; definitely more than Apple has done to desktop GUIs since the '80s. But they've lost their way sadly over the last few years. Hopefully they can become relevant again and attract some decent design talent to replace what they've obviously lost.

And clean up this mess (this is Windows 7): http://farm8.staticflickr.com/7194/6889938667_20f136ca0b_b.j...


"The question was deemed to be offtopic for StackOverflow,"

I've stopped using stackoverflow as a contributor, the moderators are really overzealous. Legit questions are killed way too easily, without any real recourse to explain or rephrase. Meta doesn't help because the same people are moderating both, and quickly end discussion there too.

It's really sad because the platform is great.


I have no problem with SO mods closing topics (the quality of new posts has really gone down as SO gains popularity), but I do have a huge problem with them permanently deleting closed topics after some time.

Some of the most popular posts on SO with thousands of hits a day linked to from all over the web have been permanently removed with no official archived location. They're throwing away years and years of community posts and comments, with some very valuable info and data in there. It's really sad.


The biggest thing I loath about SO is when they close threads because the question has been asked before and then link to a thread that nobody has replied to 3+ years.

SO is becoming less and less useful as time goes on because they actually stop questions that need to be re-answered from being re-answered.


In the early 2000s I joined the WELL. It didn't last long. Nobody was having any interesting discussions there. Conversation that went much beyond trite pleasantries was invariably choked off by tut-tutting oldsters telling everyone that everything had been said before.

Over the course of the 2000s, I've had a chance to watch several online communities that I was deeply involved in grow old and die through the same process. I've decided that it's just part of the natural life cycle of an online community for it to die at the hands of its most devoted followers through this sort of intellectual smothering.

So it's maybe not tragic that it should happen to Stack Overflow. It's just sad that it started happening so soon.


We could call this phenomenon the Wikipedia effect.


Actually, that's a reverse problem to Wikipedia. Wikipedia article quality increases hugely, then as people fiddle with the article the quality rapidly decreases. Then it increases again... ad infinitum. Sort of like a sine wave.


I don't know. I think one of their biggest problem is to handle "gravity": how good content flows and bad content sink. Wikipedia handle this better. They, at SO, have to have some gravity.


To be fair, the quality posts have already been asked. What else left is there to ask?


The original question was from March 2009. Deleting that three years later is bad internet citizenship -- it's removing internet history for no good reason.

Fair enough, if it was a new question asked today, no question, delete it, as it's clearly off-topic now, according to the rules they've clarified and developed over the years. But when these types of questions were asked originally they were on topic at the time. Deleting them retrospectively is poor form.


I'm also of the opinion that these questions in general offer far more value (and are far more interesting to read) than the hundreds of "how do I iterate MySQL results/display them on my page/use a PHP function in javascript" that get posted every day.

I'm really struggling to see what benefit there is to deleting these things.


I agree, the best questions taps in multiple domains and are more subject to be off-topic everywhere.


Yes, I completely agree.

I tend to feel a large loss of community from deleting items like this.


When you have a question that is upvoted and answered a lot, and then the mods come in and close or even worse delete the question, it's just them flexing their muscles. There should be a way for the community to couter vote the mods if you have at least X amount of points yourself. If mods get overruled so many times they should lose their mod rights. We need some kind of "checks and balances" to keep the mods "honest."


It is very sad. Perfectly reasonable questions getting shut down, looks very hostile to newbies, not at all the environment that I thought it was supposed to be.

I don't understand what happened. I'd like to believe there was some good reason that sparked this excessive moderation and it just went overboard. But it looks like a clique of insiders going on a power trip.

Whatever happened, I hope it changes.


I think at one point .Net was going to be the next major brand for all MS products. At one point MSN Messenger was called ".Net Messenger" before it was renamed to Windows Live.

I imagine the branding didn't work for consumer products because nobody had any idea what it meant. Hell , I had no idea what it meant. I remember trying to figure out what .Net was because I had heard so much about it , but all I could get from MS' website was jargon and buzzwords about "enterprise web services".

It wasn't until I started writing C# code that integrated so seemlessly with old VB code and started being able to do things easily (like sockets , databases and GUIs) that I would previously have had to dig through obscure C++ APIs for that I "got it".


I'm imagining a bunch of suits getting together deciding "Time to start working on the next generation of COM... COM2!".

And then the first developer gets ready to write some code, and goes "Explorer->Right click->New folder->COM2".

After a few attempts and some head scratching:

"Uhh.. I think we need another name"


You have a good imagination.

I worked on COM at Microsoft. We had a project to add managed run-time capabilities to COM. This was ~'96.

Internally we thought of the Component Object Model that shipped as part of OLE as "COM version 1". The version that supported distributed capabilities (aka DCOM) as "COM version 2".

When we started working on adding managed runtime support we started talking about "COM 3". But that talk stopped quickly when I tried to create a directory named COM3 for some specs.

Creating the directory wasn't a problem. But putting anything in it or deleting was.

We quickly settled on the name "COR" for Component Object Runtime instead.

We actually released the COR at the '96 (I think) PDC as an alpha. But it never actually shipped because .NET won the internal battle (full IL based managed runtime to replace COM vs. incrementally adding garbage collection and other managed capabilites to COM ala Objective-C).

Later on, as the MS Transaction Server group was merged with the COM team, the name COM+ was invented to cover "DCOM + Transaction Server + MSMQ". This led to the fabled Project42 which I have chosen to forget.


I remember reading articles about COM+ which didn't mean MSMQ but looked more like something close to what .net framework became. Then I've read that Msmq and thought "what?" Wasn't then COR the first mentioning of what you name COR?


Wow, haha, thanks for sharing that. My old suspicions finally confirmed! :)


They should have just incremented the last letter of COM to create the new version CON.

Explorer->Right click->New folder->CON...

Oh.


That's interesting. But try creating a folder called .NET in Windows explorer... :-) Hint - you can't!


Nice! So when they couldn't use a reserved folder name, they went for the next best thing ;)


Sure you can.

Create a folder.

Rename it to ".Net.". The dot at the end of the folder name is important.


Interesting. But they didn't call it dot-net-dot :-)


Explorer silently strips the trailing dot and is tricked into doing the right thing.


This becomes quite annoying when I try to create a .htaccess file. (Command line rename is the only solution I've found.)


Cygwin. Don't use the Windows command line. Just don't.

And while you are at it, use PuTTY-based Minterm instead of the Windows console.


Can you explain why? I use cygwin when I need GNU-like tools (sed, grep, etc.) but for something like renaming a file I don't see the point of using a slower terminal that requires more typing (

    cd /cygdrive/c/Doc<tab><wait>/mkop<tab><wait>/Desktop/bla
vs

    cd \Doc<tab>mkop<tab>Des<tab>bla
) just so I can type "mv" instead of "rename".

I've never used minterm. What does it do better?


With Cygwin, your home directory should be your WINHOME (I'm doing this from memory, bear with me), so, in fact, your cd would be

    cd Desk<tab>bla
or, worst case,

    cd ~/Des<tab>bla
Running programs is also a tiny fraction of what bash can do - it's a full (well... almost) fledged scripting language and you can do things like loops, conditionals and other stuff. Before I discovered watch, I'd do things like

    while true; do df -h ; sleep 10 ; clear ; done
Also, the PuTTY-based console has a lot of niceties when compared to a plain console window - it's prettier, you have better font controls and better clipboard integration.


In my default cygwin install, my home directory was C:\cygwin\home\mkopinsk. I just changed it (in C:\Cygwin\etc\profile) to /cygdrive/c/Documents and Settings/mkopinsk so hopefully it should be a bit less painful now. I will consider switching to a non-cygwin solution in the future.


That's odd. What version of Windows are you using? Last time I used Cygwin (XP or Vista, can't remember), the home defaulted to the Windows home.


XP. I don't remember changing any options in setup.exe, but who knows. Bottom line it's fixed.


Use MSYS (part of MinGW) and Console2 (set bash as shell).

cd /c/Doc<tab>/mkop<tab>/Desktop/bla


This doesn't answer my main question, which is WHY? What do these tools do better (enough to matter)?


I prefer the Unix command line everywhere. MSYS gives you a Unix shell, and all the Unix tools, built right on top of win32. I haven't used it in years, but I understand Cygwin is quite a bit heavier.

The cmd.exe terminal is atrocious. Even if you don't want to use Bash, Console2 gives you things like tabs, and you can resize the window normally.

tldr; It's not slower, it doesn't involve more typing, it gives you a sane Unix command-line experience on Windows.


Waaayback link to the deleted Stack Overflow Q&A referenced in the article. 2010/08

http://web.archive.org/web/20100812155534/http://stackoverfl...


The new name ".NET" for NGWS was unveiled June 22, 2000. (Source: http://heise.de/-26825 -- in German)

In the months leading up to the announcement, Microsoft had registered a truck load of domains including: dot-in-the-dot.com, dot-in-the-dot-com.org, dot-in-the-dot-com.net, dot-in-the-dot-com.com, dot-in-the-dot.net, dot-in-the-dot.org, dot-truth.org und dot-truth.net. (Source: http://heise.de/-27004 -- in German)

So clearly the name .NET was a play on Sun's "we're the dot in .com" stategy. They noticed Sun's success with Java and the JVM in enterprise software development and started their Xeroxes as usual.

By the way -- Loved Sun's ad campaign back then: http://www.bevinceengel.com/SUN-MICROSYSTEMS-THE-DOT


"Microsoft .NET, Microsoft's XML-based Web services platform, comprises four major pillars: 1) the .NET Framework and the Visual Studio® .NET suite of developer tools; 2) the .NET Enterprise Servers, which provide a robust infrastructure for Web services; 3) .NET devices and experiences; and 4) .NET services."

From a 2001 press release announcing "Hailstorm".

http://www.microsoft.com/en-us/news/press/2001/Mar01/03-19Ha...


interesting link - had to laugh at this bit ...

> "HailStorm" -based solutions allow users to manage and protect their personal information, as opposed to today's world in which it is scattered across the technology landscape, with no ability to control the privacy of their information.

If anything, things are worse now than they were back then.


I keep a list of my favorite (vaguely) CS-related quotes. At some point I stumbled upon this: "I think Microsoft named .NET so it wouldn't show up in a Unix directory listing."

(It was attributed to "Oktal", and I believe it was from the StackOverflow page linked by the article, which no longer exists.)


I was about to post the same quote :)


"Why was .NET called .NET?" Because they couldn't call it Java: http://www.theregister.co.uk/2007/10/30/asp_net_java_project...


I always figured it was a pun on COM.


There's actually some truth to this.


What's with the deletionism at Stack Overflow. Do they really feel that these "off topic" posts detract from the overall quality of the site?


Can't help you on why it's called .Net but it came very close to being called Microsoft ColdFusion

http://www.sargeway.com/blog/index.cfm?mode=cat&catid=6D...


While interesting, you're conflating .NET with ASP. One is a broad stack for application dev, another is an unrelated technology for web dev.


It certainly wasn't where it would be an easy distinct name to search.


They were going to call it WinFX if I recall correctly


Yeah I remember WinFX as well, but I think that was around 2005 - it was the codename for the set of .NET 3.0 technologies later known as WPF, WCF and WF ... there's something here about it - http://blogs.msdn.com/b/ianm/archive/2006/04/19/578851.aspx




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: