Очччень неплохая статья про Smalltalk на Хабре

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

Очччень неплохая статья про Smalltalk на Хабре

Dennis Schetinin
Reply | Threaded
Open this post in threaded view
|

Re: Очччень неплохая статья про Smalltalk на Хабре

Dmitriy Kashitsyn
Всем привет! 

Денис, спасибо за распространение информации о проекте. Возможно, кого-нибудь он заинтересует. 
От себя могу добавить, что готов ответить на все вопросы, если таковые возникнут. 

С уважением, 
Дмитрий. 

P.S.: Написал пост в английском списке рассылки, думаю еще в японской ветке отписаться, вот только они там в основном о предстоящих бэнкёкай пишут.

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Очччень неплохая статья про Smalltalk на Хабре

Dennis Schetinin
А что такое "бэнкёкай"?


Best regards,
Dennis Schetinin

On Monday, 31 December 2012 г. at 0:57, Дмитрий wrote:

Всем привет! 

Денис, спасибо за распространение информации о проекте. Возможно, кого-нибудь он заинтересует. 
От себя могу добавить, что готов ответить на все вопросы, если таковые возникнут. 

С уважением, 
Дмитрий. 

P.S.: Написал пост в английском списке рассылки, думаю еще в японской ветке отписаться, вот только они там в основном о предстоящих бэнкёкай пишут.

--
http://groups.google.ru/group/sugr

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Очччень неплохая статья про Smalltalk на Хабре

Dmitriy Kashitsyn
勉強会 Дословно «собрание с целью обучения». Семинар по нашему :)

среда, 2 января 2013 г., 0:23:27 UTC+7 пользователь chaetal написал:
А что такое "бэнкёкай"?

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Очччень неплохая статья про Smalltalk на Хабре

Dennis Schetinin
Я в личку написал (на 0x7cfe который гмейловский) — в спам не попало случайно?


Best regards,
Dennis Schetinin

On Tuesday, 1 January 2013 г. at 22:19, Дмитрий wrote:

勉強会 Дословно «собрание с целью обучения». Семинар по нашему :)

среда, 2 января 2013 г., 0:23:27 UTC+7 пользователь chaetal написал:
А что такое "бэнкёкай"?

--
http://groups.google.ru/group/sugr

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Очччень неплохая статья про Smalltalk на Хабре

Yuriy Mironenko
In reply to this post by Dmitriy Kashitsyn
Дмитрий, а не могли бы вы чуть поподробнее рассказать про свои мысли по поводу использования LLST во встраиваемых системах? В статье вы только обозначаете это направление - а очень интересно же.

Имеется в виду запуск ВМки на простых контроллерах без...как его...Memory Management Unit? Или имеется в виду запуск ВМки на более сложных контроллерах с полноценной операционкой вроде того же Rapsberry Pi? Или имеется в виду создание ОС внутри образа, как это сделали (но, увы, только для PC-совместимых решений) в SqueakNOS? Или, может, вы имели в виду создание статически компилируемого подмножества ST? Судя по тексту непохоже - но мало ли?

понедельник, 31 декабря 2012 г., 0:57:13 UTC+4 пользователь Дмитрий написал:
Всем привет! 

Денис, спасибо за распространение информации о проекте. Возможно, кого-нибудь он заинтересует. 
От себя могу добавить, что готов ответить на все вопросы, если таковые возникнут. 

С уважением, 
Дмитрий. 

P.S.: Написал пост в английском списке рассылки, думаю еще в японской ветке отписаться, вот только они там в основном о предстоящих бэнкёкай пишут.

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Очччень неплохая статья про Smalltalk на Хабре

vvm13xyz xyz
In reply to this post by Dennis Schetinin
Я там вижу прежде всего чрезвычайно поверхностный и одновременно чрезвычайно масштабный "наезд" на "прочие" Smalltalk'и. "Клинически-простой", про выражению автора. Выглядит, как если автор потратил в 2000-м году по 5 минут на несколько известных тогда сред, а в 2012-м вспомнил о своём "опыте" и на этом "основании" решил сделать что-то своё. Судя по тому,что классическим Smalltalk'ом автор считает VAST, так оно и есть. Кстати, вменяемым заказчикам и пользователям деловых приложений насрать на модность внешнего вида и особенно на градиенты, у них совершенно другие приоритеты. Конечно, полным полно и других пользователей и заказчиков. К счастью, с ними можно и не иметь дела. Но при желании за модность и "градиенты" даже на VAST'е можно побороться (про VW и Pharo и не говорю).

