Good thoughts. I too would like to see Microsoft to get everybody on the same page and create the Internet application of tomorrow...not the next version of IE, but the next IE. The ubiquitous appliation that everybody uses.
Of course, they should use "standards" for the plumbing, but it should be one AWESOME Windows client built using .NET/VS2005.
I posted some thoughts on this a while ago in the context of MSN Spaces; see
- releasing MSN spaces w/o even a Beta vesion of an API is unconscionable when there are already so many Blog APIs available.
- sure MOOL looks cool, but $45+/year seems a little pricy. And I'm not really sure if I need it; you need to come up with a way to get people "hooked" on it like WebDAV access.
- MSN should be the best ASP.NET hosting site in the world! For around $20/month I'd get to host my domain name, Hotmail/MOOL (or IMAP), blogging, plus all of the other stuff you current get for $9.95/mo. Be sure to become a registrar too so that there is "one stop shopping".
- Become a showcase for all the cool new Microsoft technology and "best practices". For example, there's no spell-checker as I'm typing this in...put some of the MSDN articles into production.
- Why isn't MSN built on WSS/Sharepoint?
- Between WSS/Sharepoint, Outlook/MOOL, Desktop Search, Office, and MSN Messenger, you should really be able to show the world all the advantages of "smart clients" (XP SP2 & .NET). Instead, it seems that MSN mostly plays catch-up with things done elsewhere. As just one example, integrate MSN Spaces with Outlook & Word -- do something with the LAME "Outlook Today" page.
It looks like once again Hotmail is having problems: http://news.com.com/Hotmail+outage+peeves+some+e-mail+users/2100-1038_3-5587906.html?tag=nefd.top. I paid them $20 for Hotmail Extra - they should put us on different servers or something!
After submitting a support email, I got a really lame response from MSN which basically said "we know, we're working on it", but no ETA. "Please remain confident that Hotmail is in control of the situation and is committed to serve you better."
They could have at least told me in advance about the problem rather than waiting until I sent an email message.
The kernel-mode bits of Windows are mostly written in C. There is a little bit of x86 assembly language for some platform-specific things.
I think it has a fair amount of C, but is mostly in asm.
I don't think there is anything in modern Windows that is "mostly asm".
Windows NT ran on the MIPS and Alpha chips, that got rid of most of the assembly. More recently we have 64-bit Windows running on various 64-bit chips.
Optimizaiton technology is to the point such that both C and C++ can be compiled into very efficient code.
JDanielSmith wrote: Instead of C#, why not learn C++/CLI instead..
Certainly, if you are into writing drivers or other close to kernel code. But if you do not care about the raw metal, I think it's enough if you can read C/C++ and be proficient in C#. Knowing a bit about how the machine works is always good, but I would not [...]
My point (here and on my blog) is that if you're happy with VB.NET, learning C# isn't going to get you much more than a different syntax. VB.NET and C# are pretty much interchangeable as far as features/functionality; syntax is the biggest reason to prefer one over the other.
The biggest downside I see to C++/CLI instead of C# is less protection from yourself--it's easier to shoot yourself in the foot with C++/CLI than C#.
Notice I'm careful to always say C++/CLI - I'm talking about writing 100% managed code. With managed code, you're no closer to the "raw metal" in C++/CLI than you are with C# or VB.NET. And if you need to go there, IJW in C++ is even easier than interop, p-invoke or unsafe.
Instead of C#, why not learn C++/CLI instead:
Beer28 wrote:I don't know of any operating system besides lookingglass3d window manager, which isn't really an operating system but a window manager and X server variation, that is partly written in managed code.
All OS's that I know of are C with some C++ and a very small part of platform specific stuff in asm
I believe the entire "10 foot" UI of XP Media Center Edition is written in managed code (C# would be my guess as MC++ is so gnarly).
Given that one of the persistent rumors is that Longhorn will merge all the XP variants (MCE, Tablet, 64bit, etc.), it's likely at least a portion of the OS will be managed.
But it really depends on how you define "Operating System". It it (most) everything that comes on the Windows CD (probalby DVD for Longhorn)? Is it whatever comes from Microsoft that is pre-installed on a new computer? Or is it just the absolute bare essentials required to support the Win32 API? If you go with the strict CS definition, then even if the Shell probably wouldn't count.
I'd bet lots of good money that Microsoft will ship managed code as part of the Longhorn deliverable. If nothing else, I'm sure the .NET framework will be installed with the OS and not be an optional component.
And Google News has been almost unchanged since it was introduced - where are the RSS/Atom feeds?
(I understand that they are probably concerned about running afoul of copyright law if they do too much with the screen-scraped results...)
Don't forget about Gmail, although there is (currently) no link from the Google home page.
I paid the $20 to get "MSN Hotmail Plus" so that I could continue to read my Hotmail from Outlook.
For me, it would be very nice to be able to sync Contacts, Calendar, Tasks, etc. Spending another $29 (or $39) for that does seem a bit high though...
Right now, I have my personal contacts (and calendar entires) stored on the company's exchange server which I don't like. Putting them in a local PST file means I can only get at them from one machine...maybe not all bad, considering I have a laptop, but...