Где можно подсмотреть принципы реализации ST-подобной среды на базе Python 2.7.x + wx ?
-- Хочу интерактивную Python-систему (не ST) с смоллтолковским look&feel -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
Я такое никогда не встречал. Вообще, удивительно, что вне смолтолка это никому не нужно 14 августа 2016 г., 13:47 пользователь Dmitry Ponyatov <[hidden email]> написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
А оно возможно? -- Best regards, Dennis Schetinin 14 августа 2016 г., 15:02 пользователь Denis Kudriashov <[hidden email]> написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
Насколько я знаю, Python runtime поддерживает практически все механизмы динамических языков -- интроспекцию (reflection), дизассемблирование/генерацию байт-кода, доступ в функционалу синтаксического парсера, просмотр и модификацию внутреннего представления классов через public API. Единственное, по чему возникает сомнение -- используется ли в ST-среде что-то типа подписки на эвенты типа чтения/модификации полей классов ? В любом случае такие вещи вероятно можно сделать через отладочный интерфейс -- модуль pdb. -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
А персистенс? Да и проблема, скорее всего, будет не в технической возможности, а в практической — грубо говоря, не будет ли все это слишком сложно? -- Best regards, Dennis Schetinin 16 августа 2016 г., 9:37 пользователь Dmitry Ponyatov <[hidden email]> написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
In reply to this post by ponyatov
16 августа 2016 г., 8:37 пользователь Dmitry Ponyatov <[hidden email]> написал:
В самой моделе языка чтение/модификация полей никаких событий не вызывают. Но данный механизм может быть реализован разными способами через рефлекшин или writebarrier, например. В Pharo рефлекшин реализован до уровня AST-node'ов (называется Reflectivity). Можно, например, найти все методы, где есть node присваивания переменной, и обернуть его дополнительным кодом (логирование, halt, счетчик) или совсем заменить чем-то иным. Мне таким образом удалось реализовать подобие "compile-time" выражений из Dolphin без специального синтаксиса http://dionisiydk.blogspot.fr/2016/07/magic-with-pharo-reflectivity.html -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
In reply to this post by Dennis Schetinin
16 августа 2016 г., 9:05 пользователь Dennis Schetinin <[hidden email]> написал:
Не думаю, что image-persistance здесь играет роль. Что имидж добавляет в работу браузера кода или дебаггер? -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
Ну, я, возможно, не слишком удачный термин подобрал. Речь о том, что у нас есть образ, где все объекты живые, где нет разделения между "разработкой" и "запуском". Как раз на исследования кода и отладку работа с живыми объектами влияет очень существенно, тебе ли не знать? :) -- Best regards, Dennis Schetinin 16 августа 2016 г., 11:00 пользователь Denis Kudriashov <[hidden email]> написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
16 августа 2016 г., 10:41 пользователь Dennis Schetinin <[hidden email]> написал: Ну, я, возможно, не слишком удачный термин подобрал. Речь о том, что у нас есть образ, где все объекты живые, где нет разделения между "разработкой" и "запуском". Как раз на исследования кода и отладку работа с живыми объектами влияет очень существенно, тебе ли не знать? :) Я, конечно, не знаю как Python работает, но, думаю, при запуске Python программы загруженный код становится вполне живым объектом. Нужно только реализовать тулзы для взаимодействия с ним -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
16 августа 2016 г., 10:46 пользователь Denis Kudriashov <[hidden email]> написал:
Собственно уже есть аналог смолтолк среды - окно в web-браузере. Через js-отладчик/консоль можно в живую взаимодействовать со всем, что видешь, изменять состояние и поведение. Друго дело, что инструменты для этого довольно примитивные. -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
А запускать-то придется либо с "чистого" листа (как во всемх других средах), либо придумывать способ все это сериализовать/десериализовать… Да, ничего принципиально невыполнимого здесь, конечно, нет. Просто объем задачи выглядит (для меня) неподъемным… Наблюдение: в Java- или .NET-ориентированных средах пытаются перенять многие фишки, но живой среды так и не получается почему-то… В то, что это никому не надо — не верится (или не хочется верить). -- Best regards, Dennis Schetinin 16 августа 2016 г., 11:49 пользователь Denis Kudriashov <[hidden email]> написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
У народа даже IBM VA Java в своё время не пошла. И всякую /.../ пишут (напр., https://habrahabr.ru/post/307720/ "Взглянем на тесты, которые Exercism подготовил для Ruby, в котором ООП дошло до того, что даже операторы — это чьи-то методы." - с ума сойти, ха-ха-ха), но ST для них не существует.
-- On Tuesday, August 16, 2016 at 2:05:02 PM UTC+5, chaetal wrote:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
Я пытаюсь что-то в комментариях по этому поводу до народа донести — не хотят :) … А помощь приветствуется! -- Best regards, Dennis Schetinin 16 августа 2016 г., 12:24 пользователь Victor Metelitsa <[hidden email]> написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
https://habrahabr.ru/post/311748/ - "Как насчёт класть каждую функцию в свой файл?"
-- Ещё лет 20 пройдёт, и кто-нибудь додумается держать исходники пометодно в базе данных. (Как было сделано в VAST'е и VW ещё двадцать лет назад). Его будут клевать. -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
In reply to this post by ponyatov
Считаю, что на любом интерпритируемом языке подобное осущетсвимо. Особенно, если учесть, что подобное уже существует на базе компилируемого языка - посмотрите на Компонентный Паскаль и Обероно-подобную систему BlackBox. Все то же самое - систему можно модифицировать из под самой себя без перезапуска.
-- воскресенье, 14 августа 2016 г., 14:47:29 UTC+3 пользователь Dmitry Ponyatov написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
In reply to this post by ponyatov
Если уж на то пошло, то я бы посмотрел на виртуальную систему на основе Io Language. Это как внебрачная помесь Smalltalk и JavaScript. Вроде все ъ-ООП, но парадигма прототипная.
-- воскресенье, 14 августа 2016 г., 14:47:29 UTC+3 пользователь Dmitry Ponyatov написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
ООП - это не триада <наследование, инкапсуляция, полиморфизм> и прототипная парадигма ему не противоречит.
-- -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
среда, 10 мая 2017 г., 11:07:05 UTC+3 пользователь Victor Metelitsa написал:
> ООП - это не триада <наследование, инкапсуляция, полиморфизм> и прототипная парадигма ему не противоречит. Похоже неверно выразился. Я не противопоставлял ООП и прототипную парадигму. Я хотел показать, что при ъ-ООП подходе Smalltalk (где все есть объект и взаимодействия через сообщения) используются не привычные всем классы, а прототипы, как в том же Js -- -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/d/optout. |
10 мая 2017 г., 18:32 пользователь cauf <[hidden email]> написал:
Хотелось бы упомянуть,что исторически прототипы пришли из проекта Self - развитие модели смолтолка -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
Free forum by Nabble | Edit this page |