Почему большинство программ Linux написаны на C?

Почему большинство программ Linux написаны на C? Почему они не написаны на C ++, новее?

28 голосов | спросил hpn 30 +04002011-10-30T22:19:29+04:00312011bEurope/MoscowSun, 30 Oct 2011 22:19:29 +0400 2011, 22:19:29

2 ответа


33

Об этом много дискуссий. В основном причина - философская. C был изобретен как простой язык для разработки системы (не столько разработка приложений). Существует много аргументов для использования C ++, но для не существует примерно столько же, сколько используется с C ++ и придерживается C.

В конце концов, это историческая проблема. Большинство приложений написано на C, потому что большинство материалов ядра написано на C. И с тех пор, как большинство людей было написано на языке C, люди обычно используют оригинальные языки.

В этот момент кто-то может спросить «ОК, так почему ядро ​​ написано на C и не портировано на C ++?» . Ранее это обсуждалось на kerneltrap . Одним из приятных объяснений, которые можно процитировать из этого потока, является ответ на yoshi314 (цитирование напрямую):

  

, потому что почти для каждого приложения на C ++ требуется отдельная стандартная библиотека c ++ для работы. поэтому им придется переносить его на ядро ​​и ожидать повсеместных дополнительных накладных расходов.

     

c ++ - более сложный язык, а это значит, что компилятор создает из него более сложный код. из-за этого, обнаружив, что проблема связана с ошибкой компилятора, а не с ошибкой кода проще в c.

     

также c-язык является более barebone, и легче выполнить его представление сборки, которое часто легко предсказать.

     

c ++ более универсален, но c более подходит для низкоуровневого или встроенного материала.


С другой стороны, «большинство программ Linux» довольно вводит в заблуждение. Взгляните на графические приложения. Python становится все более ориентированным, особенно в среде графического интерфейса Linux. О том же, что происходит с Windows и .NET.

ответил Caleb 25 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 25 Sep 2012 13:44:12 +0400 2012, 13:44:12
6

Прочитав следующее письмо от Линуса Торвальдса, создателя Linux. Я не могу не думать, что приведенный выше ответ неверен. Кажется, он думает, что программисты на С ++ не являются хорошими программистами system . И что дополнительные возможности на C ++ часто вызывают больше проблем в долгосрочной перспективе по сравнению с преимуществами, которые они приносят в краткосрочной перспективе. Хотя с ним можно не согласиться, трудно переоценить влияние, которое он оказал на операционную систему Linux.

http://harmful.cat-v.org/software/c++/linus

ответил Arturo Hernandez 21 J0000006Europe/Moscow 2016, 19:48:33

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132