Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Recently, I've been trying to learn more about the inner workings of Unix. One really great feature I've found about Unix systems and the C programming language, is that there is a great level of transparency. By design, this transparency is not available for languages like C# or Python, but can this same 'transparency' be found for Windows?

share|improve this question

closed as not constructive by alex, BinaryMisfit Nov 11 '09 at 20:19

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

sounds more like a stackoverflow qusetion – GiH Nov 11 '09 at 5:32
What do you mean by "transparency"? Python is utterly open, you can even read its source code. – CarlF Nov 11 '09 at 7:57
What's not transparent about C#? It's an ISO (ISO/IEC 23270) and ECMA (ECMA-334) standard, it's available for Linux and iPhone development, under the Mono and MonoTouch projects. Your question is extremely vague and rather argumentative. – alex Nov 11 '09 at 9:59
Can someone tell me why this was closed as 'subjective'? This was a very legitimate (albeit poorly written) question. I felt like I received some very valuable answers, all of which seem to be very to the point and not opinionated at all. Thank you all for the valuable discussion. – LJM Nov 13 '09 at 1:49
I think what's kept things transparent on the Unix side is that all the pieces are developed by different groups, so the connections between them have to be understandable. – Peter Cordes Dec 10 '09 at 7:14
up vote 2 down vote accepted

It has rather little to do with open source

Even when Unix was closed-source, it was still vastly more transparent than Windows.

It's mostly unrelated to closed-vs-open source. And BTW, don't blame Microsoft for keeping their most important piece of technology proprietary. They wrote it, they have every right. It's a perfectly valid choice.

Back to transparency...

If Unix was not transparent and documented during the closed-source period, how did Linux ever get written to start with? How is it that it's a rather 1:1 clone of Unix?

The answer is that Unix had a clean, simple, inspired, elegant, easily-documented design. That's why it's transparent, and that's why the open-source clone Linux was able to be written.

Windows is a beast of staggering complexity. They probably couldn't reasonably document the whole thing if they wanted to. The Windows kernel has a totally different interface than Win32 and the other API layers that Microsoft publishes.

Sure, the proprietary nature of Windows handicaps understanding a bit. But if Win was totally open-source it would still require ten or one hundred times the effort to understand Windows vs Unix.

share|improve this answer
Remember also that UNIX was in fact closed-source. And the first open-source variants began appearing way before Linux. Besides, UNIX zealots tend to dislike Linux being called UNIX since there are many differences and Linux never bothered to actually be a UNIX variant (implementing most of POSIX isn't enough, as a look at Windows NT shows). Still +1 for a well-balanced answer. – Joey Nov 12 '09 at 7:55

While you won't be able to read the source, there are several books which go to lengths to explain how things work. Windows Internals (5th edition I believe is the latest) is one such.

Will it be as transparent as Unix or Linux? Probably not. Will it give you a much more in-depth understanding of how Windows works? Probably so.

share|improve this answer
additionally, you'd want to obtain & install the latest SDK and DDKs, which provide lots of info about Windows userspace and kernel APIs. – quack quixote Nov 11 '09 at 6:03

Many (most?) Unices are open source, whereas Windows is not. Night and day.

share|improve this answer
That's hardly true, unless you're not counting the mostly-dead Unix implementations. You have AIX, HPUX, Tru64, SCO Unixware, and I think many others. Solaris until recently was in that camp, but now shares code with OpenSolaris. Old SunOS is closed, though. On the free side the major ones are *BSD / Darwin, and Linux. What else? – Peter Cordes Dec 10 '09 at 7:13

Not so much. To enable transparency, you have to allow people to look in and see what you are doing. Windows is currently closed source & there is no hint that will change any time soon. That said, Microsoft has made headlines recently releasing Hyper-V and an sdk for facebook and a few year ago pushing the OOXML, not without controversy.

Microsoft has been trying to determine how best to deal with the open source movement for years: confront, ignore / ridicule, or embrace? They have tried them all, time will tell how they decide to proceed in the future.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged .