LINUX.ORG.RU

Ceramic — кросплатформенный GUI на Common Lisp

 ,


2

5

Вышла в свет платформа Ceramic — инструментарий для создания кроссплатформенных приложений с помощью веб-технологий.

Ceramic написан поверх Electron, аналогично текстовому редактору Atom от Github. Примечательным моментом является использование Common Lisp в качестве языка разработки. По словам авторов, Lisp обспечивает быстрый старт и высокую скорость разработки в сочетании с высокой производительностью и зарекомендовавшей себя промышленной надежностью.

>>> Подробности

★★

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

Не местные мы, но язык программирования - это ведь всего лишь инструмент. Всё работает, программы, сайты, оборудование крутится)

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

Скобки видел? Вот они и есть ошибка дизайна. Динамическая типизация и макросы только добавляют говна в котел.

Скобки и макросы - это настолько могучая особенность Лиспа, что средним умам с «косыми» глазами этого ещё очень долго не понять. Динамическая же типизация рулит тем, что не выкручивает «прямые» руки. Те, у кого руки «кривые», а глаза «косые», кто не может обходиться с динамической типизацией не смогут писать не только на Лиспе, но и даже на Си. :-)

anonymous ()

Столько ненужно в одном месте, надо же.

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

PAW - фреймворк, который использовал CERNlib. Удивительно? То же и с GEANT 3.

skvitek ★★ ()
Последнее исправление: skvitek (всего исправлений: 1)
Ответ на: комментарий от skvitek

Это клёво что лисп такой клёвый. Хоть что-нибудь для физики высоких энергий или элементарных частиц на нём написано?

http://www.reduce-algebra.com/bibliography.htm

[Baranov:07] S. P. Baranov. Associated y+b+b production at the Fermilab Tevatron and CERN LHC. Physical Review D (Particles and Fields) 74 no. 7, page 074002, November 2006. [Baranov:06] S. P. Baranov. Topics in associated j/ψ + c + c production at modern colliders. Physical Review D (Particles and Fields) 73 no. 7, page 074021, 2006. [Baranov:08] S. P. Baranov and A. Szczurek. Inclusive production of j/ψ meson in proton-proton collisions at bnl rhic. Physical Review D (Particles and Fields) 77 no. 5, page 054016, 2008.

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

Нативный код и есть в железо.

Выносите наркомана, он порвался.

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

что средним умам с «косыми» глазами этого ещё очень долго не понять

Ну да, не всем понять мудрость книги Мормона. Надо очень долго молиться и завести не менее пяти жен, только тогда поймешь.

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

PAW - фреймворк, который использовал CERNlib.

Нет, это именно что часть поставки CERNlib.

То же и с GEANT 3.

И он тоже часть CERNlib.

anonymous ()

На нем ведь нет нихрена ,зато он интересный ,да классный ,но говорить что он тру? Операционка - гомно на нем ,при желании можно на чем угодно. Софт ,да есть разве что как вспомогательный язык ,типа для CAD А так стоющего говна даже на паскале больше

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

На нем ведь нет нихрена ,зато он интересный ,да классный

Есть, но реально качественного софта на нём мало. Да и откуда этот софт появится в большем количестве, чтобы ты удивился, если коммьюнити с гульгин нос? :-)

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

CERNlib - это CERNlib. Она устанавливается отдельно. Она идёт без PAW и GEANT 3, которые ты устанавливаешь потом, если они тебе нужны. Если у тебя было иначе - это проблемы твоей сборки софта/дистрибутива

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

«The calculation of traces is performed using the algebraic manipulation system REDUCE »

Ясно.

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

А в нем нет скобочек?

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

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

Я что-то не понимаю. Ты не любишь C++ и QuickLisp, но любишь Common Lisp или что? Какой именно реализации Lisp'а ты симпатизируешь, мой смайлофажный анонимус?

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

Зачем ты забрела в Lisp-тред, няша? Не видишь что ли, что серьёзные дяди тут С и C++ обсуждают.

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

commonqt есть и qtools активно пилится.

Они базируются на Qt или просто так названы? Я не в том смысле. В чём проблема взять Lisp для рисования GUI так, как это делает GTK+ или сам Qt, не привязываясь собственно к GTK+/Qt? То есть возможно ли создание на Lisp GUI-фреймворка, который рисует контроллы сам, не опираясь на уже существующие библиотеки?

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

