Рассуждения о том, что паскаль мёртв и как надо сдавать ЕГЭ

С точки зрения полезности, как вы точно подметили, паскаль скорее мертв и реальных проектов на нем минимум и если и есть, то на free pascal. На нем хотя бы в принципе можно написать чтото кроссплатформенное, даже на ios умудряются портировать. На pascalabc.net вообще ничего, кроме школьных поделок, поэтому в целом он еще менее интересен. Ну может только горе-учителям, которые другие языки не смогли. Да, с него потом в принципе можно перейти на шарп, но зачем, если можно сразу начать его учить.

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

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

Для решения задач ЕГЭ должно быть вообще не важно какой там компилятор. Если ученик может написать корректный код, то пофигу на каком языке из допустимых. Есть апеляция для случаев когда проверяющие застряли в 90-х.

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

Апелляция теперь разрешена только на темы “не загрузилось ПО, не сохранился ответ, компьютер завис”.

В части библиотек - никто и не предлагает “нестандартные библиотеки” - только из комплекта поставки и опционального выбора библиотек в инсталляторе нет. Не надо свои домыслы выдавать за истину.

Это Вы где взяли? Откройте материалы ФИПИ и почитайте, что там и как. Разрешены любые языки по выбору школы, но есть те, которые должны быть обязательно. И C# среди них пока нет.

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

А Ваши рассуждения про линуксы/fpc - это так, “крошки табачные”. Вот Вам сделали песочницу тут - и можете продолжать на эту тему сами с собой разговаривать.

1 лайк

Спецификация КИМ ЕГЭ 2022 г. ИНФОРМАТИКА, 11 класс.

  1. Дополнительные материалы и оборудование Перечень дополнительных материалов и оборудования, использование которых разрешено при проведении ЕГЭ, утверждается приказом Минпросвещения России и Рособрнадзора. Для выполнения работы необходим компьютер с установленной на нём операционной системой, редакторами электронных таблиц, текстовыми редакторами, средами программирования на языках: Школьный алгоритмический язык, С#, C++, Pascal, Java, Python.

Поискал за 2021 - тоже самое… дальше просто лень.

Школьный алгоритмический язык, С# , C++, Pascal, Java, Python.

А куда бейсик дели? Что делать школьникам, которые его изучали (хотя они конечно ССЗБ, но всё-таки)?

Да, с него потом в принципе можно перейти на шарп, но зачем, если можно сразу начать его учить.

По-моему не стоит. C# завязан на платформу .NET, а будущее этой платформы крайне сомнительное, учитывая что мелкомягкие всё время меняют фреймворки. Например был Silverlight, а теперь мёрт, ещё какие-то были до него, но я уже не помню. В последнее время популярен WPF, но его запросто могут в любой момент поменять на что-нибудь другое. В качестве альтернативы Gtk#, конечно, тоже был, но он тоже почти заброшен.

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

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

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

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

С другой стороны, насколько я понял, @RAlex рассуждает с совершенно иной позиции. “Изучение программирования в школе нужно, чтобы сдать ЕГЭ”, но на самом деле всё совершенно наоборот. Изучение программирования в школе нужно, чтобы получить понимание принципов работы совеременных компьютеров и научиться ими управлять, а задача ЕГЭ — проверить, насколько качественно таковое понимание у школьников сформировалось.

Причём с этой позиции он как раз прав, поскольку PascalABC.net намеренно заточен на сдачу ЕГЭ, там множество готовых методов, которые малоприменимы в настоящем практическом программировании, но зато позволяют быстро получить готовые ответы на задачи тех типов, которые встречаются в ЕГЭ. Использование PascalABC.net, может быть и позволяет набрать баллы на ЕГЭ, но к сожалению оно препятствует настоящему изучению программирования, поскольку изучение глубинных принципов работы компьютеров там заменено внутренностями .NET.

Ну классический бейсик ССЗБ точно, VB.net менее предпочтителен, примеров поменьше. Шарп хотя бы применим в дальнейшем - Unity тот же.

Все это 1,2,3 есть в Сях, но я бы не начинал с них обучать - это не особо нужно для начала. Если понадобиться - после школы объяснят. Может только если ученик сам заинтересован. Насколько нужно всех обучать низкоуровневым вещам - большой вопрос.

