Re: Чем плох Паскаль?
От: Michael7 Россия  
Дата: 22.06.19 22:09
Оценка:
Здравствуйте, Cicero, Вы писали:

C>Очень часто это слышу: Паскаль(иногда конкретизируют: Turbo Pascal) не подходят для обучения программированию.

C>Обычно аргументов нет. Самый "сильный" аргумент — это несовременный!

C>Давайте обсудим и выработаем обоснованные аргументы.


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

Но такое ощущение, что разные люди имели ввиду разный Паскаль. Виртовский, Турбо-Паскаль, ранние версии Delphi, современные версии Delphi и FreePascal — это все очень разные языки. В Delphi в 2009 году вообще даже дженерики завезли.


C>Выскажу свое мнение:

C>Для обучения в школе как первый язык программирования с которым человек встречается Паскаль очень даже подходит.
C>Причем если не позволяет "железо" более современные версии вполне подойдет и Turbo Pascal 5.5.
C>На Turbo Pascal вполне можно обучать и элементы ООП.

C>Почему:

C>Говоря двумя словами: потому что в Паскале минимум неоднозначности синтаксиса.
C>ИМХО это научит контролировать код более строго.

У меня такое ощущение сейчас, что программирование школьникам сейчас невозможно адекватно преподавать. Потому что все простое сейчас стало слишком оторвано от практически полезного. В эпоху турбо-паскаля на нем можно было даже коммерческие программы писать.
Re[2]: Чем плох Паскаль?
От: __kot2  
Дата: 22.06.19 22:32
Оценка: -1
Здравствуйте, Michael7, Вы писали:
M>Но такое ощущение, что разные люди имели ввиду разный Паскаль. Виртовский, Турбо-Паскаль, ранние версии Delphi, современные версии Delphi и FreePascal — это все очень разные языки. В Delphi в 2009 году вообще даже дженерики завезли.
все одинакого бесполезны. просто один чуть бесполезнее другого (сам я в школе учил и турбопаскаль и делфи)

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

ну почему — питон и жабоскрипт ва идеальных языка как раз для этого подходящих. на одном можно писать гуй и всякие примочки прикольные, на втором — даже что-то околонаучное можно сделать и без всякого знания ООП
Re[4]: Чем плох Паскаль?
От: pagid Россия  
Дата: 23.06.19 04:05
Оценка:
Здравствуйте, __kot2, Вы писали:

__>нужен например тебе для работы, русский язык. а тебе говорят — ты сначала изучи болгарский, украинский и белорусский и тогда, когда будешь русский, наконец учить, будет проще и будешь глубже его понимать. так-то оно так, но все-таки это просто сильно дольше получается


Примерно так, но с некоторыми нюансами
а) Никаких человеческих языков ты перед этим совсем не знал, инопланетянин, младенец или маугли
б) то, что нужен именно русский на этот момент неизвестно, а если известно, то какие проблемы, русский и изучай
в) не болгарский, украинский и белорусский, а некий язык имеющий общие черты со многими настоящими, но при этом весьма примитивный, и имеющий очень узкое применение, наверно эсперанто
Re[3]: Чем плох Паскаль?
От: AlexRK  
Дата: 23.06.19 07:24
Оценка: +3
Здравствуйте, __kot2, Вы писали:

__>ну почему — питон и жабоскрипт ва идеальных языка как раз для этого подходящих. на одном можно писать гуй и всякие примочки прикольные, на втором — даже что-то околонаучное можно сделать и без всякого знания ООП


"Идеальных". Жабаскрипт — это всестороннее уродство, которое для обучения просто вредно. Питон динамически типизирован и, как следствие, программы на нем подвержены ошибкам на этапе выполнения, что для обучения тоже скверно.
Re[3]: Чем плох Паскаль?
От: Privalov  
Дата: 23.06.19 07:24
Оценка: +2
Здравствуйте, MamutArGud, Вы писали:

MAG>Это тот самый кумир, который алг нач цел вещ все кон? За что?


  qsort
MAG>
MAG>алг qSort(аргрез целтаб A[1:5], арг цел iStart, iEnd)
MAG>нач
MAG>  цел L, R, c, X
MAG>  если iStart >= iEnd то выход все
MAG>  L:= iStart; R:= iEnd;
MAG>  X:= A[div(L+R,2)]
  
MAG>  нц пока L <= R
MAG>    нц пока A[L] < X; L:= L+1 кц
MAG>    нц пока A[R] > X; R:= R-1 кц

MAG>    если L <= R то
MAG>      c:= A[L]; A[L]:= A[R]; A[R]:= c
MAG>      L:= L+1; R:= R-1
MAG>    все
MAG>  кц

