Информация об изменениях

Сообщение Re: Сборщик мусора от 05.05.2019 8:19

Изменено 05.05.2019 9:39 vsb

Re: Сборщик мусора
Я за годы велосипедописания пришёл к выводу, которые многие не поддержат: не надо делать из языка то, чего в нём нет, даже если кажется, что можно. Это вообще ко многим областям относится. Если тебе нужен сборщик мусора — возьми C#. Если тебе нужны nullable типы — возьми Kotlin, а не тыкай @NonNullable в Java на каждый чих. Если тебе нужны исключения — пиши на С++, а не абузь паники в Go. Если тебе нужны иммутабельные структуры, пиши на Elm, а не мучайся на JS с FB Immutable. А на языке надо писать так, как все пишут, как его создатели подразумевали, как стандартная библиотека и качественные примеры написаны. В конечном счёте это лучше. Иначе ты уже создаёшь свой Delphi++, который будет заведомо хуже оригинала (потому что хороший язык способны создать единицы команд в мире). Надо писать, как говорят, согласно лучшим практикам. В том числе это относится, кстати, ко всяким индентациям и форматированиям. Не надо тащить своё мнение, надо просто писать, как пишут все.

Вот что действительно даёт пользу, это инструменты, которые никак не меняют исходный код, но приносят свой профит. Например линтер. Ты можешь писать правильный код, а потом прогонять линтер и получать профит сверху на халяву. А можешь не прогонять, код каким был, таким и останется.
Re: Сборщик мусора
Я за годы велосипедописания пришёл к выводу, которые многие не поддержат: не надо делать из языка то, чего в нём нет, даже если кажется, что можно. Это вообще ко многим областям относится. Если тебе нужен сборщик мусора — возьми C#. Если тебе нужны nullable типы — возьми Kotlin, а не тыкай @NonNullable в Java на каждый чих. Если тебе нужны исключения — пиши на С++, а не абузь паники в Go. Если тебе нужны иммутабельные структуры, пиши на Elm, а не мучайся на JS с FB Immutable. А на языке надо писать так, как все пишут, как его создатели подразумевали, как стандартная библиотека и качественные примеры написаны. В конечном счёте это лучше. Иначе ты уже создаёшь свой Delphi++, который будет заведомо хуже оригинала (потому что хороший язык способны создать единицы команд в мире). Надо писать, как говорят, согласно лучшим практикам. В том числе это относится, кстати, ко всяким индентациям и форматированиям. Не надо тащить своё мнение, надо просто писать, как пишут все.

Вот что действительно даёт пользу, это инструменты, которые никак не меняют исходный код, но приносят свой профит. Например линтер. Ты можешь писать правильный код, а потом прогонять линтер и получать профит сверху на халяву. А можешь не прогонять, код каким был, таким и останется. Поэтому если ты придумаешь, как свой "сборщик мусора" сделать так, чтобы он просто работал не требуя никаких изменений в программе и никак не влияя на её работу (т.е. просто выводил бы предупреждения, например), чтобы ты его мог легко отключить при желании и всё продолжало работать как работало, вот это будет правильней.