Замечания и предложения

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

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

Так что всем, кто дает предложения “под себя”, стоит задуматься, на чью мельницу они воду льют. А может, кто-то действительно предложит что-то для школ - то ли контент какой-то, библиотеки, языковые фичи под школьников (но не потрясающие основ языка), презентации или видеоуроки. Вот это будет точно полезно.

Нет

2 лайка

А где тут сами школьники? Их уже всех Питон удавил?

Ходют тут - всякие! image

Они стесняются сюда ходить. По принципу “Спасибо, лучше вы к нам…”

Не, я больше в школу не хочу. Я своё уже отсидел - от первого звонка до последнего.

Скачал Вашу книгу:

На первый взгляд - великолепно! Поборю лень интересом и любопытством - посмотрю внимательно и, возможно, вчитаюсь. В принципе, мы могли бы писать книги друг для друга, но где вся эта мелкая сволочь? С таким подрастающим поколением придётся до 70 лет работать. Как бы уже их посадить не только на карантин, но и за учебники?

Учителей тоже не видно. А эти чего прячутся? Сидят за кустиками и наблюдают, кто победит: паскаль или Питон? Получается так: предложение есть, а спроса нет.

УДАРИМ ПАСКАЛЕМ ПО БЕЗДОРОЖЬЮ И РАЗГИЛЬДЯЙСТВУ!

1 лайк

Сообщение перенесено в новую тему: Бум скачиваний PascalABC.NET в период самоизоляции

@Valery, мы надеемся и рассчитываем и на ваши новые книги по PascalABC.NET!!!

2 лайка

Не представляю, как можно выиграть гонку в текущих условиях. Под Python полно библиотек. Синтаксис краткий. Что ему можно противопоставить? Тут нужна радикальная идея. Может быть интерфейс к Python и его библиотекам. Может быть, радикальное изменение синтаксиса в сторону сходства с Python. Может быть гибкий синтаксис, который в одной программе допускает переключение между Pascal и Python. А может и плавный переход. И далее решать кучу проблем по интеграцию статической и динамической типизации. Это полет мысли. Критиковать не стоит )

Полёт мысли сорвался в штопор.

Питон - это мода. Мода приходит и уходит, а паскаль останется навсегда. Классика вечна.

1 лайк

Увы, это не мода, а прагматизм. Небольшой одноразовый скрипт удобно и быстро можно написать на кратком и простом языке. Да, я знаю что на нём легко ошибиться. Код медленно выполняется. Но каким-то чудом Python стал языком №1 в Data Science для обработки BigData. Почему? Потому как на нём просто взять данные “оттуда”, выбросить лишнее и положить “туда”. А вся математика делается оптимизированными библиотеками. Аналогичный код на C# раза в три больше строк/символов выходит.

А теперь давайте сделаем паузу и подумаем: какие библиотеки нужны в процессе обучения школьника информатике? NumPy - ее запрещают в большинстве заданий и почти всегда на олимпиадах. math? Ну так в ней лежит то, что в Паскале доступно без этих плясок с бубном. array? В паскале просто есть массивы без этих глупостей. Что еще? datetime? collections? os? string? re? Все это в PascalАВС.NЕТ уже подключено. Т.е. не нужно помнить, что где лежит. Причем, если Питон ныряет в эти сишные библиотеки, чтобы хоть как-то оправдаться и наверстать потери своей тормознутости, паскалю это не нужно. У него библиотека или .NET, или своя, написанная на паскале же. Т.е. есть исходник и можно посмотреть в учебных целях, как оно устроено. Итак, “множество библиотек Питона” - это с точи зрения обучения в школе - миф.

Синтаксис краткий? Ну ему PascalАВС.NЕТ практически не уступает. Если, конечно, на нем не писать в стиле “А это тупой рецензент не поймет”. Питоновская игра в отступы, где один неверный смертелен? Собственно, в только что вышедшей книге я довольно много написал о недостатках Питона в первой главе… Не вижу смысла повторяться.

1 лайк

Конечно PascalABC.NET очень хорош для обучения. Иначе бы я даже не пытался его продвигать. Проблема не в PascalABC.NET. Проблема на другой стороне. На стороне учащихся. Они воспринимают PABC как дополнительную когнитивную нагрузку. Шаг в сторону (изнурительную работу) . На Python можно изучать язык программирования играючи (есть такой проект). Или сделать даже неплохую игру. Или сайт серьезный сделать на Django. Или натренировать модель на TensorFlow или Pytorch. Или бота для ВК написать. Да много чего еще.