Короче, вредная статья.



On Friday, December 28, 2012 5:03:34 PM UTC+6, chaetal wrote:


Best regards,
Dennis Schetinin

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Очччень неплохая статья про Smalltalk на Хабре

Denis Kudriashov
Привет.

5 января 2013 г., 14:07 пользователь Victor Metelitsa <[hidden email]> написал:
Я там вижу прежде всего чрезвычайно поверхностный и одновременно чрезвычайно масштабный "наезд" на "прочие" Smalltalk'и. "Клинически-простой", про выражению автора. Выглядит, как если автор потратил в 2000-м году по 5 минут на несколько известных тогда сред, а в 2012-м вспомнил о своём "опыте" и на этом "основании" решил сделать что-то своё. Судя по тому,что классическим Smalltalk'ом автор считает VAST, так оно и есть. Кстати, вменяемым заказчикам и пользователям деловых приложений насрать на модность внешнего вида и особенно на градиенты, у них совершенно другие приоритеты. Конечно, полным полно и других пользователей и заказчиков. К счастью, с ними можно и не иметь дела. Но при желании за модность и "градиенты" даже на VAST'е можно побороться (про VW и Pharo и не говорю).

Короче, вредная статья.

Это всегда мое первое впечатление о новых реализациях смолтолка. Зачем строить новый велосипед?
Почему бы не потратить время разработки новой реализации на доработку и улучшение существующей?
Тем более, когда это реальный проект, да к тому же с командой разработчиков (пусть даже из двух человек). Возьмите, например, фару, уже есть множество проектов по созданию минимального образа, ядра системы, без UI, с возможностью загрузки всех необходимых тулзов, морфика. Есть несколько подходов к этому. Но все это работы студентов. Представьте, чего бы вы за месяц реальной работы (не в свободное время) могли бы достичь в этом направлении, развивая один из подобных проектов. И сколько было бы пользы всему смолтолк сообществу!

В любом случае, написать свой смолтолк это, несомненно, интересная задача. И мои поздравления, что у вас это получилось. Но лично для меня писать что-то на си (++) это кара господня :). Виртуалка фары (сквика), например, написана на самом смолтолке.


--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Очччень неплохая статья про Smalltalk на Хабре

Dennis Schetinin
In reply to this post by vvm13xyz xyz
На мой взгляд, слишком жесткая рецензия. :) 

Да, обзор реализаций далеко не полон и не совсем современен. Но статья, как мне показалось, в первую очередь о том, как в очень ограниченные сроки была написана (ну или переписана) Smalltalk-овская виртуалка… К тому же обозначены некоторые интересные перспективы (LLVM и встраиваемые системы)… В общем, я так и не понял — в чем вред-то?


Best regards,
Dennis Schetinin

On Saturday, 5 January 2013 г. at 14:07, Victor Metelitsa wrote:

Я там вижу прежде всего чрезвычайно поверхностный и одновременно чрезвычайно масштабный "наезд" на "прочие" Smalltalk'и. "Клинически-простой", про выражению автора. Выглядит, как если автор потратил в 2000-м году по 5 минут на несколько известных тогда сред, а в 2012-м вспомнил о своём "опыте" и на этом "основании" решил сделать что-то своё. Судя по тому,что классическим Smalltalk'ом автор считает VAST, так оно и есть. Кстати, вменяемым заказчикам и пользователям деловых приложений насрать на модность внешнего вида и особенно на градиенты, у них совершенно другие приоритеты. Конечно, полным полно и других пользователей и заказчиков. К счастью, с ними можно и не иметь дела. Но при желании за модность и "градиенты" даже на VAST'е можно побороться (про VW и Pharo и не говорю).

Короче, вредная статья.



On Friday, December 28, 2012 5:03:34 PM UTC+6, chaetal wrote:


Best regards,
Dennis Schetinin

--
http://groups.google.ru/group/sugr

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Очччень неплохая статья про Smalltalk на Хабре

Dmitriy Kashitsyn
Доброго времени суток.

Денис, благодарю еще раз за внимательное чтение статьи, ибо похоже вы один из немногих рецензентов кто понял, зачем это все писалось. Очень жаль, что наши люди читают по диагонали и в первую очередь стараются увидеть плохое. Как будто от этого лучше становится.

