LINUX.ORG.RU

Squeak 4.2

 , ,


0

1

Нежданно-негаданно к нам подкрался очередной релиз современной, свободной реализации языка программирования Smalltalk — Squeak.

Версия с сакральным номером 4.2 несёт нам:

  • значительные улучшения в библиотеке классов и IDE, традиционно обещается прирост производительности;
  • подчищенную кодовую базу с улучшенной поддержкой выгрузки ненужных пакетов и шрифтов из системы;
  • API для работы со стандартным вводом-выводом;
  • улучшенный интерфейс командной строки;
  • переработанную и расширенную документацию;
  • старый тулкит MVC, воскрешенный для работы на медленных устройствах;
  • и многое другое.

Отдельным пунктом следует выделить адаптацию Squeak к работе на новой виртуальной машине — Cog. Cog обеспечивает приблизительно трёхкратный общий прирост производительности за счёт JIT, также ведётся работа над поддержкой системных потоков и неблокирующих внешних вызовов. Разработка новой виртуальной машины финансируется организацией Teleplace, которая предоставляет свой коммерческий вариант системы виртуальных миров Open Cobalt.

Скачать

>>> Официальный анонс

★★★★★

Проверено: mono ()

Ответ на: комментарий от anonymous

Некоторые считают, что если кто-то в банке написал програмулину на языке Х, чисто потренироваться, то, мля, язык Х теперь активно используется в банковской сфере. Давайте лучше сравним процент кода написанного на каком-то там PL/SQL и на какой-то там Java именно в банковской сфере с процентом софта написанном на Smalltalk в той же сфере, то конечно, 0.00001% кода на Smalltalk делают его Ъ языком для банковской разработки.

Детский сад, ей богу.

cathode ()
Ответ на: комментарий от anonymous

>> Хотите получать удовольствие от программирования - выбирайте CommonLisp

Хотите гемора на свою жопу с кросплатформенностью, выбирайте CL.
Хотите без гемора, платите за каждую установку.
Хотите не платить, трахайтесь сами.

cathode ()
Ответ на: комментарий от anonymous

> В нем очень просто выстрелить себе в ногу, а затем ампутировать шею. Кому нужны языки, в которых просто сделать ошибку?

Чем Common Lisp выгодно лучше Smalltalk в этом отношении? Мне аж интересно стало.

Про удовольствие от программирования - это субъективно. Про множество библиотек - спорно. Насчёт быстрых приложений, разве что, согласен.

yoghurt ★★★★★ ()
Ответ на: комментарий от anonymous

>И в чём реальное преимущество по ощущениям, для разработчика?

Без понятия, я, к сожалению, над Kapital не работал

Web с этими url'ами даже не знаю.. Или лечится?

Вы имеете ввиду Seaside? Да, его урлы вполне лечатся, а остальные фреймворки этим не страдают. Но тут дело вот в чем: все эти т.н. bookmarkable URLs нужны контентным сайтам, а Seaside изначально писался для удобства разработки именно веб-*приложений*, а не тупых пайпов между юзверем и БД. Чем первое отличается от вторых - Грэм писал в одной из статей о viaweb.

yoghurt ★★★★★ ()
Ответ на: комментарий от cathode

>Некоторые считают, что если кто-то в банке написал програмулину на языке Х, чисто потренироваться, то, мля, язык Х теперь активно используется в банковской сфере.

активно

Я этого не говорил

yoghurt ★★★★★ ()
Ответ на: комментарий от yoghurt

>> Я этого не говорил

Relly? А кто тогда на вопрос про промышленное применение ST пукнул про ЖП Морган?

cathode ()
Ответ на: комментарий от cathode

Не знаю кто пукнул, а я привел пример. Что-то не так?

yoghurt ★★★★★ ()
Ответ на: комментарий от yoghurt

Не, все так... Kapital - это мегакул. Он как чемодан без ручки - нести тяжело, а выкинуть жалко...

cathode ()
Ответ на: комментарий от yoghurt

Лисперы срутся со смолтолкерами.

Майский день, именины сердца.

anonymous ()

2youghurt

Кстати, а какие фичи есть в Smalltalk, как в языке (откинем реализацию)? Если рассматривать относительно Python/Ruby-like язык.

Какие возможности даёт Ъ-OOP?

Блоки и message-passing дают возможность метапрограмминга. Ок.

Переопределение doesNotUnderstand — умение обрабатывать сообщения, обработка которых не зафиксированная жёстко. Ок.

Какие есть ещё фичи?

