Ошибки PascalABC.NET


#1751

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

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


#1752

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


#1753

Потому, что

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


#1754

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

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


#1755

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

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


#1756

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


#1757

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


#1758

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


#1759

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


#1760

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


#1761

Ну да…


#1762

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


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

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


#1764

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

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

case 1 of

end;

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

switch (1)
{

}

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


#1765

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


#1766

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


#1767

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


#1768

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


#1769

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


#1770

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