Apa-apaan, aku akan berpadu dengan $ 0,02 saya.
Dalam banyak kasus ada perbedaan nyata atau yang dirasakan antara bahasa "sistem" dan bahasa tingkat yang lebih tinggi. Saya akan mengabaikan sebagian besar bahasa "tingkat lebih tinggi", karena tidak seorang pun (setidaknya tidak banyak) akan berpendapat bahwa untuk banyak tugas, bahasa seperti Python, Ruby, dll. Lebih mudah untuk digunakan.
C dirancang untuk menjadi bahasa sistem, yang berarti ia dirancang sebagai bahasa tempat sistem operasi Unix ditulis. Dengan demikian, ia dirancang untuk menjadi sederhana, kuat, dan cepat. Bahasa sederhana mendapatkan kekuatan dengan cara yang sering dianggap berbahaya oleh pemrogram-sistem: pointer, manajemen memori manual, dll. Seperti yang telah disebutkan, C cukup sederhana. K&R adalah buku terkecil di rak pemrograman saya sejauh ini (tidak termasuk Referensi O'Reilly Pocket) dan hanya sedikit "lebih besar" dari Referensi Saku Ruby saya. C cukup kuat. Jika Anda perlu berbicara dengan perangkat keras, periksa secara manual dan mainkan memori, dll. C memiliki kemampuan.
Dari sudut pandang programmer, C tidak sesederhana itu. Kecepatan dan daya datang dengan harga manajemen memori manual dan tidak banyak dukungan OOP untuk bahasa ini. C ++ (bukan bahasa favorit saya) jauh lebih sederhana dari perspektif programmer, tetapi jauh lebih sederhana dari perspektif kompiler. Objective-C (mungkin bahasa favorit saya) memiliki tradeoff yang sama, dengan sedikit condong ke arah menjaga bahasa sederhana (pengumpulan sampah adalah pendatang baru untuk Objective-C, misalnya). Tetapi karena dunia komputasi seperti yang kita ketahui ditulis dalam bahasa C, sulit untuk bahasa yang lebih baru, lebih rumit tetapi "lebih mudah" untuk mendapatkan adopsi luas.
Dalam beberapa kasus, terutama ketika "standar" saat ini adalah "cukup baik" seperti C, tidak ada banyak insentif untuk sesuatu yang "lebih baik" (C ++, Objective-C, D dll.) Untuk mendapatkan daya tarik, ketika ada bahkan insentif yang cukup untuk menciptakan sesuatu yang "lebih baik".