smalltalk-мимоходом-посмотрел-кун.

vladimir-vg ★★ ()
Ответ на: 2youghurt от vladimir-vg

>Кстати, а какие фичи есть в Smalltalk, как в языке (откинем реализацию)?

Язык, как я уже говорил, минимален - все фичи реализованы и предоставляются стандартной библиотекой. Наследование, например - не магия компилятора, а вполне себе определённое на Смолтоке же действие.

Продолжения, например, реализованы тоже на самом языке (за счёт прямого доступа к контексту, который объект), без участия виртуальной машины.

>Какие возможности даёт Ъ-OOP?

Работу с классами как с объектами первого рода. Возможность инстанцировать объекты формально не существующих (явно не обозначенных) классов. Пример (работает в Squeak):

| a b |
a := Behavior new.
a compile: 'foo ^42'.
b := a new.
b foo.

Последняя строчка вернёт нам 42.

>Какие есть ещё фичи?

Прямой доступ к контексту выполнения, нормальная рефлекия, так называемый «сигнальный протокол» - рестарты как в CL.

Вспомнилось ещё сообщение #become:. Позволяет «перенаправить» все ссылки с одного объекта на другой, с помощью этого можно вытворять всякие хитрые фишечки (примеры были в DPSC, паттерн Proxy).

yoghurt ★★★★★ ()
Ответ на: комментарий от yoghurt

> http://www.cincomsmalltalk.com/main/successes/

Грубо говоря - возможность работы с живыми объектами в IDE.

Зависит от реализации. Не думаю, что Cog будет медленнее джавы.


Есть RoarVM - реализация Squeak для многопроцессорных систем...


Вообще смолтоковая концепция взаимодействия посредством обмена сообщений очень нехилый профит тут приносит.


Потому что Smalltalk это не столько язык (язык вообще минимален, всего 6 ключевых слов), сколько интерактивное окружение.


В $EDITOR, как правило, редактируют файлы с исходниками. В Smalltalk (кроме гнутого) их попросту нет



Гм. Давайте я заменю пару слов, а мы посмотрим, что получится?

"http://www.franz.com/success/"
«Грубо говоря - возможность работы с живыми объектами в REPL.»
«Зависит от реализации. Не думаю, что SBCL будет медленнее джавы.»
«Есть Clojure - реализация лиспа для конкурентного программирования...»
«Вообще лисповая концепция, использующая унификацию данных и кода, очень нехилый профит тут приносит.»
«Потому что CL это не столько язык (язык вообще минимален, всего 6 ключевых форм), сколько динамическая метасреда.»
«В $EDITOR, как правило, редактируют файлы с исходниками. В Common Lisp их попросту нет, Common Lisp устроен и работает по-другому»

Знакомая песня, не правда ли?

anonymous ()
Ответ на: комментарий от anonymous

К чему это я вообще? Ах да, у ваших сект даже мантры одинаковые.

anonymous ()
Ответ на: комментарий от yoghurt

Насчёт быстрых приложений, разве что, согласен.

Хоть я и сам отчасти лиспер, скажу, что «скорость» для коммон лисперов — понятие весьма относительное. Для схемеров тоже. Даже хваленый Stalin (который на порядок дергает все коммон лиспы) хорош только на сложно-рекурсивных вызовах.

buddhist ★★★★★ ()
Ответ на: комментарий от lucentcode

>То, как можно на лету модифицировать любой объект в системе-просто потрясает воображение.

Не только в нём.

anonymous ()
Ответ на: комментарий от buddhist

Когда у меня встал вопрос о числодробилках, я предпочёл SBCL всяким Сквикам :]

yoghurt ★★★★★ ()
Ответ на: комментарий от anonymous

>Хотите получать удовольствие от программирования - выбирайте CommonLisp

Удовольствие от скобочек, ага.

Хотите иметь множество библиотек на все случаи жизни - выбирайте CommonLisp

С нужно выбирать. Или fortran. И никак не lisp.

anonymous ()
Ответ на: комментарий от yoghurt

Я в таких случаях предпочитаю Питон, если работы немного или какой-нибудь фортран, если много)

buddhist ★★★★★ ()
Ответ на: комментарий от cathode

>Детский сад, ей богу.

А еще сравни с каким нить VB и PHP - и сделай выводы по поводу нужности остальных языков.

r ★★★★★ ()
Ответ на: комментарий от cathode

>Хотите гемора на свою жопу с кросплатформенностью, выбирайте CL.

Геморр с кросплатформенностью решается уничтожением ненужных платформ.

