[personal profile] waspagv
Как некоторые знают, Никлас Вирт придумал язык программирования Паскаль не для того, чтобы отвлекать российских школьников от говнокодинга на «самых лучших» языках C# и Python, а для обучения программированию как науке. Судя по тому коду, что я видел у наших программистов, кодить они научились, а программировать — нет.
 
И для того, чтобы сложный синтаксис и множество операторов не отвлекали учащихся от постижения предмета, Вирт намеренно минимизировал структуру языка — включил туда только совершенно необходимые конструкции. Так же поступил и с набором стандартных функций. Зато добавил возможность конструировать пользовательские типы данных.

Однако, некоторые недостатки всё же остались. Например, в операторах if и for, while вложенной конструкцией был только один оператор, из-за чего при необходимости написать несколько приходилось заключать их в операторные скобки begin...end. А цикл until изначально допускал любую последовательность вложенных операторов. Так же в языке отсутствовал оператор досрочного выхода из цикла или процедуры — выход допускался только по достижению конца тела процедуры. А ведь есть много случаев, когда где-то глубоко внутри вложенного цикла выясняется, что решение невозможно, и надо завершить процедуру с соответствующим результатом.

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

Эти и некоторые другие недостатки были исправлены в другом изобретении Вирта — языке Модула-2. Новый язык содержал средства не только для обучения, но и для промышленного программирования. Но в то время уже широко пошел язык C (а кто помнит A и B?), и Модула-2 конкуренцию не выдержала. А язык Паскаль прочно занял нишу учебного языка. К сожалению, многие преподаватели не понимают разницу между изучением программирования и изучением языка программирования, отчего без раздумий грузят шестиклассников инкапсуляцией, наследованием и полиморфизмом на С++, когда те еще не вкурили даже линейный поиск.
 
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Профиль

waspagv: (Default)
DCS Foyle

March 2025

M T W T F S S
     12
3456789
10111213141516
17181920212223
242526272829 30
31      

Style Credit

Expand Cut Tags

No cut tags
Page generated 01/07/2025 00:33
Powered by Dreamwidth Studios