Средняя школа и PascalABC.NET 3.2

У нас на обл. олимпиадах в прошлые годы использовать PascalABC.NET было не желательно, рекомендовалось либо Free Pascal, либо Delphi. (да и сейчас в метод. материалах абс нет) Это как-то было связано с автоматичекой проверкой задач. А это не удобно. Хотя бы привык ученик объявлять переменные в коде или в цикле - надо будет написать по другому… писать “по классически”. Надо активнее работать по внедрению языка в олимпиады, с региональными комиссиями…

  1. некому с ними работать
  2. они не захотят ставить современную версию.Не захотят потому, что тогда PascalABC.NЕТ, заточенный на очень быструю и короткую разработку большинства типовых учебных задач оставит далеко позади все прочие языки, что вызовет массовый приток на него школьников. А сейчас “удобно” - посмотрите на правила регионального этапа ВОШ. Там ясно сказано, что использование языков за пределами C/C++/Free Pascal не гарантирует (!) получения полных баллов за решение. Поскольку в условиях олимпиады на Free Pascal написать что-то серьезное сложнее, чем на том же С++, вполне понятно, чему отдано предпочтение.

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

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

1 лайк

Мы пытались. Это глухо

Не стоит сразу моду, устои и предпочтения списывать на сговор, а как отмазки против именно PABC .NET слышал о сырости, поощрении неряшливости кодинга и ориентированности на ленивых программистов - с готовыми библиотеками. Отчасти верно, ведь framework - это каркас готовых решений для быстрого решения задачи, а остальное - от программиста.

Например, у нас в школьной олимпиаде участвовали около десятка желающих (прогулять уроки), при этом все призёры известны заранее. Другое дело, что задания можно было делать на любом из установленных диалектов C/Basic/Pascal. Так получилось, что учитель нормально знал только Cobol/Fortran/SmallTalk, поэтому сразу предупредил по сути:

Пишите хоть на ASMе, но дискету с компилятором – БЕЗ ВИРУСНИ! - у кого пикнет aidstest или drweb - идут на уроки! – тащите сами: набираете задание и при мне запускаете. С вас исходник, компилятор и COM/EXE для DOS 6.1.

Самый правильный подход!

Предлагаете устроителям олимпиады принимать от каждого участника флешку с исходными кодами и необходимый дистрибутив? Боюсь, и месяца не хватит все проинсталлировать и проверить…

Вау… Вы, конечно же, не ленивы и для своих программ каждый раз с нуля пишете все эти синусы, логарифмы и квадратные корни? И на груди носите значок с надписью " I HATE cmath " ?

@Алекс, если это ваш субъективный сарказм, то ладно, но если действительно привычное ёрничанье, то

  1. меня бы здесь не было, если бы чем-то не устраивал или чем-то не подходил PABC.NET;

  2. мнение про .NET и PABC .NET в частности высказали члены областной комиссии, и остаётся открытым вопрос почему они до сих пор так считают;

  3. готовые библиотеки – это часть решения, поэтому справедливости ради нужно либо разрешить использовать аналоги в других языках, либо запретить и пусть всё пишут своё.

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

Например, было бы архистранно, если бы наш школьный учитель справедливо потребовал писать только на понятных ему языках. Кроме того, описаны 90-е годы, и все готовые исходники распечатали на принтере, а файлы спокойно собрали по локалке на учительский компьютер. No problemo! Хотя немного жаль, что осталось за кадром, с кем он консультировался и как разбирал)

@NRA, по пунктам:

  1. Я нигде не рассуждал о том, устраивает ли персонально Вас .NET и PascalABC.NЕТ. Речь о лоббировании определенными группами чиновников и функционеров тех или иных языков и чего греха таить - все мы догадываемся об истинных причинах этого, но писать о них смысла нет, поскольку это никак не связано с тематикой форума.
  2. Почему - да понятно почему. Во-первых, каждый “занявший кресло”, заботится лишь о том, как в нем подольше удержаться, для чего ему нужно встроиться в существующую систему. Чтобы что-то там ломать, нужны побудительные мотивы. Опять же, пути создания таких мотивов отлично известны и тут не место о них писать. Во-вторых, сломать сложившуюся систему в обход чиновников силами команды из двух разработчиков и гневными филиппиками на форуме вуза нереально. И это тоже должно быть понятно.
  3. Готовые библиотеки - это инструментарий, а не часть решения, не фантазируйте, пожалуйста. Давайте, к примеру, подвергнем Python остракизму - ведь без библиотеки NumPy он ни на что не нужен, а библиотека там содержит далеко не функцию для возведения в квадрат! Стандартная библиотека - часть языка. Даже на олимпиадах никто не возражает против использования в С/С++ библиотеки STL, так почему же Вы ополчаетесь на стандартную же, даже не требующую отдельного подключения библиотеку примитивов PascalABC.NЕТ ? Дело именно в том, что правила олимпиад разрешают подключение любых библиотек, являющихся стандартными, т.е. идущих в дистрибутиве. Так что если (предположим на минуту) включить в состав PascalABС.NЕТ библиотеку, содержащую готовые фрагменты кодов для олимпиадных задач, формально не будет повода запретить и их использование, но тогда останется выход не ставить версию компилятора, поддерживающую такие возможности. Что мы, фактически, имеем уже сейчас.

