LINUX.ORG.RU

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

 , ,


1

5

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

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

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

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

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

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

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

choosenim update stable

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



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

choosenim

Чо-чо с Nim?

anonymous ()

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

CryNet ★★★ ()

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

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

sT331h0rs3 ★★★★★ ()

А какая ниша у этого яп? Эмбедщина?

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

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

choosenim

opqx ()

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

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

anonymous ()

Это лучше чем питон или еще не готов? Библиотек мало или документации.

Lizhen ()

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

Ой, все

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

конечно лучше , можно на русском писать

proc привет(имя: string) = 
  echo("Привет, ", имя, "!")
 
привет("Человек")

xionovermazes ()

Я ДЖВА ГОДА ЖДАЛ РЕЛИЗА!!!1211

НАКОНЕЦ-ТО СМОГУ ЗАГНАТЬ Си ПОД ШКОНТАРЬ!

ПОЙДУ БУХАТЬ!

shkolnick-kun ★★★★ ()

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

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

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

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

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

anonymous ()

Nim has a powerful macro system which allows direct manipulation of the AST

Лиспокапец?

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 ()
Ответ на: комментарий от anonymous
stdin.readLine.split.map(parseInt).max.`$`.echo(" is the maximum!")

Отвратительное нечитаемое мессиво!

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

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

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

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

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

Ага.

Virtuos86 ★★★★★ ()

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

LINUX-ORG-RU ()

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

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