История изменений
Исправление Xenius, (текущая версия) :
Вот, а вот здесь стОит задуматься почему именно так произошло. Ну не прижился он в реальном производстве.
Ну, вообще-то вполне прижился, но в основном в форме Delphi, которая к сожалению не кроссплатформенная.
Я думаю дело в том, что C имеет те же возможности, но позволяет писать более короткий код. Проблема с C в том, что он не имеет многих довольно базовых вещей из императивного процедурного программирования, а именно функций/процедур, массивов, строк. В целом это всё неплохо эмулируется с помощью арифметики указателей, но семантическая чистота кода страдает.
У паскаля главная проблема — это порядок параметров в стеке, не позволяющий делать вариадические функции/процедуры типа printf, где первый параметр задаёт сколько всего параметров в конкретном вызове. Ну и синтаксис тяжеловатый с постоянными begin / end.
а что именно входит в понятие «знать язык»? Способность понять написанное и внести минимальные изменения? Это одно и довольно просто.
Именно. От мейнтейнеров в дистрибутиве требуется это - внести минимальные изменения чтобы пофиксить код, если он не компилируется по какой-то причине или содержит какой-то очевидный баг.
А вот быть в состоянии реализовать с нуля что-то действительно сложное близким к оптимальному способом - это совсем другое.
Раз уж автор изначального кода выбрал именно паскаль, он, наверное, это умеет? Ну или только начал изучать программирование и кроме паскаля ничего не знает.
В любом случае, почему бы и нет? Если закрыть глаза на два недостатка, которые я упомянул выше, язык ничем не хуже C или даже C++.
Ну и кстати, в программе главное, чтобы она не тормозила. А для этого основной критерий - не использовать алгоритмов с квадратичной сложностью там где можно обойтись линейной, не использовать алгоритмов с экспоненциальной сложностью там, где есть решение с полиномиальной и так далее. Это всё от ЯП вообще не зависит.
Исходная версия Xenius, :
Вот, а вот здесь стОит задуматься почему именно так произошло. Ну не прижился он в реальном производстве.
Ну, вообще-то вполне прижился, но в основном в форме Delphi, которая к сожалению не кроссплатформенная.
Я думаю дело в том, что C имеет те же возможности, но позволяет писать более короткий код. Проблема с C в том, что он не имеет многих довольно базовых вещей из императивного процедурного программирования, а именно функций/процедур, массивов, строк. В целом это всё неплохо эмулируется с помощью арифметики указателей, но семантическая чистота кода страдает.
У паскаля главная проблема — это порядок параметров в стеке, не позволяющий делать вариадические функции/процедуры типа printf, где первый параметр задаёт сколько всего параметров в конкретном вызове. Ну и синтаксис тяжеловатый с постоянными begin / end.
а что именно входит в понятие «знать язык»? Способность понять написанное и внести минимальные изменения? Это одно и довольно просто.
Именно. От мейнтейнеров в дистрибутиве требуется это - внести минимальные изменения чтобы пофиксить код, если он не компилируется по какой-то причине или содержит какой-то очевидный баг.
А вот быть в состоянии реализовать с нуля что-то действительно сложное близким к оптимальному способом - это совсем другое.
Раз уж автор изначального кода выбрал именно паскаль, он, наверное, это умеет? Ну или только начал изучать программирование и кроме паскаля ничего не знает.
В любом случае, почему бы и нет? Если закрыть глаза на два недостатка, которые я упомянул выше, язык ничем не хуже C или даже C++.