MAG>  qSort(A, iStart, R)
MAG>  qSort(A, L, iEnd)
MAG>кон
MAG>


Я не очень понял, служебные слова по-русски можно, а идентификаторы — нет? Тогда это издевательство не только над детьми. Вот если можно все на одном языке, тогда можно о чем-то рассуждать. Но клавиатуру перенастроить придется. Чтобы не переключаться лишний раз.

P.S. Пока писал, заметил div. Надо полагать, это целочисленное деление. Тогда все не слишком радужно.

P.P.S. Интересно, Валерий Викторович свою обучающую среду допилил до нормальной работы с языками?
Re[4]: Чем плох Паскаль?
От: __kot2  
Дата: 23.06.19 13:40
Оценка: +1
Здравствуйте, AlexRK, Вы писали:
ARK>"Идеальных". Жабаскрипт — это всестороннее уродство, которое для обучения просто вредно. Питон динамически типизирован и, как следствие, программы на нем подвержены ошибкам на этапе выполнения, что для обучения тоже скверно.
идеальный язык это тот, который заинтересует ученика
а не тот, который замечательный и формальный и от которого тащится только препод, но на нем ничего нельзя сделать
Re[4]: Чем плох Паскаль?
От: MamutArGud  
Дата: 28.06.19 18:15
Оценка:
P>
  qsort
MAG>>
MAG>>алг qSort(аргрез целтаб A[1:5], арг цел iStart, iEnd)
MAG>>нач
MAG>>  цел L, R, c, X
MAG>>  если iStart >= iEnd то выход все
MAG>>  L:= iStart; R:= iEnd;
MAG>>  X:= A[div(L+R,2)]
  
MAG>>  нц пока L <= R
MAG>>    нц пока A[L] < X; L:= L+1 кц
MAG>>    нц пока A[R] > X; R:= R-1 кц

MAG>>    если L <= R то
MAG>>      c:= A[L]; A[L]:= A[R]; A[R]:= c
MAG>>      L:= L+1; R:= R-1
MAG>>    все
MAG>>  кц

MAG>>  qSort(A, iStart, R)
MAG>>  qSort(A, L, iEnd)
MAG>>кон
MAG>>



P>Я не очень понял, служебные слова по-русски можно, а идентификаторы — нет? Тогда это издевательство не только над детьми. Вот если можно все на одном языке, тогда можно о чем-то рассуждать. Но клавиатуру перенастроить придется. Чтобы не переключаться лишний раз.


Согласно презентации для 7 класса,

МОЖНО использовать
— латинские буквы (A-Z), русские буквы (А-Я), заглавные и строчные буквы различаются
— цифры, имя не может начинаться с цифры
— знак подчеркивания _


При этом во всех материалах используются идентификаторы на латинице.

P>P.S. Пока писал, заметил div. Надо полагать, это целочисленное деление. Тогда все не слишком радужно.


Там еще много дополнительных мелочей типа:

— «Аргрез» и «арг» для аргументов функций (? или модулей?)

— «целтаб», «вещтаб», «логтаб» для массивов

— часть функций все равно на английском:
  rand/irand
.

Ну и вот, что пишет сам Поляков:

Недостатки::

— сложно мотивировать учащихся на изучение языка, который нигде не применяется;
— очень медленная работа интерпретатора (обещают существенно ускорить в версии 2.0, которая сейчас разрабатывается);
— нельзя менять значения аргументов внутри вспомогательных алгоритмов (например, в реализации алгоритма Евклида как функции приходится заводить две лишние переменные);
— нельзя вызывать функцию как процедуру, игнорируя ее результат (например, когда результат функции — код возврата и в данном случае он меня не интересует);
— неудобная и неполная справочная система;
— нет форматного вывода на консоль и в файл, как в Паскале (типа вывод x:4); это нужно, например, чтобы вывести на экран матрицу ровными столбиками.


Прям отличная система для обучения.
Re[3]: Чем плох Паскаль?
От: Лось Чтостряслось СССР  
Дата: 30.06.19 11:12
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>В качестве первого языка чаще всего берут Питон, затем С/С++/Java.


с Питона на С++ это ж вообще надо мозги перевернуть
социализм или варварство
Re[5]: Чем плох Паскаль?
От: Privalov  
Дата: 30.06.19 13:26
Оценка: 6 (1)
Здравствуйте, MamutArGud, Вы писали:

MAG>Прям отличная система для обучения.