commonqt есть и qtools активно пилится.

Они базируются на Qt или просто так названы?

CommonQt -биндинг. Qtools - лиспофицированя обертка к нему.

То есть возможно ли создание на Lisp GUI-фреймворка, который рисует контроллы сам, не опираясь на уже существующие библиотеки?

CLIM, Garnet, 10-ки X-овых либ на базе CLX и несколько на основе OpenGL делают/ли так. Проблемы тут две. Во-первых, народ хочет чтобы наш GUI вписывался в текущее окружение, которое на GTK/Qt. Зайди в любую тему c упоминием FLTK/Tk и удивись завалам из кирпичей - гранаты форма кнопок не той системы :( Во-вторых, переносимость. Если X-ы еще, народ c применением CLX как-то осиливает. То вот на win32api почти гарантировано ложит болт.

antares0 ★★★ ()
Последнее исправление: antares0 (всего исправлений: 1)
Ответ на: комментарий от EXL

Ну и на практике лисперов имеющих опыт работы с С/C++ G&Q-интерфейсами больше чем желающих изучать что-то другое и выбирают более знакомое..

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

полез разбираться в языке и его особеннотях, что бы, хоть что-то ответить кроме «Ck0bKи»

:)

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

Ты не любишь C++ и QuickLisp, но любишь Common Lisp или что?

Common Lisp - могучий язык, далеко не идеальный, но очень могучий, хотя и старый. QuickLisp, который уже более 5-ти лет почему-то beta, - всего лишь хорошая программа на Common Lisp, цель которой мне понятна, и, вполне благородна - сделать Лисп более доступным для новичков. Я не разделяю «библиотечный» подход везде и всюду, который уводит в сторону от самой важной изюминки Лиспа - возможности создания новых, специфических языков поверх его. В языках типа C библиотеки являются единственной возможностью организации повторного использования, а в Лиспе - нет.

Какой именно реализации Lisp'а ты симпатизируешь

Нет такой реализации. :-)

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

Нет такой реализации. :-)

Хотя бы реальные проекты пишешь на лишпе? Или только хвалишь? А то ведь как-то на троллинг похоже. Цепепешники аж стулья пачками прожигают.

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

Хотя бы реальные проекты пишешь на лишпе? Или только хвалишь?

А что ты понимаешь под «реальными» проектами? Протопит - это реальный проект? Для кого-то прототип - это прототип, а для кого-то - реальный проект :-) В реале же одним только Лиспом обойтись нереально. Ну, если только реальность не виртуальная :-)

А то ведь как-то на троллинг похоже. Цепепешники аж стулья пачками прожигают.

Правильные цепепешники обязательно обратят внимание на Лисп. Любой серьёзный программист это сделает в один прекрасный день. Будет ли он его использовать, или не будет, когда увидит, что за скобками есть что-то очень интересное - вопрос другой.

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

Я не разделяю «библиотечный» подход везде и всюду, который уводит в сторону от самой важной изюминки Лиспа - возможности создания новых, специфических языков поверх его. В языках типа C библиотеки являются единственной возможностью организации повторного использования, а в Лиспе - нет.

Это всё здорово и замечательно, но это лишь одна из возможностей языка. Очень хорошая возможность, качественно отличающая lisp от других языков, но не самоцель. Иногда проще взять готовую библиотеку (тот же hunchentoot или cl-closure переизобретать смысла нет, ИМХО).

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

Иногда проще взять готовую библиотеку (тот же hunchentoot или cl-closure переизобретать смысла нет, ИМХО).

А теперь скажи честно и откровенно (самому себе, прежде всего). Если б не было Hunchentoot, cl-closure, стал бы ты использовать Common Lisp для сайтов?

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

Ну раз пошла речь про C++ и Lisp, не могу не оставить эту ссылочку: https://ru.wikipedia.org/wiki/InteLib Лисп на/в крестах. От Столярова. Это конечно академическая штука, да и обновляется, скажем, нечасто...

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

Я не разделяю «библиотечный» подход везде и всюду, который уводит в сторону от самой важной изюминки Лиспа - возможности создания новых, специфических языков поверх его. В языках типа C библиотеки являются единственной возможностью организации повторного использования, а в Лиспе - нет.

