Quelles sont les langues de Windows, Mac OS X et Linux écrit en?
Je me demandais juste qui sait ce que les langages de programmation Windows, Mac OS X et Linux sont constitués et quelles sont les langues utilisées pour chaque partie de l'OS (c'est à dire: le Noyau, l'architecture de plug-in, composants GUI, etc).
Je suppose qu'il y a plusieurs langues pour chacun et, évidemment, je sais que le noyau Linux est écrit en C.
Je suis totalement deviner ici que Mac OS X contient beaucoup de code Objective-C, comme c'est Apple langage dérivé de Côté.
Windows, j'ai entendu contient C, C++ et assembleur Intel. Linux ou Mac OS contiennent aucun code assembleur?
Aussi, il y a des langages de script comme Ruby, Python, etc utilisé par le système d'exploitation pour les développeurs de scripts parties de l'OS? Quelles sont les parties de l'OS serait écrite dans chaque langue?
- Un Dev Question avec Raymond Chen - Quel Langage de Programmation est Windows Écrit-Il?
- Cette DONC change peut aider à répondre à la dernière partie de votre question.
Vous devez vous connecter pour publier un commentaire.
Tous les noyaux d'utiliser certains assemblée de code.
Linux: C. Quelques pièces dans l'assemblage.
Mac OS X: Cacao principalement en Objective-C. Noyau écrit en C, certaines parties de l'assemblée.
Windows: C, C++, C#. Certaines parties en assembleur.
Unix: C. Quelques pièces dans l'assemblage. (Source)
Mac OS X utilise de grandes quantités de C++ à l'intérieur de certaines bibliothèques, mais il n'est pas exposé comme ils ont peur de l'ABI de rupture.
IOKit
,WebKit
etGLKit
. Également avoir un aperçu de ladyld
. Ceux-ci sont très C++.Je comprends que c'est un vieux post, mais Windows n'est certainement pas écrit en C++. Il y a beaucoup de C++, mais ce que nous technique de la définir comme un système d'exploitation n'est pas en C++. L'API de Windows, le noyau de Windows (ces deux sont, en substance, un système d'exploitation) sont écrits en C. il y a des Années m'a donné quelques fuites de code pour Windows 2000 et Windows XP. Le code n'était pas assez complet pour compiler le noyau ou de l'API, mais nous avons été en mesure de compiler des programmes individuels et de services. Par exemple, nous avons réussi à compiler Notepad.exe, mspaint.exe et la spoolsv.exe (service spouleur d'impression). Tous les écrits en C. je n'ai pas regardé encore, mais je suis sûr que la fuite de code survit encore comme des fichiers torrent qui peuvent encore être disponibles.
Windows: la Plupart du temps C et C++, C#
Vous avez raison MacOSX a Objective-C dans le noyau.
Windows C++
Linux C
Sur les langages de script, non, ils sont assez bien haut niveau.
J'ai lu ou entendu dire que Mac OS X est écrit principalement en Objective-C avec certaines des parties bas niveau, tels que le noyau et les pilotes de périphériques matériels écrits en C. je crois que Apple "manger(s) de sa propre nourriture pour chien", ce qui signifie qu'ils écrivent Mac OS X à l'aide de leurs propres Xcode Developer Tools. Le GCC(GNU compiler Collection) le compilateur de l'éditeur de liens est la ligne de commande unix outil que xCode est utilisé pour la plupart de sa compilation et/ou la liaison de fichiers exécutables. Parmi les autres langues, je sais GCC compile le code source de la C, Objective-C, C++ et Objective-C++ langues.
Le noyau Linux est principalement écrit en C (et un peu de langage d'assemblage, j'imagine), mais certains de l'importance de l'espace utilisateur aux services publics (programmes) sont shell scripts écrits dans le langage de script Bash. Au-delà, c'est un peu difficile à définir, "Linux", puisque vous en fait construire un système Linux en choisissant des morceaux que vous voulez et de les mettre ensemble, et en fonction de ce que la personne Linux utilisateur le souhaite, vous pouvez obtenir à peu près n'importe quelle langue en cause. (Comme Paul l'a dit, Python et C++ jouent un rôle important)
Wow!!! 9 ans de question, mais je viens de trouver une série de interne l'article sur la Ligne de Commande de Windows histoire et je pense que certaines partie de il pourrait être pertinent de Windows à côté de la question:
Comme un ajout sur le noyau de Mac OS X, le Finder n'avait pas été écrit en Objective-C avant de Snow Leopard. Dans Snow Leopard, il a été écrit en Cocoa, Objective-C
Voir sous la rubrique Un Système D'Exploitation Fonctionnant Sur De Multiples Plateformes, où il est dit:
Windows n'est évidemment pas écrit en C# (!)
Simplement voir le code source de Windows et vous verrez...