LINUX.ORG.RU

Релиз языка nim 1.4.4

 , ,


0

3

Nim (ранее — Nimrod) — язык программирования со статической типизацией, поддерживающий процедурный, объектно-ориентированный, функциональный и обобщённый стили программирования (Wikipedia).

Ветка 1.2 также обновилась до версии 1.2.10

45 коммитов с предыдущей версии. Ключевым исправлением этих выпусков, является переработка обработки сертификатов SSL; теперь код выполняется правильно и поддерживается в OC Windows.

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

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

Ну раньше это был прикольный язык для embed: можно быстро писать код и получать производительные/легкие бинари. Без C-страданий. Сейчас есть rust и tinygo, так что уже без понятия.

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

Вообще-то у Julia уже немаленькое коммьюнити (для такого нишевого языка), Julia используется для реальных расчетов и реальных научных побликаций. Julia поддерживают серьезные компании и организации. А эти нимы и кристаллы - поделки для полторы фриков. Некорректно сравнивать.

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

Да уж, даже синтаксис руста лучше уайтспейса.

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

Julia относительно свободную нишу заняла. Потому что там всё очень грустно было: фортран, пистон... А для нима и кристала нет задач. Но языки то неплохие. Поделки это питон, жаваскрипт. Реально наколенные.

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

диалект Блеза Паскаля.

С семантическими заиканиями пробельными символами перед каждой фразой?

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

А какие должны быть изменения. Типо: «у языка теперь сишный синтаксис» ?

acroobat ()
Ответ на: комментарий от bread

Julia относительно свободную нишу заняла. Потому что там всё очень грустно было: фортран, пистон…

Она скорее метит в нишу Matlab/Octave/R.

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

На C тоже реальные научные побликации не делают, но моя мысль была явно уже донесена:

чем это лучше julia, например?
Некорректно сравнивать.

ЧТД.

Darth_Revan ★★★★★ ()

Ключевым исправлением этих выпусков, является

Почему, на ваш взгляд, здесь нужна запятая? Мне правда интересно, я - филолог.

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

Почему, на ваш взгляд, здесь нужна запятая?

Отвечу вопросом на вопрос. Зачем здесь две запятые?

я - филолог

А я - учитель русского языка.

acroobat ()
Последнее исправление: acroobat (всего исправлений: 2)

Интересно, кто-нибудь анализировал, как там меняется количество открытых issues во времени. Мне кажется, что оно все время растет…

Ну и вот это какбе намекает на степень готовности к продакшону.

А так, да, хорошо бы уже кто-нибудь запилил нормальный генератор Си для имбедов.

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

хорошо бы уже кто-нибудь запилил нормальный генератор Си для имбедов

Можете сказать для каких именно? Скажем, для 8-битных микроконтроллеров достаточно си. Для STM32 тоже. Что-то более высокоуровневое требуется, если начинается активная работа с кучей, хитрая обработка ошибок, обработка текстов и т.д. То есть железки с линуксом. Но там уже как минимум C++ есть.

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

Интересно, кто-нибудь анализировал, как там меняется количество открытых issues во времени. Мне кажется, что оно все время растет…

Растёт по причине увеличения коммьюнити и перехода на другой GC в данный момент. Пока ИМХО язык не очень продакшн-реди, но стремится и даже есть активно его использующие в проде.

А так, да, хорошо бы уже кто-нибудь запилил нормальный генератор Си для имбедов.

Как-раз видео про Nim и эмбеды. Возможно поможет чем-то.

Q-Master ()
Ответ на: комментарий от Q-Master

Как-раз видео про Nim и эмбеды.

Спасибо. Лектор рассказал как разделить (split) строку в микроконтроллере, а зачем это там делать не рассказал.

Так-то микроконтроллер должен получить циферку с АЦП, обработать, пошевелить движком. Ну или по какому-нибудь протоколу типа модбаса получить команду и пошевелить каким-нибудь механическим узлом. Вот и вся его работа. Какие там строки и тем более битмапы? Максимум - какой-нибудь односвязный список.

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

Kogrom ()
Ответ на: комментарий от anonymizer

Сами-то заходили по своей ссылке?

/0

Ключевым исправлением является vs ключевым исправлением этих выпусков, является.

acroobat ()
Ответ на: комментарий от dnb

Шта? Кому нужен виндос в 2021? Даже мелкософт признал, что вендекапец в разработке наступил и выпустил WSL

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

Сами-то заходили по своей ссылке?

Да, и что? Я подумал, что вы спрашиваете, почему «на ваш взгляд» обособляется запятыми.

Ключевым исправлением является vs ключевым исправлением этих выпусков, является.

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

anonymizer ()
Ответ на: комментарий от Kogrom

Так-то микроконтроллер должен получить циферку с АЦП, обработать, пошевелить движком. Ну или по какому-нибудь протоколу типа модбаса получить команду и пошевелить каким-нибудь механическим узлом. Вот и вся его работа. Какие там строки и тем более битмапы? Максимум - какой-нибудь односвязный список.

Лектор на примере показывает возможность. Я не особо вижу разницы на программном уровне в получить циферку с АЦП и далее что-то произвести и поработать с битмапом.

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

Лекция довольно старая. Думаю что новый внедряемый сейчас GC не потребует отключения, т.к. куда лучше работает предыдущих вариантов.

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

Я тоже так думал. Чувак на представительной конференции в Дрездене в 2019 пиарил её. Потратили кучу времени прошлым летом — это сырое подели толком не работает. Многие нужные пакеты, которыми столь хвалятся в интернетах (нам нужны были модели нейронов и решатель уравнений с запаздыванием) не ставятся из-за конфликтов версий, нормального IDE нет. В общем, не зашло.

