it-roy-ru.com

Почему С преобладал над Паскалем?

Насколько я понимаю, в 1980-х, а возможно, и в 1990-х, Паскаль и Си были в значительной степени непосредственными, как производственные языки.

Является ли окончательная кончина Паскаля только из-за пренебрежения Борланда Delphi ? Или что-то еще, например, невезение или что-то не так с Паскалем (есть надежды на его возрождение?).

Меня интересуют исторические факты и наблюдения, которые можно подтвердить, а не симпатии и антипатии.

71
Konrad Morawski

Паскаль проиграл битву в основном из-за:

  • Многословие (if ... then begin ... end, var A: array[0..15] of Integer)
  • Взаимно непонятные диалекты и официальный стандарт
  • Менее чем впечатляющие объектно-ориентированные расширения
  • Самый успешный и практичный диалект - Turbo Pascal - никогда не переносился на платформы, отличные от DOS/Windows. Плюс Borland никогда не открывал исходники компилятора.
  • "Последняя надежда" Паскаля - Delphi - была позиционирована Borland как платформа для разработки баз данных, ориентированная на корпоративную среду. Это был неудачный маркетинговый ход (сделанный маркетологами, я полагаю), потому что креативные инженеры ненавидят как базы данных, так и корпоративную среду. Затем провал Delphi для Linux, Kylix.
  • Apple перешла на C, а затем на Objective-C и, таким образом, убила Pascal как язык ОС
43
mojuba

C является основой Unix. В 80-х и 90-х годах Unix привлекал все больше внимания. Сегодня какой-то вкус Unix в вашем смартфоне.

44
mouviciel

Эссе Почему Паскаль не мой любимый язык Брайана Кернигана охватывает основные моменты критики.

С гораздо более универсален и расширяем. Некоторые люди даже узнали, как это сделать (своего рода) объектно-ориентированное программирование на C ! Кроме того, встроенный ассемблер и другие низкоуровневые функции сделали его важным языком для системного программирования.

35
Felix Dombek

Хотя это не было эксклюзивное использование, Pascal был разработан для обучения программированию, а не для использования в качестве основного языка.

Delphi и Object Pascal изменили это. Но в то время было уже поздно.

23
Let_Me_Be

Я не думаю, что С преобладал над Паскалем. Для большинства программистов Java преобладал над Pascal. Категория программистов, которые раньше программировали на Pascal, теперь выбирает Java (или C #) для та же работа. Те, кто привык программировать на C, застряли на C (и C++).

Смерть Паскаля, по-моему, в основном вызвана тем, что Borland придерживается своего графического интерфейса, а его клиенты переходят в Интернет. У Borland никогда не было действительно привлекательного предложения для разработки на стороне сервера. Только в последние несколько лет, когда Delphi умерла для всех практических целей, те, кто придерживался Delphi, перешли на C #. Я думаю, что C/C++ всегда отличался от толпы Pascal/Java/C #, поскольку ребята из C (++) были гораздо более технически/низкоуровневы.

18
Jaap

Чтобы замять это: C - портативный ассемблер, Pascal - образовательный язык.

Это раздел в Википедии хорошо освещает это на самом деле.

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

11
back2dos

Черт возьми, это односторонняя нагрузка хулигана, где все люди, которые начали на этом сайте, у которых Delphi был их любимым языком?

Почти все упоминают о Borland, и 2/3 людей считают, что Delphi пнул ведро. Что ж, ребята, Embarcadero приобрела подразделение Borland CodeGear несколько лет назад (за деньги, а не на благотворительность), и они делали довольно удивительные вещи, объединяя некоторые довольно удивительные инструменты в их довольно удивительные IDE и создание довольно удивительной платформы для кроссплатформенной разработки в OBJECT Pascal. Не говоря уже о Lazarus и FreePascal на стороне открытого исходного кода.

Итак, если это исторический вопрос, почему C преобладал над Pascal, тогда ОК, это приемлемое требование для начала вопроса. Но авторство кода в Object Pascal растет, я не знаю, что TIOBE index очень много значит для него, но должно быть ясно, что люди все еще пишут код в Object Pascal и интерес всплески всякий раз, когда Embarcadero выпускает новые инструменты, поэтому фактические люди, заинтересованные в написании нового (а не просто поддерживающего старый) код, заинтересованы в Delphi.

Я не уверен, что вы можете сказать то же самое для всего, что связано с C.

5
Peter Turner

В течение 70-х и начала 80-х годов компиляторы C были относительно просты в использовании для персональных компьютеров, хотя большинство из них делали только подмножество C (именно поэтому в старых журналах вы увидите так много разных объявлений о "крошечных C" -компиляторах). ). Pascal был более громоздким языком в те времена, когда только самые богатые любители компьютеров имели жесткие диски (а жесткий диск объемом 5 мегабайт стоил несколько сотен долларов). Для Apple 2 (мой первый компьютер, и это даже не было плюсом)) для запуска Pascal потребовалась покупка дополнительной карты памяти (для этого требовалось 64 тыс. RAM!) И потребовалось несколько загрузочных дискет, в то время как "крошечные C" компиляторы помещались на одну дискету (и могли обойтись с 16k RAM).

Паскаль преподавали в учебных программах по информатике, в то время как C в основном преподавали самостоятельно (иногда преподавали в электротехнических программах). Паскаль получил репутацию среди ковбойских программистов как "язык рабства и дисциплины", который, как я думал, был незаслуженным, так как они никогда не встречались ADA .

Основными драйверами Pascal в 80-х годах были Apple (потому что API использовали стандарты вызовов Pascal) и Borland. Компиляторы Borland "Turbo" были, вероятно, лучшими из доступных на рынке, и "подобными" Книга "Лицензия" сделала их намного более популярными, чем компании с более жестоким лицензированием.

Borland потерял свое лидерство на рынке разработки, когда Microsoft наняла их ведущих разработчиков и руководителей проектов (таких как Хейлсберг, Гросс и более 35 других), в конечном итоге разработав .NET и Visual Studio. Borland и Microsoft урегулировали иск пару лет спустя, но Borland так и не оправился от потери. По моему мнению, в то время Delphi начала увядать (так как люди, которые уделяли этому внимание и были привлечены к работе, были уволены), и смена генерального директора в то же время отвела Borland из компиляторной компании в [~ ~ # ~] alm [~ # ~] (управление жизненным циклом приложения), изменив свое имя на Inprise пару лет спустя. Пепел Borland теперь принадлежит Micro Focus.

4
Tangurena

Я полагаю, что C и основные языки, производные от него, C++, Java и C #, были приняты крупнейшими компаниями-разработчиками программного обеспечения, такими как Microsoft и Sun/Oracle, а также различными стеками разработки. В результате он стал "родным языком" Windows, Apple ОС и Unix.

Паскаль, несмотря на лучшие и часто ошибочные усилия Borland, не достиг такого уровня проникновения на рынок.

1
jfrankcarr

Паскаль только когда-либо стал популярным в одной довольно ограниченной среде PC/DOS.

Даже тогда на ПК было запущено столько приложений MicroFocus COBOL, сколько было приложений Pascal.

C был базовым для операционной системы UNIX и всех операционных систем MS/Windows.

Сочетание эффективного выполнения на ограниченном оборудовании и нативный доступ к базовым библиотекам ОС и GUI, вероятно, были основными причинами успеха C. Паскаль никогда не взламывал его на окнах, и Дельфи прибыл слишком поздно, чтобы что-то изменить.

1
James Anderson