anonymous ()
Ответ на: комментарий от anonymous

>>Хотите гемора на свою жопу с кросплатформенностью, выбирайте CL.

Геморр с кросплатформенностью решается уничтожением ненужных платформ.


У LispMachine это особенно клёво получилось, ага.

anonymous ()
Ответ на: комментарий от anonymous

>Хотите получать удовольствие от программирования - выбирайте CommonLisp

Удовольствие от скобочек, ага

Ага, а в си удовольствие от {}. Причем тут синтаксис? На CommonLisp ты сможешь писать около 99% вещей в 5-6 раз быстрее, чем на си, без ошибок, которые ты мог допустить в си, и твои приложения будут работать с такой же скоростью как на си. Так в чем же профит от си?

С нужно выбирать. Или fortran. И никак не lisp.

К нам пожаловал гость из 70ых? Машину времени уже починили? А че не на асме? Пасаны на раене уважают же.

anonymous ()
Ответ на: комментарий от cathode

>Хотите гемора на свою жопу с кросплатформенностью, выбирайте CL.

Хотите без гемора, платите за каждую установку.
Хотите не платить, трахайтесь сами.

гемора на свою жопу
без гемора
трахайтесь сами

Тяжелое детство? Это вас си таким сделал? А выбрали бы лисп глядишь ваша жизнь сложилась бы по другому.

anonymous ()
Ответ на: комментарий от Nebuchadnezzar

на авотарге су из 2го сезона геншыкена?

по теме: давно хотел изучить что-нибудь очень гиковское, маргинальное, полное мизантропии :3

anonymous ()

Море баттхерта быдлокодеров-пэтэушнегов в треде!

Gukl ★★ ()
Ответ на: комментарий от anonymous

Да :)

По теме: хочу изучить Lisp, Smalltalk и Erlang - даже зная, что работодателями они не востребованы.

Nebuchadnezzar ★★★★ ()
Ответ на: комментарий от Gukl

>Море баттхерта быдлокодеров-пэтэушнегов в треде!

Почему ты считаешь смолтолкеров пэтэушнигами?

anonymous ()
Ответ на: комментарий от Nebuchadnezzar

> По теме: хочу изучить Lisp, Smalltalk и Erlang - даже зная, что работодателями они не востребованы.

Lisp, Smalltalk и Erlang

работодателями они не востребованы


Erlang


не востребованы



Прозреваю опечатку. Erlang-то как раз востребован, на нём написано немало промышленной middleware-годноты, как-то ejabberd, ZeroMQ, RabbitMQ, CouchDB.

На месте Эрланга должен был бы быть Haskell. Lisp, Smalltalk, Haskell - вот релевантный топ-список не востребованной промышленностью маргинальщины.

anonymous ()

C++ РУЛЕД!!!11111

anonymous ()
Ответ на: комментарий от anonymous

мда... А начали с обсуждения области применения конкретного языка.

delete83 ★★ ()
Ответ на: комментарий от r

>> А еще сравни с каким нить VB и PHP - и сделай выводы по поводу нужности остальных языков.

Windows-only и web-only языки идут лесом.

cathode ()
Ответ на: комментарий от anonymous

>> На CommonLisp ты сможешь писать около 99% вещей в 5-6 раз быстрее, без ошибок

Угу... Который год не могут нормальные потоки в виндовый порт SBCL прикрутить. Позор! Ибо это нахрен никому не надо, т.к. заняты исправлением ошибок. А, да, ошибок там нет, как ты сказал.

Кстати покажи эти 99% написанных вещей.

cathode ()
Ответ на: комментарий от cathode

>Который год не могут нормальные потоки в виндовый порт SBCL прикрутить. Позор! Ибо это нахрен никому не надо, т.к. заняты исправлением ошибок. А, да, ошибок там нет, как ты сказал.

4.2. Все давно прикручено

Кстати покажи эти 99% написанных вещей

Не выдергивай слова из контекста. Расскажи, что можно написать на си и нельзя написать на CommonLisp? Ладно, давай проще(а то у тебя мозг взорвется от перенапряга): что нельзя написать на CommonLisp?

anonymous ()
Ответ на: комментарий от anonymous

>Erlang-то как раз востребован