Конечно, есть много реализаций, хороших и разных. Я нисколько не умаляю их ценности и практической применимости и тем более не собираюсь с ними конкурировать (при таких объемах кода это просто невозможно да и бессмысленно). Цель статьи была в конце концов в том, чтобы обозначить проект llst, его исследовательские цели и текущие задачи. Ну и вообще в очередной раз обратить внимание людей на то, что вообще есть такой язык.

llst писался не для того, чтобы «догнать и перегнать». И тем более не для того, чтобы макнуть в грязь всех остальных, какие мол вы все глупые и не разумные. Как и было написано в самом начале статьи, первичной целью проекта было переписать понравившуюся мне реализацию Little Smalltalk на C++. Она очень компактная, настолько, что ее можно прочитать всю за несколько часов и составить свое представление о принципах работы. Изначальная реализация, которую написал Тимати Бадд была написана на чистом С, но ее код очень плохо читается. Очень мало комментариев, длиннющие блоки кода без единого пояснения, переиспользование одной и той же переменной в десяти местах (из-за этого теряется связь собственно переменной и ее роли).

Я постарался переписать этот код на С++, но так, чтобы он был максимально понятен для изучения неподготовленным человеком. Все ключевые моменты прокомментированы, все системные классы оформлены в виде структур так, чтобы не приходилось высчитывать смещения полей, а просто использовать их. Дополнительно реализован ряд шаблонов для удобного индексного доступа и защиты указателей на кучу, находящихся в С++ коде. Таким образом, не приходится беспокоиться о том, когда произойдет сборка и не испортятся ли указатели.

Теперь, на полученной базе можно заниматься собственно исследованиями. На данный момент ведется разработка LLVM версии, которая вот вот заработает. Это можно посмотреть в соответствующей ветке: https://bitbucket.org/0x7CFE/llst/src/05dd7d89d0c9988f306525c22f96594904710da9/?at=llvm . 

А вообще обидно конечно, когда делаешь что-то безвозмездно, а тебя еще грязью поливают. Скучно, господа.


5 января 2013 г., 19:04 пользователь Dennis Schetinin <[hidden email]> написал:
На мой взгляд, слишком жесткая рецензия. :) 

Да, обзор реализаций далеко не полон и не совсем современен. Но статья, как мне показалось, в первую очередь о том, как в очень ограниченные сроки была написана (ну или переписана) Smalltalk-овская виртуалка… К тому же обозначены некоторые интересные перспективы (LLVM и встраиваемые системы)… В общем, я так и не понял — в чем вред-то?


Best regards,
Dennis Schetinin

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Очччень неплохая статья про Smalltalk на Хабре

Dmitriy Kashitsyn
In reply to this post by Yuriy Mironenko
Доброго веремени суток.

На данный момент llst планируется использовать в системе управления умным домом. Реально это ARM железка с линуксом на борту. Все взаимодействие осуществляется по сети, но вот логику этого взаимодействия очень удобно скриптовать на смолтоке. Little Smalltalk хорошо подходит из-за своих размеров. Скомпилированная С версия занимает всего 40 кб. Если сжать UPX-ом и того меньше. Но как уже было описано, оригинальный код не очень хорош в плане поддержки и документации. Новая С++ версия несколько жирнее, но если использовать только интерпретатор (без поддержки LLVM), то можно уместиться в 800 Кб. Возможно в будущем будет написана и обновленная C версия, которую уже точно можно будет встраивать легко. Сделать это, имея под рукой разобранную по косточкам С++ версию особого труда не составит, поскольку все моменты работы VM хорошо видны.

Если же ставятся высокие требования к производительности, то можно будет обратить свой взор и на LLVM версию, которая должна будет продемонстрировать очень высокие показатели в этом плане. Ближайшие тесты это покажут.

Это из того что планируется на ближайшее время. А вообще, в планах гораздо больше. В том числе и выполнение на железе вообще без ОС. Есть проект и для организации аппаратной машины на базе ПЛИС: http://deeptown.org/korvin/step2.pdf . Для работы VM по сути требуется только внешний аллокатор памяти, либо просто указание базового адреса и размер блока памяти, так что это в принципе возможно.

