- 1
http://habrahabr.ru/post/72959/
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+142
http://habrahabr.ru/post/72959/
Сразу прошу извинить...
1. за хабр ;(
1. за баянизм - ссылка на этот пост уже была на гк.
Знаю по опыту, что объекты в делфи инициализируются мусором.
"В Delphi это не представляет никаких трудностей, так как любой объект еще до передачи управления конструктору инициализируется нулями." - выебать бы маму автора сего пёрла.
Нет, они тупо не инициализируются.
А что в брейнфаке? Там переменные на ленте уже инициализированы или ещё нет, просто имеют значение "0"?
В брейнфаке память в начале исполнения зануляется - инициализируется нолями.
Можно рассматривать текущее поведение как оптимизацию вышеопианной трудоёмкой операции.
Скажем, если у нас есть некоторый язык, который предполагает инициализацию нулями, в такой вот функции
Можно было бы сказать, что y вообще не инициализируется, поскольку оптимизатор этого чудо-языка понял бы, что x больше не нужен и равен нулю и объединил x и y в одно место в памяти.
В общем случае можно только уверовать в некоторое действие (например, в инициализацию) и только по побочным эффектам судить о том, что творится внутри.
Уверовать? Ну если человеку пох, то да, можно и уверовать.
> если человеку пох
А кому не пох? Кому? Кто-то будет запускать виртуалку и смотреть за каждой операцией, чтобы понять, что произошло в заэваленном куске кода на каком-нибудь JS, зная, что, стоит добавить туда ещё пару строк, как ситуация изменится?
Хей, хелло, ай ам веджетабле,
Май майнд из деструктабле-йоу,
Анд май асс из дон'т ~вульнерабле~
Бекаузе ай хэв'энт асс.