LINUX.ORG.RU

История изменений

Исправление Xenius, (текущая версия) :

Вот, а вот здесь стОит задуматься почему именно так произошло. Ну не прижился он в реальном производстве.

Ну, вообще-то вполне прижился, но в основном в форме Delphi, которая к сожалению не кроссплатформенная.

Я думаю дело в том, что C имеет те же возможности, но позволяет писать более короткий код. Проблема с C в том, что он не имеет многих довольно базовых вещей из императивного процедурного программирования, а именно функций/процедур, массивов, строк. В целом это всё неплохо эмулируется с помощью арифметики указателей, но семантическая чистота кода страдает.

У паскаля главная проблема — это порядок параметров в стеке, не позволяющий делать вариадические функции/процедуры типа printf, где первый параметр задаёт сколько всего параметров в конкретном вызове. Ну и синтаксис тяжеловатый с постоянными begin / end.

а что именно входит в понятие «знать язык»? Способность понять написанное и внести минимальные изменения? Это одно и довольно просто.

Именно. От мейнтейнеров в дистрибутиве требуется это - внести минимальные изменения чтобы пофиксить код, если он не компилируется по какой-то причине или содержит какой-то очевидный баг.

А вот быть в состоянии реализовать с нуля что-то действительно сложное близким к оптимальному способом - это совсем другое.

Раз уж автор изначального кода выбрал именно паскаль, он, наверное, это умеет? Ну или только начал изучать программирование и кроме паскаля ничего не знает.

В любом случае, почему бы и нет? Если закрыть глаза на два недостатка, которые я упомянул выше, язык ничем не хуже C или даже C++.

Ну и кстати, в программе главное, чтобы она не тормозила. А для этого основной критерий - не использовать алгоритмов с квадратичной сложностью там где можно обойтись линейной, не использовать алгоритмов с экспоненциальной сложностью там, где есть решение с полиномиальной и так далее. Это всё от ЯП вообще не зависит.

Исходная версия Xenius, :

Вот, а вот здесь стОит задуматься почему именно так произошло. Ну не прижился он в реальном производстве.

Ну, вообще-то вполне прижился, но в основном в форме Delphi, которая к сожалению не кроссплатформенная.

Я думаю дело в том, что C имеет те же возможности, но позволяет писать более короткий код. Проблема с C в том, что он не имеет многих довольно базовых вещей из императивного процедурного программирования, а именно функций/процедур, массивов, строк. В целом это всё неплохо эмулируется с помощью арифметики указателей, но семантическая чистота кода страдает.

У паскаля главная проблема — это порядок параметров в стеке, не позволяющий делать вариадические функции/процедуры типа printf, где первый параметр задаёт сколько всего параметров в конкретном вызове. Ну и синтаксис тяжеловатый с постоянными begin / end.

а что именно входит в понятие «знать язык»? Способность понять написанное и внести минимальные изменения? Это одно и довольно просто.

Именно. От мейнтейнеров в дистрибутиве требуется это - внести минимальные изменения чтобы пофиксить код, если он не компилируется по какой-то причине или содержит какой-то очевидный баг.

А вот быть в состоянии реализовать с нуля что-то действительно сложное близким к оптимальному способом - это совсем другое.

Раз уж автор изначального кода выбрал именно паскаль, он, наверное, это умеет? Ну или только начал изучать программирование и кроме паскаля ничего не знает.

В любом случае, почему бы и нет? Если закрыть глаза на два недостатка, которые я упомянул выше, язык ничем не хуже C или даже C++.