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

18

Я не могу разобраться с этим. Если C так часто используется, но C не является C ++, может кто-нибудь объяснить мне наиболее важные причины, по которым C используется чаще, чем C ++? Где весь этот код C написан для?

Речь идет о промышленном секторе, который сильно зависит от императивного программирования, но не может покрыть затраты на реализацию или настройку компиляторов C ++? Много ли хакеров ядра?

Тиобе уместно? Я никогда не сталкивался ни с одной статьей или публикацией, в которой комментировал или объяснял, каков рейтинг tiobe в единственном числе, и что он на самом деле говорит о том, что нравится отрасли, и что он может сказать о том, что на самом деле использует отрасль, чтобы точно определить ее реальные потребности. Это трудно объяснить.

Я просто нахожу странным, что многие компании хотят работать на C #, php, java, а не на C или C ++ (просто связывая мою безработицу и мои собеседования здесь), даже если эти работы на C / C ++ чушь. Я бы взял их вместо этого. Или это означает, что языковая ажиотаж играет здесь важную роль?

jokoon
источник
18
Is tiobe relevant ?Многие думают, что это не так.
Симон Бергот
1
Я бы использовал его только для того, чтобы определить, какие десять языков, вероятно, активно используются. Ранг в индексе Тиобе не связан с их реальной популярностью.
Мартин Йорк,
4
Многое встроенное программирование сделано на C. Это не только о стоимости реализации / настройки компиляторов C ++; это стоимость запуска C ++ на встроенном устройстве.
Velociraptors
5
C гораздо менее сложен, чем C ++.
Фанл
8
Индекс TIOBE - забавное измерение; Забавно настолько, насколько мы все инженеры, и мы находим измерения забавными, потому что мы можем наметить их и представить прогнозы и выводы на их основе. Но мы также знаем, что такие широкие и сложные вещи, как фактическое использование и популярность языка, - это еще не то, что мы способны измерить с какой-либо точностью. Так что TIOBE - это весело, но там, где это не соответствует реальности, скорее всего, нет.
Джимми Хоффа

Ответы:

16

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

Это означает, что (например, в теории) у вас может быть язык, о котором все говорят, который имеет много хитов и получает высокий рейтинг, даже если никто не использует его, и вы можете иметь язык, который используют многие люди но там не так много веб-страниц / хитов, поэтому он получает низкий рейтинг. Он даже не принимает во внимание то, что содержат веб-страницы (например, представьте, что миллион веб-страниц говорят, что определенный язык ужасен, и все это увеличивает индекс языка TIOBE).

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

Конечно, практически невозможно точно определить соответствующие веса для каждого языка; и, следовательно, индекс TIOBE в лучшем случае можно рассматривать только как грубое приближение использования.

Brendan
источник
32
«Например, представьте, что миллион веб-страниц говорят, что определенный язык ужасен, и все они увеличивают индекс языка TIOBE» : я наконец-то понял, почему PHP входит в первую десятку.
Арсений Мурзенко
4
+1, и я также подозреваю, что некоторые языки, как правило, чаще используются для экспериментов / работы в выходные дни, и эти языки будут иметь непропорциональное количество запросов по уровню их использования (т. Е. Если вы не используете его каждый день, вы склонны искать больше). Тем не менее, я не думаю, что аргумент особенно применим к C. Более уместным может быть то, что множество запросов C ++ в конечном итоге классифицируется как C из-за недопонимания / ленивости разработчика.
Даниэль Б,
16

«Если C не так часто используется» - мне было бы интересно посмотреть, сможет ли кто-нибудь это подтвердить.

Все следующее написано на чистом C:

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

    В целом, я бы сказал, что на Си больше программ, которые выполняются чаще, чем на любом другом языке.

Джеймс Андерсон
источник
3
Несколько игр AAA тоже.
Алан Б
3
Это основные сервисы, написанные горсткой опытных программистов. А как насчет «кода переднего плана»? Приложения для пользователей? Как только те основные сервисы, о которых вы говорите, кодируются и отлаживаются, они запускаются, но вы ничего не делаете, просто используя их.
Jokoon
2
Добавьте к этому большинство промышленных систем управления, большинство встроенных систем автомобильной промышленности. Ядро всего, что было написано до 1995 года (это не Кобол или Ада) .....
mattnz
1
Nitpick: из 4 реализаций Python производственного уровня 3 не написаны на C. Из трех реализаций PHP производственного уровня 2 не написаны на C. Большинство реализаций Git не написаны на C.
Jörg W Mittag
@jokoon - Очевидно, что «код переднего плана» не обязательно должен быть в этом списке. Если ваша цель состоит в том, чтобы узнать, какие языки выучить для трудоустройства, возможно, сайт о работе будет лучше?
JeffO