Совсем недавно, кстати, рассказывая про алгоритм Краута разложения квадратной матрицы в произведение двух треугольных, столкнулся с недостатком языка Паскаль. Схема алгоритма там такая:
procedure UnsymDet (...; var fail: Boolean
( Read more... )
Ты, видимо, пропустил самый первый пост из этой серии: "Писать код ≠ программировать". Я учу не языку. А программы - это "алгоритмы + структуры данных", как писал классик. Коммерческие средства получают популярность по разным причинам, и их качество часто бывает не на первом месте. Поэтому я считаю, что начинать обучение на основе коммерческого языка - плохая идея. Поэтому четвертому Фортрану отдам дань только в исторической справке (хотя некоторым понадобится разбираться и в нем, но не на этапе школьного обучения, разумеется).
В те времена, когда Вирт придумывал Паскаль, основными коммерческими языками были как раз Фортран и Алгол-60, а так же очень специфический Кобол. И на них можно писать хорошие программы, но сначала хорошему программированию нужно научиться. Дейкстра в Нидерландах, Вирт в Швейцарии и, как ни странно, Ершов в СССР в разное время пришли к выводу, что коммерческие инструменты для обучения не годятся. А когда ты уже умеешь, освоить коммерческий язык труда не составит, но ты уже не вывалишь на нем несопровождаемое
( ... )
Кстати, про Delphi. Понадобился для одной студенческой задачи о движении ИСЗ эффективный (промышленный!) интегратор дифференциальных уравнений. Я обратился к Авдюшеву в Томский университет, где таких интеграторов высокого качества разработано несколько. Он мне прислал тексты программы. Попытка собрать их в среде Lazarus поначалу провалилась, потому что авторы использовали специфические особенности именно языка Delphi. К счастью, подходящими опциями Lazarus (а фактически - лежащий в его основе FreePascal) можно настроить на диалект Delphi. А ведь исходная задача - интегрирование ОДУ - вовсе не требовала каких-то специфических дельфийских средств. Студенты получили наглядный пример плохого подхода к созданию программ.
Приведу и противоположный (хороший) пример: Хайрер Э., Нёрсет С. "Решение обыкновенных дифференциальных уравнений: Нежесткие задачи".
Что значит нет в Паскале. А exit?
Reply
На какой странице тут про exit?
https://www.cs.utexas.edu/users/novak/iso7185.pdf
Reply
Ты еще начни учить школьников четвертому фортрану :)
Де-факто стандартом паскаля является TP7.0, который поддерживает и некоммерческий freepascal, и коммерческий Delphi.
Reply
Ты, видимо, пропустил самый первый пост из этой серии: "Писать код ≠ программировать". Я учу не языку. А программы - это "алгоритмы + структуры данных", как писал классик. Коммерческие средства получают популярность по разным причинам, и их качество часто бывает не на первом месте. Поэтому я считаю, что начинать обучение на основе коммерческого языка - плохая идея. Поэтому четвертому Фортрану отдам дань только в исторической справке (хотя некоторым понадобится разбираться и в нем, но не на этапе школьного обучения, разумеется).
В те времена, когда Вирт придумывал Паскаль, основными коммерческими языками были как раз Фортран и Алгол-60, а так же очень специфический Кобол. И на них можно писать хорошие программы, но сначала хорошему программированию нужно научиться. Дейкстра в Нидерландах, Вирт в Швейцарии и, как ни странно, Ершов в СССР в разное время пришли к выводу, что коммерческие инструменты для обучения не годятся. А когда ты уже умеешь, освоить коммерческий язык труда не составит, но ты уже не вывалишь на нем несопровождаемое ( ... )
Reply
Кстати, про Delphi. Понадобился для одной студенческой задачи о движении ИСЗ эффективный (промышленный!) интегратор дифференциальных уравнений. Я обратился к Авдюшеву в Томский университет, где таких интеграторов высокого качества разработано несколько. Он мне прислал тексты программы. Попытка собрать их в среде Lazarus поначалу провалилась, потому что авторы использовали специфические особенности именно языка Delphi. К счастью, подходящими опциями Lazarus (а фактически - лежащий в его основе FreePascal) можно настроить на диалект Delphi. А ведь исходная задача - интегрирование ОДУ - вовсе не требовала каких-то специфических дельфийских средств. Студенты получили наглядный пример плохого подхода к созданию программ.
Приведу и противоположный (хороший) пример: Хайрер Э., Нёрсет С. "Решение обыкновенных дифференциальных уравнений: Нежесткие задачи".
Reply
Leave a comment