'Cosmo' — a C#-Based Operating System
Billly Gates writes "A new operating system called Cosmo has been developed, written entirely in C#. It shows the naysayers you can write a full OS kernel without C. So far, you need Visual Studio to compile and run it, as Mono is not supported. However, the source code can be compiled with the Express editions of Visual Studio. The project plans to add VB.NET support soon."
*Visual Studio required
There haven't been any updates to the site in many months. Dead links left and right.
Does IL run linux?
The project is called Cosmos.
What's the C# runtime written in?
What good is an open source OS if it requires me to purchase proprietary products to change or compile it? that's not freedom, that's just extension of Microsoft marketing campaign. And what about threat of Microsoft someday saying things built with their tools have Microsoft IP in them?
Requiring a Windows environment to compile a OS is like using dirty energy to produce clean energy.
http://en.wikipedia.org/wiki/JNode
http://en.wikipedia.org/wiki/JavaOS
http://en.wikipedia.org/wiki/JX_%28operating_system%29
Writing a OS >canshould be done. That is what the naysayers main complaint is.
.... if you ignore the inline assembler code.
Imagine if you could write an OS without C, why you might go so far as to write a machine that could run Lisp native.
> Cosmos includes a compiler (IL2CPU, which is part of Cosmos) that reads the input file (usually the shell) and Cosmos libraries and compiles the resulting IL to x86 code.
So it is not .NET/Visual Studio what you are using but a derivation of what .NET/Visual Studio produces.
> IL2CPU also supports certain extension methods which allow C# code to interact directly with the CPU, registers, and ports in the kernel.
So it is not C# what you are using, but another language which makes it basically C++ (the real one, not that C++.NET bullshit).
How is this news? Besides, http://www.gocosmos.org/Old/Screenshots/gfx/guess.JPG 404s and runs under IIS.
The screenshots are visible here
Anonymous for karma
Not 'Cosmo'
does it run Linux?
Ha ha ha. This is why I come back to Slashdot time and time again. Fresh, witty jokes of this caliber.
You could build a high-rise building out of sugar cubes if you tried hard enough, but why? Is there really a need for yet another OS, built on yet another language-to-save-the-world? What this tells me is that there was this person who had way too much time on their hands, and rather than do something really useful with this time they decided "hey, wouldn't it be crazy-cool to have an OS written entirely in C#?" and there was no significant-other around to slap them upside the head.
Look, if you had been the military dictator of a country for 40 years, and STILL UNABLE to get promoted above the rank of colonel, you'd do some bad things too, purely out of frustration.
I don't really see the point in this - but that's irrelevant. The people developing this want to spend their time on the project, and that's all that matters. ... or so the discussion would go if the Cosmos creators hadn't built this on a Microsoft foundation. I expect a lot of comments will take a completely different viewpoint, given they'll see this as "tainted" by Microsoft. It'd be nice to be proven wrong, though.
Oh, and they chose the BSD license. That'll rile up some folks as well.
#DeleteChrome
#. It shows the naysayers you can write a full OS kernel without C
Congrats you showed the empty set something. Since nobody with the two brain cells required to know the word kernel would claim C is required for one.
Given we had then before C existed - GM-NAA I/O in 1954 would be the obvious "before C" one.
And we had non-C ones after C existed - LISP machines being the obvious example there.
This is the stupidest motive for writing an operating system I've ever heard of. What about VMS, written in FORTRAN? Or HP RTE-A, also written in FORTRAN?
Do you think the "classic" operating systems were written in a language that didn't even EXIST yet?
I do not fail; I succeed at finding out what does not work.
cmdr taco leaves and we gets stories like this now. Whoever said you can't write an OS unless you do it in C? I've heard of OS's in C++ and even Assembly, among other things.
This article is a failure on so many levels. It's about a dead project that sounds pointless in the first place, and they didn't even get the name right in the headline or summary.
It's a trifecta of fail all at once.
There's no -1 for "I don't get it."
How about Singularity, Microsoft's own attempt to write an OS in an extended dialect of C#? Is this aiming at similar goals in any way?
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
An OS even crappier then Windows. How could we not see that the way to do it was to use a part of Windows to write it?
Mono is not supported. Didn't you at least read the SUMMARY ?
Are you implying Windows is free now
Windows Home Premium (OEM version) is subsidized by trialware publishers, making it free as in beer to home users.
they will realize that C with some ASM produces the best performing, most efficient operating systems.
God forbid anyone just think it's neat for the sake of doing it. No, everyone has to go on an anti-Microsoft rant. Personally, I think it's kinda cool. I'd never use it for anything, but it's still cool that it was done. Instead of shitting on the developers just be happy they did something outside of the norm.
"Ubuntu" -- an African word, meaning "Slackware is too hard for me". - stolen from Dan C alt.os.linux.slackware
It's hard to tell what, if anything, this thing does. The "documentation" is a mostly empty wiki. There's a useless FAQ and a useless technical FAQ. Neither answers basic questions like "what does this run on" and "what is the API for programs which run on it". I can't even figure out whether it runs on a bare machine or on Windows or Linux or what. ("Your search for 'installation' has returned 0 results").
What this seems to be is some kind of scheme for running Microsoft .NET on a bare machine. Except that it doesn't, apparently, really boot on a bare machine; it's normally run as a Windows application under Visual Studio. I think.
Seriously. You undertake a project like an OS. There are a lot of technical issues involved that sort of project. Do you choose a language that has a proven history or do you choose to use a language that is, by definition, not for this sort of application? Also, since they are dumping out assembler, and using NASM to compile code, it has ceased to be C#. It has become a hybrid system, just like every other OS. They've spent a lot of time using the wrong language and, in the end, proved nothing.
Why did Slashdot even bother writing this when the last update on the projects new page is from August of last year?
I worked on a system called MOS (from Olivetti) that was written in an extended Pascal. I have seen systems written in Lisp and even compiled Java,
good luck trying to write a memory manager in a manage language
-- I'll take C# for 800, Alex. ... Pino.
-- The keyword that enables pointer arithmetic.
-- What is unsafe?
-- Yes!
or a fs
As long as your code can read and write blocks on the device, a file system can be implemented in any language. Some operating systems allow file systems to run as user processes, and not just experimental microkernels either.
-- Linux for 400 please. ... Abi.
-- This electrical current limiter shares its name with a file system framework.
-- What is a fuse?
-- Yes, and you're on the board. Go again.
"oh but you can only use a subset of C# there" well, duh
A bootloader can only use a subset of C because it needs assembly language to get the x86 CPU out of backward-compatible "real mode".
If you have looked at Singularity the past, you are welcome to develop on Cosmos however you must be careful not to use your knowledge of Singularity. Unless you were involved deeply into Singularity code this will likely not be a problem. If you are concerned about this, choose purposefully to develop in a different area of functionality in Cosmos.
http://cosmos.codeplex.com/wikipage?title=FAQ
And no, that's not a joke.
On second thought, let's not go to Camelot. It is a silly place.
This is good. I wonder if an OS can be written in any language? COBOL? ADA? PL? Java? Javascript? Is it possible to do in all languages?
MY OTHER COMMENTS
Linux is written mainly in C, but there's also inline assembly.
Don't thank God, thank a doctor!
This project would interest me (a little) if the assembly that the C# is compiled to were run on silicon that executed CIL as machine instructions. Even if the CIL implementation were microcode that invoked x86 instructions, or a Transmeta-type on the fly conversion to native instructions.
--
make install -not war
Ok, yes, there's the "because I can" motivation behind things like hanoimania, and if you don't think that's awesome, I don't know what you're doing on Slashdot.
But there is a more serious reason this would be useful, either in C# or .NET: A managed memory OS would likely be more secure and more stable than one written in, say, C. They're also playing up the idea of having it be entirely verified. It's also nice in that if apps are all bytecode, it should be transparently portable across hardware.
Such a beast would likely not be a replacement for current OSes for a long time, because of performance. I'd love to be proven wrong here. Still, even if it comes at a heavy performance penalty, I know there are a lot of places I would gladly take an 80% performance hit for better security and stability, especially on today's hardware. In fact, that's a reason to run web apps. At the very least, there are small apps like the ragemaker which are useful despite whatever imperceptible performance penalty there is, but which there is no way in hell I'm going to run outside of that sort of sandbox. And, similarly, there's no way in hell I could expect its author to release a Linux/ARM version, but if it runs in the browser, it runs on whatever platform/OS I want.
Don't thank God, thank a doctor!
no. why? what did it say?
rewriting history since 2109
Microsoft Research has been working on this for many years and has at least two such projects:
http://en.wikipedia.org/wiki/Singularity_(operating_system)
http://en.wikipedia.org/wiki/Midori_(operating_system)
The code is ahead-of-time compiled using the Bartok compiler:
http://en.wikipedia.org/wiki/Bartok_(compiler)
An easier to program language for the basis of a kernel may be the benefit. Code analysis tools could be used on the C# parts.
...who said you couldn't write an OS in C#, or that you couldn't write one without C? Obviously C wasn't used to build the OS that C was built on. And if that someone said they couldn't do it was their reason for doing it, quick, someone tell them that there isn't an OS written in COBOL and that they can't paint your house with a toothbrush. And no, if I say I think it's a waste of your time to paint a house with a toothbrush, it isn't because it's a Microsoft toothbrush or Microsoft paint or that you're painting a Microsoft house, it's because it's a frickin' toothbrush. By the way, I love how the FAQ link takes you to a page that tells you they moved the FAQ instead of just taking you there. It reminds me of all those links wannabe web designers did in the style If you'd like to read about Obvious Anchor Target click here.
Making the world a better place, one psychotic episode at a time.
That is one of the silliest statements I have seen lately. Of course you can write a kernel without C. You can write it in a lot of languages, the most obvious of which are assembly language or machine language. The latter is what C must eventually be translated into.
The issue may be what language is easier for the programmer to use, and which is more transportable from instruction set to instruction set.
There were a lot of kernels written long before anyone ever thought of C. Where has this person been?
You could also build a house out of Popsicle sticks. But...WHY?
How could anything like this be an OS when you require other software to run it? As far as I know, this would be outside the scope of the definition of OS.
Just in time for Microsoft to kill .NET.
Microsoft are not killing off .NET. If they were, it would mean they were also killing off developing for the XBox 360 & Windows Phone 7, as well as a ton of projects for the PC.
Sure, the project hasn't gone anywhere for a while, and C# isn't going to be most people's choice for systems programming without a whole lot of changes. But we need to face the fact that C is outdated.
A lot of the basic tradeoffs made in its design are based on assumptions that are no longer true. An example: C's need to have everything declared in the same functional unit before use and reliance on preprocessor #includes. In 1970, saving compiler effort and putting this burden on the programmer rather than having a more complex system for resolving symbols may have been an acceptable tradeoff; with modern machines it's ridiculous. Many other C design decisions have been shown to cause problems, confusions, and common security-problem-inducing bugs.
In the past 40 years, a lot of new ideas have emerged which make writing software simpler, faster, and better-organized; some ideas which make code safer or allow the compiler etc to do better optimization have emerged too. Parallelization/multithreading and concurrency have come to the forefront of programming problems, and languages can do better at taking it into account.
All this time, we've been writing almost all our most critical software with the same language K&R designed 40 years ago, or with something like C++ which inherits all its problems and none of its simplicity. Sure, people can point out a handful of examples of OSes built in other high-level programming languages back in the day before C had major uptake. But just about every machine out there today runs on a C-based stack.
The industry needs to find a new direction sometime; we can't procrastinate it forever. Very few people have made serious efforts to replace C at the OS level with something more modern. Even D, which is one of the very few newer languages which really try to be able to replace C, has no major OS effort. We really need to get OS developers and language&compiler designers on the same page, find a better standard for systems programming, and create a platform which isn't dependent on the C legacy. I, for one, am not about to laugh at any project which attempts to undertake this daunting task.
does it run Linux?
No. Perhaps partly by design, but mostly because the Cosmos project has been dead for a year or so, while Linux is apparently alive and well. The Cosmos site linked in TFS has lots of dead links (check the screenshots page) and empty forms (milestones page), with the last news posted in early August 2010. Where do the submitters dredge up corpses like Cosmos from anyway?
Those who can make you believe absurdities can make you commit atrocities. - Voltaire
Latest News: August 3rd, 2010 Additionally, all the screenshots are broken links. It sounds like a fun for the sake of fun 'nerdy' project except that it appears dead. Why is it a slashdot article _now_ ?
Seems like all the screenshots are missing. There's a better explainer for use of cosmos here:
http://www.codeproject.com/KB/cs/CosmosMS5.aspx
The project isn't anything new. It's a year old already.
2010 is not new Billy Gates :P
So, an "operating system", needs to be run on a proprietary interpreter, running on a proprietary operating system.
Last time I checked, the functions of the OS were:
1. Control low-level access to memory, via allocation, locking, etc
2. Control low-level access to devices, via allocation , locking , interrupt control, etc
3. Provide a basic API to higher level languages.
So, this OS, needs an OS to run. It's a VIRTUALIZED environment, at best.
Next for the ultimate in speed, why don't we write a java interpreter, running on a virtualized OS, written in java, running on a java interpreter written in java.
Think of the pure speed!
You can build operating systems in Smalltlalk, Python and GWBasic too (or Java or even REXX), but no one said that they will be very efficient, run fast, or consume most of the resources of the computing hardware. The point of using C was that you could easily embed assembly within it, it was reasonably elegant to program (I've seen 2 line 'hello world' programs written in C, and the equivalent in Java in as little as 30 lines.... and you Java kids who say "I can so do it in 2 lines... and then attempt to show me those two lines, I then try and run those two lines, and you mutter something about having to call in 30 lines of support libraries, and I have my point made). C can be high level or low level (just above the bare metal), or both at the same time. You can launch rockets with C. When I was in college taking a 4th generation language course, I had a prof. who said that you can't launch rockets with a 4th generation language, but you could launch rockets with C. C# isn't C.
So, first of all, a lot of the more enthusiastically open source types are much more likely to contribute to other projects which are less likely to be annihilated by patents, and whose direction isn't set by a proprietary competitor. After all, if people actually want to develop a cross-platform app, there are already plenty of ways to do so, and if they don't, Wine and Mono are more or less band-aids to the underlying problem.
It's also worth mentioning that while open source occasionally does produce something awesome out of whole cloth, the most significant open source projects today have corporate sponsorship of some sort. It's not that proprietary development is better, per se, but that funded development may have more and more active contributors than weekend warrior development.
From personal experience, here are the ways I've interacted with open source:
First, tons of little one-off hacks on my own that make me happy it was open, but that I'm unlikely to ever share with another living soul. For instance, before PCI Express, I had a card which was AGP 8x / AGP 3.0. The ATI drivers were detecting it as... less than that, but for whatever reason, running it in that slower mode didn't work at all. At the time, the kernel proper did not have AGP at all (this was pre-2.6). Fortunately, ATI had this open-source glue code, which included their AGP implementation. I cracked it open, commented out all the autodetection, and hardcoded AGP 3.0. It worked beautifully, but there's no way in hell I'm submitting that upstream, and I wouldn't know where to start in fixing it properly. (Well, I wouldn't have at the time -- I was 15 and in no way a C developer.)
Second, paid to work on open source projects as a consequence of actual work. I have a patch in Ruby on Rails which I wrote on-the-clock, and a fork of a Rails plugin. This actually works best when it's MIT-licensed -- I don't want to maintain Rails or even necessarily that plugin, when I can have someone else or an entire community do it for me, so there's an incentive to submit patches upstream. However, I'm not sharing my entire code-base under GPL or something.
I never was employed as a full-time open source developer, but there are people who do that. For example, I have to imagine Chromium is largely developed by Google employees, but it's still open-source, and it's worth it to open-source -- they get not just vulnerability reports, but actual patches, when they screw something up.
Don't thank God, thank a doctor!
This is the best idea! I was waiting for that for years! Now we can have one more OS as options, one that only runs over Windows! Thanks.
but so what. It's likely not to be useful for much other than to prove a point. Too bad the authors couldn't spend their time on something useful instead.
- I've got bad karma because I won't parrot everyone else's opinion
This was done in Java a long time ago. http://www.jnode.org/
--
Goldbox re imagined
http://goldchest.sourceforge.net/
If you wanna run it on mono, there's another project with a more optimizing compiler at http://www.mosa-project.org/projects/mosa
But isn't the .net framework itself written in c or c++?
(The runtime not the libraries)
Your computer is that much more expensive than it would be if there were no such thing as Windows and only free OS's.
If there were only free operating systems, PCs would be less valuable to home users because the major movie distributors wouldn't be willing to license their movies for PC playback for fear of people using things like Xvfb to tee uncompressed frames into a transcoder. Case in point: Netflix isn't making a client for GNU/Linux, and its client for Android phones uses a whitelist of individual phone models. And when DVD was first being built back in the 1990s, I seem to remember a struggle between the PC makers and the movie studios as to whether or not to even allow DVD Video playback on computers.
Lol, this comment was in before any MS complaints, and it's at Score 5. Fanboys voting fanboys up?
There's another open source project similar to COSMOS called the Managed Operating System Alliance (MOSA). The MOSA project was formed to create an open source optimizing compiler and linker for the .NET (also written in C#) and provide a common framework for device drivers. The project is very active with almost daily commits and making tremendous progress. There has been some very early discussions in having COSMOS use the MOSA compiler.
You can get more information about it from our website and FAQs: http://www.mosa-project.org/projects/mosa/wiki/FAQ
Lisp machines showed a quarter century ago that you can have an OS from the iron and up (process management, memory management, graphics, disk drivers, ethernet, ...) in a managed, high level language.
The problem with this industry is its short memory.
If, say, civil engineering were like computing, the newbies would not know what the heck the Eiffel tower is, and marvel at someone's treehouse because it uses "space age" composites or titanium. :)
Say what you want about Microsoft (or Micro$oft, my bad). C# is a pretty nice language for anyone in the C/C++/Java world. By pretty nice I mean it's easily nicer than those other three. It's a shame .NET isn't more open.
http://cosmos.codeplex.com/SourceControl/list/changesets
In fact if anything, looks like they are too busy coding to document. Not like the Linux crowd ever falls into that pattern....
It's been done in Modula 3 a long time ago, too (and the OS was called SPIN). Writing an OS without using C is nothing new.
Now there's two operating systems I'll never run.
People who:
1.) Dislike Windows
2.) Like Microsoft
Sorry, can't see this getting big...
But C# is still based on C. It's kinda like Microsoft saying "Oh, we got rid of DOS a long time ago". DOS (much like C) never really disappeared, the powers that be just got better at hiding it.
From their FAQ
Q: What works?
A: Console apps.
From their Technical FAQ
Q: How do I write to a file in COSMOS
A: You can't, yet.
Q: Can I use screen resolutions higher than 640x480?
A: Not yet, that would require individual device drivers writing.
Q: What doesn't work
A: Interfaces (In the programming sense and the graphical sense)
Foreach - Requires interfaces, so use for instead for now
I admire their attempt at doing something fresh, but how can you call this an OS when it can't write to files? And currently it only runs console mode apps. Sorry, but a 25 year old DOS box can do more than this.
Sun tried this with Java about a decade ago. The idea is still stupid.
I'm a good cook. I'm a fantastic eater. - Steven Brust
Did OP even browse to the website of this thing? It's called Cosmos, not Cosmo.
An SO written with a gargabe collecting language??? Are you kidding?
somebody just stumble across microsoft research today in their yahoo toolbar and cant wait to get on teh front page instead of in discussions? there was a link to cosmos site from the singularity os site.
How is this an operating system? You "run" it by hitting F5 INSIDE VISUAL STUDIO. The most basic thing an OS does is provide a bootloader. If you require a .NET runtime, which is a huge virtual machine, how are you writing an OS? A command shell is not an OS.
Maybe they go ahead and describe how they make a boot image later but I stopped at the "hit F5 in VISUAL STUDIO" part.
And another thing: Where in the article or in Visual Studio's system requirements does it say 64-bit Windows Vista/7 Home Premium is required, as opposed to 32-bit Windows XP?
If you have a 32-bit PC, which is likely unless your PC originally came with 4 GB of RAM or more, you have to buy a new PC anyway to run 64-bit Windows. If you have a laptop with Intel graphics or a netbook or nettop with an Atom CPU, you'll have to buy a new PC anyway to get the stronger CPU and video card needed to run certain categories of applications that tend to be exclusive to windows. If you bought a 64-bit PC, it probably came with a copy of Windows already installed; just boot to that partition.
meant something more than chucking a bunch of boards into a case?
Microsoft pulled this publicity stunt already with Singularity.
Guess where it went?
That's what I thought; moving on!
Cheers, DH.
You just made me throw up in my mouth a little.
It's interesting to me, because I watched this meme develop on Slashdot. It started because Microsoft gave a demonstration of their new desktop, and mentioned that applications can be created with a combination of Javascript and HTML5.
.net, C++, or any other language. Some people in that thread, though, made the claim it was obvious that MS was dropping .net.
.net. By now, I'm sure that all the posters have been corrected, but they either refuse to accept correction, or they don't care that they're wrong. I suspect the latter. I think the posters are now deliberately trying to use Fear and Doubt, hoping to deter somebody from using .net.
Campaigning with FUD was wrong when Microsoft does it, and it's wrong when OSS advocates do it. Maybe I'm wrong, and the poster actually thinks that .net will be dropped; but I doubt it. He would had to be very deliberately ignorant.
The initial thread had many people wondering, "is Javascript and HTML5 the ONLY way to develop Apps?". This was quickly shot down. Reading the article, it was clear that this was purely an additional feature. Applications can continue to be written in
Since then, that claim pops up once or twice in any thread that mentions
What is really wrong with C, when used for what it was intended? I use C every day on microcontrollers with 4KB of RAM. C allows me to control exactly how the memory is managed. When something has to happen in 10 microseconds, I know exactly how long it will take without having to worry about garbage collectors. I wouldn't ever consider anything else.
You could also build a house out of Popsicle sticks. But...WHY?
That question is fundamental to art in general. (More the general "WHY?" part - not specifically the popsicle stick thing - though it does come up from time to time.)
Despite all the lip-flapping, the real answer is often just "because I wanted to". And people may enjoy it just because "it's neat". It doesn't necessarily mean it's a practical thing, though sometimes it may be... And it depends on how you define practicality, too. (What's more practical than making something that earns you money?)
I'm not much of a .NET guy myself but I can see the appeal of taking that sort of system down to the core of the OS. From a practical standpoint, performance is bound to be a challenge - but having a lower barrier for people to be involved in development may mean the code gets more attention. And if performance optimization makes this kind of approach largely impractical at present, in the future this may not be the case - in fact, the ease of working with the code (esp. if C# can help with issues like thread synchronization) may be important as multiprocessing continues to become more important.
Bow-ties are cool.
The point of using C was that you could easily embed assembly within it, it was reasonably elegant to program (I've seen 2 line 'hello world' programs written in C, and the equivalent in Java in as little as 30 lines.... and you Java kids who say "I can so do it in 2 lines... and then attempt to show me those two lines, I then try and run those two lines, and you mutter something about having to call in 30 lines of support libraries, and I have my point made)
There's a point people always seem to miss when using "Hello World" as an example of how elegant (or not) a language is:
Basically, it is this: Printing "Hello World" is not truly representative of the things people normally want to accomplish in a programming language.
At best, a "Hello World" example gives you the basic idea of how a language can be used to interact with the user: which is where those 30-line versions come from... The reason you've got 30 lines is probably because it's a GUI implementation of the example. Try something comparable in C and you'll probably get a comparably large source. Of course, there's usually some kind of utility function that'll let you do even a GUI version with less code - but that isn't the point. Again, under normal circumstances, throwing up a window showing a static message isn't something you'll want to do very often. Knowing how to create a window, set its title, and populate it with controls and respond to them, however - that can be the starting point to creating real programs.
When a "Hello World" example is more STDIO-oriented, it tends to be shorter and show you the basics of working in the language and using STDIO. It can be helpful for introducing the syntax, and any steps you have to go through to start writing a program.
But as an indicator of a programming language's "elegance"? It's ridiculous. A Haskell version of "Hello World" isn't going to teach you about pattern-matching arguments or list processing, let alone monads (though the Haskell version of "Hello World" will probably use a monad...) A Python version of "Hello World" probably isn't going to teach you about classes and objects, or the useful interactive features of the language, or the challenges posed by the level to which objects and their member values and functions may be redefined. A Perl "Hello World" won't even scratch the surface of its compact, sometimes arcane syntax - let alone convey how this "arcane" syntax can actually be useful.
You only get an idea of a language's "elegance" - and its potential in general - by working with it. And maybe not even then. :)
Bow-ties are cool.
This project was originally floated as a possibility for OpenBeOS.
Yes... its that old. Probably older...
Dont get me wrong. I'm glad to see that its still kicking along.
Python is less obect-oriented and less featureful in general than Ruby, but executes faster. It is more fun to work with than Java, but slower. It doesn't change my point about having a language be as cool as Ruby, but as fast as Java -- python is neither, it's somewhere in between.
Don't thank God, thank a doctor!
I'm sure the C spec will eventually add some better parallelism.
You are right. C doesn't need to be replaced, just updated.
http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=551&WT.mc_id=IT_NL_CPlusPlus_2011_8_30
http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=552&WT.mc_id=IT_NL_CPlusPlus_2011_8_30
Really, if it's off C#, wouldn't it be possible to install DirectX? That's really the only reason I use Windows... though 7 has been a fantastic experience for numerous other reasons.
From the summary on their page it's quite apparent that they had to create special tools that gave C# direct access to pointers, CPU registers and even code written in straight assembly. All this business about "so there, a kernel CAN be written without C" is nothing more than flamebait; they've created a toolchain that allows them to break out of the pure managed environment and add low-level, C-like features to C#.
I'm going to the casino. Don't gamble.