Ну, там много что не касается проблемы, я не сокращал программу (не убирал лишнее). Я же говорю, это нереально, уже 2 раза пришлось делать принудительную перезагрузку.
У меня - StackOverflowException Нужна минимальная программа
Ну, скиньте хотя бы .exe который у вас получается, тоже посмотрю… Или может кто то поможет, у кого тоже СтакОверфлоу, а не зависание винды целиком? (.exe всё равно скиньте).
А, нашёл… Ошибка глупая… А сколько оно в у вас оперативки тратило перед тем как дать StackOverflowException? Посмотрите, пожалуйста, через что то типа Мониторинга ресурсов.
До 4 доходило
Глеб, выкусите это из ошибок
Да, но многопоточности нет в конструкциях самого Паскаля – это уже фичи чистого .NET, который никто не запрещает использовать, если очень надо. Поэтому именно в данном языке иметь базовые неизменяемые типы никакой практической ценности нет.
Вы имеете в виду async и await? потому что все классы NET, в т.ч. современный Task разумеется присутствуют.
Ну как это нет. Стандартная NET-библиотека кишит параллельностью, всё это можно использовать в Паскале. Вот, в WPFObjects два потока
А все что вы перечислили – это уже относится к Паскалю?
Разные библиотеки, стандартные и не очень, могут кишеть (? ) чем угодно, но это еще не делает их реализацию частью возможностей самого языка. С помощью родных конструкций Паскаля нельзя управлять многопоточностью, с помощью классов .NET, псевдоязыка CIL и среды CLR – можно. Но мы же говорим не о скрытых трюках, а о стандартных возможностях языка и его стандартных типах.
Кроме того, для надежной многопоточности в языке хорошо иметь поддержку неизменяемых переменных любого типа, а не неизменность отдельных типов, прибитых гвоздями.
Что касается неизменяемости строк в управляемых языках – это вообще оптимизация для более эффективной организации кучи и сборки мусора, а не для многопоточности.
Есть какое-то противоречие в вашей фразе. Оно странное. Вы сравниваете язык Паскаль и классы .NET. Тогда давайте будем уже сравнивать языки PascalABC.NET и C#.
Ваши попытки сказать, что .NET - библиотеки к PascalABC.NET не имеют отношения я не понимаю.
Чтобы не быть голословным приведите пожалуйста примеры конструкций языка C#, которые поддерживают многопоточность ну и которых нет в PascalABC.NET. Иначе я не пойму, о чем Вы говорите.
Я их не сравниваю, а просто разделяю понятия. Родные конструкции языка и их возможности – это одно, возможности совместимых библиотек и нижележащей платформы – другое. Они между собой слабо связаны и развиваются независимо.
Они к языку имеют отношение только в том смысле, что их как-то можно подключить и использовать в программах на этом языке. Т.е. они имеют отношение к более широкому понятию системы программирования, а не к самому языку – примерно также, как возможности библиотеки LCL являются стандартной составляющей системы программирования Lazarus, а не диалекта языка ObjectPascal, который реализует компилятор FreePascal.
Иными словами, Lazarus – это система программирования в визуальной RAD-среде (1) на языке ObjectPascal (2) и на базе фреймворка LCL (3). Т.е. существует четкое разделение понятий на среду разработки (1), язык (2), базовую платформу (3) и систему программирования (1+2+3).
В PABC.NET есть постоянная путаница этих понятий, из-за того что нет отдельного названия для языка (точнее своего диалекта), который семантически был бы отделен от названия среды и системы программирования.
По случаю предлагаю своё название: ЮФУ-Паскаль – по аналогии с Борланд Паскаль. Или Ростов-Паскаль Ну, или по-модному: Modern Pascal / Future Pascal / dotPascal.
async / await
Это конструкции для обеспечения многопоточности.
Именно – конструкции для обеспечения многопоточности, которых нет в языке Паскаль, но которые есть в C#. Может быть пока еще нет.
Нет, ошибаетесь. Такая же история с Delphi - с некоторых пор язык программирования Object Pascal стал называться Delphi. А система программирования всегда называлась Delphi.
Странно, что Вы предлагаете другое название при условии что название у языка есть - PascalABC.NET. Посмотрите Википедию.
Да, согласен - async и await нет - всё руки не доходят. Зато lock есть.
Вроде это всё - других конструкций в C# нет.
Язык и библиотеки сейчас тесно связаны друг с другом - теснее чем когда бы то ни было. Многие сахарные конструкции языка реализуются через библиотечные конструкции. Например - кортежи. Или у нас - срезы.
"Это не техника дошла -- это я сама к вам дошла, на лыжах!" (с) Простоквашино
Это не я ошибаюсь, это их маркетологи в какой-то момент взяли и все опять запутали с Delphi!
Мне все равно как он называется или будет называться, я всего лишь предлагаю разделить эти понятия – ЯП и системы программирования, как минимум (среда разработки не такая уж особенная, чтобы ей отдельное имя давать). Считайте тогда мои предложения вариантами для именования системы программирования.
Аббревиатура SFU Pascal (Southern Federal University) – еще жестче для знающих английский слэнг.
Сколько ни говори “халва”, слаще не станет :)) Но можно еще DocentPascal
Но между тем в нём есть что-то особенное…
Особенно если не модерировать раздел