Обсуждение книги Осипова А.В. «PascalABC.NET: Введение в современное программирование»


#86

Тут это всё обсуждение вашей книги - я не могу. Я бы только порекомендовал всем в своих сообщениях убрать наиболее яростные высказывания про школьных учителей, пусть и фигуральные. Или чем-то их заменить )


#87

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


#88

Отступы во все ЯП пришли из паскаля. Если кто-то не форматирует код - сам дурак. Это не слабость ЯП.

Во всех ЯП отступы, фигурные скобки и ключевые слова выполняют одну и ту же функцию - выделить блоки кода. И ТОЛЬКО в паскале это сделано РАЗУМНО. begin - начало блока end - конец Если немного знать английский (а его изучают с первого класса; да и вообще выучить 20-30 английских слов даже для меня не проблема). Фигурные скобки - уже абстракция. Отступы - это вообще виртуальное обозначение блоков.

Вы говорите с позиции взрослого человека, который уже немало знает о программировании. У детей слабо развито абстрактное мышление. Отступы ничего ему не говорят. Фигурные скобки лучше, но это тоже абстракция. Ключевые слова BEGIN-END - это вполне конкретное обозначение начала и конца блока. Для детей это гораздо понятнее, чем отступы и фигурные скобки.

Да, ключевые слова писать дольше, чем просто сделать отступ. Так мы и говорим об УЧЕБНОМ языке, а не об языке, на котором можно быстро разработать прототип будущей серьёзной программы.

В книгах об алгоритмах не используется конкретный ЯП, там алгоритм объясняется не некоем абстрактном ЯП, который весьма похож на паскаль. Почему? - Да потому что паскаль наиболее близок к естественному языку. А естественный язык само собой наиболее понятен детям.

Что такое def, elif? procedure, function, if - else if - else - then - это же человеческие слова. В паскале подпрограммы делятся на процедуры и функции, что логичнее, чем только функции, которые или возвращают, или не возвращают значения.

А динамическая типизация Питона - вот она и учит плохому. Да, в Питоне нельзя не форматировать код. Зато можно лепить переменные где угодно и как угодно. И чему хорошему это учит?

Всё познаётся в сравнении. В каких именно местах школьной программы Питон имеет ощутимые преимущества перед паскалем? В Питоне нет массивов. Зато есть списки - вроде бы не беда. А с двумерными массивами уже беда, потому что нужно создавать списки списков весьма неприятным способом.

И в Питоне, и в паскале есть много хорошего. И плохого тоже немало. Нет в мире ничего идеального. Но если говорить об обучении, то паскаль всегда будет лучше Питона.

END.


#89

Попробуйте детям объяснить что такое void. :slight_smile: Мне бы было очень интересно на это посмотреть.


#90

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


#91

Везде есть разумные люди. Так что трагедия с ЯП вполне себе оптимистическая.

BEGIN!


#92

У меня были мысли об организации конференции по PascalABC.NET


#93

На самом деле - из Algol-60:

Пример листинга для тех, кто сомневается ))) Это 1960-й год, уважаемые! Почти 60 лет назад!

Да как сказать… беда, но это не Питона беда, это иное. Беда в том, что списки эти школьникам предлагают считать (и называть (!) массивами) - и это несмотря на то, что совсем иные массивы есть в NumPy.

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

int value = 7;
void *voidPtr = &value;
int *intPtr = static_cast<int*>(voidPtr);

#94

:slight_smile: Это и плюс Паскалю.