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)

Ответ на: комментарий от xionovermazes

Так можно и на C#

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;

namespace ConsoleApplication2 { class Program { static void Привет(string txt) { Console.WriteLine(txt); } static void Main(string[] args) { Привет(«Человек»); } } }

anonymous
()

Пользуюсь Нимом последние два года, вполне доволен результатом. Искал язык который компилируется и нормально взаимодействует с С++. Для меня язык должен иметь ловисть с++ исключения и использовать smart указатель, то-есть не боятся С++ шаблонов. При всем этом должен умеет AST макросы как у лиспа. Я нашел такой только один язык: Nim.

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

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

А если зависимость от компилятора другого ЯП - то это уже ОК и преимущество?

Почему в сишечку понятно.
Ты можешь использовать любой компилятор стандартного Си и получить доступ к уже готовым оптимизаторам, а не городить свой, который скорее всего будет ещё тем продуктом.
Почему в таком случае не напрямую в llvm, как делает тот же Rust? Возможно чтобы не зависеть от конкретного компилятора.

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

Это понятно, просто каждое конструкторское решение связано со своими недостатками и преимуществами. В случае с JVM можно было бы заявить, что это круто, потому что можно легко и просто использовать код на Джаве и представить зависимость от ВМ как преимущество. А поскольку не видно основной цели создания Nim, её приходится угадывать из предложенного списка характеристик.

seiken ★★★★★
()
Последнее исправление: seiken (всего исправлений: 1)
Ответ на: комментарий от xionovermazes
In [1]: def прикинь():
   ...:     print('в питоне тоже так можно')
   ...:

In [2]: прикинь()
в питоне тоже так можно
WitcherGeralt ★★
()
Ответ на: комментарий от seiken

Но у nim нет ни какой VM (за исключением «VM» для CTFE), оно просто компилируется в C/C++ и дальше в нативный экзешник без зависимостей.

shkolnick-kun ★★★★★
()
Последнее исправление: shkolnick-kun (всего исправлений: 1)
13 ноября 2019 г.
Ответ на: комментарий от anonymous

Искал язык который компилируется и нормально взаимодействует с С++.

Спасибо, добрый человек, до этого коммента никак не мог осознать, что за упорин породил это нинужно, а теперь все стало по своим местам. Долгих тебе лет и здоровья, анон, пиши еще.

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