Vudod ★★★★★ ()
Ответ на: комментарий от Q-Master

Я не особо вижу разницы

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

Кроме того с кадрами будет проблема. Понапишет какой-нибудь умник макросов на Ниме для микроконтроллера и уволится. Где потом искать специалиста, который сможет в этом разобраться?

Сборщик мусора микроконтроллерам не нужен никакой, даже самый лучший. Даже умные указатели там не нужны.

Что касается возможностей, то у меня есть идея для Нима. Лектор говорит, что Ним транслируется в некий промежуточный код, а затем в один из языков: C, C++, JavaScript. Предлагаю этот промежуточный код транслировать ещё и в Ним. Это же будет круто. Можно будет транслировать в цикле. Смысла нет, но впечатляет. Так и с микроконтроллерами.

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

Лучше транслировать в раст, чтобы твой лектор успокоился.

acroobat ()
Ответ на: комментарий от derlafff

Relibc: C Library in Rust

Вот это наркомания

Про tinygo, вообще первый раз слышу.

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

Вы развернуто сформулировать можете вопрос?

Короче: 's/Ключевым исправлением этих выпусков, является/Ключевым исправлением этих выпусков является/'

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

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

/Ключевым исправлением этих выпусков, является переработка обработки/

/Ключевым исправлением этих выпусков является хорошим/

Ну перевёл я с гуглтранслейта, ну и шо.

acroobat ()
Последнее исправление: acroobat (всего исправлений: 1)
Ответ на: комментарий от shkolnick-kun

В systemd количество открытых дел тоже постоянно растёт, уже за 1300 перевалило. И ничего, пользуются как-то.

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

Так-то микроконтроллер должен получить циферку с АЦП, обработать, пошевелить движком. Ну или по какому-нибудь протоколу типа модбаса получить команду и пошевелить каким-нибудь механическим узлом. Вот и вся его работа.

Как там в 90-х?

Сейчас микроконтроллер, - это в том числе SOC с частотами в сотни мГц (до 480 сам видел), мегабайтами flash-памяти, сотнями килобайт ram, аппаратной поддержкой вычислений с плавающей точкой одинарной и иногда двойной точночти, DSP-инструкциями, векторными вычислениями, кучей всяких интерфейсов, включая CAN/Eth/BT/WiFi, интерфейсы для подключения камер, дисплеев, внешней памяти.

Собственно, первые ПеКа, котрые я в школе видел, на порядок слабее какого-нибудь STM32H745ZI без внешней памяти.

shkolnick-kun ★★★★ ()
Последнее исправление: shkolnick-kun (всего исправлений: 5)
Ответ на: комментарий от shkolnick-kun

Как там в 90-х?

Надо с контекстом разобраться, прежде чем спорить. Peter Munch-Ellingsen (он же лектор) вкорячивает Ним в Arduboy, контроллер которого имеет следующие характеристики:

8-Bit Microcontroller, ATmega 32u4, 16Mhz, 32KB Flash, 2.5KB RAM, 1KB EEPROM

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

Что касается мощных микроконтроллеров, то тут тоже не всё просто. Когда к ним добавили Ethernet и дисплеи, то стало понятно, что программировать такие системы без ОС - нетривиальная задача. Соответственно, стали внедрять урезанные версии Linux. Например, ucLinux. Однако, это решение тоже не идеально, ибо получаем задержки, которые трудно учесть. И похоже, что от этого пути отказались. Но тут Ним бы был идеален.

Сейчас пытаются решить с помощью специализированных ОС реального времени, типа RTOS, либо «жирными» библиотеками, типа HAL. Но эти решения тоже не идеальны. С одной стороны, квант времени аж 1 мс (много), с другой стороны, высокоуровневые языки особых преимуществ не дадут, ибо тут даже куча не особо используется.

STM32H745ZI

Это не то. Точнее, этого мало. Нужна ещё специальная ОС, которая с одной стороны будет управлять памятью и файлами, а с другой - периферией (АЦП, ЦАП и т.д.). Квант времени должен быть меньше 1 мс, например, 1 мкс. Отладка должна вестись по какому-нибудь telnet-у (для передачи подробного стек трейса и логов). Будет такое, тогда Ним отлично впишется.

Kogrom ()
Ответ на: комментарий от acroobat

> Почему, на ваш взгляд, здесь нужна запятая?

Отвечу вопросом на вопрос. Зачем здесь две запятые?

> я - филолог

А я - учитель русского языка.

Мальчик, огрызающийся на явно более квалифицированные исправления, не может быть «учителем». Балаболом - может.

«Ключевым исправлением этих выпусков, является» - запятая не нужна. Такие запятые ставят безграмотные самоучки, прогулявшие школу - «на интуиции», что называется. Прими исправления и не позорься ответным гавканьем.

matumba ★★★★★ ()

Так и не дождался резюмирующего коммента: «Вышел nim - да и *** с ним!». :)) Нишевая вещь, интересная только тем, кто написал на нём хотя бы 2 строчки.

Беритесь уже за D - его время давно пришло. А rust'аманов с go-мосеками - поганой метлой! :)

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

Мальчик, огрызающийся на явно более квалифицированные исправления, не может быть «учителем»

Девочка, найди одно отличие.

Мальчик, огрызающийся, на явно более квалифицированные исправления, не может быть «учителем»

acroobat ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей