Версия PascalABC.NET 3.5

Всё идёт к брейнфаку.

Мы тут еще хотим разрешить писать программы без begin-end - если в них модулей нет. Это как раз льёт воду на мельницу вашего предложения.

В смысле? Вместо этого:

begin
  Writeln(1);
end.

Это?:

  
  Writeln(1);
  

Так а зачем, если be + (Shift+Space)? Я эту комбинацию уже за меньше 100мс нажимаю)) (точно не замерял)

Да и автовставка же пустым файлам begin-end. добавляет…

Writeln(1)

После появления такой конструкции можно будет красиво писать в программы одну строчку)

Тогда это уже не Pascal. Если, всё-же хочется сделать подобную вещь, то можно обратиться к Visual Studio/Rider, где подобное реализуется отдельным окном C# Interactive. Правда, в нём программы выполняются «на лету».

Где я писал, что Вы соврали? Вы переврали запись оператора, указанного как образец кода для будущей версии 3.6. А именно, зачем-то указали скобки и отбросили then. В русском языке “соврать” и “переврать” - совершенно разные вещи. Пожалуйста, воздержитесь от приписывания мне того, что я не заявлял: это плохой способ общения.

Затем, например, что начинающим можно на первом же занятии устроить “калькулятор”, не объясняя структуру программы. Как на Питоне, только вдобавок не подключая библиотек для функций. Дать возможность сосредоточится на программировании выражений, а не отвлекаться на begin с end. Кроме того, это экономит 9 символов для желающих потягаться с питоновскими программами на сайте АСМР, где царит странный критерий кода с минимальной длиной.

О… а лямбды - это паскаль? Кортежи - паскаль? Упрощенная запись однострочных функций и процедур - паскаль? Да, все это - паскаль. Такой вот паскаль, свеженький. Который PascalАВС.NЕТ. Кроме того, это всего лишь возможность. Никто не собирается отнимать право писать begin … end.

А разве я где-то утверждал, что синтетика - это плохо? Это отличная идея: брать от других лучшее.

Я не знаю почему разработчики решили добавлять такое нововведение. Но, у меня ощущение, что мы всё больше и больше отдаляемся от классического Pascal. Так, ведь можно отдалится настолько, что люди уйдут с данного языка на классическую его реализацию, поскольку он перестанет быть совместимым с тем, что им дают в школах и университетах. Не побегут все авторы своих книг по Pascal их переписывать только потому, что здесь добавились новые возможности. Сейчас, как Вы ни раз подмечали, язык огромен. Сколько можно добавлять нововведения? Не лучше ли до идеального уровня отшлифовать то, что уже имеется? Я согласен с тем, что данное улучшение ничего не сломает, но не лучше ли потратить время разработчикам на полировку уже существующего функционала? Лучше качество, а не количество, на мой взгляд. Лучше функционал будет меньше в размере, но будет качественней. Нет, не критика, а лишь к тому, что можно искоренить почти все ошибки в том, что есть, а не добавлять новое, ведь неизвестно где в новом будут ошибки, если не исправить старые.

Я лишь процитирую то, что было сказано разработчиками в одной из презентаций:

Язык, который перестал развиваться, умер.

Именно потому, что классический паскаль давно умер.

Не побегут - это их выбор. Книги по FPC, TurboPascal и Delphi уже давно никого не интересуют.

В данном случае это лишь небольшое изменение в синтаксис. Которое обскурантисты могут просто игнорировать. Мы постепенно идем к “голубой мечте” - сделать два Паскаля. Один для школьной платформы, который останется на Microsoft.NЕТ и второй, в котором умрет большая часть отжившего, - на платформe NET Core.

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

А это что то новенькое. @Admin недавно говорил про то что неплохо бы на Core перейти, но не помню ничего про отбрасывание устаревшего.

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

1 лайк

Потянут ли в таком случае разработчики поддерживать два проекта одновременно? Или версия под NET перестанет развиваться и силы двух разработчиков бросятся на NET Core? Что Вы об этом думаете? (Я, конечно, и Вы, и кто-либо другой, можем только предполагать как всё будет…)

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

Вон, Pascal ABC не поддерживается уже 11 с лишком лет, а некоторые учебные заведения упорно продолжают с ним работать. Если Вам нужны подтверждения - милости прошу в личку, я дам ссылки на задачи школьников с просьбами именно на Pascal ABC дать решения.

1 лайк