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

Вот только пьяницы у ларька за одним только пивом пришли. Назовите хоть 1 участника форума, у которого больше 5% сообщений касаются новых фичей. Вот как раз то что люди пришедшие по разным причинам - задать вопрос в Помощь новичкам / рассказать о своём проекте в Проекты на PascalABC.NET и т.п. Но при этом у многих возникают ситуации, когда приходится писать огромные нагромождения, а <такая то фича из другого языка> упростила бы всё в несколько раз.

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

Если бы оно было так, то в том же C# этой фичи не было бы добавлено. А если добавили - значит на то была причина. Так почему бы не расширить язык PascalABC.Net этой фичей? А наличие багов в компиляторе - не повод сразу отвергать предложения по улучшению языка. А лишь повод улучшать компилятор.

2 лайка

Опять за рыбу гроши! Ну причем тут что-то, чего добавили в С# ? Ну это не повод купить себе собачку, потому что её купил себе сосед.

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

2 лайка

Например? Фортран, если я не ошибаюсь, ровесник Турбо Паскаля, конструкция могла быть устаревшей либо несовместимой со структурой языка. А C#, как всем известно, язык, предназначенный для программирования на чистом .NET, и там просто не может быть того, что может не пригодится/быть бесполезно. Я уверен в том, что ни у кого(включая администрацию) на форуме нет предвзятого отношения к кому-либо из участников, поэтому если Ваше предложение отклонили, а чьё-то нет, то это значит лишь то, что Вы предложили действительно что-то не то.

2 лайка

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

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

Ошибаетесь, причем сильно. Фортран - фактически первый полноценный алгоритмический язык. Его появление восходит к 1954 году.

1 лайк

То что это находится в issue - значит что когда то, но это всё же сделают. Никто и не ожидает что предложенную фичу реализуют завтра. Как и, опять же, с #843.

Я вас тоже уверяю, только в обратном :slight_smile:. Собсвенно, откуда и началась эта дискуссия. Вот только уверять бесполезно, пока не будет проведён опрос масс.

Из 315 issue (я считал с #660) созданных с 15 января, всего 11 предлагали новые фичи.

Подробнее
  • #716 - PutPixel в GraphWPF;
  • #722 - СКМ для закрытия файлов;
  • #744 - Тёмная тема редактора;
  • #772 - static (не совсем новое, вообще это замена sealed abstract)
  • #819 - Абстрактные свойства
  • #843 - Картежная распаковка в foreach
  • #844 - Авто свойства
  • #846 - Именованные аргументы
  • #847 - return (конечно, сразу дали отворот-поворот)
  • #848 - match, вот только его уже планировали в тот момент
  • #881 - Плагин горячих клавиш

Из них только 8 созданные активными участниками форума;
И из них только 5 взяты из C#.

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

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

Кроме того, даже если будет проведён опрос, и окажется что, к примеру, абстрактные свойства нужны 1% людей - это не повод не делать их. Это повод оставить валяться в issue на несколько лет.

4 лайка

Да кому же так не нравится автоинициализация?

Тем более.

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

3 лайка

Тут с Вами полностью согласен. Главное, чтобы это не противоречило структуре языка. А то тут было предложение ввести return в функциях. Фича, на 100% слизанная с C-подобных языков. Где-то - да, она нужна, но вот только она вступает в жёсткое противоречие со структурой языка. Из-за неё ведь не будут перекраивать язык.

Поэтому ее разработчики сразу же и категорически отсекли.

И правильно сделали.

Можете, пожалуйста, разрешить писать номер символа в 16-ичной системе?

writeln( #$20 )

Ожидается, что это выведет пробел

Это нарушает синтаксис оператора Writre. Пишется либо Chr(КодСимвола), либо #Десятичный КодСимвола. Поэтому либо Chr(32), либо Chr(#20), либо #32. А комбинация #$ образует странный код.

Нет желания попробовать сделать плагин для PascalABC.NET под Intellij IDEA (по сути, всей семейке IDE)? Можно в виде курсового проекта дать студенту какому-нибудь, заодно билет в JB / магистратуру СПбАУ ИТМО будет.

Я не совсем понял вашу логику. Числа все числа всё равно преобразуются в битовое представление, и десятеричные и шестнадцатеричные. И при чём тут вообще Write?

Write притом, что Вы его привели. Еще раз: #ЦелоеДесятичное - это синоним конструкции Chr(ЦелоеДесятичное) - напишите var x:=#64; и убедитесь. Вы же хотите заставить компилятор обрабатывать integer как шестнадцатиричное число.

Какой именно плагин? И зачем с PascalABC.NET лезть в IDE, в которой не поддерживается С/С++/С# ? А уж какое отношение сюда магистратура ИТМО имеет - вообще непонятно.