В pabcnet действительно насыпали конструкций, которые немного упрощают жизнь, но я сомневаюсь, что это все сильно помогает решать 27 задачу - там кода не больше странички надо по идее. Я пару лет назад смотрел одну ради интереса - уложился строк в 10-15 на питоне - там скорее нужна голова, чтобы сам алгоритм решения придумать в ситуации стресса и нехватки времени. Можно научить человека всем конструкциям языка, но если он не знает как решить задачу в голове, то и код написать не сможет. И тогда совершенно не важно на каком языке он пишет.

Касаемо шарпа, на моём ноутбуке и полноценная Visual Studio C# присутствовала, но я выбрал абц.нет, так как для решения прикладных, но не проектных задач он гораздо удобнее.

Будете писать заведомую ложь, придется сообщения удалять. Не поможет - придется выдавать баны.

Никакой заведомой лжи тут не было. Я такой вывод сделал из ваших сообщений, причём не только в этой теме, но и ранее. Для уточнения я даже отредактировал то своё сообщение. Проверяйте.

Ваши основные аргументы были на тему того, что в PascalABC.net есть множество средств для быстрого и лёгкого решения задач из ЕГЭ, так что почти все задачи (которые на самом деле предполагается уметь решать в уме/на бумаге) там делаются в одну строку без раздумий. Разве не было такого?

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

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

Ну и ваши рассуждения про то что указатели не имеют ничего общего с изучением информатики из соседней темы косвенно подтверждают мнение catcher, что вы в первую очередь рассматриваете pabc как инструмеет сдачи ЕГЭ, чем он в целом и является, как бы вам не хотелось большего. Unsafe код все же нужен иногда для interop, но врятли в школе.

Хотя, конечно, он не прав в том, что abc обязан поддерживать все то, что есть в fpc. Можно просто использовать fpc/lazarus если надо. Может даже специально выделить время на то, чтобы показать что есть разные компиляторы со своими фишками и что такое переносимый код.

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

1 лайк

Дорогой elhana1, не обижайтесь, но вы точно не сдали и не знаете ЕГЭ. Почему поздно ответил на этом сообщение, потому что 21-января мой день рождения. Далее хочу сказать, что задачи в ЕГЭ это тестовые задачи. Полностью согласен с мнением RAlex. Потому что тестовый метод контроля знаний очень плохой метод и имеет много недостатки. Я разрабатывал другой метод контроля знаний - Метод Пулат. На его основе разрабатывал много программных обеспечение, в том числе на передовом языке PascalABC.Net! Я не против никакого языка программирования. Но почему не хотим сказать, что у Питона плохая среда разработки, что предоставляет трудность учащимся и программисту. Но это не значить, что не надо использовать и обучать Питон. Но язык PascalABC.Net новый язык, и на мой взгляд лучше чем Питона! По этому язык PascalABC.Net вперёд!

Ну да, я об этом в первом сообщении пишу, если что. Хотя не понимаю как можно “знать ЕГЭ”. Предмет не знаю или как проводится?

8 дней пить это круто. Простите, не удержался :slight_smile:

Согласен. Гораздо логичнее было бы не ответ проверять, а прогонять код через набор тестов, хотя это не имеет никакого отношения к языкам.

А мы про какую среду? IDLE, PyCharm? Их вообще вагон… Я лично всегда просто в Sublime на питоне писал, мне как-то IDE не нужна совсем. Школьникам для программы на 20 строчек полезность сомнительная.

У меня лично от ide pabcnet ощущения какой-то поделки. Но опять же ее под linux в принципе, а это моя рабочая ОС, так что тот же sublime ничем не хуже.

Не понял…

В каком смысле новый? Паскаль уже дедушка, пишется на нем очень мало чего. Дотнет уже тоже не свеж. То что его скрестили с дотнетом в 2007 мало что меняет.

Новый = лучше? Ну тогда надо брать Raku (aka perl6) - он новее :)) Или что там еще модно/молодежно.

“Лучше” зависит от целей и требует разъяснений “чем” лучше. Я бы скорее выбрал питон для обучения, но тема избитая

