Bahasa apa yang digunakan hari ini untuk pemrograman tingkat rendah? [Tutup]

13

Ketika saya mendengar pemrograman tingkat rendah, seperti untuk driver, embedded system, sistem operasi, dll, saya langsung berpikir tentang C dan mungkin C ++. Tetapi terutama C.

Tetapi bahasa lain apa yang juga digunakan untuk tugas semacam ini? Hari ini, maksud saya, bukan apa yang telah digunakan.

Gablin
sumber

Jawaban:

14

Biasanya pemrograman tingkat rendah seperti pemrograman driver adalah campuran dari bahasa assembly dan C.

Bahasa assembly digunakan untuk berbicara dengan perangkat keras dan C digunakan untuk berbicara dengan kernel.

david4dev
sumber
Maksud saya bahasa pada tingkat yang lebih tinggi daripada perakitan, tetapi poin Anda masih valid, tentu saja. =)
gablin
8
Tergantung pada sistem operasi, pada Windows atau Linux tidak perlu untuk bahasa assembly saat menulis driver. Anda dapat mengakses perangkat keras dengan C.
Jim A
6
Satu-satunya saat Anda benar-benar bekerja dengan perakitan adalah ketika berhadapan dengan kebiasaan arsitektur khusus, biasanya ketika mengerjakan sesuatu seperti manajer memori virtual. Namun, programmer yang menulis driver perangkat jarang terkena hal ini. Mereka menggunakan fasilitas yang ada.
Tim Post
8

Ada masih digunakan dalam sistem keselamatan / misi-kritis, karena masih menawarkan fitur keselamatan yang relatif tak tertandingi.

Itu wajib untuk menggunakan Ada sampai akhir tahun sembilan puluhan dalam DoD, dan beberapa daerah lain, tetapi tidak lagi, jadi tidak banyak digunakan seperti dulu. Tetapi masih dapat ditemukan dalam penggunaan yang sangat kritis, avionik, tenaga nuklir, dll.

Versi modern memiliki orientasi objek dan dukungan yang baik untuk pemrosesan paralel, sehingga masih sangat berguna.

Orbling
sumber
1
Saya pikir kita akan menggunakan Ada di salah satu program embedded system yang saya ikuti di musim semi.
gablin
1
@ Gablin: Aye, ini biasa digunakan dalam embedded system, pilihan yang cukup bagus untuk itu.
Orbling
6

Saya melakukan riset untuk pemrograman 8-bit beberapa waktu yang lalu (terkait hobi; saya ingin mencoba membangun beberapa elektronik dasar). Selain C dan Assembly, satu-satunya bahasa yang saya temukan disebutkan menguntungkan untuk tugas-tugas ini adalah Skema dan Keempat.

Inaimathi
sumber
+1 Oh ya, membangun elektronik dasar akan menjadi hobi saya segera dan saya tidak sabar untuk mulai menggunakan Make: Electronics book untuk hobi ini
Anthony
3

Cython adalah salah satu contohnya. Bukan untuk sistem yang disematkan, tetapi untuk driver dan pemrograman tingkat rendah lainnya digunakan lebih banyak di dunia Python sebagai pengganti C. Anda mendapatkan Python yang dikompilasi, tetapi juga akses tingkat rendah dan petunjuk tipe untuk speedup.

Sebagai seorang fanatik Python itulah yang saya gunakan, walaupun diakui sangat jarang dan sejauh ini tidak dalam konteks yang serius.

Lennart Regebro
sumber
1
Belum pernah mendengarnya sebelumnya, tapi terima kasih atas pencerahan. =)
gablin
("more an more" -> "more and more")
Peter Mortensen
1
Saya tidak berpikir Cython sebenarnya umum untuk pemrograman tingkat rendah. Saya merasa seperti ini biasanya digunakan untuk membuat pembungkus di sekitar C dan C ++ untuk memberikan akses tingkat yang lebih rendah dan akses ke lib C atau C ++ yang khas.
tsturzl
Jadi, pemrograman tingkat rendah, lalu. :-)
Lennart Regebro
2

Yah, saya melakukan beberapa pekerjaan pada sistem embedded selama beberapa tahun terakhir menggunakan C dan Lua .

Lihat juga eLua .

- EDIT: Di sini di Brasil kami memiliki "teknologi baru" untuk TV Digital, yang disebut Ginga . Ini benar-benar standar, tetapi dalam standar ini bahasa Lua digunakan sebagai salah satu sumber bahasa tertanam. Yang lainnya adalah Java.

Saya kira kita dapat mengutip Java juga, untuk beberapa sistem khusus seperti JavaCard . Jika itu bukan sistem embedded, maka saya tidak tahu apa arti embedded ... :)

Machado
sumber