up vote 0 down vote favorite
share [g+] share [fb]

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?

link|improve this question
sounds more like a stackoverflow qusetion – GiH Nov 11 '09 at 5:32
2  
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. – L. Moser 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
feedback

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

This question is not a good fit to our Q&A format. We expect answers to generally involve facts, references, or specific expertise; this question will likely solicit opinion, debate, arguments, polling, or extended discussion. See the FAQ.

4 Answers

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.

link|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
feedback

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.

link|improve this answer
1  
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
feedback

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

link|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
feedback

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.

link|improve this answer
feedback

Not the answer you're looking for? Browse other questions tagged or ask your own question.