Автор Тема: SYSTEM.ADDRESS (AKA void*) considered harmful  (Прочитано 2960 раз)

Евгений Филиппов

  • Full Member
  • ***
  • Сообщений: 133
    • Просмотр профиля
SYSTEM.ADDRESS (AKA void*) considered harmful
« : Октябрь 01, 2012, 03:52:21 pm »
(23:37:32) egp: на void* надо бы выдавать компилер варнинг "THIS CODE IS BAD!!! void* IS CONSIDERED EVIL!!!"
(23:37:49) egp: harmful, пардон
(23:38:40) egp: короче войд* он же SYSTEM.ADDRESS - это модель ячейки-массив ячеек - адреса
(23:38:46) egp: то есть низкоуровневая
(23:39:08) egp: а указатель на тип или переменная некоего типа - это высокоуровневая модель
(23:39:16) egp: и смешивать их нельзя
(23:39:22) egp: и тем более кастить!
(23:39:28) egp: каст вообще зло
(23:39:41) egp: проц должен знать тип области памяти.
(23:40:10) egp: то есть проц должен иметь указатель на область памяти И на IR-модель этой области памяти
(23:40:38) egp: и такая ИР-модель для каждой области должна быть ОДНА!
(23:41:14) egp: поэтому SYSTEM.ADDRESS он же войд* - НЕ НУЖЕН
(23:42:16) egp: надо попробовать чото написать без использования систем.адрес
(23:42:32) egp: начиная с оберон-транслятора у которого НЕТ систем.адрес
(23:43:03) egp: это уже интересно, в отличие от транслятора в тухлый вонючий js :)

вокруг да около подобных вещей, но не по этой теме - http://subtroj.info/oberon@conference.jabber.ru/2012/10/01.html

Глоссарь
IR: internal representation.

Евгений Филиппов

  • Full Member
  • ***
  • Сообщений: 133
    • Просмотр профиля
Re: SYSTEM.ADDRESS (AKA void*) considered harmful
« Ответ #1 : Октябрь 01, 2012, 04:24:43 pm »
немного побеседовали про эту проблему тут http://subtroj.info/oberon@conference.jabber.ru/2012/10/01.html