Автор Тема: The Nothing System  (Прочитано 31865 раз)

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: The Nothing System
« Ответ #45 : Январь 07, 2013, 07:41:08 am »
Борис, а ООП - вообще не влияет на производительность...
А вызов метода разве не дороже вызова процедуры?

alexus

  • Гость
Re: The Nothing System
« Ответ #46 : Январь 07, 2013, 07:46:49 am »
Борис, а ООП - вообще не влияет на производительность...
А вызов метода разве не дороже вызова процедуры?
У современных процессоров практически... равноценно... что прямой вызов подпрограммы, что косвенный...

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: The Nothing System
« Ответ #47 : Январь 07, 2013, 07:48:55 am »
Общеизвестный факт.
И при программировании "без ООП в языке", как в Обероне, будут ручные виртуальные таблицы указателей на процедуры.
Также и на С многие библиотеки в около-объектном стиле написаны.
А без полиморфизма вообще путную архитектуру не построишь.
Т.е. у Оберона херовая архитектура? O_o

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: The Nothing System
« Ответ #48 : Январь 07, 2013, 07:50:59 am »
У современных процессоров практически... равноценно... что прямой вызов подпрограммы, что косвенный...
Если абсолютизировать то на современных процессорах много что сгладилось.  :)
А если это микроконтроллер?  ;)

DddIzer

  • Гость
Re: The Nothing System
« Ответ #49 : Январь 07, 2013, 08:10:18 am »
Общеизвестный факт.
И при программировании "без ООП в языке", как в Обероне, будут ручные виртуальные таблицы указателей на процедуры.
Также и на С многие библиотеки в около-объектном стиле написаны.
А без полиморфизма вообще путную архитектуру не построишь.
Т.е. у Оберона херовая архитектура? O_o
ilovb -  но хоть вы то ,  немного подумайте.. причем здесь Оберон.. или Хаскель.. в том случае, когда речь идет об  процедуре которая использует РОДОВОЙ метод у обьекта который  СОЗДАЕТСЯ ВОВРЕМЯ ВЫПОЛНЕНИЯ (и его фактический тип определятся тогда же).. - то ВСЕГДА стоит задача поиска подходящего метода для ФАКТИЧЕСКОГО вызова...- тут даже не надо знать OOP просто немного здравого смысла. Заметьте, что в данном случае "вы попали плевком в небо" .
« Последнее редактирование: Январь 07, 2013, 08:12:18 am от DddIzer »

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: The Nothing System
« Ответ #50 : Январь 07, 2013, 08:11:57 am »
Разве... я почему то думал, что вся фича в том, что комманды(как системного уровня так и управления приложениями) можно набирать В ЛЮБОМ месте доступном для печати...фишка крутая для ранних ОС - где такие вещи приходилось делать часто рядовому пользователю.. но с появлением Нортон командера.. эта необходимость резко снизилась
Не совсем так. В Обероне предполагается что вы будете группировать команды в текстовых документах, и открывать последние в отдельном фрэйме. Возможность набрать команду в любом месте - это следствие, а не причина. Т.е. просто положительный побочный эффект.

А Нортон да... решает ту же проблему. Но подход Вирта имхо мощнее.

alexus

  • Гость
Re: The Nothing System
« Ответ #51 : Январь 07, 2013, 08:13:25 am »
У современных процессоров практически... равноценно... что прямой вызов подпрограммы, что косвенный...
Если абсолютизировать то на современных процессорах много что сгладилось.  :)
А если это микроконтроллер?  ;)
Надо смотреть на тактовку процессора... Сколько тактов тратится на прямой и косвенные вызовы. Это должно быть записано в документации. Если интересно по Intel или AMD, то описания есть на их сайтах...

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: The Nothing System
« Ответ #52 : Январь 07, 2013, 08:17:35 am »
ilovb -  но хоть вы то ,  немного подумайте.. причем здесь Оберон.. или Хаскель.. в том случае, когда речь идет об  процедуре которая использует РОДОВОЙ метод у обьекта который  СОЗДАЕТСЯ ВОВРЕМЯ ВЫПОЛНЕНИЯ (и его фактический тип определятся тогда же).. - то ВСЕГДА стоит задача поиска подходящего метода для ФАКТИЧЕСКОГО вызова...- тут даже не надо знать OOP просто немного здравого смысла. Заметьте, что в данном случае "вы попали плевком в небо" .
Вы смотрели в исходный код оригинального Оберона?
Он написан без ООП.

DddIzer

  • Гость
Re: The Nothing System
« Ответ #53 : Январь 07, 2013, 08:18:29 am »

Не совсем так. В Обероне предполагается что вы будете группировать команды в текстовых документах, и открывать последние в отдельном фрэйме. Возможность набрать команду в любом месте - это следствие, а не причина. Т.е. просто положительный побочный эффект.

А Нортон да... решает ту же проблему. Но подход Вирта имхо мощнее.
1.Может быть.. но я так понял что наоборот.. кстати Илья  фактически с этим согласился..
2. Нортон решал проблему ДЛЯ МАССОВОГО ПОЛЬЗОВАТЕЛЯ.. ВИРТ  - тоже... прав тот кто выиграл...мощность массовому конечному
пользователю в рот не уперлась.