Python плох, но научиться скрипты писать на нём значительно проще, чем на Pascal.

Может быть есть путь при котором можно гибко писать код? Например, выставил в опциях компилятора автозамену // и % на div/mod. И отступы вместо begin end )))) Да, это будет другой язык, который легко транслируется в Pascal или Python (простые скрипты). И пусть в глазах смотрящего это будет Python. А исполняемый файл будет .Net

А это потому, что Вы их переучивать пытаетесь. Они же знают, что для сдачи ЕГЭ достаточно того, чему их научили. Им не нужно изучать фишки паскаля, им нужно сдать ЕГЭ. А язык они будут в вузе изучать, который по программе там будет.

PascalАВС.NЕТ - это для изучения с азов. Переучивать можно (и нужно) учителей, а не детей. Либо жестко сказать: я делаю разбор только на таком-то языке. И примириться с потенциальной потерей части аудитории. Но вибрировать между диалектами хуже намного.

То, что изучать Питон с нуля проще, чем Паскаль - миф. Полнейший. Вот с чего Вы решили, что на нем скрипты проще паскалевских программ?

И еще. я не думаю, что быть подстилкой для питона - это правильный путь.

А можно несколько конкретных примеров, иллюстрирующих это “значительно проще”? Чтобы стало понятно, о чём Вы говорите. Можно со ссылками - как удобно.

1 лайк

Мне бы, к примеру, хотелось посмотреть на скрипт, реализующий нижеследующую программу. Чтобы убедиться в том, что на Питоне “проще”

/// Поворот матрицы вправо на 90
begin
  var n := ReadInteger;
  var a := MatrRandom(n, n, -99, 99);
  a.Println;
  Writeln;
  for var i := 0 to n div 2 do
    for var j := i to n - i - 2 do
    begin  
      var tmp := a[i,j];
      a[i,j] := a[n-j-1,i];
      a[n-j-1,i] := a[n-i-1,n-j-1];
      a[n-i-1,n-j-1] := a[j,n-i-1];
      a[j,n-i-1] := tmp;
    end;  
  a.Println
end.

Пока еще ни один адепт серпентологии не написал чего-нибудь внятного. Видимо, Ван Россум тут нужен… Поясню: на просьбу показать скрипт-аналог все время ответ в стиле “сам дурак!”.

1 лайк

На мой взгляд недостаток Python в том, что первые программы можно писать не задумываясь о типах. Опять же, ИМХО, плюс классического Pascal в том, что типы нужно описывать явно в отдельном блоке. Это как разница между арифметикой и физикой. И уже оперируя типами в мышлении мы можем легко переходить на вывод типов. Можем писать var a = 2+3. Но когда в самом начале от школьника требуют писать VAR что ему сказать? Для локальных переменных тип указывать? Будет еще больше кода

Код на Pascal читать легче, потому что в синтаксисе больше слов. Непривыкшему глазу проще. По первости код на Си воспринимается как набор крокозябр. Но далее возникает проблема набора “многобукв”. Проще поставить % вместо MOD или && вместо AND. Или вообще не писать BEGIN END, а ставить отступы.

Они воспринимают PABC как дополнительную когнитивную нагрузку.

А это потому, что Вы их переучивать пытаетесь.

Так они в целом Pascal считают нерациональной когнитивной нагрузкой. И стремятся минимизировать свои усилия по его изучению.

Этот “плюс” изгнали все современные языки, он не вписывается в современные парадигмы и ломает оптимизацию кода.

Кода больше не будет. Ну приведите примеры.

2 лайка

В каждом языке есть свои уникальные плюсы. Матрицы в Python его слабое место. Списки вместо массивов его сильная сторона. Вот код решения задачи 27-115 на Python. И не нужно объяснять им про динамические массивы

(PS:не понял, почему картинки такие большие вышли)

Опять не в ту степь! Писать нужно не быстро, а правильно. Быстро только кошки родятся. Код должен быть НАДЁЖНЫМ. Всё остальное - от лукавого. Разработка программы - это не быстрый набор текста, с которым справится и секретарша. А кто докажет верность алгоритма, кто тестирует программу, кто её отлаживает?

ПОСПЕШИШЬ - ЛЮДЕЙ НАСМЕШИШЬ.

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

Всё познаётся в сравнении. Где тесты, доказывающие, что Питон лучше паскаля? Личное мнение и предпочтения доказательствами не являются.

Каждому своё: нетерпеливый строчит код на Питоне, а рассудительный - без спешки пишет на паскале.

Согласен: большая куча дерьма гору не заменит.