• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

what language(s) were used to make windows?

rubix

Golden Member
i always assumed it was a combination of c++, c, and asm, but a few years back in one of my classes my teacher said a large part of windows was made with smalltalk (never even heard of it til then). is this true?
 
None of the books I've read on Windows development have ever mentioned smalltalk, so... the teacher was probably pulling your leg or very, very misinformed.
 
my teacher said a large part of windows was made with smalltalk
ROTFL. That the silliest thing I've heard in a long time.

I'm fairly certain most of it is C/C++ with possibly some assembler too.
 
The bare OS is written in C and assembly (for device drivers). C++ is generally not used in OS development, and probably won't be anytime soon.
 
Originally posted by: singh
The bare OS is written in C and assembly (for device drivers). C++ is generally not used in OS development, and probably won't be anytime soon.

I know a lot of the kernel stuff was written in C (and probably asm) for the sake of speed because at the time there was nothing else that approached it performance wise. However, I think that if you were to start to write an OS today using C++ with a little asm where speed is essential would not be a bad way to go at all. Singh, do you know something that I don't regarding C++ as a potential language (I admit it's very possible you do)?
 
Your teacher may have been referring to the fact that Smalltalk was used
when Microsoft was coding a portion of OS/2 for IBM during their brief partnership.

AH. The pre-Bloat Code days.

 
all of the kerenel mode stuff is in c, gui etc is written in c++, managed code will be used for higher level stuff in future releases.
 
What Ameesh said. I assume that c is mainly used in the low level part because the OOP in c++ would be unneeded overhead at that point in the code, but once you get higher up, into the GUI etc, it becomes convenient to be able to instantiate objects at that point.
 
Originally posted by: MrMilney
Originally posted by: singh
The bare OS is written in C and assembly (for device drivers). C++ is generally not used in OS development, and probably won't be anytime soon.

I know a lot of the kernel stuff was written in C (and probably asm) for the sake of speed because at the time there was nothing else that approached it performance wise. However, I think that if you were to start to write an OS today using C++ with a little asm where speed is essential would not be a bad way to go at all. Singh, do you know something that I don't regarding C++ as a potential language (I admit it's very possible you do)?

It's not just about the speed. C++ requires memory management (which may be taken care of by over-riding the global new & delete operators), and the C++ standard libraries are also OS dependent.

With C++, you also have to worry about exceptions (very big issue IMO). Anything running at the user level may be coded in C++, but everything running above will need asm or C.

The main point is that with C, not much goes on "behind the scenes" - you always have to tell the compiler what to do. With C++, you have constructors, destructors, exceptions etc.
 
Back
Top