Не в этой стране. Не в глубинке по крайней мере :(

Nebuchadnezzar ★★★★ ()
Ответ на: комментарий от anonymous

>> 4.2. Все давно прикручено

Где? http://www.sbcl.org/platform-table.html Виндовый порт застрял в развитии вообще. Или ты намекаешь на патчи от vk?

Не выдергивай слова из контекста [...] что нельзя написать на CommonLisp?

Я не спрашиваю, что можно/нельзя. Я спрашиваю где оно? А так да, 99% людей могут научится играть на скрипке. И что?

cathode ()
Ответ на: комментарий от cathode

>Или ты намекаешь на патчи от vk?

Ага. К тому же кроме sbcl есть масса других реализаций.

Я не спрашиваю, что можно/нельзя. Я спрашиваю где оно?

Везде: корпоративные приложения, числодробилки, эмбэддэд...

А так да, 99% людей могут научится играть на скрипке. И что?

Кривая аналогия. Приложения, написанные на лиспе - можно написать на си#/джаве, но быстрее и дешевле будет написать их на лиспе. Ну то есть, например, ты можешь учиться играть на скрипке под руководством преподавателя, а можешь по наскальным рисункам твоего подвальчика. Что в данном случае будет быстрее?

anonymous ()
Ответ на: комментарий от cathode

>Windows-only и web-only языки идут лесом.

ничего платформовебоспецифичного в них нет.

r ★★★★★ ()
Ответ на: комментарий от Nebuchadnezzar

> По теме: хочу изучить Lisp, Smalltalk и Erlang - даже зная, что работодателями они не востребованы.

Российские работодатели - не показатель.

Gukl ★★ ()
Ответ на: комментарий от anonymous

>> Везде: корпоративные приложения, числодробилки, эмбэддэд...

О да.... Куда ни плюнь, одни лиспы и смалтолки...

ты можешь учиться играть на скрипке под руководством преподавателя, а можешь по наскальным рисункам твоего подвальчика. Что в данном случае будет быстрее?

Приложения, написанные на лиспе - можно написать на си#/джаве, но быстрее и дешевле будет написать их на лиспе.

Индускод на лиспе действительно пишется быстрее.

cathode ()
Ответ на: комментарий от cathode

> Индускод на лиспе действительно пишется быстрее.

Можно продемонстировать индусокод на лиспе, любопытно же...

sv75 ★★★★★ ()
Ответ на: комментарий от Nebuchadnezzar

Рынок программирования на Erlang очень небольшой, но судя по активности hh спрос (как минимум до кризиса) превышал предложение.

sv75 ★★★★★ ()
Ответ на: комментарий от babusha

На оффсайте книжка хорошая есть. На буржуйском, но очень понятная книга. И бесплатная электронная версия в PDF. Скачайте, не пожалеете. Ещё есть похожая реализация, Pharo, и книга к ней тоже бесплатно и на буржуйском. Есть книга на русском, но старая. В ней всё заточено под старый фреймворк.

lucentcode ★★★★★ ()
Ответ на: комментарий от lucentcode

Буржуйский меня не смущает, а вот прям сейчас обязательно посмотрю, в ходе изучения руби, я понял что лучше чем ООП еще не было придумано, да и фичи типа
array.each do |var|
something(var)
end

запилены в руби из smalltalk

babusha ()
Ответ на: комментарий от anonymous

Шеф, а про то что ООП парадигма Common Lisp была написана под впечатлением от Smalltalk вы в курсе? В своё время идеи и наработки из Lisp и Smalltalk влияли друг на друга. Да создатели smalltalk и не скрывали, что разработка велась под впечатлением от Lisp. Так что против Lisp ничего не имею, хотя сам ковыряю Schem, очень удобная вещь. Да и как калькультор я юзаю Scheme и Python.

lucentcode ★★★★★ ()
Ответ на: комментарий от r

Ну, на вкус и цвет все фломастеры разные. Кто-то Smalltalk или Lisp увлечён, а кто-то чем-то другим...

lucentcode ★★★★★ ()
Ответ на: комментарий от anonymous

Знаю, но есть же и крайне неповоротливые недо-ООП языки.

lucentcode ★★★★★ ()
Ответ на: комментарий от lucentcode

>Шеф, а про то что ООП парадигма Common Lisp была написана под впечатлением от Smalltalk вы в курсе?

И что из этого?

В своё время идеи и наработки из Lisp и Smalltalk влияли друг на друга. Да создатели smalltalk и не скрывали, что разработка велась под впечатлением от Lisp.

Ну как дите, чесслово,«под впечатлением». Какая разница что и на кого повлияло. Важно, что получилось в итоге: гибкий, быстрый, легкий, почти универсальный CommonLisp и медленный, ограниченный, легкий Smalltalk.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.