The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск языка программирования Clojure 1.10

18.12.2018 08:41

После года разработки представлен релиз динамического языка программирования Clojure 1.10, базирующегося на языковых конструкциях Lisp и сочетающего в себе возможности функционального и многопоточного программирования с чертами современных скриптовых языков. Код программ на языке Clojure транслируется в Java байт-код и выполняется на виртуальной машине JVM. Код компилятора Clojure, библиотек и runtime-компонентов распространяется в рамках лицензии Eclipse Public License.

При подготовке новой версии основное внимание было уделено улучшению средств информирования об ошибках и обеспечению совместимости с Java:

  • Выводимые в интерактивном окружении REPL (Read-Eval-Print Loop) и в Clojure ошибки теперь разбиваются на категории в зависимости от фазы исполнения (чтение, раскрытие макросов, компиляция, выполнение, вывод результата и т.п.), и включают дополнительную информацию о местоположении ошибки в исходном тексте и учитывают контекст. Новый код обработки ошибок включён в состав clojure.main REPL, но функциональность также может использоваться и в других инструментах.
  • Проведена работа по обеспечению совместимости с Java 8 и Java 11. Устранены многие ошибки, связанные с генерацией байткода, прекращена поддержка устаревших API и внесены изменения, связанные с новой модульной системой Java. Для работы Clojure теперь требуется Java 8 или более новая версия.


  1. Главная ссылка к новости (https://clojure.org/news/2018/...)
  2. OpenNews: Выпуск языка программирования Clojure 1.9
  3. OpenNews: Проекты по компиляции кода на языках Clojure и Pascal в JavaScript-представление
  4. OpenNews: Открыты исходные тексты Corman Lisp
  5. OpenNews: Представлен LISP/c - транслятор Common Lisp в C/C++
  6. OpenNews: Языку программирования LISP исполнилось 60 лет
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/49802-clojure
Ключевые слова: clojure, lisp, java, jvm
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (47) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 11:11, 18/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Lisp в JVM? Очень интересно...
     
     
  • 2.6, Попугай Кеша (?), 11:44, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Попробуйте )
     
     
  • 3.7, Аноним (7), 11:51, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Я лучче попробую эликсир в EVM.
     
     
  • 4.30, Курыч (?), 04:11, 19/12/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Также можно попробовать имплементацию Кложуры для Эрланга - Clojerl.
     

  • 1.2, КГБ СССР (?), 11:30, 18/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Уж теперь-то заживём!
     
     
  • 2.5, Попугай Кеша (?), 11:44, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Еще бы! Один из лучших языков для разработки. Только 99% хомяков тут что-то отличное от С-подобного синтаксиса не осилит.
     
     
  • 3.8, Анонимчжан (?), 11:57, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    хомяки вообще к Си ни ногой))) он сложен ))) и никаких тебе плюшек автопроверки передвыполнением как в питон или переносимости . не не он как раз для нового поколения "программистов" не желающих знать как работает система. хотя выявление ошибокв си заставляет желать лучшего. например выход за пределы массива или бесконечный цикл без останова, питон в этом отношении даже указывает точную строку ошибки с описанием. вот бы си/с++ тоже так мог.
     
     
  • 4.22, Аноним (22), 20:29, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Rust же
     
     
  • 5.27, Анонимчжан (?), 00:30, 19/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    я в крайнем случае питоном попользуюсь. рустаманством не страдаю.))
     
     
  • 6.49, dmi3s (ok), 20:36, 29/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Мне кажется, эти языки (Rust и Python) предназначены для решения немного разных задач.
     
  • 4.31, Курыч (?), 04:13, 19/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Есть ещё такая точка зрения:

    Хочешь нормально писать на ЦэПэПэ - пиши на Си, а лучший способ писать на Си - это генерировать код из ОКамла)) И ведь охранительно работает!

     
  • 3.12, Ан (??), 12:16, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • +6 +/
    ЛУЧШИЙ ЯЗЫК для разработки это тот с которым ты успешно решаешь поставленные перед тобой задачи. Если ты будешь использовать язык, который не будет на столько эффективен для твоих задач, то ты ИДИОТ. Поэтому не имеет значение на чем писать на Python, C, C++, Javascript, Ruby и т.д. Это как покупать телефон на андроид или iphone и постоянно ебст...сь со своим выбором, потому что ты его сделал под влиянием стороннего мнения.
     
     
  • 4.26, Кабан ЛяЛя (ok), 23:13, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я смотрю, Вы разбираетесь в сортах...
     
  • 3.19, Хм (?), 14:31, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Perl наше всё
     
  • 3.28, Аноним (28), 01:54, 19/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Я не осилил, вопрос осилившим. Как я понимаю в LISP подобных языках создание типа это довольно редкая фича, обычно данные описываются стандартными типами доступными из коробки (код=данные), и у нас есть миллион функций против десятка типов. Так? Как миллион функции у себя в голове удержать и запомнить какая функция к какому типу данных применима?
    Когда я в ООП кодирую я не помню все методы у объекта, ide подсказывает доступные методы у объекта, а в clojure я теряюсь, ничего не могу вспомнить. Я не правильно работаю с clojure?
     
     
  • 4.32, Курыч (?), 04:19, 19/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Можно именовать понятно функции, можно использовать протоколы. Но мне тоже это не нравится в Кложуре. Кривовато реализовано. А вот в ML-like языках OCaml/F# можно программировать типами и иметь непревзойдённую надёжность кода потому что компилятор вообще всё ловит при грамотном проектировании.
     
     
  • 5.35, КГБ СССР (?), 07:46, 19/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Можно именовать понятно функции, можно использовать протоколы. Но мне тоже это не
    > нравится в Кложуре. Кривовато реализовано. А вот в ML-like языках OCaml/F#
    > можно программировать типами и иметь непревзойдённую надёжность кода потому что компилятор
    > вообще всё ловит при грамотном проектировании.

    Побольше бы здесь таких поясняющих комментариев.

     
  • 4.36, Аноним (36), 07:48, 19/12/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да, не правильно Для освоения кложуры нужен ментор, кто поможет разобраться с м... большой текст свёрнут, показать
     
  • 4.40, Динозавр любитель человечинки (?), 16:52, 19/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Можно и типы добавить. TypedClojure. Можно использовать Cursive для редактирования.
    Можно без типов работать. Кому как нравится
     
  • 4.46, Aqueelone (?), 13:04, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    ..по сути, "по капотом", макросы, а потому "педаль" свои макросы если чего-то не хватает и все "вуаля"...
    Иногда полезно посмотреть как это делают well-known апликухи, такие как IMMORTAL или STORM...  
     

  • 1.3, КГБ СССР (?), 11:35, 18/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    https://clojure.org/guides/getting_started

    > Installation on Windows

     
    > Not yet available - see Leiningen or Boot instead.

    Увы, не повезло мне выучить этот волшебный грибной язык.

     
     
  • 2.4, Попугай Кеша (?), 11:43, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ставь Ubuntu. Там заработает
     
     
  • 3.10, КГБ СССР (?), 12:01, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Бубунту не признаю.

    Проще на цыгвина поставить оказалось, минутное дело.

    А вообще за такие способы установки, что там описывают, надо спрашивать со всей строгостью. Приходится читать, что в тех скриптах понаписано.

     
  • 2.11, Junior frontend developer (?), 12:11, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Leningen стабилен и просто ставится на Шиндоус
     
     
  • 3.13, Попугай Кеша (?), 12:17, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Leiningen вроде стабильнее Boot-a. Или Boot лучше? Как думаете?
     
     
  • 4.17, Аноним (17), 13:27, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Смотря какие задачи решаете. Я спустя год на буте переехал на lein и стало куда веселее жить, даже компиляция быстрее пошла. Но сейчас все больше склоняюсь к связке с shadow-cljs
     
  • 3.15, КГБ СССР (?), 12:23, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо.
     
  • 2.18, Котовшив (?), 13:58, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Download lein.bat and put it to a PATH directory. Then open powershell and enjoy.
     
  • 2.20, Аноним (20), 15:40, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    С такой "юзабилити" инсталляции они ещё лет 20 будут сидеть на задворках Линуксов. И что поражает, так это полное непонимание, что "ковыряться в кишках системы" и "программировать" - это разные вещи. Даже Ди - просто качаешь, ставишь - всё, канпеляй! Нет никаких "смотри другие извраты как почесать правое ухо левой ногой".
     
     
  • 3.25, КГБ СССР (?), 20:59, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > просто качаешь, ставишь - всё, канпеляй!

    Ляп-ляп и в продакшын!

     
  • 3.37, Попугай Кеша (?), 09:21, 19/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я даже не знаю, что вам сказать на это. Если вам 4 пункта - это жуть как много и вы уже не осиливаете - то может вам сменить профессию?

    leiningen.org

    4 пункта инсталляции. Профит.

    Нужна Windows - Cygwin, вон, товарищ выше взял и развернул.

    Да, еще Java нужна. Но вы-то JVM сможете развернуть на своей ОС. Вы ведь продвинутый пользователь ПК?

     
  • 3.47, Aqueelone (?), 13:07, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    ..ну как бы чистый stream processing пока только Storm делает... Потому, о каких задворках речь?
     
  • 2.29, Аноним (28), 01:59, 19/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Увы, не повезло мне выучить этот волшебный грибной язык.

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

     
  • 2.33, Курыч (?), 04:25, 19/12/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Под Винду ставится F# - ОКамл (то есть высокопроизводительный, безопасный функциональный язык) на .NET.
    Пожалуй лучший функциональный язык сегодняшнего дня.
     
     
  • 3.34, КГБ СССР (?), 07:20, 19/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо. Я просто интересуюсь в порядке хобби выходного дня, я не зарабатываю этим на жизнь.
     
  • 3.39, Попугай Кеша (?), 09:22, 19/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я бы не стал так категорично утверждать. Лучший у каждого свой. А мы на техническом портале.
    F# - неплохой язык, произведенный в MS. Идеи функционального программирования - ок. Но кому-то MS не очень нравится.

    Есть еще Erlang, CommonLisp, Clojure, Scheme

     
     
  • 4.42, Аноним (42), 08:20, 20/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    OCaml разработан французским "институтом исследований в информатике и автоматике" (INRIA). Фа диез несколько другой язык, "под Винду", возможно, и лучший.
     
     
  • 5.43, КГБ СССР (?), 09:59, 20/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > OCaml разработан французским "институтом исследований в информатике и автоматике" (INRIA).
    > Фа диез несколько другой язык, "под Винду", возможно, и лучший.

    В многообразии этих ваших функциональных языков и их диалектов без бутылки не разберёшься.

    Так что, первым делом читать книжки про OCaml? ;-)

     
     
  • 6.44, Аноним (44), 16:10, 20/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >Так что, первым делом читать книжки про OCaml? ;-)

    Будь мужиком - учи Haskell!

    ЗЫж. Под в-нду есть.(ghc)

     
     
  • 7.45, КГБ СССР (?), 20:23, 20/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >>Так что, первым делом читать книжки про OCaml? ;-)
    > Будь мужиком - учи Haskell!

    Не хочу, мне его название не нравится. В нём явно содержится какой-то харразмент.

     
  • 7.51, КГБ СССР (ok), 22:33, 29/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    «Система типов: полная сильная статическая с выводом типов».

    Я передумал, такое надо учить.

     
     
  • 8.52, КГБ СССР (ok), 11:26, 30/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо бы в таких топиках знатоки сразу называли правильные книжки для чтения А... текст свёрнут, показать
     
  • 3.50, dmi3s (ok), 20:48, 29/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А как у OCaml нынче с многопоточностью? Раньше, насколько я знаю, мешали многочисленные locks в стандартной библиотеке.
     

  • 1.16, Your Anonymous (?), 12:50, 18/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Блин, я же ещё на версию 1.9 не успел переехать.
     
     
  • 2.38, Попугай Кеша (?), 09:21, 19/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А я так и не нашел, что они нового сделали. Трансдьюсеры, макросы кто-то вообще использует?
     
     
  • 3.48, Aqueelone (?), 13:09, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Да, собственно сам Clojure так точно...
     

  • 1.41, Аноним (41), 17:23, 19/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Несколько лет программировал на Clojure начинал, кажется, с версии 1 1 , но теп... большой текст свёрнут, показать
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру