309 votes

Quelles langues utilisent Windows, Mac OS X et Linux?

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?

308voto

Paul Betts Points 41354
<ul> <li>Windows : C++, noyau est en ut</li> <li>Mac : Objective C, noyau est en ut (IO sous-système PnP est Embedded C++)</li> <li>Linux : La plupart des choses sont en C, beaucoup d’apps "userland" est en Python, KDE est tous C++</li> </ul>

96voto

Pacerier Points 15960

Linux: C. Quelques pièces dans l'assemblage.

[...] C'est surtout en C, mais la plupart des gens ne dirais pas ce que j'écris C. Il utilise toutes les fonctionnalités imaginables de l'386 j'ai pu trouver, comme il a été aussi un projet à m'enseigner sur le 386. Comme déjà mentionné, il utilise une MMU, pour les deux pagination (pas de disque) et de la segmentation. C'est la segmentation qui le rend VRAIMENT 386 dépendantes (chaque tâche a une 64 mo de segment de code et de données - max 64 tâches à 4 go. Quelqu'un qui a besoin plus de 64 mo/tâche difficile cookies). [...] Certains de mes "C"-fichiers (plus précisément mm.c) sont presque autant à l'assembleur que le C. [...] à la différence de minix, j'ai aussi COMME des interruptions, de sorte que les interruptions sont gérées sans essayer de cacher la raison derrière eux. (Source)

Mac OS X: Cacao principalement en Objective-C. Noyau écrit en C, certaines parties de l'assemblée.

Mac OS X, à la couche de noyau, est surtout un ancien système d'exploitation libre appelé BSD (plus précisément, c'est Darwin, une sorte d'hybride de BSD, Mach, et quelques autres choses)... presque entièrement C, avec un peu d'assembleur jeté dans. (Source)

Beaucoup de Cacao est mis en œuvre en Objective-C, un langage orienté objet qui est compilé pour fonctionner à une vitesse incroyable, encore employés une véritable dynamique d'exécution rendant particulièrement souple. Parce que l'Objective-C est un sur-ensemble de C, il est facile à mélanger C et même C++ dans vos applications Cocoa. (Source)

Windows: C, C++, C#. Certaines parties en assembleur.

Nous utilisons presque entièrement en C, C++ et C# pour Windows. Certaines zones de code à la main à l'écoute/écrits à la main de l'assemblée. (Source)

Unix: C. Quelques pièces dans l'assemblage. (Source)

16voto

alex strange Points 892

Mac OS X utilise de grandes quantités de C++ à l’intérieur de certaines bibliothèques, mais il n’est pas exposée comme ils ont peur de l’ABI briser.

5voto

Patrick Cassell Points 146

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.

4voto

user62617 Points 781

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X