Чем вас не устраивает “классика”, то есть нормальный паскаль?

Да, он новый, потому что сильно отличается от старого Паскаля. " А мы про какую среду? IDLE, PyCharm? Их вообще вагон… Я лично всегда просто в Sublime на питоне писал, мне как-то IDE не нужна совсем. Школьникам для программы на 20 строчек полезность сомнительная." Потому что эти редакторы не работают без Питона, так что Питона тоже надо установить, и в файлах надо указать расширения py.

В основном тем, что он никому не нужен. Найдите вакансии, где надо паскаль или хотя бы дельфи. Наверно проще найти Ada, хотя оно и нишевое, но +/- имеет сферу применения. А никому не нужен => нет ни библиотек ни биндингов - печалька.

В этом плане дотнет конечно спасает положение, но примеры все на шарпе. В итоге если вам надо библиотеку, вы обречены портировать примеры на паскаль. И нахрен это надо, если можно просто юзать шарп.

А для обучения строгая типизация имхо лишнее, хотя кто-то считает наоборот. Например на питоне чтобы посчитать 2^500 не надо помнить что надо тип biginteger указать и т.п., хотя во втором тоже были приколы вроде 1/3=0, но в python3 с этим лучше.

Отличается тем, что его скрестили с дотнетом и небольшим набором “улучшалок” для школьников. По факту нет никакого серьезного софта, который использует pabc… даже на fpc хоть что-то есть, хотя он “старый” в вашей терминологии.

Да вы что? А ide pabcnet видимо без компилятора умеет работать? Просто IDE и компилятор ставится одним инсталятором. Можно без проблем запаковать в один при желании.

Зато вы можете писать часть кода на С, а часть на python например в VisualStudio или Eclipse в одной среде:

В pabc.net вы даже подсветку синтаксиса для других языков поставить не сможете. Да даже темной темы нет, насколько я помню. Уж лучше в sublime/atom/vscode(хотя не люблю электрон), даже под виндой.

Глупость какая, при чем тут расширение?. Можно python source.txt, можно шебанг прописать, виндузятники могут любое расширение назначить питону тоже.

А вы расчитываете изучить один язык и сразу пойти писать софт для продакшена? Так не бывает. Цель изучения паскаля — разобраться как работает компьютер, что такое программирование вообще и как писать алгоритмы для некоторых простейших действий, не углубляясь в искусственные абстракции, чуждые для машины Фон-Неймана.

Для начала обучающемуся нужно осознать, что компьютер не может просто так посчитать 2^500. Для этого оптимально подойдёт нормальный обычный паскаль. А вот когда он сможет написать программу, которая позволит вывести на экран это самое 2^500, пользуясь при этом имеющимися в процессоре регистрами по 64 или 32 бит, тогда уже его можно познакомить с библиотекой bignum, и она уже не будет для него какой-то магией, он будет представлять как эта библиотека работает изнутри и какие у неё есть ограничения.

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

А если вы сможете найти какие-то тривиальные баги и поправить их в реальном приложении - прям вообще отличная мотивация. Просто для примера, в transmission в одной версии сломалась сортировка по времени добавления торрентов, потому что else забыли: #5185 (sort by age) – Transmission

Типы данных это такая же абстракция. И BigInteger тут принципиально от Int не отличается, но ваш падаван может начать ставить его везде. А уж на managed языке (pabc) тем более все заботливо подстелено и огорожено и ни о каких регистрах знать не обязательно.

Только ассемблер - только хардкор! Зато падаван “с пеленок” узнает о регистрах, векторизации, выравнивании границ областей памяти и т.п. И не забыть рассказать о существующих архитектурах, а не только x86. :slight_smile:

Вот и я о чём. Нужно вначале что-то вроде BigInteger самому написать, а уже потом пользоваться готовым, тогда будет понятно, почему его не следует лепить где не надо.

Вряд ли. Да и паскаль тоже в будущем может пригодиться.

Да, но при этом не понимать вообще, как это вычисляется. Много ли школьников знают, что в Пайтоне Int - это на самом деле

struct _longobject {
    PyObject_VAR_HEAD
    digit ob_digit[1];  // массив цифр
};
1 лайк