вызов функций, выполнение методов -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. |
HTTP/WebSockets не але?
-- Date: Tue, 23 Jul 2013 10:22:27 +0600 Subject: Re: Re[2]: [RSUG] Fwd: Оповещение Google - rsug From: [hidden email] To: [hidden email]
вызов функций, выполнение методов -- -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. |
Со стороны С/С++, java, PHP должна быть возможность опубликовать функции процедуры, а со стороны Amber возможность вызвать их, естественно через HTTP/webSocket. В свое время Sun неспроста реализовала удаленный вызов процедур для Java, не из-за простой прихоти, а по причине жизненной необходимости. Хоть компания и была куплена Oracle, java все-таки живет и здравствует.
23 июля 2013 г., 10:24 пользователь Semyon Novikov <[hidden email]> написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. |
Да не надо ничего изобретать, на любом языке программирования у которого больше десятка активных пользователей есть возможность легко запрограммировать JSON-RPC/REST сервис. А для большей части языков есть возможность еще и веб-сокет открыть.
-- Пачка ссылок: - http://code.google.com/p/phpwebsocket/ - https://github.com/TooTallNate/Java-WebSocket - http://git.warmcat.com/cgi-bin/cgit/libwebsockets/ Amber по природе способен прекрасно работать и с тем и с другим, не надо вообще никакого кода писать. Я на нем, например, писал подсчитывалку голосов за фотографии из инстарграмма для одного хорошего дядьки. Серверного кода нет ни строчки, все, включая OAuth авторизацию в браузере. На чем там Инстаграм написан? Понятия не имею и желания знать тоже нет особо. В том и прелесть Amber'а, что он вообще (в идеале) снимает необходимость городить огороды. Все уже придумано до нас, просто садись и используй, вебсокеты/rest везде одинаковые, хоть на C++ серверная часть написана, хоть на Агде. Date: Tue, 23 Jul 2013 11:11:50 +0600 Subject: Re: Re[2]: [RSUG] Fwd: Оповещение Google - rsug From: [hidden email] To: [hidden email] Со стороны С/С++, java, PHP должна быть возможность опубликовать функции процедуры, а со стороны Amber возможность вызвать их, естественно через HTTP/webSocket. В свое время Sun неспроста реализовала удаленный вызов процедур для Java, не из-за простой прихоти, а по причине жизненной необходимости. Хоть компания и была куплена Oracle, java все-таки живет и здравствует.
23 июля 2013 г., 10:24 пользователь Semyon Novikov <[hidden email]> написал:
-- -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. |
Если все так отлично, может выложите в общий доступ программу на Amber, если возможность есть то с комментариями. Рабочие примеры всегда полезны.
23 июля 2013 г., 11:19 пользователь Semyon Novikov <[hidden email]> написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. |
https://github.com/semka/Hipstavote
-- Date: Tue, 23 Jul 2013 11:43:56 +0600 Subject: Re: Re[2]: [RSUG] Fwd: Оповещение Google - rsug From: [hidden email] To: [hidden email] Если все так отлично, может выложите в общий доступ программу на Amber, если возможность есть то с комментариями. Рабочие примеры всегда полезны.
23 июля 2013 г., 11:19 пользователь Semyon Novikov <[hidden email]> написал:
-- -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. |
Еще проще посмотреть уже развернутую копию вот тут: http://sdfgh153.ru/Hipstavote/
-- Там класс-браузер есть. Да, комментов нет, код грязный :) From: [hidden email] To: [hidden email] Subject: RE: Re[2]: [RSUG] Fwd: Оповещение Google - rsug Date: Tue, 23 Jul 2013 11:45:19 +0600 https://github.com/semka/Hipstavote Date: Tue, 23 Jul 2013 11:43:56 +0600 Subject: Re: Re[2]: [RSUG] Fwd: Оповещение Google - rsug From: [hidden email] To: [hidden email] Если все так отлично, может выложите в общий доступ программу на Amber, если возможность есть то с комментариями. Рабочие примеры всегда полезны.
23 июля 2013 г., 11:19 пользователь Semyon Novikov <[hidden email]> написал:
-- -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. |
Вообще что-то нас от темы разговора опять унесло. Если кому-то интересно мое мнение, то я не вижу ничего плохого в том, что Смолток живет в некотором гетто состоящем из кучки живых смолтокеров и Алана Кея :)
-- Я прекрасно помню свои первые впечатления от Squeak: ужас и отторжение, хотя у меня на тот момент уже был опыт работы с инфиксным синтаксисом (Objective-C). Смолток выглядел слишком странным даже для человека с опытом. Так что расчитывать на то, что люди и правда ломанутся писать на St, даже при условии появления удобной и "бесшовной" среды я бы не стал. Мне понадобилось довольно много времени чтобы оценить удобство разработки в класс-браузере и отсутствие файлов для исходников. Это действительно требует некоторого излома в мозгу, а если у вас нет ни желания ни времени ломать себе мозг, проще взять что-то менее экзотичное. И это нормально. На данный момент, если честно оглядеться вокруг, есть вагон и маленькая тележка языков превосходящих как по гибкости, так и по надежности любую из существующих реализаций Smalltalk. Единственное место, где он еще силен это среда быстрой разработки, хотя и тут, я боюсь, толковая IDE для Java с поддержкой дебаггера уделает его довольно легко. В добавок ко всему, кажется мир наигрался в динамическую типизацию. Я сам пишу на Objective-C большую часть дня. Несмотря на то, что формально там статическая типизация (причем самого низкого пошиба, с аннотациями типов), мне ее мало. Я постоянно натыкаюсь на рантаймовые ошибки в своем коде. Поэтому когда время от времени у меня появляется возможность написать что-нибудь на языке с хорошей статической типизацией (Haskell, ML, Go, Typescript) я радуюсь как ребенок. Smalltalk в этом отношении не сделал никаких толковых шагов с последнего релиза Strongtalk в 2006 году. (Опережая обвинение в пассивности: я глупый, у меня головы не хватит подхватить разработку Strongtalk) Ну есть еще Василий Быков с Гиладом Брахой, которые тихонечко пилят Newspeak и что-то робко говорят о Pluggable Typesystems. В общем-то там прорывов тоже не ожидается, хотя работа очень интересная. В итоге я думаю, что Smalltalk нашел свою нишу именно в гетто и это хорошо, потому что мог бы не найти вообще никакой. Smalltalk великий язык, который недооценен. Приятно так думать, да, но недооцененным он был году эдак в 90. Теперь его раздеребанили на "фичи" и называть Smalltalk недооцененным сегодня у меня язык не поворачивается. Все, что умеет St (минус среда разработки) может делать тот же самый мерзкий Ruby (там даже посылка сообщений, а не вызов по указателю). Периодически на меня нападает какая-то тоска и я пишу на Smalltalk всякую хренотень. Но писать на нем что-то всерьез и в продакшн теперь уже я бы не рискнул. Тем не менее я считаю важным поддерживать эту группу хоть в каком-то виде. Люди уже начали забывать откуда у них появились итераторы с блоками и посылка сообщений. Суть группы я вижу не в агрессивной проповеди смолтока, а в спокойном поддержании "статус-кво" смолтока. Возможно он еще нас удивит. -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. |
Согласен почти с каждым абзацем. В принципе, это почти то же, о чём думаю я, просто формализовать в осознанный текст не могу :) > толковая IDE для Java с поддержкой дебаггера уделает его довольно легко
(тихим робким голоском) а что, в Java можно выполнять произвольный код в данном контексте на любом шаге дебаггера? В Java уже появились исключения, которые, будучи брошенными, не просто раскручивают стэк, а позволяют продолжить работу с места возникновения после выполнения определенных условий (как в St и CL)? Мне правда интересно!
Дмитрий
23 июля 2013 г., 11:11 пользователь Semyon Novikov <[hidden email]> написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. |
In reply to this post by semka.novikov
Ну, я потому и написал, что наверное уделает :) По поводу выполнения кода в контексте: скорее да, чем нет. Это умеет даже gdb/lldb, наверняка в Java тоже можно. Про исключения не вполне понял, пойманное исключение позволяет продолжить работу вообще везде, где есть исключения :) Это же не exit(0). Date: Tue, 23 Jul 2013 12:02:04 +0400 Subject: Re: Re[2]: [RSUG] Fwd: Оповещение Google - rsug From: [hidden email] To: [hidden email] Согласен почти с каждым абзацем. В принципе, это почти то же, о чём думаю я, просто формализовать в осознанный текст не могу :) > толковая IDE для Java с поддержкой дебаггера уделает его довольно легко
(тихим робким голоском) а что, в Java можно выполнять произвольный код в данном контексте на любом шаге дебаггера? В Java уже появились исключения, которые, будучи брошенными, не просто раскручивают стэк, а позволяют продолжить работу с места возникновения после выполнения определенных условий (как в St и CL)? Мне правда интересно!
Дмитрий
23 июля 2013 г., 11:11 пользователь Semyon Novikov <[hidden email]> написал:
-- -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. |
> Про исключения не вполне понял, пойманное исключение позволяет продолжить работу вообще везде, где есть исключения :) > Это же не exit(0). Я про Exception>>resume If the exception is resumable, resume the execution of the block
that raised the exception; the method that was used to signal the exception will answer the receiver. Use this method IF AND ONLY
IF you know who caused the exception and if it is possible to resume it in that particular case
Exception>>resume: anObject If the exception is resumable, resume the execution of the block
that raised the exception; the method that was used to signal the exception will answer anObject. Use this method IF AND ONLY IF
you know who caused the exception and if it is possible to resume it in that particular case
Дмитрий 23 июля 2013 г., 12:12 пользователь Semyon Novikov <[hidden email]> написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. |
А, это вряд ли :)
-- Date: Tue, 23 Jul 2013 12:27:20 +0400 Subject: Re: Re[2]: [RSUG] Fwd: Оповещение Google - rsug From: [hidden email] To: [hidden email] > Про исключения не вполне понял, пойманное исключение позволяет продолжить работу вообще везде, где есть исключения :) > Это же не exit(0). Я про Exception>>resume If the exception is resumable, resume the execution of the block
that raised the exception; the method that was used to signal the exception will answer the receiver. Use this method IF AND ONLY
IF you know who caused the exception and if it is possible to resume it in that particular case
Exception>>resume: anObject If the exception is resumable, resume the execution of the block
that raised the exception; the method that was used to signal the exception will answer anObject. Use this method IF AND ONLY IF
you know who caused the exception and if it is possible to resume it in that particular case
Дмитрий 23 июля 2013 г., 12:12 пользователь Semyon Novikov <[hidden email]> написал:
-- -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. |
In reply to this post by semka.novikov
У меня несколько иной взгляд на Smalltalk. Наверное, это от немного другой системы ценностей. Было очень верно замечено, что Smalltalk "раздеребанили на "фичи"", да и продолжают "раздеребанивать". Но для меня ценность Smalltalk-а не в этих отдельных фичах, а в их синтезе, в том, что все они "нанизаны" на одну идею под названием "простота". По сути, Smalltalk — это просто неразрывная связка понятий "объект–сообщение" — максимально простая и, что важно, естественная для человек вещь (общение людей построено именно на этом принципе). Все остальное вырастает оттуда без необходимости расширять язык. Как и с обычным человеческим языком: любое понятие на нем можно выразить, оставаясь в рамках все той же "языковой основы". (Тут есть проблемы с терминологией, но суть, надеюсь, ясна?)
-- Интерес к тому же Haskell-у у меня пропал ровно в тот момент, когда я прочитал, что для добавление новых "фишек" расширяется язык. (Поправьте, пожалуйста, если это не так — информация может быть не достоверной.) И Newspeak мне не понравился по этой же причине — это просто еще один feature-oriented programming language. Да, в Smalltalk-е это дело не провели на 100% (хотя некоторые это оспаривают), но подошли близко. Но "правильное" будущее, на мой взгляд лежит именно на этом пути: от простого к сложному в рамках одной основополагающей идеи. С максимальным сохранением простоты на каждом шаге ("настолько сложно, насколько необходимо, но не сложнее").
Например, что касается типов. (Судя по всему, разговор о строгой типизации в соседней ветке близок к финалу. Хотя прямого ответа на поставленный вопрос "так, стоит оно того или нет?" я в явном виде и не получил, но понимаю, что он близок к утвердительному). Я вполне согласен, что дополнительная мета-информация об объектах (в том числе из типизация) — это весьма полезный инструмент. Я вот только не согласен, что она нужна всегда и везде, что система должна отказываться работать без этих данных; что она должна быть в основе языка, усложняя его. Поэтому я бы хотел видеть это как дополнительный подключаемый модуль, реализующий типы в виде "подсказок" (hint-ов) программисту (для контроля правильности программы, для проведения рефакторинга, помощи при написании кода и т.п.) и системе (для повышения производительности, но, опять же, с "позволения" программиста). Жизнь не позволяет не только самому плотно заняться реализацией этих идей, но даже и отслеживанием положения дел (идеи, конечно, не новые, был уже ряд попыток что-то подобное сделать даже в Smalltalk-е) — не хотят за это платить (или я не в состоянии найти такие источники) :) … Но именно этот подход мне кажется наиболее перспективным.
В этом отношении очень радует, как развивается Pharo. Возможно, будущее не за Smalltalk-ом в том виде, в каком он есть сейчас, но это вопрос отдаленного будущего. Но на ближайшее будущее именно Pharo дает возможность Smalltalk-у показать возможные пути развития технологий программирования. Респект Дюкасу, его команде и всем разработчикам, которые находят возможность развивать Smalltalk! Игорю — в частности :) -- Best regards, Dennis Schetinin 23 июля 2013 г., 11:11 пользователь Semyon Novikov <[hidden email]> написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. |
24 июля 2013 г., 8:45 пользователь Dennis Schetinin <[hidden email]> написал:
+1 -- -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. |
Я всеми руками и ногами за развитие идеи Pluggable Typesystems. Но что-то там пока все глухо. А вот что система типов ложится в основу языка на самом деле его совершенно не усложняет, она просто меняет базис.2013/7/24 Denis Kudriashov <[hidden email]>
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. |
Как не усложняет?! Чем меньше в системе компонент, тем она проще? Нет? Я говорю о сложности самой системы. Но хаскель ведь должен расширять свой синтаксис для добавления новых фич, нет?
-- Best regards, Dennis Schetinin 24 июля 2013 г., 11:38 пользователь Semyon Novikov <[hidden email]> написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. |
Ну дак в хаскеле всего две сущности: лямбда исчисление и HM-типы. Все. Синтаксис тут вообще ни при чем, он там тривиальный довольно. Единственное отсутпление в синтаксисе это сахар для монадических вычислений. Его можно сравнить с сахаром вида #{} в St.2013/7/24 Dennis Schetinin <[hidden email]>
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. |
Лямбды без HM-типов возможны? Значит язык изначально не минимален. Нет? А каков "голый" синтаксис Haskell? Я просто не помню деталей, но было примерно так: человек пару рассказывал про "основной" Haskell. Потом сказал: еще есть вот такая фишка, но для этого нужна специальная какая-то версия, так как мой компилятор это не поддерживает… и так пару–тройку раз про основы… Могу наврать, конечно… Мог и он наврать, но у меня такое впечатление осталось. Оно ошибочно?
-- Best regards, Dennis Schetinin 24 июля 2013 г., 12:29 пользователь Semyon Novikov <[hidden email]> написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. |
Возможны, конечно. Язык абсолютно точно не минимален. Я и не пытаюсь сказать, что он минимален. Минимально можно все запрограммировать машиной тьюринга или двумя комбинаторами. Но это несколько неудобно.
2013/7/24 Dennis Schetinin <[hidden email]>
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. |
In reply to this post by Dennis Schetinin
Введение статической типизации в Smalltalk уменьшит быстродействие. Проверять тип придется на этапе присвоения значения переменной. Хотя можно добавить как инструмент отладки, который можно при необходимости отключать. Если жизненно необходим контроль типов. С другой стороны в Smalltalk динамическая (я бы даже назвал безтиповая) типизация, является основой языка, как и полиморфизм.24 июля 2013 г., 14:39 пользователь Dennis Schetinin <[hidden email]> написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out. |
Free forum by Nabble | Edit this page |