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?!?"
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.
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.
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.
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.
"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.
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.
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.
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.
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.
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 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?
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
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.
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.
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.
"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."
> "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.)
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
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.