Kemet писал(а):
Comdiv писал(а):
Kemet писал(а):
Очень смешно. Так что там в Оберон заложено? Где оно?
Смешно без причины - это тревожный признак. Вы не знаете, где в Обероне заложен контроль целостности памяти? Этого нет в его многочисленных воплощениях? Вы помните, в каком контексте был упомянут valgrind?
Серьёзнаааа???!!!
Покажи мне в репорте, где там про контроль целостности памяти.
Там ещё что=то про шарп было, да ну ты чтооо, погугли хотя бы про утечки памяти и стоны страждущих)))) В Расте сами разработчики говорят, их решение не про утечки, и целостность)))) там тоже утечки и нарушение целостности. Я тебя умоляю, давай не будем доводить до абсурда.
В Обероне нет никаких, еще раз напишу, совершенно никаких, средств для решения описанной тобой проблемы. Если речь сейчас пойдет про сборщик мусора....))))
Это не особо раскрыто в объявлении о языке, так как объявление о языке преднамеренно краткое. Но есть, например, про отсутствие DISPOSE.
Цитата:
2) There is no DISPOSE procedure. Memory cannot be deallocated manually, since this would
introduce the safety problem of memory leaks and of dangling pointers, i.e., premature deallocation.
Except for those embedded systems where no dynamic memory is used, or where it can be allocated
once and never needs to be released, an automatic garbage collector is required.
Смотрите дополнительную литературу по Оберону. Есть публикации Пфистера и Шиперски, где они больше говорят про эти вопросы.
Вот например Clemens Szyperski and John Gough, The Role of Programming Languages in the Life-Cycle of Safe Systems.
Цитата:
Strangely enough, despite the existence of viable alternatives, many software components — including safety-critical ones — get produced using languages that either provide dynamic safety only, only partial static/dynamic safety, or no safety at all.
Some examples of programming languages in each of the above categories are:
* Static and Dynamic Safety. Oberon [22], garbage-collected versions of Ada 2 , Java [23], Sather [20].
* Dynamic Safety Only. Smalltalk [11], Lisp.
* Partial Static/Dynamic Safety. Pascal, Modula-2, and Ada (using explicit deallocation).
* Unsafe C, C++.