DddIzer

  • Гость
Re: The Nothing System
« Ответ #54 : Январь 07, 2013, 08:23:14 am »

Он написан без ООП.
ilovb - вы что специально злите... может плохо кончится... все началось с вашей не относящейся к делу фразы.. которую оспорил Илья (сказав что это в ПРИНЦИПЕ х..я) ,  моя позиция - нет все ОК .. хотя к делу не относится...

alexus

  • Гость
Re: The Nothing System
« Ответ #55 : Январь 07, 2013, 08:25:25 am »
Общеизвестный факт.
И при программировании "без ООП в языке", как в Обероне, будут ручные виртуальные таблицы указателей на процедуры.
Также и на С многие библиотеки в около-объектном стиле написаны.
А без полиморфизма вообще путную архитектуру не построишь.
Т.е. у Оберона херовая архитектура? O_o
ilovb -  но хоть вы то ,  немного подумайте.. причем здесь Оберон.. или Хаскель.. в том случае, когда речь идет об  процедуре которая использует РОДОВОЙ метод у обьекта который  СОЗДАЕТСЯ ВОВРЕМЯ ВЫПОЛНЕНИЯ (и его фактический тип определятся тогда же).. - то ВСЕГДА стоит задача поиска подходящего метода для ФАКТИЧЕСКОГО вызова...- тут даже не надо знать OOP просто немного здравого смысла. Заметьте, что в данном случае "вы попали плевком в небо" .
Может быть я чего-то недопонимаю... Но при создании объекта определённого типа/класса во время выполнения делается простая привязка к его VMT, а далее следуют косвенные вызова без какого-либо поиска.
Иное дело... сообщения, но и там задача решается довольно изящно, в подавляющем числе случаев. Так как, сообщения описываются при написании программы, то в их описание включается и адрес (прямой/косвенный) обрабатывающего метода. Включение происходит непосредственно при компиляции программы/модуля. Во время работы в сообщение могут подставляться какие-то параметры, не изменяющие тип сообщения... Но могут быть, конечно, ситуации, когда сообщение создаётся непосредственно во время исполнения, и заранее тип сообщения неизвестен. Тогда нужен поиск, который ускоряется либо за счёт древовидного списка типов сообщений, либо за счёт хэширования. Но, тем не менее, поиск в таких ситуациях нужен... только часто ли возникают подобные ситуации?..

DddIzer

  • Гость
Re: The Nothing System
« Ответ #56 : Январь 07, 2013, 08:33:14 am »

Может быть я чего-то недопонимаю... Но при создании объекта определённого типа/класса во время выполнения делается простая привязка к его VMT, а далее следуют косвенные вызова без какого-либо поиска.

Почему.. я точно так же это  понимаю и говорю про эту "привязку" -  обычно этот процесс называют связыванием

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: The Nothing System
« Ответ #57 : Январь 07, 2013, 08:33:32 am »
ilovb - вы что специально злите... может плохо кончится... все началось с вашей не относящейся к делу фразы.. которую оспорил Илья (сказав что это в ПРИНЦИПЕ х..я) ,  моя позиция - нет все ОК .. хотя к делу не относится...
Да относится оно к делу. Что непонятного то? Оберон написан без ООП и без эмуляции ООП.
Очевидно что CP и BB менее эффективен чем Оберон.
Можно конечно и на CP писать в стиле Оберона, но это уже будет передергиванием...

DddIzer

  • Гость
Re: The Nothing System
« Ответ #58 : Январь 07, 2013, 08:38:33 am »
ilovb - вы что специально злите... может плохо кончится... все началось с вашей не относящейся к делу фразы.. которую оспорил Илья (сказав что это в ПРИНЦИПЕ х..я) ,  моя позиция - нет все ОК .. хотя к делу не относится...
Да относится оно к делу. Что непонятного то? Оберон написан без ООП и без эмуляции ООП.
Очевидно что CP и BB менее эффективен чем Оберон.
Можно конечно и на CP писать в стиле Оберона, но это уже будет передергиванием...

ПОТОМУ ЧТО ВЫ ОТПУСТИЛИ СВОЙ ПОСТ КАК РЕПЛИКУ НА МОЕ СООБЩЕНИЕ В КОТОРОМ ООП И НЕ ПАХЛО

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: The Nothing System
« Ответ #59 : Январь 07, 2013, 08:44:31 am »
DIzer, едрен батон... Вот ваш пост:
едва ли...ибо работа с железом делалась непрофессионалами...  замеряли же производительность ББ кода и того же Шарпа.. ББ - был в жопе... вроде Сергей этим делом занимался
и он к делу не относится. Я говорил про Оберон, а вы приплели ДРУГУЮ СИСТЕМУ С ДРУГИМ ЯЗЫКОМ С ДРУГИМ МЕТОДОМ РАЗРАБОТКИ.
Не согласны? Ваше право.
Теперь перечитайте мои последние посты. Кто еще кого злит?!