Mengapa C begitu tinggi dalam indeks popularitas TIOBE, sementara C ++ juga ada di bawah sini, tetapi tidak sepopuler itu? [Tutup]


18

Saya tidak bisa memikirkan hal ini. Jika C banyak digunakan, tetapi C bukan C ++, dapatkah seseorang menjelaskan kepada saya alasan paling penting yang membuat C lebih banyak digunakan daripada C ++? Di mana semua kode C ini ditulis?

Apakah ini tentang sektor industri yang sangat bergantung pada pemrograman imperatif tetapi tidak dapat mendukung biaya penerapan atau penyetelan kompiler C ++? Apakah ada banyak peretas kernel?

Apakah tiobe relevan? Saya tidak pernah menemukan artikel atau memposting komentar atau menjelaskan bagaimana peringkat tunggal tiobe adalah, dan apa yang sebenarnya dikatakan tentang apa yang disukai industri, dan apa yang dapat dikatakan tentang apa yang sebenarnya digunakan industri, untuk menunjukkan kebutuhan industri yang sebenarnya. Sulit dijelaskan.

Saya hanya merasa aneh bahwa banyak perusahaan menginginkan pekerjaan C #, php, java, dan bukan C atau C ++ (hanya mengaitkan pengangguran saya dan wawancara saya di sini) walaupun pekerjaan C / C ++ itu omong kosong. Saya akan mengambil itu sebagai gantinya. Atau apakah ini berarti hype bahasa memainkan peran yang kuat di sini?


18
Is tiobe relevant ?Banyak orang berpikir itu tidak benar.
Simon Bergot

1
Saya hanya akan menggunakannya untuk mengukur sepuluh bahasa yang mungkin sedang digunakan. Peringkat pada indeks tiobe tidak terkait dengan popularitas mereka yang sebenarnya.
Martin York

4
Banyak pemrograman tertanam dilakukan dalam C. Ini bukan hanya tentang biaya implementasi / penyetelan kompiler C ++; itu biaya menjalankan C ++ pada perangkat tertanam.
Velociraptors

5
C jauh lebih kompleks daripada C ++.
fanl

8
Indeks TIOBE adalah pengukuran yang menyenangkan; menyenangkan dalam banyak hal seperti kita semua insinyur dan kami menemukan pengukuran menyenangkan karena kita dapat memetakan mereka dan membayangkan prediksi dan kesimpulan berdasarkan pada mereka. Tetapi kita juga tahu hal-hal seluas dan kompleks seperti penggunaan aktual dan popularitas suatu bahasa yang belum bisa kita ukur dengan akurat sama sekali. Jadi TIOBE menyenangkan, tetapi di mana tampaknya tidak sejalan dengan kenyataan, mungkin tidak.
Jimmy Hoffa

Jawaban:


16

Indeks TIOBE bergantung pada hit mesin pencari - lihat http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm

Ini berarti (sebagai contoh, dalam teori) Anda dapat memiliki bahasa yang dibicarakan semua orang yang memiliki banyak hit dan mendapat peringkat tinggi meskipun tidak ada yang menggunakannya, dan Anda dapat memiliki bahasa yang banyak orang gunakan tetapi tidak ada banyak halaman web / hit sehingga mendapat peringkat rendah. Bahkan tidak memperhitungkan apa isi halaman web (misalnya, bayangkan sejuta halaman web mengatakan bahasa tertentu sangat mengerikan, yang semuanya meningkatkan indeks TIOBE bahasa).

Secara teori, faktor bobot perlu diterapkan untuk mendapatkan penggunaan dari hit web / indeks TIOBE. Misalnya, untuk bahasa kompleks seperti C ++ (di mana setiap orang yang menggunakannya cenderung memiliki satu atau lebih buku referensi) penggunaannya cenderung lebih tinggi daripada yang ditunjukkan indeks TIOBE; dan untuk bahasa yang terutama digunakan untuk pengembangan web (di mana sebagian besar dokumentasi biasanya online dan penggunanya lebih cenderung membuat halaman web) penggunaannya cenderung lebih rendah daripada yang ditunjukkan indeks TIOBE.

Tentu saja hampir tidak mungkin untuk secara akurat menentukan bobot yang sesuai untuk setiap bahasa; dan oleh karena itu indeks TIOBE hanya dapat dianggap sebagai perkiraan kasar penggunaan terbaik.


32
"misalnya, bayangkan sejuta halaman web yang mengatakan bahasa tertentu mengerikan, semua itu meningkatkan indeks TIOBE bahasa" : Saya akhirnya mengerti mengapa PHP masuk dalam sepuluh besar.
Arseni Mourzenko

4
+1, dan saya juga menduga bahwa bahasa tertentu cenderung lebih banyak digunakan untuk pekerjaan eksperimen / akhir pekan, dan bahasa-bahasa ini akan memiliki jumlah pencarian yang tidak proporsional untuk tingkat penggunaannya (yaitu jika Anda tidak menggunakannya setiap hari, Anda cenderung untuk mencari lebih banyak). Yang mengatakan, saya tidak berpikir bahwa argumen itu terutama berlaku untuk C. Lebih relevan mungkin bahwa banyak pencarian C ++ akhirnya dikategorikan sebagai C karena kesalahpahaman pengembang / malas.
Daniel B

16

"Jika C tidak begitu banyak digunakan" - Saya akan tertarik untuk melihat apakah ada yang bisa mendukung ini.

Semua yang berikut ini ditulis dalam C murni: -

  • kernel Linux.
  • repositori git.
  • MySql, PostgreSQL, database open source SQLite.
  • Oracle, DB2, Informix, database milik SYBASE.
  • Bongkahan besar dari OS Windows.
  • Apache Web Server, server web ngnix.
  • Implementasi referensi bahasa Perl, Python, PHP, Lua.

    Secara keseluruhan saya akan mengatakan ada lebih banyak program C yang dieksekusi lebih sering daripada bahasa lain.


3
Cukup banyak judul game AAA juga.
Alan B

3
Itu adalah layanan inti, dikodekan oleh segelintir programmer yang terampil. Bagaimana dengan 'kode ujung depan'? Aplikasi untuk pengguna? Setelah layanan inti yang Anda bicarakan dikodekan dan di-debug, layanan itu dijalankan, tetapi Anda tidak melakukan apa-apa hanya dengan menggunakannya.
jokoon

2
Tambahkan ke ini, sebagian besar kontrol industri, sebagian besar sistem tertanam, industri Otomotif. Inti dari semua yang ditulis sebelum 1995 (Itu bukan Cobol atau Ada) .....
mattnz

1
Nitpick: Dari 4 implementasi Python level produksi, 3 tidak ditulis dalam C. Dari tiga implementasi PHP level produksi, 2 tidak ditulis dalam C. Mayoritas implementasi Git tidak ditulis dalam C.
Jörg W Mittag

@jokoon - Jelas 'kode ujung depan' tidak wajib ada dalam daftar ini. Jika tujuan Anda adalah untuk mengetahui bahasa apa yang harus dipelajari untuk pekerjaan, mungkin situs kerja akan lebih baik?
JeffO
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.