Насчет мэйнстрима - это к устроителям олимпиад. Если Вы близко к теме ЕГЭ, обратите внимание на инструктивные материала ФИПИ для проверяющих комиссий: там четко сказано, что школьник имеет право использовать абсолютно любой язык программирования в любой его версии, но в этом случае он обязан указать название языка и эту версию. Поскольку ЕГЭ сдается без компьютера, проблем с программным обеспечением нет. Возникают проблемы у проверяющих и, вопреки инструкциям, они часто ограничиваются несколькими компиляторами, просто бракуя все, что не проходит компиляцию. Не все потом подадут апелляцию, да пока время пройдет… а там “умрут или эмир, или ишак, или я” (с)

2 лайка

Так и я о том же: жёсткий синтаксис - плохо, свободный - слишком безалаберно; есть готовые средства быстрой разработки (RAD) - хорошо, но использовать их вроде моветон; компилятор постоянно развивается - хорошо, но тогда он постоянно сырой - плохо, есть многогранный инструмент - хорошо, но раньше такого не было - плохо…

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

Иногда возникает мысль, что многое у нас организуют, проводят и делают через что-то не то и в духе “Рацио для слабаков! Безумие – путь к настоящей свободе!” Это как пресловутый эксперимент с обезьянами, которых приучили не трогать бананы, потому что за это всех обливали холодной водой, и постепенно подсаживали новых особей, пока не получилась стая обезьян, которые не давали друг-другу использовать PABC.NEТ - то есть - брать бананы, но даже сами не знали причины

Вот делаю, как говорится, что могу: работаю над книгой (настоящей) по PascalABC.NЕТ. Думается, это немного поможет переломить ситуацию с обучением, потому что сейчас компилятор есть, а понимания того, как все эти новые возможности использовать, нет. Мне, все же программисту со стажем более 45 лет, понадобился, наверно в целом год, чтобы научиться более-менее полноценно использовать этот язык, который к тому же не стоит на месте. А какой шанс разобраться с ним у обыкновенного школьного учителя информатики? И какая у него мотивация? Из описания языка на сегодня - Справка и несколько презентаций на сайте. В процессе работы над материалом появляется множество вопросов, которые удается решать благодаря контакту с разработчиками. Два человека вычитывают написанное - огромное им спасибо за этот труд! В общем, процесс идет понемногу…

3 лайка

@Алекс, а вот это интересно: целевая аудитория уже что-то кодящих, планируете наглядно показать отличия/преимущества или упор на уже знающих Pascal? А чем руководствуется выбор задач и примеров? Наверно это уже ближе к оффтопу, но нет отдельной темы, хотелось бы побольше узнать о книге (не справочник или самоучитель?), особенно при наличии параллельных исходников (хоть на псевдокоде) на подобии rosettacode.org и реальными проектами.

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

2 лайка

Говоря о полезных материалах по этому языку, хочу предоставить ссылку на свой сайт. Планирую продолжать туда выкладывать различные недокументированные (надеюсь, пока еще) фичи языка. Выкладываю материалы в виде заметок, может, кому-то и пригодится. Не знаю. Но, пусть тут останется. В общем:

1 лайк

Никакой меркантильной составляющей нет: книга в формате PDF будет доступна для свободного скачивания. Если разработчики не будут против, то на официальном сайте по PascalABC.NЕТ.

Что до аудитории - судите сами, вот рабочий вариант ее предисловия. 01 Предисловие.pdf (391,5 КБ)

2 лайка

К сожалению тут вмешиваются тестирующие системы, которые написаны под Линукс. Мне периодически приходят письма, что PascalABC.NET не запускается под тестирующей системой по непонятным причинам - выводится какая то внутренняя жуткая ошибка. Вероятно, какие-то специфические разрешения для NET там не выставлены.

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

2 лайка