Coffeehouse Thread

23 posts

What language(s) is Vista written in?

Back to Forum: Coffeehouse
  • User profile image
    SlackmasterK

    Just a passing curiousity I had; what language(s) is Microsoft employing to develop Vista?   I assume some or all of the .NET languages.  And, while I'm at it, what languages were used for previous versions?

  • User profile image
    Mary_Jo_​Foley

    SlackmasterK wrote:
    Just a passing curiousity I had; what language(s) is Microsoft employing to develop Vista?   I assume some or all of the .NET languages.  And, while I'm at it, what languages were used for previous versions?


    COBOL .NET  ?

  • User profile image
    Manip

    SlackmasterK wrote:
    Just a passing curiousity I had; what language(s) is Microsoft employing to develop Vista?   I assume some or all of the .NET languages.  And, while I'm at it, what languages were used for previous versions?

     

    C, C++, VC++, ASM and C#

  • User profile image
    JohnAskew

    Manip wrote:

    SlackmasterK wrote: Just a passing curiousity I had; what language(s) is Microsoft employing to develop Vista?   I assume some or all of the .NET languages.  And, while I'm at it, what languages were used for previous versions?

     

    C, C++, VC++, ASM and C#




    What is VC++ ?       

    visual C++?  If so, how is it any different from C++ ?

    Expressionless

  • User profile image
    Manip

    JohnAskew wrote:

    What is VC++ ?       

    visual C++?  If so, how is it any different from C++ ?



    Because:

    1. VC++ didn't always exist (he asked for a history)
    2. Some things might need to be written in C++ but loaded before the critical infrastructure used by VC++ in loaded (libraries etc)... How do you write them?

  • User profile image
    JohnAskew

    I would have thought the 'visual' simply meant the compiler and associated libraries and frameworks.

    I would believe it is still compiling C++, that the language used in VC++ was C++, that's all.

    Slightly different angle, I guess.

  • User profile image
    Manip

    JohnAskew wrote:
    I would have thought the 'visual' simply meant the compiler and associated libraries and frameworks.

    I would believe it is still compiling C++, that the language used in VC++ was C++, that's all.

    Slightly different angle, I guess.


    I think you're underestimating what a big difference "associated libraries and frameworks" make... The biggest difference between BASIC and Visual Basic are just that, and nobody would call that a small advancement.

    C++ and Visual C++ are two different things, and yes, just BECAUSE of the libraries and framework.

  • User profile image
    IRenderable

    Manip wrote:
    JohnAskew wrote:I would have thought the 'visual' simply meant the compiler and associated libraries and frameworks.

    I would believe it is still compiling C++, that the language used in VC++ was C++, that's all.

    Slightly different angle, I guess.


    I think you're underestimating what a big difference "associated libraries and frameworks" make... The biggest difference between BASIC and Visual Basic are just that, and nobody would call that a small advancement.

    C++ and Visual C++ are two different things, and yes, just BECAUSE of the libraries and framework.


    Other then the .Net stuff and MFC is there anything else really?

  • User profile image
    JohnAskew

    Manip wrote:

    C++ and Visual C++ are two different things, and yes, just BECAUSE of the libraries and framework.


    They're still C++. The libraries and framework are just lots of C++.

    No language extensions in VC++ to C++, so if the original question was just the languages (sans compiler) then your list should omit VC++.  You can't count a framework as a language past 11pm on a work night, sorry.

  • User profile image
    Larry​Osterman

    Manip wrote:

    SlackmasterK wrote: Just a passing curiousity I had; what language(s) is Microsoft employing to develop Vista?   I assume some or all of the .NET languages.  And, while I'm at it, what languages were used for previous versions?

     

    C, C++, VC++, ASM and C#



    Very, very, very little ASM, AFAIK.  Maybe a couple hundred K of assembly language source code in the entire product.


  • User profile image
    PeterH

    JohnAskew wrote:

    What is VC++ ?       

    visual C++?  If so, how is it any different from C++ ?



    Differences between C++ and Microsoft Visual C++:

    http://channel9.msdn.com/ShowPost.aspx?PostID=102746

  • User profile image
    DoomBringer

    LarryOsterman wrote:
    Manip wrote:

    SlackmasterK wrote: Just a passing curiousity I had; what language(s) is Microsoft employing to develop Vista?   I assume some or all of the .NET languages.  And, while I'm at it, what languages were used for previous versions?

     

    C, C++, VC++, ASM and C#



    Very, very, very little ASM, AFAIK.  Maybe a couple hundred K of assembly language source code in the entire product.



    Yeah, that makes sense.  The performance gain with assembly really isn't there, which might make people do a double take.  Well written C/C++ will compile to pretty much the same machine codes as the equivalent ASM.  C/C++ doesn't add to much overhead, really.  Especially with how good the optimizing is these days.
    For a good, albeit indirect, look at C/C++ vs ASM and optimization, pick up "Hacker Disassembling Uncovered" by Kris Kapersky.  It has a lot of side by sides (high level language construct and the outputted disassembly) with decent commentary.

  • User profile image
    prog_dotnet

    One generally pick a programming language best suited for the
    task at hand. Programms written in a managed environment, that is code that run in a virtual machine, are good for some purposes, and not recommended for others.
     In java and in the .NET world, your plaintext code are compiled to an intermediate java byte code and Microsoft intermediate language respectively.

    This code are fed into the runtime environment, that during execution, converts the byte code/intermediate code, to native machine code that your hardware can understand.
    (just in time compilation in .net)  This conversion (or compilation/translation) takes time to complete.

    The operating system are divided into to processor access modes of operations, ( kernel and user mode) so that that user apps cant modify operating system data.  In kernel mode you have access to all memory and cpu instructions and performance are extremely important. That rules out any dynamic languages.

    Basically, everything before the welcome screen in XP are kernel mode code.

    In Vista, the code written in a .net language, are pre jitted, with a tool called ngen, and the binaries on your system are native machine code.

    C and c++ on the other hand, compiles directly to native machine code.  C is actually just assembly on steroids, and c++ introduces object oriented features.( it was actually called C with classes in the early days) You also get the type boolean, reference types and pass by reference, user defined overloading, templates, exceptions, new and delete instead of malloc and free, changes strems I/O and end of line comments




    user posted image

    If you want to know more about operating systems in general, take a look at the CS162 Operating Systems and System Programming lecture series at Berkley.

    Its free to access (you only need real player)

    http://webcast.berkeley.edu/courses/archive.php?seriesid=1906978246

  • User profile image
    prog_dotnet

    DoomBringer wrote:
    LarryOsterman wrote:
    Manip wrote:

    SlackmasterK wrote: Just a passing curiousity I had; what language(s) is Microsoft employing to develop Vista?   I assume some or all of the .NET languages.  And, while I'm at it, what languages were used for previous versions?

     

    C, C++, VC++, ASM and C#



    Very, very, very little ASM, AFAIK.  Maybe a couple hundred K of assembly language source code in the entire product.



    Yeah, that makes sense.  The performance gain with assembly really isn't there, which might make people do a double take.  Well written C/C++ will compile to pretty much the same machine codes as the equivalent ASM.  C/C++ doesn't add to much overhead, really.  Especially with how good the optimizing is these days.
    For a good, albeit indirect, look at C/C++ vs ASM and optimization, pick up "Hacker Disassembling Uncovered" by Kris Kapersky.  It has a lot of side by sides (high level language construct and the outputted disassembly) with decent commentary.


    Why "Hacker Disassembling Uncovered?
    Its just some show off security mechanisms intended for wanna be hackers...

    Just to quote a bit from the preface...

    "This book opens the door to the wonderful world of security mechanisms, showing you how protection is created, and then bypassed. It is addressed to anyone who likes captivating puzzles, and to anyone who spends their spare (or office) time rummaging in the depths of programs and operating systems. Lastly, it is for anyone who is engaged constantly or incidentally in writing protections, and who wants to know how to counteract ubiquitous hackers competently and reliably.

    This book is devoted to hacking basics — to the skills needed for working with a debugger and a disassembler. The methods of identifying and reconstructing the key structures of the source language — functions (including virtual ones), local and global variables, branches, cycles, objects and their hierarchies, mathematical operators, etc. — are described in detail."

    I would rather recomend, An Introduction to Optimization from Wiley and Sons instead

  • User profile image
    Shark_M

    Some Japanese , Chinese, Tiwanese, and some other eses out there, plus some irish and a bit of english Smiley


    nah just kidding,
    I really dont know, but I imagine it would be C# and C++ and J# and some vb.net

    maybe even some kids programming languages:P

  • User profile image
    Detroit Muscle

    All modern operating system kernels are written in a mixture of C and assembly. Nobody uses C++ for kernel development.

    I have the source code to OSEK, GMLAN, and Linux in front of me, and they're all about 90-95% C and 10-5% assembly. I doubt NT 6 would be any different.

  • User profile image
    footballism

    Detroit Muscle wrote:
    All modern operating system kernels are written in a mixture of C and assembly. Nobody uses C++ for kernel development.

    I have the source code to OSEK, GMLAN, and Linux in front of me, and they're all about 90-95% C and 10-5% assembly. I doubt NT 6 would be any different.


    Actually Windows NT 4 contains tens of millions of C code, and a small portion of assembly language code, and some C++ code.

    Sheva

  • User profile image
    IRenderable

    Detroit Muscle wrote:
    All modern operating system kernels are written in a mixture of C and assembly. Nobody uses C++ for kernel development.

    I have the source code to OSEK, GMLAN, and Linux in front of me, and they're all about 90-95% C and 10-5% assembly. I doubt NT 6 would be any different.



    That may be but he asked about Windows Vista not the kernal.

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.