Когда читаешь рекламу Clojure, а впрочем и других языков, может сложиться ложное впечатление,
что они привносят много нового. Еще Clojure часто позиционируется как полноценный CL.
Однако, в Clojure много чего нет — сигналов, перезапусков,
обобщенного формата данных(родной формат CL в который можно сохранять программу и загружать в исполняемый образ без преобразований).
Теже хеш-мапы были в CL всегда, просто запись была несколько иной.
Да, можно допустить, что Clojure визуально более выразителен(особенно с подсветкой синтакса), но при этом многие крутые вещи из него исчезли.
Вообще, заметил, что многие языки хостятся на jvm, но на страницах проектов, часто публикуется и возможность(сейчас или позже) в натив, CLR и т.п.
Но проходят годы, а язык так и существует в жвм(плюс интероп в JS). Как будто ЖВМ реально имеет какое-то преимущество.
Здравствуйте, varenikAA, Вы писали:
AA>Когда читаешь рекламу Clojure, а впрочем и других языков, может сложиться ложное впечатление, AA>что они привносят много нового. Еще Clojure часто позиционируется как полноценный CL. AA>Да, можно допустить, что Clojure визуально более выразителен(особенно с подсветкой синтакса), но при этом многие крутые вещи из него исчезли.
CL – перегруженный функционалом монстр. В Clojure просто не вносили того, что плохо ложиться на JVM, либо излишне усложняет язык. И вышло, как мне кажется, просто шикарно.
AA>Но проходят годы, а язык так и существует в жвм(плюс интероп в JS). Как будто ЖВМ реально имеет какое-то преимущество.
Зачем нужен CLR если есть JVM? Набор библиотек для JVM сам по себе очень богат, нет необходимости в еще одной платформе, которая до кучи долгие годы была гвоздями прибита к одной ОС. Ну а нативная сборка... есть предположение что кому-то понадобится LISP компилируемый в нативный код (такой есть, кстати)? Итого: JVM хватает для вообще всего, у этой платформы же только один недостаток реальный – медленный старт.
Здравствуйте, kaa.python, Вы писали:
KP>Зачем нужен CLR если есть JVM? Набор библиотек для JVM сам по себе очень богат, нет необходимости <anything else>
Однако, "набор библиотек" распространяется как правило в исходниках (давайте не будем ля-ля об всеобъемлющей полноте чего-то типа maven central), потому вместе с Clojure давайте держать до кучи еще и 100500 мегабайт JDK вместо JRE. О, а еще "набор библиотек" надо собирать 100500 системами сборки — в компанию к JDK зело просим еще 100500 мегов Maven/Gradle, чтобы эти библиотеки собрать. И вот, наконец, "набор библиотек" можно как-то присобачить к Clojure — только теперь зачем он нам, если мы только что с ним притащили целый java и groovy разве что без Idea ?
Между тем, .NET не оставляет пространства для маневра — базовая поставка идет вместе с компиляторами C#/VB/F# и вместе с системой сборки MSBuild/XBuild, да она тоже 100500 вроде как, но тем не менее all-in-one — ничего лишнего, кроме одного базового дистра для "набор библиотек" к своему любимому .net-язычку типа Jython тащить не надо
Выбор в пользу JVM неочевиден, ничего не говорит в его "избранность" кроме ультимативных "исторически так сложилось"
Здравствуйте, Wolverrum, Вы писали:
W>Однако, "набор библиотек" распространяется как правило в исходниках (давайте не будем ля-ля об всеобъемлющей полноте чего-то типа maven central), потому вместе с Clojure давайте держать до кучи еще и 100500 мегабайт JDK вместо JRE. О, а еще "набор библиотек" надо собирать 100500 системами сборки — в компанию к JDK зело просим еще 100500 мегов Maven/Gradle, чтобы эти библиотеки собрать. И вот, наконец, "набор библиотек" можно как-то присобачить к Clojure — только теперь зачем он нам, если мы только что с ним притащили целый java и groovy разве что без Idea ?
Ну соберешь ты эти библиотеки один раз и всё. Это действительно видится какой-то большой проблемой? И да, есть вся Java, и приложение на Clojure зачастую имеет фрагменты на Java. Что вроде тоже нормально. Я серьезно не понимаю что тут не так, кроме "а у меня иначе обычно".
W>Между тем, .NET не оставляет пространства для маневра — базовая поставка идет вместе с компиляторами C#/VB/F# и вместе с системой сборки MSBuild/XBuild, да она тоже 100500 вроде как, но тем не менее all-in-one — ничего лишнего, кроме одного базового дистра для "набор библиотек" к своему любимому .net-язычку типа Jython тащить не надо
Между тем .NET очень долго время было не-кроссплатформенным решением и, насколько я вкурсе ситуации, сейчас .NET Core поддерживается далеко не всеми популярными сторонними библиотеками (может быть мои сведения устарели).
W>Выбор в пользу JVM неочевиден, ничего не говорит в его "избранность" кроме ультимативных "исторически так сложилось"
Если есть много кода на Java, то можно сильно упростить жизнь добавив Clojure. Брать для разработки сервисов с нуля JVM и/или .NET при наличии Go/Elixir не очень понятно зачем... но если реально нужно, то Clojure хотя бы очень простой и удобный язык, ничего похожего в экосистеме .NET нет по историческим причинам.
AA>что они привносят много нового. Еще Clojure часто позиционируется как полноценный CL. AA>Однако, в Clojure много чего нет — сигналов, перезапусков,
Что это?
AA>обобщенного формата данных
Все используют edn и не парятся
AA>Но проходят годы, а язык так и существует в жвм(плюс интероп в JS). Как будто ЖВМ реально имеет какое-то преимущество.
Оно реально имеет преимущество: он есть чуть менее, чем везде. На JVM есть чуть менее, чем всё.
Здравствуйте, Wolverrum, Вы писали:
W>Выбор в пользу JVM неочевиден, ничего не говорит в его "избранность" кроме ультимативных "исторически так сложилось"
По большому счёту — да. Преимущество JVM — это её везесущесть. Вряд ли найдёшь другую управляемую платформу, которая бегает более-менее на всём.
CLR как платформа выглядит более технически совершенным, но
1. Его кросс-платформенность была заторможена на почти 20 лет
2. Оптимизации JIT были заторможены на почти 20 лет.
В итоге, сейчас CLR представляет собой достаточно интересную штуку, но все тапки уже разобраны.
Лично я подписался на доставку попкорна, т.к. крайне интересно посмотреть, что куда в итоге выстрелит. Дотнет показывает отличную динамику в последние пару-тройку лет, что может привлечь в него энтузиастов.
Но у жавы два десятка лет форы. Но за дотнетом стоит одна из самых богатых компаний в мире. В общем, я пока воздержусь делать ставки.
Если сам буду пилить какой-нибудь опенсорс, то, ясное дело на CLR .
В минуты бессонницы развлекаю себя идеями построения чисто-управляемой СУБД, которая бы бегала поверх memory-mapped files. Как делают все промышленные СУБД, кроме всякого java-отстоя, который massively parallel slowpoke.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
W>>Выбор в пользу JVM неочевиден, ничего не говорит в его "избранность" кроме ультимативных "исторически так сложилось" S>По большому счёту — да. Преимущество JVM — это её везесущесть. Вряд ли найдёшь другую управляемую платформу, которая бегает более-менее на всём. S>CLR как платформа выглядит более технически совершенным, но
Если я правильно понял, создатель темы пишет о Common Lisp, а не о CLR.
Здравствуйте, varenikAA, Вы писали:
AA>Но проходят годы, а язык так и существует в жвм(плюс интероп в JS). Как будто ЖВМ реально имеет какое-то преимущество.
Не интероп, а компилятор из cljs в google closure js. Должно в теории хорошо бегать под Node.
Нахрена Clojure на JVM сделали свой сборщик с блекджеком, когда её преимущество- вызов java библиотек, и проще пользовать maven, я хз.
Люди очень разные бывают. Кому-то нравится использовать уже придуманные другими людьми языки, а кому-то нравится придумывать новые языки. Вторых заметно меньше, но вот автор кложуры один из них. Если бы все люди были одинаковые, то до чего же скучно было бы!
P.S. Ну, и CL — это Lisp-N, а вот кложура — Lisp1, что уже многое значит, что это далеко не одно и тоже
Здравствуйте, Sinclair, Вы писали:
S>Если сам буду пилить какой-нибудь опенсорс, то, ясное дело на CLR . S>В минуты бессонницы развлекаю себя идеями построения чисто-управляемой СУБД, которая бы бегала поверх memory-mapped files.
Здравствуйте, kaa.python, Вы писали:
KP>и, насколько я вкурсе ситуации, сейчас .NET Core поддерживается далеко не всеми популярными сторонними библиотеками (может быть мои сведения устарели).
Устарели. Сейчас скорее ты столкнешься с обратной ситуацией — какая то библиотека не поддерживает FW.
W>>Выбор в пользу JVM неочевиден, ничего не говорит в его "избранность" кроме ультимативных "исторически так сложилось"
KP>Если есть много кода на Java, то можно сильно упростить жизнь добавив Clojure.
А если много на дотнете?
KP> Брать для разработки сервисов с нуля JVM и/или .NET при наличии Go/Elixir не очень понятно зачем...
Экстремизм наше фсе?
KP> но если реально нужно, то Clojure хотя бы очень простой и удобный язык, ничего похожего в экосистеме .NET нет по историческим причинам.
Чем грузины лучше? Чем армяне.
Ну и есть же Clojure CLR, не?
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Это признание своей неправоты?
Скорее сочуствие к дотнетчикам.
НС>Опыт всегда однобок.
Зависит сильно.
НС>Вопрос в том почему Джо неуловим. Неспроста ведь?
Конечно неспроста. .NET мало полезная и не предсказуемая штука за пределами экосистемы Windows. Мало кому нужна в итоге, что бы в серьез заморачиваться поддержкой. Может лет через 10-15 что-то изменится, если в .NET Core не будет найден фатальный недостаток, в чем лично я сомневаюсь.
Здравствуйте, kaa.python, Вы писали:
НС>>Это признание своей неправоты? KP>Скорее сочуствие к дотнетчикам.
Бессодержательные ответы на сочувствие никак не похожи.
НС>>Опыт всегда однобок. KP>Зависит сильно.
Не зависит.
НС>>Вопрос в том почему Джо неуловим. Неспроста ведь? KP>Конечно неспроста. .NET мало полезная и не предсказуемая штука за пределами экосистемы Windows.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>>>Опыт всегда однобок. KP>>Зависит сильно. НС>Не зависит.
Откуда дровишки?
НС>>>Вопрос в том почему Джо неуловим. Неспроста ведь? KP>>Конечно неспроста. .NET мало полезная и не предсказуемая штука за пределами экосистемы Windows.
НС>Это тоже на основании личного опыта вывел?
Еще лучше, на основании статистики бэкендов для языков. Ради интереса глянь на языки полноценно работающие на .NET не от МС и подумай почему их вобщем-то нет, а так же почему их гора на базе JVM и LLVM.
Здравствуйте, kaa.python, Вы писали:
НС>>>>Опыт всегда однобок. KP>>>Зависит сильно. НС>>Не зависит. KP>Откуда дровишки?
Из формальной логики. Опыт не будет однобок только если он покрывает 100% всего происходящего.
НС>>>>Вопрос в том почему Джо неуловим. Неспроста ведь? KP>>>Конечно неспроста. .NET мало полезная и не предсказуемая штука за пределами экосистемы Windows. НС>>Это тоже на основании личного опыта вывел? KP>Еще лучше, на основании статистики бэкендов для языков.
Какой статистики?
KP> Ради интереса глянь на языки полноценно работающие на .NET не от МС и подумай почему их вобщем-то нет
Причин может быть много. К примеру, из-за того что родная java очень долго была убога стараниями Гослинга, а сейчас все равно развивается черепашьими темпами из-за неповоротливости JCP или что там сейчас вместо него.
А вот конкурировать с шарпом, где сочетаются высокопрофессиональный design team и изрядное количество ресурсов — крайне сложно, язык должен быть чем то из ряда вон чтобы заинтересовать профессиональное коммьюнити.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>А вот конкурировать с шарпом, где сочетаются высокопрофессиональный design team и изрядное количество ресурсов — крайне сложно
Прогиб засчитан. Шарп весьма прямолинейный язык, предназначенный для энтерпрайз-быдлокода, Java с синтаксическим сахаром по большому счету. Какая у него может быть "конкуренция" с той же Scala? Это вообще разные миры. Да и те же Groovy/Clojure/Ceylon — они тоже про другое. Не в конкуренции дело, просто ЦЛР от Микрософта, известного своей страстью к постоянной смене технологий, в качестве надежной базы для создания языков никому нафиг не упал.
НС>язык должен быть чем то из ряда вон чтобы заинтересовать профессиональное коммьюнити.
Всегда интересно послушать человека, которого уполномочило говорить от своего лица профессиональное коммьюнити.
НС>>А вот конкурировать с шарпом, где сочетаются высокопрофессиональный design team и изрядное количество ресурсов — крайне сложно
ARK>Прогиб засчитан. Шарп весьма прямолинейный язык, предназначенный для энтерпрайз-быдлокода, Java с синтаксическим сахаром по большому счету. Какая у него может быть "конкуренция" с той же Scala? Это вообще разные миры.
Именно. Потому что судя по всему, главный способ развития чего-либо на Скала проходит путь от «как офигенно и много чего» до «вот же убогое невменяемое переусложеннное говно» в срок от примерно полугода до двух лет. После чего люди бегут в любые другие проекты, как от огня.
ARK>Да и те же Groovy/Clojure/Ceylon — они тоже про другое.
Про что, интересно? Особенно невидимые даже в микроскоп груви (он вообще где-то кроме gradle применяется?) и ceylon.
ARK>Не в конкуренции дело, просто ЦЛР от Микрософта, известного своей страстью к постоянной смене технологий, в качестве надежной базы для создания языков никому нафиг не упал.