Объектно-ориентированная архитектура, я уверен, может дать огромные преимущества в скорости и безопасности кода, ведь каждый объект мог бы обращаться только к своей памяти и был изолирован от всех остальных. А обязанность управления распределением памяти было возложено на саму память.
Кроме того, можно было бы перейти к реальному распараллеливанию процессов, так как lock/unlock на время выполнения команды брал бы на себя hardware-менеджер памяти. Любой процесс или задача могла бы обратиться к любому объекту в любое время.
Есть ли у кого схожие идеи на эту тему и кто как считает - возможна ли в ближайшем будущем такая архитектура ?
Я сам думаю, что за такой архитектурой будущее. Каждый объект в данной системе - это прототип нервной клетки, только в отличии от всяких нейронных компов, его потенциально можно снабдить любой структурой и любым множеством методов.
Был такой CPU Катана для Smalltalk80.
Его JIT уделал :)
>>Кроме того, можно было бы перейти к реальному распараллеливанию процессов, так как lock/unlock на время выполнения команды брал бы на себя hardware-менеджер памяти. Любой процесс или задача могла бы обратиться к любому объекту в любое время.
о как! :-D
Маг
На всякий: гугл: transactional memory
это далеко не панацея для распараллеливания...
Маг
Почитай про транспьютеры и ЯП Occam.
имхо, мертвая идея. будущее за россыпью мелких скалярных процов. в принципе оно щас и наблюдается - gpu, которые делают по перфомансу тяжелые и неповоротливые cisc-cpu.
San
>gpu, которые делают по перфомансу тяжелые и неповоротливые cisc-cpu.
только на специализированных задачах... нельзя сравнивать круглое с тяжелым...
Pushkoff
> только на специализированных задачах
эээ.. считать числа - специализированная задача? :)
San
> эээ.. считать числа - специализированная задача? :)
Основное то преимущество подобных камней в количестве ядер и параллельности. Наверняка найдется задача, которая не очень хорошо параллелится, да и не одна.
Billy_boy
> Наверняка найдется задача, которая не очень хорошо параллелится, да и не одна.
думаю проблемы с параллелизацией этих задач скорее исходят из привычности и стандартости последовательных алгоритмов. когда хорошо приспичит, всё решат
Маг
такую архитектуру не нужно ждать в будущем, x86 поддерживает виртуальные адресные пространства - т.е. можно написать на уровне/вместо (лол) ядра менеджер памяти, который будет разбрасывать объекты по своим пространствам (абсолютный data hiding).
а паралеллить это никак не поможет, вернее поможет, но слабо.
innuendo
>Был такой CPU Катана для Smalltalk80.
>Его JIT уделал :)
Это ни о чем не говорит. Smalltack слишком навороченный язык и я его не считаю ОО в истинном смысле, как и С++ - из-за наследования.
К тому же, многое зависит от реализации архитектуры и опыта.
San
> имхо, мертвая идея. будущее за россыпью мелких скалярных процов. в принципе оно щас и наблюдается - gpu
Одно другому не мешает :)
ffinder
> такую архитектуру не нужно ждать в будущем, x86 поддерживает виртуальные адресные пространства
Ты это мне говоришь про виртуальные адресные пространства ? :)
Согласись, что это был правильный шаг и дальнейшее движение в том направлении - это создания приватного пространства для каждого модуля, а затем и для каждого объекта.
Можешь привести какую-нить вменяемую причину, почему этого не стоит делать ?
Ведь по сути, это инкапсуляция (от слова "капсула") данных в пределах логической единицы.
Маг
> Ты это мне говоришь про виртуальные адресные пространства ? :)
ну а кому же еще? ты же целый процессор собрался городить, а я тебе говорю что уже все есть.
Маг
> Ведь по сути, это инкапсуляция (от слова "капсула") данных в пределах
> логической единицы.
это абсолютный data hiding, я же уже писал. зачем он реально нужен, кроме как создания jail/realm?
Маг
> Можешь привести какую-нить вменяемую причину, почему этого не стоит делать ?
ага, задержки при доступе к памяти. чем больше у тебя будет фрагментация, тем меньше быстродействие.
Маг
> Smalltack слишком навороченный язык и я его не считаю ОО в истинном смысле,
что такое истинное ОО тогда в твоем понимании?
Маг
> Это ни о чем не говорит. Smalltack слишком навороченный язык и я его не считаю
> ОО в истинном смысле
Жжёшь! Вот как раз ST и есть истинный ООП. Круче разве только CLOS. А JIT уделал Катану по соотношение скорости/цены
ffinder
> > Smalltack слишком навороченный язык и я его не считаю ОО в истинном смысле,
> что такое истинное ОО тогда в твоем понимании?
+1000
Тема в архиве.