what language(s) were used to make windows?

rubix

Golden Member
Oct 16, 1999
1,302
2
0
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?
 

geoff2k

Golden Member
Sep 2, 2000
1,929
0
76
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.
 

PrincessGuard

Golden Member
Feb 5, 2001
1,435
0
0
If Windows were programmed in Smalltalk, I'd imagine there would be Microsoft Visual S++ on the shelves by now:p
 

BFG10K

Lifer
Aug 14, 2000
22,709
3,002
126
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.
 

singh

Golden Member
Jul 5, 2001
1,449
0
0
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.
 

ElDonAntonio

Senior member
Aug 4, 2001
967
0
0
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.

Why not?
 

MrMilney

Senior member
Aug 12, 2000
678
0
0
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)?
 

LiLithTecH

Diamond Member
Jul 28, 2002
3,105
0
0
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.

 

Ameesh

Lifer
Apr 3, 2001
23,686
1
0
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.
 

bot2600

Platinum Member
May 18, 2001
2,075
0
76
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.
 

singh

Golden Member
Jul 5, 2001
1,449
0
0
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.