Чому C настільки високий в індексі популярності TIOBE, тоді як C ++ теж трохи нижче, але не такий популярний? [зачинено]


18

Я не можу з цим обернутися головою. Якщо C настільки використовується, але C не є C ++, чи може хтось пояснити мені найважливіші причини, які роблять C більш використовуваним, ніж C ++? Де написаний весь цей код C?

Це про промисловий сектор, який сильно покладається на імперативне програмування, але не може підтримувати витрати на впровадження чи налаштування компіляторів C ++? Чи так багато хакерів ядра?

Чи актуально тіобе? Я ніколи не натикався на будь-яку статтю чи публікацію, коментуючи чи пояснюючи, яким є рейтинг ранжиру тіобе, і що він насправді говорить про те, що промисловість подобається, і що вона може розповісти про те, що галузь насправді використовує, щоб визначити реальні потреби галузі. Це важко пояснити.

Мені просто дивно, що багато компаній хочуть роботи на C #, php, Java, а не на C або C ++ (що стосується мого безробіття та моїх інтерв'ю тут), навіть якщо ці C / C ++ робочі місця є лайно. Я б замість цього взяв. Або це означає, що мовна скарга відіграє тут сильну роль?


18
Is tiobe relevant ?Багато хто думає, що це не так.
Саймон Берго

1
Я б використовував його лише для того, щоб оцінити десятку найкращих мов, ймовірно, активно використовуються. Ранг за індексом тиоби не пов'язаний з їх реальною популярністю.
Мартін Йорк

4
Багато вбудованого програмування зроблено на C. Це не лише вартість впровадження / налаштування компіляторів C ++; це вартість запуску C ++ на вбудованому пристрої.
Велоцираптори

5
C спосіб менш складний, ніж C ++.
fanl

8
Індекс TIOBE - це цікаве вимірювання; весело стільки, як всі ми інженери, і вимірювання нам цікаві, тому що ми можемо скласти їх графік і уявити прогнози та висновки на їх основі. Але ми також знаємо речі настільки широкі та складні, як фактичне використання та популярність мови - це ще не речі, які ми здатні взагалі виміряти з будь-якою точністю. Тож TIOBE весело, але там, де, схоже, не співпадає з реальністю, це, мабуть, не так.
Джиммі Хоффа

Відповіді:


16

Індекс TIOBE спирається на звернення пошукових систем - див. Http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm

Це означає, що (наприклад, теоретично) ви можете мати мову, про яку всі говорять, яка має багато звернень і отримує високий рейтинг, хоча ніхто не використовує її, і ви можете мати мову, якою користується багато людей але не так багато веб-сторінок / звернень, тому вона отримує низьку оцінку. Він навіть не враховує, що містять веб-сторінки (наприклад, уявіть мільйон веб-сторінок, які говорять, що певна мова є приємною, що все збільшує індекс TIOBE мови).

Теоретично слід застосовувати вагові коефіцієнти, щоб отримати використання від веб-хітів / індексу TIOBE. Наприклад, для складної мови на зразок C ++ (де кожен, хто її використовує, може мати один чи більше довідників) використання, ймовірно, буде вище, ніж те, на що вказує індекс TIOBE; а також для мов, які в основному використовуються для веб-розробки (де більшість документації, як правило, в Інтернеті, і користувачі мають більше шансів на створення веб-сторінок), використання, ймовірно, буде нижчим, ніж те, що вказує індекс TIOBE

Звичайно, практично неможливо точно визначити відповідні ваги для кожної мови; і тому індекс TIOBE в кращому випадку можна вважати лише грубим наближенням використання.


32
"наприклад, уявіть мільйон веб-сторінок, які говорять, що певна мова є приємною, що все збільшує індекс TIOBE мови" : я нарешті розумію, чому PHP знаходиться в першій десятці.
Арсеній Муренко

4
+1, і я також підозрюю, що деякі мови, як правило, використовуються більше для експериментів / роботи у вихідні дні, і ці мови матимуть непропорційну кількість пошуків за рівнем їх використання (тобто, якщо ви не використовуєте його щодня, ви схильні шукати більше). При цьому, я не думаю, що цей аргумент особливо застосовний до C. Більш актуальним може бути те, що велика кількість пошуків C ++ в кінцевому підсумку класифікується як C через нерозуміння / лінивість розробника.
Даніель Б

16

"Якщо C не так сильно використовується", - мені було б цікаво подивитися, чи хтось може зробити це резервним.

Все наступне написано на чистому мові:

  • ядро Linux.
  • сховище git
  • Бази даних з відкритим кодом MySql, PostgreSQL, SQLite.
  • Власні бази даних Oracle, DB2, Informix, SYBASE.
  • Великі шматки ОС Windows.
  • Веб-сервер Apache, веб-сервер ngnix.
  • Реалізації посилань на мову Perl, Python, PHP, Lua.

    Загалом, я б сказав, що існує більше програм C, які виконуються частіше, ніж будь-яка інша мова.


3
Досить кілька назв ігор AAA.
Алан Б

3
Це основні сервіси, кодовані кількома кваліфікованими програмістами. А як з "кодом переднього кінця"? Програми для користувачів? Після того, як кодовані основні служби, про які ви говорите, кодуються та налагоджуються, вони запускаються, але ви нічого не робите, лише використовуючи їх.
jokoon

2
Додайте до цього найбільш промислове управління, найбільш вбудовані системи, автомобілебудування. Ядро всього написаного до 1995 року (Це не Кобол чи Ада) .....
mattnz

1
Nitpick: З 4-х реалізацій Python на виробничому рівні 3 не написані в C. З трьох реалізацій PHP на виробничому рівні 2 не написані в C. Більшість реалізацій Git написані не в C.
Jörg W Mittag

@jokoon - Очевидно, що "передній код" не є обов'язковим для цього списку. Якщо ваша мета - дізнатися, які мови вивчити для працевлаштування, можливо, сайт роботи буде кращим?
JeffO
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.