metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-08-13 05:05 pm

Ход раком

Чтобы ИТ-индустрия окончательно встала раком, Гуглу сейчас нужно сделать ход конем - разработать ТРЕТИЙ вариант кроссплатформенного языка-платформы с собственной виртуальной машиной, JIT, итд, итп, в дополнение к жабе и дотнету. И сманить девелоперов на него какими-нибудь заманухами страшными.
Тем более что дотнет семимильными шагами двигается в ту же over-engineered сраку, что и жаба, а альтернативы реальной тому и другому и нету.

[identity profile] theiced.livejournal.com 2010-08-13 06:18 pm (UTC)(link)
старинный стандарт со старинными факапами (например по причине медленности тогдашних компов) это да - не сильно хорошо, но к этому можно довольно быстро привыкнуть (дни, реально дни). система расширения типизации - поясните. стандартная библиотека есть, огромная (с кучей говнокода, да), сторонние либы для подавляющего большинства задач таки есть (в базу насрать, веб (или гуи) морду наструячить, хымыыль попарсить, письмо послать, ...) и вот насчёт качества я буду спорить с пеной у рта. опять же есть коммерческие реализация коммон лиспа и тучи коммерческих либ - благо кл используется очень широко и сейчас. исполняемые файлы генерятся - без проблем почти всеми реализациями, кто такой тришакер я не знаю - рассказывайте, статическая типизация/система типов - ну сделайте свою, кто вам мешает, задача на лиспе вполне подъёмная (а может кто и сделал, надо погуглить).

[identity profile] swizard.livejournal.com 2010-08-13 06:21 pm (UTC)(link)
>
  • (а может кто и сделал, надо погуглить)


  • Сделали, Qi.

    [identity profile] theiced.livejournal.com 2010-08-13 06:23 pm (UTC)(link)
    угу - уже нагуглил его + ещё пачка ссылок на разные либы и прочая. всё есть если надо, да ;]

    [identity profile] thesz.livejournal.com 2010-08-13 11:07 pm (UTC)(link)
    Ты им пользовался?

    [identity profile] freiksenet.livejournal.com 2010-08-13 06:35 pm (UTC)(link)
    В коммон лиспе есть deftype который позволяет задавать свои типы. К сожалению он очень ограничен, и например рекурсивные типы в нём уже незадать. Была бы более сложная система типизации (аля хаскелл) - было бы проще. Конечно это компенсируется CLOS-ом, но SBCL насколько я помню CLOS выводить не умеет и CLOS-овыми классом переменную не заdeclare-ишь.

    Это кстати достаточно сильно мешает писать в функциональном стиле - стандартные коллекции не расширяемые, ленивых стандартных коллекций нету, приходится многие алгоритмы писать отвратительным loop-ом из-за этого, хотя в хаскелле, или даже в питоне, я могу бы написать это в функциональном стиле. Есть SERIES и подобные альтернативные библиотеки коллекций, но тогда надо полностью на их инфраструктуру переходить, тк они не совместимы со стандартными.

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

    Treeshaker - тулза которая выкинет все инклюды которые программой не используются при создании binary, чтобы образ получился не 20 мегабайт, а 1 мегабайт. В LispWorks он кстати вроде есть, а в опен-сорсных нету.

    Статическая типизация - есть typed lisp в PLT Scheme (Racket он вроде теперь называется), там на макрах сделан type inference, но это схемка. Есть Qi но он не опенсорсный теперь + есть ощущение что у автора ФГМ (судя по его блогу), что делает неопенсорсность серьезной проблемой. В общем наметки есть, но ничего работающего пока нету.

    [identity profile] theiced.livejournal.com 2010-08-13 06:49 pm (UTC)(link)
    По первому обзацу говорить не буду ибо это уже примерно границы моих знаний (ещё раз - я не особо мега гуру лиспа - так, ваяю говнокод переодически рождая велосипеды).

    Да, я в курсе, поэтому и написал что кл язык императивный (у многих почему то есть чёткое мнение что он функциональный, мистика). Про Series как раз в этом проекте обсуждали, решили не юзать - но никто не мешает если очень хочется.

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

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

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

    [identity profile] freiksenet.livejournal.com 2010-08-13 07:01 pm (UTC)(link)
    Ну он таки мультипарадигмовый. Очень много у него функциональщины - связанные списки, map/filterremove-if(-not)/foldreduce, лямбды, замыкания. И вроде пишешь +/- функционально, но потом вдруг тыкаешься носом в штуку которая сильно мешает продолжать это делать и приходится писаь императивщену там где её не нужно было бы писать, если бы было это реализованно прямо.

    А с SERIES главная проблема в том что юзая куча геморроя появится от юзания других библиотек, которые используют обычные sequences. ) Хотя бы у меня такое впечатление возникла от трогания их.

    ЗЫ. В принципе не всё так плохо - http://common-lisp.net/project/sequence-iterators/. Надеюсь когданибудь это выпустят и всем будет нирвана.