Ошибки PascalABC.NET

Вот и я о том, что в Паскале только константы. А в C++ можно ввести с клавиатуры размер массива и поместить его в стек.

@RAlex, всё равно не понятно. Почему имя не мог задать сам компилятор?

Ну вот в Фортране есть что-то подобное?

Потому, что

То есть если её нет - значит подключатся к файловой системе не надо, на сколько я понял.

Что-то подобное чему?

Ну это не ко мне. Попробуйте вот тут, например, почитать в главе про файлы и Приложении.

Я спросил не зачем она нужна, а почему имя не мог задать сам компилятор. Например PascalABC.NET даёт имя, соответствующее имени файла исходного кода.

Паскалевскому заголовку программы.

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

1 лайк

Но в PascalABC.NET это вроде бы тоже есть, если Вы про модульное программирование.

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

А, тогда понятно. Но только такого не может быть в NET - языке. Объектные файлы не генерируются при компиляции.

Первый фортран датируется 1953 годом… Какое ему дело до .NET языков ?

Ну да…

Стоп, а тогда вообще был компилятор в привычном понимании?

"Средставьте пребе, стредставьте пребе,
- былёнененький он зел!"

А Вы считаете, что программу вводили при помощи тумблеров и переключателей, а чтобы машина работала, оператор крутил педали, как на велосипеде? И в таких условиях рассчитывали плотины, создавали водородную бомбу и человека в космос запускали? Нет, уважаемый, это все считалось на Фортране!

1 лайк

Запретил пустые case и match. Пустой case запрещен в грамматике Delphi.

Теперь так нельзя:

case 1 of

end;

С другой стороны, в C# можно пустой switch:

switch (1)
{

}

Может, вернуть пустой case?

Я считаю, нужно вернуть. Он уж точно не нарушит совместимость. И вообще, зачем постоянно запрещать что-то, особенно если это не баг и не доставляет неудобств? Вот в каком состоянии, например, статические классы? А они нужны между прочим.

1 лайк

Я, конечно, сознаю, что “хозяин - барин”. И не собираюсь писать пустые case, а уж тем более, какие-то загадочные match, представляющие больше академический интерес. Но вот это постоянное “так в Delphi” начинает напоминать ностальгическую икону древнеязыческого божка. Дельфи помер - и слава богу! Мерзкая, однако же, система была…

1 лайк

Полностью поддерживаю. Даже Вам уже надоели постоянные ссылки на Delphi. А давайте ка лучше на Oxygene ссылаться? Введём компилятор в чистый машинный код, наравне с NET-овским, для разных платформ. Например Андроид. Введём несколько диалектов, как уже предлагали ранее, разрешим уже наконец отключать PABCSystem… Список могу продолжить, надо?

Это что должно означать? Редкую замшелость?

Нет, просто Вы ведь хотите сохранить совместимость, а тут её вроде бы как ущемляют(во всяком случае хотят так считать).

Хочу. Но я помню, что Дельфи сейчас единицы изучают - в основном все же Турбо/Фри Паскаль. А уважаемый @Admin предложил в параллельной ветке зафиксировать нишу языка на 95%, как для обучения.