А как это ты связываешь создание DSL'ей и организацию повторого использования кода? По-моему совсем не связанные вещи.

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

Насколько я знаю интергация плюсов и общелиспа сейчас очень круто запиливается в Clasp - современной, полноценной реализации CL на плюсах.

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

А что ты понимаешь под «реальными» проектами?

== полезные кому-нибудь, которые используются.

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

А как это ты связываешь создание DSL'ей и организацию повторого использования кода? По-моему совсем не связанные вещи.

Что в программированиие может быть более пригодным для повторного использования, нежели чем язык программирования? Суть повторного использования в отделении общего от частного. Создав свой язык, на котором потом пишется прикладная задача, можно приспособить этот спец. язык для написания аналогичных задач. Пола Грэма почитай ещё раз. :-)

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

А как это ты связываешь создание DSL'ей и организацию повторого использования кода?

Сравни «регулярку» и аналогичный по результату алгоритм на строковых функциях. Если в принципе не знать о существовании регулярных выражений, то можно аккуратно упаковать этот алгоритм в библотеку, выложить в репу, инкрементировать счетчие библиотек .. и повторить цикл заново еще раз 10 для других частных случаев. А можно просто научится пользоваться регулярками. Это все максимально упрощеный пример призваный показать что есть основополагающие вещи которые в том числе с помощью dsl покрывают целые области и есть просто библиотеки рожденые скорее незнанем и не прорабоностью каких-то фундаментальных вещей.

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

Возращась к протоколам, можно было представить достаточно емкий dsl. Который давал бы возможность уместить описание протокода на одной странице, давая возможеность сразу понять принципы его работы. А то на практике народ умеет делать http-запрсы с помощью библиотеки. Но не догадывается о нужности передачи и вобще о наличии Referer-а.

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

Ограничено. Вижу в нем мало смысла при наличии лиспа.

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

Но ведь там гораздо упор на DSL'и, гораздо больше, во всяком случае из того что видно в стандартной либе. Хотя parse можно и в лиспе реализовать. Надо попробовать.

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

Но ведь там ...

Смысла не вижу потому что маленькая нишевая штука с врожденными тараканами автора. Все остальное на этом фоне представляет лишь теоритический интерес.

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

По-твоему лучше писать дсли в виде s-выражений? ребол то дает дсл для написаний дслей)

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

Я о другом говорил. Но приминительно к лиспу, да, лучше скобками. Что бы не созидать на ровном месте dsl для написания dsl-ей, которые в свою очерь чего-то д-эс-элят :)

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

Я не разделяю «библиотечный» подход везде и всюду, который уводит в сторону от самой важной изюминки Лиспа - возможности создания новых, специфических языков поверх его.

А разве макросы/ДСЛ нельзя в библиотеки повыносить?

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

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

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

А разве макросы/ДСЛ нельзя в библиотеки повыносить?

В «библиотеки» в смысле квиклиспа? Да пожалуйста, выноси. Кому они нужны только? :-)

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

а те которые выстявляются наружу со скобками врятли прокатят.

Зачем их выставлять «наружу»? Зачем писать на Лиспе в «библиотечном» стиле для «наружу»? Лучше бы над реализациями работали. Пользы было бы больше, чем от сотен ненужных какашек :-)

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

а те которые выстявляются наружу со скобками врятли прокатят.

Конечно же, такие вещи, как cl-pprce, как Postmodern, как Parenscript и т.п. очень даже годятся для QuickLisp. И есть смысл работать над ним совместно всему сообществу. :-)

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

а те которые выстявляются наружу со скобками врятли прокатя

Мне вот интересно, ты когда это писал, о каком именно dsl думал?
А чисто практически попробуй вспомнить когда с http работаешь, заголовки вручную построчно пишешь или как? То бишь не надо смешивать и взбалтывать транспортный уровень. Его беречь и отделять. И в роли КО отмечу, что поправить принтер/ридер для работы без скобок задача банальная.

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

Кложуру взять и не греть голову.

Ну вот, это тот подход, который, увы, даже лисперы выбирают. Я понимаю, что время нынче дорого. И хочется сразу приступить к решению насущной задачи. Тем не менее, человек вот взял и написал хорошую программу, которой не было - Hunchentoot. Без всякой кложуры. Просто потому, что программист, а не подобие. :-)

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