LINUX.ORG.RU

Состоялся релиз языка Nim 1.0

 , ,


1

5

Nim — статически типизированный язык, который ориентируется на эффективность, читаемость и гибкость.

Версия 1.0 отмечается стабильной базой, которая может быть уверенно использована в ближайшие годы. Начиная с текущего релиза, любой код, написанный на Nim, не будет сломан.

Этот релиз включает в себя множество изменений, включая исправления ошибок и некоторые языковые дополнения. В комплекте также идет обновлённый пакетный менеджер Nimble.

Версия 1.0 теперь имеет статус LTS. Поддержка и исправление ошибок будут продолжаться до тех пор, пока будут востребованы. Новые возможности, которые не будут нарушать обратную совместимость, будут развиваться в ветке 1.х.

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

Компилятор всё ещё реализует функции, которые описаны в «экспериментальном руководстве». В эти возможности всё ещё могут быть внесены обратно несовместимые изменения. Есть также модули в стандартной библиотеке, которые до сих пор считаются нестабильными, и они помечены как нестабильное API.

Обновиться можно уже сейчас:

choosenim update stable

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



Проверено: INFOMAN ()
Последнее исправление: Deleted (всего исправлений: 5)

Из важного: Исходный код на языке Nim компилируется в представление на C, C++ или JavaScript (opennet)

CryNet ★★★★★
()

Начиная с текущего релиза любой код, написанный на Nim, не будет сломан.

Сильное заявление.

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

Это утилита для удобного переключения между версиями nim. Например между 1.0.0 и 0.20.2. Данная команда просто обновляет до последней стабильной версии.

choosenim

opqx
() автор топика

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

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

anonymous
()

Вот посмотрела, а паттерн-матчинга в нем нет, как и в питоне? И нафига нужен современный функциональный язык без него.

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

Это можно запускать в любом месте от ArduinoNano до мейнфрейма, в отличии от.

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

Ну тогда форум тебе разрешает «отпраздновать».

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

Начиная с текущего релиза любой код, написанный на Nim, не будет сломан.

Сильное заявление.

Учитывая это:

Компилятор все еще реализует функции, которые описаны в «экспериментальном руководстве». В эти фичи все еще могут быть внесены обратно не совместимые изменения. Есть также модули в стандартной библиотеке, которые до сих пор считаются нестабильными и они помечены как нестабильное API.

Так и хочется спросить знают ли они поговорку про крестик и трусы.

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

Паттерн-матчинг и ФП связаны примерно никак. Хотя да, без него грустно.

anonymous
()

Restrict стабилизировали? Если да, то как им пользоваться?

andalevor ★★
()

ориентируется на эффективность, читаемость и гибкость.

Звучит как слоган ИТ стартапа на блокчейне.

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

Ну чет типа Python + Go

Куцый как го, тормозной как питон?

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

современный функциональный язык

Да ним не особо функциональный

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

По моему обычный процесс. Когда появляются баги и их правят. Или в других языках нет такого?

opqx
() автор топика

Каждый раз на него смотрю, вроде бы нравится, вроде бы не плохо, но писать мне на нем нечего.

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

Лиспокапец?

Нет

While macros enable advanced compile-time code transformations, they cannot change Nim's syntax. However, this is no real restriction because Nim's syntax is flexible enough anyway.

monk ★★★★★
()

ориентируется на эффективность, читаемость и гибкость.

Возможно годится как компромисс, хз. По отдельности, и даже парами есть языки которые делают это лучше.

Главная фича, насколько я понял - компилируемость в Javascript.

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

Потому что есть экспериментальные фичи. Их не обязательно юзать.

opqx
() автор топика
Ответ на: комментарий от Gentooshnik

Главная фича, насколько я понял - компилируемость в Javascript.

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

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

Быдлокодить в стиле delpi или python+pyqt уже можно? Ну там gui рисовать, базки дёргать, soap, json-rpc, криптопровайдера позвать опять же, через последовательный порт байтики гонять, смарт-карты читать, отчётик напечатать?

Или я опухну всё добро сам писать?

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

Как мне когда-то сказал человек мнение которого я уважаю, правда не знаю вшутку или нет он сказал: «Ним это лучший яп» - вот видимо это и есть его ниша :)

но лично я ненавижу малословные языки

вообще не понятно https://github.com/nim-lang/Nim/blob/devel/examples/maximum.nim

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

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

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

opqx
() автор топика
Ответ на: комментарий от bonta
stdin.readLine.split.map(parseInt).max.`$`.echo(" is the maximum!")

Всего лишь показан функциональный стиль. Разве что `$` не особо понятно, но догадаться можно. Такое в любом языке труднее читается, а на паскале такое вообще не пишется.

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

Перепись малаграмотных объявляется открытой.

малаграмотных

Ага.

Virtuos86 ★★★★★
()

Бенчмарки есть? Только настоящие, а не подставные

LINUX-ORG-RU ★★★★★
()

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

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