Saya hanya ingin tahu siapa yang tahu bahasa pemrograman apa yang terdiri dari Windows, Mac OS X dan Linux dan bahasa apa yang digunakan untuk setiap bagian dari OS (yaitu: Kernel, arsitektur plug-in, komponen GUI, dll).
Saya berasumsi bahwa ada beberapa bahasa untuk masing-masing dan jelas saya tahu kernel Linux ditulis dalam C.
Saya benar-benar menebak di sini bahwa Mac OS X berisi banyak kode Objective-C karena bahasa Apple berasal dari NeXT.
Windows, saya telah mendengar mengandung C, C ++ dan Intel Assembly. Apakah Linux atau Mac OS mengandung kode Majelis?
Juga, apakah ada bahasa skrip seperti Ruby, Python, dll yang digunakan oleh pengembang OS untuk membuat skrip bagian OS? Bagian OS apa yang akan ditulis dalam setiap bahasa?
windows
linux
macos
programming-languages
operating-system
Brock Woolf
sumber
sumber
Jawaban:
Semua kernel juga akan menggunakan beberapa kode assembly.
sumber
Linux: C. Beberapa bagian dalam perakitan.
Mac OS X: Kakao kebanyakan di Objective-C. Kernel ditulis dalam C, beberapa bagian dalam perakitan.
Windows: C, C ++, C #. Beberapa bagian assembler.
Unix: C. Beberapa bagian dalam perakitan. (Sumber)
sumber
Mac OS X menggunakan sejumlah besar C ++ di dalam beberapa pustaka, tetapi tidak terpapar karena mereka takut akan kerusakan ABI.
sumber
IOKit
,WebKit
danGLKit
. Juga melihat sekilasdyld
. Itu sangat berat C ++.Saya mengerti bahwa ini adalah posting lama tetapi Windows jelas tidak ditulis dalam C ++. Ada banyak C ++ di dalamnya tetapi apa yang kami definisikan secara teknis sebagai sistem operasi tidak ada dalam C ++. API Windows, kernel Windows (keduanya pada intinya adalah sistem operasi) ditulis dalam C. Bertahun-tahun yang lalu saya diberi kode yang bocor untuk Windows 2000 dan Windows XP. Kode hampir tidak cukup lengkap untuk mengkompilasi kernel atau API tetapi kami dapat mengkompilasi program dan layanan individual. Misalnya, kami berhasil mengompilasi Notepad.exe, mspaint.exe, dan layanan spoolsv.exe (print spooler). Semua ditulis dalam C. Saya belum melihat lagi tetapi saya yakin bahwa kode yang bocor masih bertahan sebagai file torrent di luar sana yang mungkin masih tersedia.
sumber
Windows: Kebanyakan C dan C ++, beberapa C #
sumber
sumber
Wow!!! 9 tahun pertanyaan tetapi saya baru saja menemukan serangkaian artikel internal tentang sejarah Baris Perintah Windows dan saya pikir beberapa bagian dari itu mungkin relevan dengan sisi Windows dari pertanyaan:
sumber
Anda benar, MacOSX memiliki Objective-C pada intinya.
Windows C ++
Linux C
Tentang bahasa scripting, tidak, mereka cukup banyak level tinggi.
sumber
Saya telah membaca atau mendengar bahwa Mac OS X sebagian besar ditulis dalam Objective-C dengan beberapa bagian yang lebih rendah, seperti kernel, dan driver perangkat keras yang ditulis dalam C. Saya percaya bahwa Apple "memakan makanan anjingnya sendiri ", artinya mereka menulis Mac OS X menggunakan Alat Pengembang Xcode mereka sendiri . The GCC (GNU Compiler Collection) compiler-linker adalah alat baris perintah unix yang Xcode digunakan untuk sebagian besar yang kompilasi dan / atau menghubungkan executable. Di antara bahasa lain yang mungkin, saya tahu GCC mengkompilasi kode sumber dari bahasa C, Objective-C, C ++ dan Objective-C ++.
sumber
Kernel Linux sebagian besar ditulis dalam bahasa C (dan sedikit bahasa assembly, saya kira), tetapi beberapa utilitas (program) pengguna yang penting adalah skrip shell yang ditulis dalam bahasa skrip Bash. Di luar itu, agak sulit untuk mendefinisikan "Linux" karena pada dasarnya Anda membangun sistem Linux dengan memilih potongan-potongan yang Anda inginkan dan menyatukannya, dan tergantung pada apa yang diinginkan setiap pengguna Linux, Anda bisa mendapatkan cukup banyak bahasa apa pun yang terlibat. (Seperti kata Paul, Python dan C ++ memainkan peran penting)
sumber
Sebagai tambahan tentang inti Mac OS X, Finder belum ditulis di Objective-C sebelum Snow Leopard. Dalam Snow Leopard itu ditulis dalam Cocoa, Objective-C
sumber
Lihat di bawah tajuk One Operating System Running On Multiple Platforms di mana ia menyatakan:
sumber
Windows jelas tidak ditulis dalam C # (!)
Cukup lihat kode sumber Windows dan Anda akan melihat ...
sumber