Если есть прямой доступ к страницам памяти и MMU, то можно сделать сборщик мусора, которому не придется исправлять все ссылки на перемещаемый объект во всех местах. Достаточно просто заменять записи в дескрипторах (и сбрасывать, либо актуализировать TLB кэш).

5 января 2013 г., 4:03 пользователь Assargadon <[hidden email]> написал:
Дмитрий, а не могли бы вы чуть поподробнее рассказать про свои мысли по поводу использования LLST во встраиваемых системах? В статье вы только обозначаете это направление - а очень интересно же.

Имеется в виду запуск ВМки на простых контроллерах без...как его...Memory Management Unit? Или имеется в виду запуск ВМки на более сложных контроллерах с полноценной операционкой вроде того же Rapsberry Pi? Или имеется в виду создание ОС внутри образа, как это сделали (но, увы, только для PC-совместимых решений) в SqueakNOS? Или, может, вы имели в виду создание статически компилируемого подмножества ST? Судя по тексту непохоже - но мало ли?

понедельник, 31 декабря 2012 г., 0:57:13 UTC+4 пользователь Дмитрий написал:
Всем привет! 

Денис, спасибо за распространение информации о проекте. Возможно, кого-нибудь он заинтересует. 
От себя могу добавить, что готов ответить на все вопросы, если таковые возникнут. 

С уважением, 
Дмитрий. 

P.S.: Написал пост в английском списке рассылки, думаю еще в японской ветке отписаться, вот только они там в основном о предстоящих бэнкёкай пишут.

--
http://groups.google.ru/group/sugr

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Очччень неплохая статья про Smalltalk на Хабре

Nikolay Kleptsov
In reply to this post by Dmitriy Kashitsyn
Самостоятельно сделанные VM имеют право на существование, тем более генерального плана развития Smalltalk нет (или я проглядел). Я думаю небольшие VM будет легче приспособить для "облачных" технологий. Программный код с комментариями увеличивает возможность использования другими разработчиками да и упрощает понимание.

22 января 2013 г., 10:28 пользователь Korvin Amber <[hidden email]> написал:
Доброго времени суток.

Денис, благодарю еще раз за внимательное чтение статьи, ибо похоже вы один из немногих рецензентов кто понял, зачем это все писалось. Очень жаль, что наши люди читают по диагонали и в первую очередь стараются увидеть плохое. Как будто от этого лучше становится.

Конечно, есть много реализаций, хороших и разных. Я нисколько не умаляю их ценности и практической применимости и тем более не собираюсь с ними конкурировать (при таких объемах кода это просто невозможно да и бессмысленно). Цель статьи была в конце концов в том, чтобы обозначить проект llst, его исследовательские цели и текущие задачи. Ну и вообще в очередной раз обратить внимание людей на то, что вообще есть такой язык.

llst писался не для того, чтобы «догнать и перегнать». И тем более не для того, чтобы макнуть в грязь всех остальных, какие мол вы все глупые и не разумные. Как и было написано в самом начале статьи, первичной целью проекта было переписать понравившуюся мне реализацию Little Smalltalk на C++. Она очень компактная, настолько, что ее можно прочитать всю за несколько часов и составить свое представление о принципах работы. Изначальная реализация, которую написал Тимати Бадд была написана на чистом С, но ее код очень плохо читается. Очень мало комментариев, длиннющие блоки кода без единого пояснения, переиспользование одной и той же переменной в десяти местах (из-за этого теряется связь собственно переменной и ее роли).

Я постарался переписать этот код на С++, но так, чтобы он был максимально понятен для изучения неподготовленным человеком. Все ключевые моменты прокомментированы, все системные классы оформлены в виде структур так, чтобы не приходилось высчитывать смещения полей, а просто использовать их. Дополнительно реализован ряд шаблонов для удобного индексного доступа и защиты указателей на кучу, находящихся в С++ коде. Таким образом, не приходится беспокоиться о том, когда произойдет сборка и не испортятся ли указатели.

Теперь, на полученной базе можно заниматься собственно исследованиями. На данный момент ведется разработка LLVM версии, которая вот вот заработает. Это можно посмотреть в соответствующей ветке: https://bitbucket.org/0x7CFE/llst/src/05dd7d89d0c9988f306525c22f96594904710da9/?at=llvm . 

А вообще обидно конечно, когда делаешь что-то безвозмездно, а тебя еще грязью поливают. Скучно, господа.