Вспомнил. Много дет назад я сталкивался с языком АП на ЭВМ Наири-3. В нем тоже все по-русски было. ИНо чтобы понять программу, нужно было знать кое-какие нюансы.
Например, оператор ВСТАВИМ — это оператор присваивания. Без него не работало а = а + 1.
Непонятно без объяснения, чем отличается КОНЧАЕМ от ОСТАНОВ.
Было еще всякое, но за давностью лет забыл все напрочь.
ЕМНИП, в АП можно было писать русские идентификаторы.
Но из-за всех этих нюансов с искажениями смысла слов на родном языке происходил взрыв мозга. И когда на горизонте появился Фортран 4, мне стало легче. Я просто запомнил английские слова, не особо вникая в исходный смысл их.
Наверное, системы программирования на русском языке нужны. Но как их правильно проектировать, я не знаю. Ясно только, что нужно привлекаьб хороших лингвистов.
P.S. Что-то я не могу найти примеров на АП. Он, видимо, давно и прочно забыт. Вот тут есть очень краткий обзор. И там же — пример программы или что-то вроде того.
Re[6]: Чем плох Паскаль?
От: pagid Россия  
Дата: 30.06.19 17:45
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Вспомнил. Много дет назад я сталкивался с языком АП на ЭВМ Наири-3. В нем тоже все по-русски было. ИНо чтобы понять программу, нужно было знать кое-какие нюансы.

А букву "Щ" на Консуле она печатала? в тех ситуациях когда винда показывает синий экран, а Линукс панику в ядре пишет
Re[7]: Чем плох Паскаль?
От: Privalov  
Дата: 30.06.19 18:14
Оценка:
Здравствуйте, pagid, Вы писали:

P>А букву "Щ" на Консуле она печатала? в тех ситуациях когда винда показывает синий экран, а Линукс панику в ядре пишет


Вот это ты спросил! Я ту Наири видел совсем недолго. На этом самом АП десяток-другой строк с Консула вбил, и на этом — всё. Как она выражала негодование по случаю сбоев, я не видел ни разу. Видимо, просто не успел.
Re[4]: Чем плох Паскаль?
От: Cyberax Марс  
Дата: 30.06.19 20:50
Оценка:
Здравствуйте, Лось Чтостряслось, Вы писали:

C>>В качестве первого языка чаще всего берут Питон, затем С/С++/Java.

ЛЧ>с Питона на С++ это ж вообще надо мозги перевернуть
При переходе наоборот — тоже.
Sapienti sat!
Re[5]: Чем плох Паскаль?
От: Лось Чтостряслось СССР  
Дата: 30.06.19 20:59
Оценка: +1
Здравствуйте, Cyberax, Вы писали:

C>При переходе наоборот — тоже.

ну в этом случае они явно есть, что уже плюс
социализм или варварство
Re: Чем плох Паскаль?
От: Lepsik Индия figvam.ca
Дата: 01.07.19 02:27
Оценка:
C>Говоря двумя словами: потому что в Паскале минимум неоднозначности синтаксиса.

Это была шутка?

напишите вложенный case на 3 уровня.
Re[2]: Чем плох Паскаль?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 01.07.19 04:26
Оценка:
Здравствуйте, Lepsik, Вы писали:

C>>Говоря двумя словами: потому что в Паскале минимум неоднозначности синтаксиса.


L>Это была шутка?


L>напишите вложенный case на 3 уровня.


Хм, а что в этом случае не так? Прошу пример кода.
The God is real, unless declared integer.
Re[8]: Чем плох Паскаль?
От: pagid Россия  
Дата: 01.07.19 07:23
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Вот это ты спросил! Я ту Наири видел совсем недолго.

А я совсем не застал. Но такая легенда передавалась студентами из поколения в поколение На самом деле за несколько лет до нас списали. Сбой получали увеличивая плавно тактовую частоту, чтоб побыстрей работала. И да, в те времена, когда легенда ходила, про синий экран винды и кернел паник, никто еще ничего не знал.
Re[9]: Чем плох Паскаль?
От: Privalov  
Дата: 01.07.19 08:50
Оценка:
Здравствуйте, pagid, Вы писали:

P>А я совсем не застал. Но такая легенда передавалась студентами из поколения в поколение На самом деле за несколько лет до нас списали. Сбой получали увеличивая плавно тактовую частоту, чтоб побыстрей работала. И да, в те времена, когда легенда ходила, про синий экран винды и кернел паник, никто еще ничего не знал.


Считай, мне повезло. Я еще школьником даже что-толамповое живым видел. Глухомань, что ты хочешь. Потому, вмдимо, и "Наири" удалось попробовать немного.
Система забавная. Два оператора присваивания: ВЫЧИСЛИМ и ВСТАВИМ. Еще было ДОПУСТИМ, но это для инициализации констант или переменных. ЕМНИП, операторы пронумерованы, как в доисторическом ВАСИКе. Как сделать цикл или переход — не помню.
Немного позже мне показали распечатки на русском Коболе. Читать их было неудобно. Что-то там с падежами.
И про тактовую частоту я ничего тогда не слышал. Все мерялось в операциях в секунду.
Re[10]: Чем плох Паскаль?
От: pagid Россия  
Дата: 01.07.19 09:55
Оценка:
Здравствуйте, Privalov, Вы писали:

P>И про тактовую частоту я ничего тогда не слышал. Все мерялось в операциях в секунду.

Мы не могли не слышать, из нас не программистов делали, а проектировщиков ЭВМ. Основной учебный предмет — Теория и проектирование вычислительных то ли машин, то ли систем, не помню уже.
А программированию так, как побочному делу учили.
Re[2]: Чем плох Паскаль?
От: VladiCh  
Дата: 02.07.19 03:30
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, Cicero, Вы писали:


C>>Очень часто это слышу: Паскаль(иногда конкретизируют: Turbo Pascal) не подходят для обучения программированию.

C>>Обычно аргументов нет. Самый "сильный" аргумент — это несовременный!
C>Самый сильный аргумент — он просто уродливый.

C>Если изучать программирование, то есть две цели:

C>1) Общеобразовательная.
C>2) Обучение для программистов.

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


C>Так же нет нормальной современной графики, так что ребёнок нельзя написать красивую анимированную программу. Нет нормальной руссификации и т.д. Среда разработки по нынешним меркам просто убога — школьники пишут простыни вообще без отступов.


C>Для обучения программистов всё вышесказанное, плюс к этому добавляется железный барьер — работа с динамическими структурами вообще совсем никакая. Указатели в Паскале придумали какие-то извращенцы. Каких-либо полезных библиотек под Паскаль тоже нет — вывести JPEG-изображение или добавить звук в программу просто не получится.


C>В современном варианте было бы лучше что-то типа Питона с графической средой. Или как вариант: https://www.apple.com/swift/playgrounds/ — лучшее, что я вообще видел для детей.


Вот фиг знает. Если начинать с сильно высокоуровневых концепций, то теряется целостная картина. То есть начнешь писать на Питоне с графикой, не будешь понимать как оно работает под капотом.
С другой стороны начинать с С и Ассемблера слишком хардкорно, а С++ черезчур переусложнен. Языки типа Java и С# ближе, но опять же VM не дает работать с железом напрямую, требуются пляски в бубном. Паскаль, несмотря на необычный синтаксис, довольно сбалансирован в этом смысле. По крайней мере в древней реализации от Борланда, с новыми вариантами я дела не имел да и в последний раз к нему прикасался лет 20 назад. Он был не сильно сложен, но при этом там легко можно было фигачить ассемблерные ставки и оптимизировать нужные куски. Синтаксис более читабельный, что бы ни говорили любители скобочек (или отсутствия видимых разделителей как Питоне). Более многословный синтаксис, но более читабельный (хотя это частично дело вкуса).
Вывести JPEG или звук кстати и 20 лет назад не было никаких проблем — библиотек для этого было навалом. Как первый язык для изучения он не самый лучший может быть, но и не самый плохой, даже в это древнем варианте. Для обучения вообще не очень полезно мне кажется хвататься за инструменты позволяющие давать быстрый результат в виде графики, звука и прочей чепухи. По крайней мере для детей. Потому что развлекательная часть легко перевешивает познавательную, и после получения дозы развлечения двигаться дальше будет сложнее. Это все равно что давать 6-летним детям изучать арифметику на ipad-е, а потом удивляться почему арифметика не выучена и ipad вытеснил всю учебу вообще .
Re[4]: Чем плох Паскаль?
От: VladiCh  
Дата: 02.07.19 03:38
Оценка: +1
Здравствуйте, Александр Кузнецов, Вы писали:

АК>Здравствуйте, alpha21264, Вы писали:


I>>>зачем обучать мёртвому языку ?


A>>В инязе обучение английскому начинают с латыни. Ну это так, в качестве примера.


АК>Ну, английский, всё-таки, от латыни произошёл, значительную часть слов и конструкций вполне себе успешно из неё заимствовал, и в некоторых моментах для понимания, "почему так" латынь там вполне себе может помочь.

АК>А вот начинать учить английский с, например, старонорвежского, я бы всё-таки не советовал.

Старонорвежский был бы по логике ближе, следуя вашей логике, т.к. он гораздо ближе к староанглийскому чем латынь.
Английский если что ни разу не от латыни произошел. Заимствовал кучу слов, это да.
Ну так и Паскаль тоже многое заимствовал из более ранних языков, совершенно новых концепций в любом современном языке не сыщешь днем с огнем.
Также как и из Паскаля заимствований достаточно. Вообще практика использования учебного языка вместо промышленного имеет право на жизнь мне кажется.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.