5 января 2013 г., 19:04 пользователь Dennis Schetinin <[hidden email]> написал:

На мой взгляд, слишком жесткая рецензия. :) 

Да, обзор реализаций далеко не полон и не совсем современен. Но статья, как мне показалось, в первую очередь о том, как в очень ограниченные сроки была написана (ну или переписана) Smalltalk-овская виртуалка… К тому же обозначены некоторые интересные перспективы (LLVM и встраиваемые системы)… В общем, я так и не понял — в чем вред-то?


Best regards,
Dennis Schetinin

--
http://groups.google.ru/group/sugr

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Очччень неплохая статья про Smalltalk на Хабре

Dmitriy Kashitsyn
Если говорить об облаках и вебе, то стоит упомянуть проект Google Native Client: https://developers.google.com/native-client/
В будущем NaCl планирует поддержку LLVM, что в связке с этим проектом может показать интересные результаты. 

22 января 2013 г., 20:48 пользователь Nikolay Kleptsov <[hidden email]> написал:
Самостоятельно сделанные VM имеют право на существование, тем более генерального плана развития Smalltalk нет (или я проглядел). Я думаю небольшие VM будет легче приспособить для "облачных" технологий. Программный код с комментариями увеличивает возможность использования другими разработчиками да и упрощает понимание.

22 января 2013 г., 10:28 пользователь Korvin Amber <[hidden email]> написал:
Доброго времени суток.

Денис, благодарю еще раз за внимательное чтение статьи, ибо похоже вы один из немногих рецензентов кто понял, зачем это все писалось. Очень жаль, что наши люди читают по диагонали и в первую очередь стараются увидеть плохое. Как будто от этого лучше становится.

Конечно, есть много реализаций, хороших и разных. Я нисколько не умаляю их ценности и практической применимости и тем более не собираюсь с ними конкурировать (при таких объемах кода это просто невозможно да и бессмысленно). Цель статьи была в конце концов в том, чтобы обозначить проект llst, его исследовательские цели и текущие задачи. Ну и вообще в очередной раз обратить внимание людей на то, что вообще есть такой язык.

llst писался не для того, чтобы «догнать и перегнать». И тем более не для того, чтобы макнуть в грязь всех остальных, какие мол вы все глупые и не разумные. Как и было написано в самом начале статьи, первичной целью проекта было переписать понравившуюся мне реализацию Little Smalltalk на C++. Она очень компактная, настолько, что ее можно прочитать всю за несколько часов и составить свое представление о принципах работы. Изначальная реализация, которую написал Тимати Бадд была написана на чистом С, но ее код очень плохо читается. Очень мало комментариев, длиннющие блоки кода без единого пояснения, переиспользование одной и той же переменной в десяти местах (из-за этого теряется связь собственно переменной и ее роли).

Я постарался переписать этот код на С++, но так, чтобы он был максимально понятен для изучения неподготовленным человеком. Все ключевые моменты прокомментированы, все системные классы оформлены в виде структур так, чтобы не приходилось высчитывать смещения полей, а просто использовать их. Дополнительно реализован ряд шаблонов для удобного индексного доступа и защиты указателей на кучу, находящихся в С++ коде. Таким образом, не приходится беспокоиться о том, когда произойдет сборка и не испортятся ли указатели.

Теперь, на полученной базе можно заниматься собственно исследованиями. На данный момент ведется разработка LLVM версии, которая вот вот заработает. Это можно посмотреть в соответствующей ветке: https://bitbucket.org/0x7CFE/llst/src/05dd7d89d0c9988f306525c22f96594904710da9/?at=llvm . 

А вообще обидно конечно, когда делаешь что-то безвозмездно, а тебя еще грязью поливают. Скучно, господа.


5 января 2013 г., 19:04 пользователь Dennis Schetinin <[hidden email]> написал:

На мой взгляд, слишком жесткая рецензия. :) 

Да, обзор реализаций далеко не полон и не совсем современен. Но статья, как мне показалось, в первую очередь о том, как в очень ограниченные сроки была написана (ну или переписана) Smalltalk-овская виртуалка… К тому же обозначены некоторые интересные перспективы (LLVM и встраиваемые системы)… В общем, я так и не понял — в чем вред-то?


Best regards,
Dennis Schetinin

--
http://groups.google.ru/group/sugr

--
http://groups.google.ru/group/sugr

--
http://groups.google.ru/group/sugr