Профиль: Аноним (вход | регистрация)
OpenNET

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



"Релиз языка программирования Nim 2.4.0"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от opennews (??), 29-Окт-26, 16:36 
Представлен релиз языка системного программирования Nim 2.4.0. Nim – статически типизированный компилируемый язык программирования с синтаксисом, вдохновлённым Python, и возможностями метапрограммирования на уровне Lisp. Язык компилируется в C, C++ и JavaScript, обеспечивая производительность на уровне C при выразительности высокоуровневых языков.  Код проекта поставляется под лицензией MIT...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=66570

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


2. "Релиз языка программирования Nim 2.4.0"  +6 +/–
Сообщение от Инопланетянин (?), 29-Окт-26, 16:39 
Какой Ним, какой Раст? На Гусе писать надо https://github.com/aardappel/goose Он быстрее плюсов и раста.
Ответить | Правка | Наверх | Cообщить модератору

4. "Релиз языка программирования Nim 2.4.0"  –3 +/–
Сообщение от Аноним (4), 29-Окт-26, 16:44 
Додо, только удалять элементы из контейнеров не умеет.
Ответить | Правка | Наверх | Cообщить модератору

10. "Релиз языка программирования Nim 2.4.0"  +4 +/–
Сообщение от Инопланетянин (?), 29-Окт-26, 17:08 
Умеет вроде, но с конца. Вообще надо походы менять.

> Это фундаментальное архитектурное решение автора языка, Воутера ван Оортмерссена. Так как Goose полностью отказывается от динамической кучи (heap), он заставляет разработчика проектировать структуры данных как монолитные последовательные плоские блоки памяти.

Ответить | Правка | Наверх | Cообщить модератору

15. "Релиз языка программирования Nim 2.4.0"  +1 +/–
Сообщение от Аноним (15), 29-Окт-26, 17:43 
Ну то есть, не подходит для хоть чего-то, где требуется какая-либо обработка данных, что 99% программ
Ответить | Правка | Наверх | Cообщить модератору

22. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Инопланетянин (?), 29-Окт-26, 18:36 
> Ну то есть, не подходит для хоть чего-то, где требуется какая-либо обработка
> данных, что 99% программ

Примеры посмотрел?

Ответить | Правка | Наверх | Cообщить модератору

48. "Релиз языка программирования Nim 2.4.0"  –1 +/–
Сообщение от Аноним (48), 30-Окт-26, 02:02 
Какая либо обработка это в смысле "и так сойдёт"?
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

38. "Релиз языка программирования Nim 2.4.0"  –1 +/–
Сообщение от Аноним (38), 29-Окт-26, 23:21 
> Goose полностью отказывается от динамической кучи (heap), он заставляет разработчика проектировать структуры данных как монолитные последовательные плоские блоки памяти

Это подходит только для микроконтроллеров.

Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

44. "Релиз языка программирования Nim 2.4.0"  +1 +/–
Сообщение от Инопланетянин (?), 30-Окт-26, 00:42 
>> Goose полностью отказывается от динамической кучи (heap), он заставляет разработчика проектировать структуры данных как монолитные последовательные плоские блоки памяти
> Это подходит только для микроконтроллеров.

Автор сейчас в геймдеве работает. В примерах разное есть.

Ответить | Правка | Наверх | Cообщить модератору

47. "Релиз языка программирования Nim 2.4.0"  +2 +/–
Сообщение от Аноним (48), 30-Окт-26, 02:00 
А зачем тебе удалять элементы из контейнеров?
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

68. "Релиз языка программирования Nim 2.4.0"  –1 +/–
Сообщение от Аноним (68), 30-Окт-26, 15:43 
Ненужны стали, зря место занимают?
Ответить | Правка | Наверх | Cообщить модератору

71. "Релиз языка программирования Nim 2.4.0"  –2 +/–
Сообщение от Аноним (71), 30-Окт-26, 16:35 
Делать upset контейнеры, это признак скудоумия и моветон. Блейзин фаст библиотеки и продукты так не работают с данными.
Ответить | Правка | Наверх | Cообщить модератору

91. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Кот (??), 31-Окт-26, 00:17 
Потому что реальная жизнь такая. Нужно вставлять и удалять элементы.
Ответить | Правка | К родителю #47 | Наверх | Cообщить модератору

99. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Аноним (71), 31-Окт-26, 12:38 
В реальной жизни ты можешь удалять из контейнера в goose.
Ответить | Правка | Наверх | Cообщить модератору

6. "Релиз языка программирования Nim 2.4.0"  +1 +/–
Сообщение от name (??), 29-Окт-26, 16:50 
1. Уберите var/let/fn
2. Напишите на этом хотя бы ядро ОС
Тогда мы вам проверим.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

50. "Релиз языка программирования Nim 2.4.0"  +1 +/–
Сообщение от Аноним (48), 30-Окт-26, 02:05 
Микроядро написать, как нефиг делать, там такой же принцип передачи данных, как и в IPC
Ответить | Правка | Наверх | Cообщить модератору

32. "Релиз языка программирования Nim 2.4.0"  +1 +/–
Сообщение от Anonim (??), 29-Окт-26, 20:48 
Быстрее аж на минус 50%, дада
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

49. "Релиз языка программирования Nim 2.4.0"  –1 +/–
Сообщение от Аноним (48), 30-Окт-26, 02:03 
Вангую, через пару лет вытеснит и C/C++ и Rust.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

54. "Релиз языка программирования Nim 2.4.0"  +1 +/–
Сообщение от Anonimous (?), 30-Окт-26, 05:23 
Пара лет, это очень мало.
Ответить | Правка | Наверх | Cообщить модератору

56. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Аноним (48), 30-Окт-26, 09:03 
С текущими ИИ и аналогичным расту синтаксису переписать все можно гораздо быстрее
Ответить | Правка | Наверх | Cообщить модератору

60. "Релиз языка программирования Nim 2.4.0"  +1 +/–
Сообщение от Пыщь (?), 30-Окт-26, 10:16 
Если пенделировать всеми доступными ресурсами как ржавчину, то и не такое полетит на сверхзвуке.
Ответить | Правка | К родителю #54 | Наверх | Cообщить модератору

62. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Аноним (48), 30-Окт-26, 10:45 
Главное не подпускать к проекту любителей поупражняться в программировании
Ответить | Правка | Наверх | Cообщить модератору

53. "Релиз языка программирования Nim 2.4.0"  –1 +/–
Сообщение от Anonimous (?), 30-Окт-26, 05:23 
Так язык выбирают не из за скорости. К гусю претензий нет.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

57. "Релиз языка программирования Nim 2.4.0"  –1 +/–
Сообщение от Аноним (48), 30-Окт-26, 09:06 
Там концепция владения другая. И все сильно упрощено, по сравнению с C++/Rust. По сути это грамотный C.
Ответить | Правка | Наверх | Cообщить модератору

67. "Релиз языка программирования Nim 2.4.0"  +1 +/–
Сообщение от Аноним (68), 30-Окт-26, 15:41 
Претендентов стать грамотнвми сями уже полно: C3, Zig, Hare
Ответить | Правка | Наверх | Cообщить модератору

72. "Релиз языка программирования Nim 2.4.0"  +1 +/–
Сообщение от Аноним (71), 30-Окт-26, 16:37 
Zig смог только в явную передачу коллектора везде где можно и нельзя. Если человек пишет на Фортране, то он на любом языке будет писать как на фортране
Ответить | Правка | Наверх | Cообщить модератору

73. "Релиз языка программирования Nim 2.4.0"  –1 +/–
Сообщение от Аноним (71), 30-Окт-26, 16:38 
> Zig смог только в явную передачу коллектора везде где можно и нельзя.
> Если человек пишет на Фортране, то он на любом языке будет
> писать как на фортране

*Аллокатора

Ответить | Правка | Наверх | Cообщить модератору

78. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Инопланетянин (?), 30-Окт-26, 17:36 
> Претендентов стать грамотнвми сями уже полно: C3, Zig, Hare

Hare не предлагает ничего нового.

Ответить | Правка | К родителю #67 | Наверх | Cообщить модератору

94. "Релиз языка программирования Nim 2.4.0"  +1 +/–
Сообщение от другой аноним (?), 31-Окт-26, 06:59 
Хуже. Там есть тонкая засада: язык и его стандарные библиотеки построены вокруг типов сумм (что само по себе хорошо и правильно), и тег типа фиксируется не на этапе сборки, как в большинстве нормальных языков (по сути указатель куда-то в рантайм), а на этапе компиляции хешем от описания типа. И он всего 32 бита. То есть, даже случайно может совпасть (атака дней рожденья может сама получиться), а уж подобрать два типа с одинаковым хэшем -- как нефиг делать, он не крипто. Причём это фиксированно на уровне требований к языку, починить нельзя. Вообще автор, похоже, склонен в упор не видеть проблемы "хэши совпали". У него она игнорируется во всех примерах... но это типа ладно, учебные примеры, мы просто пишем покороче для наглядности, в реальном коде будет не так... но оно и в реальном так. И всё.
Ответить | Правка | Наверх | Cообщить модератору

8. "Релиз языка программирования Nim 2.4.0"  +3 +/–
Сообщение от Гость (??), 29-Окт-26, 16:56 
вот, даже этот Nim лучше чем rust.

почему? потому что нет головной боли с указателями и всё просто работает как в питоне или Go.

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

Ответить | Правка | Наверх | Cообщить модератору

9. "Релиз языка программирования Nim 2.4.0"  –4 +/–
Сообщение от Инопланетянин (?), 29-Окт-26, 17:04 
> почему? потому что нет головной боли с указателями и всё просто работает как в питоне или Go.

Как понять какой код будет? Как отлаживать? Генеренные исходники си?

Ответить | Правка | Наверх | Cообщить модератору

40. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Аноним (38), 29-Окт-26, 23:25 
Как всегда: printf() Ну или как там оно в Nim.
Ответить | Правка | Наверх | Cообщить модератору

43. "Релиз языка программирования Nim 2.4.0"  +1 +/–
Сообщение от Инопланетянин (?), 30-Окт-26, 00:41 
> Как всегда: printf() Ну или как там оно в Nim.

Тут ниже эксперты говорят, что есть дебагер, но ИИ говорит, что далеко не все гладко. Есть опыт?

Ответить | Правка | Наверх | Cообщить модератору

75. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Брат Анон (ok), 30-Окт-26, 17:32 
Есть. Дебаггер настраивается больно, очень больно. Но при желании можно.
Ответить | Правка | Наверх | Cообщить модератору

76. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Брат Анон (ok), 30-Окт-26, 17:32 
echo же.
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

85. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Аноним (85), 30-Окт-26, 19:27 
from std/sugar import dump

from pretty import print
from pretty import printTable

Ответить | Правка | Наверх | Cообщить модератору

86. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Аноним (85), 30-Окт-26, 19:32 
import std/strformat
let name = NimVersion
let version = 2.4.0
echo fmt"Hello from {name} version {version}!"
let x = 42
echo fmt"{x=}" # Выведет: x = 42
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

14. "Релиз языка программирования Nim 2.4.0"  +3 +/–
Сообщение от Аноним (14), 29-Окт-26, 17:42 
> C++ [...] нужно ещё постараться и специально не юзать удобные умные указатели, чтобы выстрелить себе в ногу.

Лол. В C++ запросто отстреливаются ноги даже чисто с использованием ссылок и итераторов - без явного использования кучи и умных указателей для нее.

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

26. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Боевой Петух (?), 29-Окт-26, 19:07 
В nim из python только условный хеллоуврот на 100 строк заведется без изменения кода.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

77. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Брат Анон (ok), 30-Окт-26, 17:34 
В nim целый пакет, который с помощью макросов и шаблонов делает из nim питон на стероидах. С почти полным доступом к стандартной библиотеке питона.
Ответить | Правка | Наверх | Cообщить модератору

16. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Аноним (16), 29-Окт-26, 17:44 
C++ высокоуровневый язык вообще-то.
Ответить | Правка | Наверх | Cообщить модератору

31. "Релиз языка программирования Nim 2.4.0"  –2 +/–
Сообщение от Инопланетянин (?), 29-Окт-26, 19:53 
> C++ высокоуровневый язык вообще-то.

высокогрейдовый

Ответить | Правка | Наверх | Cообщить модератору

18. "Релиз языка программирования Nim 2.4.0"  –7 +/–
Сообщение от Аноним (15), 29-Окт-26, 17:48 
Слишком сложен C? Нужен язык безопаснее, чем C++? Ну хорошо, а чем обычный C# не устраивает?
Ответить | Правка | Наверх | Cообщить модератору

19. "Релиз языка программирования Nim 2.4.0"  +1 +/–
Сообщение от Аноним (19), 29-Окт-26, 18:06 
Требованием CLR, очевидно.
Ответить | Правка | Наверх | Cообщить модератору

35. "Релиз языка программирования Nim 2.4.0"  –3 +/–
Сообщение от aname (ok), 29-Окт-26, 21:46 
Уже пилят компиляцию в натив
Ответить | Правка | Наверх | Cообщить модератору

36. "Релиз языка программирования Nim 2.4.0"  +1 +/–
Сообщение от Аноним (36), 29-Окт-26, 21:59 
Ух ты. Интересные ветра задули. Но поздно
Ответить | Правка | Наверх | Cообщить модератору

41. "Релиз языка программирования Nim 2.4.0"  +2 +/–
Сообщение от Аноним (38), 29-Окт-26, 23:30 
Ну хорошо, вот тогда и посмотрим, когда M$ на нём, компилируемом в натив, ядро напишет.
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

55. "Релиз языка программирования Nim 2.4.0"  +1 +/–
Сообщение от Смузихеб забывший пароль (?), 30-Окт-26, 08:41 
Уже даром не надо. Поезд лет как 5-10 назад уехал, вихляя задом

Xamarin помер по сути( как раз из-за всяких IL ). Яблок, точнее, яблоСтору, сильно не понравилось, что у самариновских приложений под капотом какой-то посторонний байт-код и карманная ВМ для него, хотя это прямо запрещено требованиями( React-Native обошёл ограничения тем, что JS в нём исполнялся яблочным же жс-двиглом, а не хз чем под капотом. Т.е никаких посторонних ВМ он не тащил, а всё имеющееся исполнялось штатными средствами системы )
Т.е получалась типо кроссплатформенная штука, посредством которой не собрать приложение, которое можно выгрузить в стор( в отличие от RN и Flutter ), т.е в мобильной разработке - на помойку

В десктопной - там хз какая и чего поддержка на разных ОС разных версий. Ещё и что-то дополнительно ставить( почти как для прог на VB:) ) Десктопность под разные ОС - тоже отпадает.
Он получается даже хуже электрона и котлин композ.

Вроде в игровом двжике Юнити3Д как один из вариантов написания логики использовался шарп. Там оно кстати было удобно, но были и другие варианты.

Остаётся лишь веб. Серверная часть. Но там и без шарпа полно претендентов

Ну и на кой оно надо что с байткодом что с компиляцией и каковы перспективы ?

Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

61. "Релиз языка программирования Nim 2.4.0"  +2 +/–
Сообщение от Hezal (?), 30-Окт-26, 10:21 
>> Уже пилят компиляцию в натив

И что? Вы хоть понимаете, что именно компилируете?

Native AOT не превращает C# в язык без runtime. В бинарник статически вшивается урезанный NativeAOT runtime, в котором по-прежнему есть GC и система типов. Просто больше не требуется отдельно установленный .NET Runtime и JIT.

При этом получаешь ограничения: никакого Assembly.LoadFile, Reflection.Emit, обязательный trimming и необходимость проверять весь граф NuGet-зависимостей на AOT-совместимость.

То есть это не "обычный C# теперь компилируется как C". Это отдельный режим публикации с ограничениями, которые приходится учитывать при проектировании приложения.

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

Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

63. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от aname (ok), 30-Окт-26, 11:46 
>[оверквотинг удален]
> И что? Вы хоть понимаете, что именно компилируете?
> Native AOT не превращает C# в язык без runtime. В бинарник статически
> вшивается урезанный NativeAOT runtime, в котором по-прежнему есть GC и система
> типов. Просто больше не требуется отдельно установленный .NET Runtime и JIT.
> При этом получаешь ограничения: никакого Assembly.LoadFile, Reflection.Emit, обязательный
> trimming и необходимость проверять весь граф NuGet-зависимостей на AOT-совместимость.
> То есть это не "обычный C# теперь компилируется как C". Это отдельный
> режим публикации с ограничениями, которые приходится учитывать при проектировании приложения.
> Сам факт наличия AOT ещё ничего не говорит о том, насколько эта
> модель эквивалентна нативной разработке на других языках.

Так и пиление ещё в процессе. Не сделают нормально- ну помрёт язык, да и гой с ним. Плакать, чтоли, если сдохнет?

Ответить | Правка | Наверх | Cообщить модератору

64. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Hezal (?), 30-Окт-26, 13:29 
>Так и пиление ещё в процессе.

Ну вот когда допилят, тогда и будем говорить об этом, а сейчас это маркетинговая блёвань.

Ответить | Правка | Наверх | Cообщить модератору

84. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Аноним (85), 30-Окт-26, 19:18 
"Native AOT не превращает C# в язык без runtime." Я бы даже хотел с грустью заметить что "Native AOT не превращает ХХХХХХХ в язык без runtime.", а где либо/когда либо было такое, что изначально в язык без runtime и его без существенных изменений кодовой базы превратили  в язык без runtime? Видимо фарш обратно не провернуть, кодовая база как раз расползается и использует то, что язык не надо компилировать. См. примеры с Ruby -> Crystal. Вроде Kotlin там чего-то пытается, но так просто там ничего не перевести уже существующие проекты.
Ответить | Правка | К родителю #61 | Наверх | Cообщить модератору

87. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Аноним (85), 30-Окт-26, 19:38 
Пардон: а где либо/когда либо было такое, что изначально в язык c runtime и его без существенных изменений кодовой базы превратили  в язык без runtime? Уважаемые знатоки может есть кто знает примеры?
Ответить | Правка | Наверх | Cообщить модератору

97. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Hezal (?), 31-Окт-26, 10:49 
Вы сейчас спорите с каким-то другим тезисом. Где я утверждал, что Native AOT должен превратить C# в язык без runtime? Или предлагал переписать существующую экосистему C# в какой-то другой язык?

Мой тезис совершенно о другом: Native AOT компилирует приложение в нативный код, но не избавляет его от runtime-инфраструктуры. Необходимые компоненты урезанного CoreCLR статически линкуются непосредственно в бинарник. Отсутствие необходимости устанавливать .NET Runtime отдельно не означает отсутствия runtime как такового.

Изначально обсуждалась возможность замены C/C++ на C#. Именно в этом контексте я и указал на различия в модели исполнения, зависимости от runtime и ограничения Native AOT.

А примеры Ruby -> Crystal здесь вообще неуместны. Crystal - самостоятельный язык, а не режим компиляции Ruby. Существующую кодовую базу Ruby нельзя просто взять и скомпилировать как Crystal без существенной переработки.

Вы, кажется, немного потеряли исходный контекст дискуссии.

Ответить | Правка | К родителю #84 | Наверх | Cообщить модератору

20. "Релиз языка программирования Nim 2.4.0"  –3 +/–
Сообщение от Аноним (20), 29-Окт-26, 18:09 
Лучше не смотрите на то, что это генерирует вместо кода на си.
Ответить | Правка | Наверх | Cообщить модератору

23. "Релиз языка программирования Nim 2.4.0"  –2 +/–
Сообщение от Инопланетянин (?), 29-Окт-26, 18:50 
> Лучше не смотрите на то, что это генерирует вместо кода на си.

Вот вопрос такой же. Как отлаживают это? То не говорите, что принтами.

Ответить | Правка | Наверх | Cообщить модератору

27. "Релиз языка программирования Nim 2.4.0"  +5 +/–
Сообщение от Боевой Петух (?), 29-Окт-26, 19:09 
У сабжа есть отладчик для отладки. Впредь не задавайте глупые  провокационные вопросы, а спросите хотя бы у гугло-нейронки.
Ответить | Правка | Наверх | Cообщить модератору

30. "Релиз языка программирования Nim 2.4.0"  –2 +/–
Сообщение от Инопланетянин (?), 29-Окт-26, 19:52 
> У сабжа есть отладчик для отладки. Впредь не задавайте глупые  провокационные
> вопросы, а спросите хотя бы у гугло-нейронки.

Личный опыт есть? ИИ говорит


3. Где начинаются сложности (Минусы)

Есть несколько сценариев, когда отладка сгенерированного кода становится запутанной:
• Макросы и шаблоны (Metaprogramming): Если вы активно используете macro в Nim, код генерируется «на лету». Отладчик покажет вам точку вызова макроса, но не покажет пошагово, как выполнялся сгенерированный им AST-код.
• Сложные типы данных: Простые типы (int, string, float) видны хорошо. Однако объекты, кортежи и последовательности (seq) внутри C превращаются в структуры с указателями. Чтобы увидеть их содержимое в GDB, приходится «пробиваться» через поля вроде p.data.
• Сборщик мусора (ARC/ORC): В C-коде будет много автоматических вызовов для управления памятью (nimNew, операции копирования/перемещения). При пошаговой отладке в C-режиме они могут отвлекать.

Ответить | Правка | Наверх | Cообщить модератору

42. "Релиз языка программирования Nim 2.4.0"  –4 +/–
Сообщение от cheburnator9000 (ok), 29-Окт-26, 23:55 
транспиленный код не реально толком отлаживать вы врете сами себе.

единственный правильный способ это быть языком над LLVM https://github.com/arnetheduck/nlvm там есть debug.

Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

45. "Релиз языка программирования Nim 2.4.0"  +3 +/–
Сообщение от нах. (?), 30-Окт-26, 01:25 
Нпучись уже гуглить
Ответить | Правка | Наверх | Cообщить модератору

82. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Аноним (85), 30-Окт-26, 19:04 
года три назад как-то мне удавалось прикрутить QtCreator с отладчиком(там есть спец плагин по поддерже нима), не помню правда насколько удобно отображалось значение переменных, но в целом отладка по шагам заход внутрь фнукции и брякпойнты работали. Спустя это время уже появились LSP а также плагины Sublime Text, Zed, Vscode с различно степенью поодержки в том числе и отладки.
Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

29. "Релиз языка программирования Nim 2.4.0"  +3 +/–
Сообщение от вдцлсоцжтфчлыь (ok), 29-Окт-26, 19:14 
ну так его цель — машинная трансляция в си, не обязательно читабельная.
Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

46. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от нах. (?), 30-Окт-26, 01:26 
ты и не должен это смотреть, ты же не смотришь машинный код
Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

24. "Релиз языка программирования Nim 2.4.0"  +3 +/–
Сообщение от Боевой Петух (?), 29-Окт-26, 19:04 
Что опять поломали в плане совместимости? Помнится,этот язык прославился именно этим.
Ответить | Правка | Наверх | Cообщить модератору

34. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Аноним (34), 29-Окт-26, 21:40 
Для малвари как раз хорошо, сигнатуры поменяются
Ответить | Правка | Наверх | Cообщить модератору

25. "Релиз языка программирования Nim 2.4.0"  –5 +/–
Сообщение от Аноним (25), 29-Окт-26, 19:05 
>Реализован режим оптимизации коротких строк (SSO, Small-String Optimization), включаемый через опцию "--strings:sso" и приводящий к хранению небольших строк непосредственно в самом объекте, без отдельного выделения памяти в куче.

замечательно, но удар по abi; было бы хорошо так приделывать подобъекты к объекту, но без разделения на полустатику и кучу

Ответить | Правка | Наверх | Cообщить модератору

28. "Релиз языка программирования Nim 2.4.0"  +2 +/–
Сообщение от Боевой Петух (?), 29-Окт-26, 19:10 
Кому не пофиг на твой abi?
Ответить | Правка | Наверх | Cообщить модератору

83. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Аноним (85), 30-Окт-26, 19:12 
ABI нужно делать когда у вас боооольшой заопарк исходников и вы компириуете в бинарник а потом линкуете это когда-нибудь потом. Кстате до этого релиза не было инкрементальной компиляции, так что ни а какой раздельной компиляции и речи быть не могло. К счастью язык достаточно быстро компилируется даже с учётом двухстайдиной компияляции НИМ -> C -> exe(сам компилятор себя за минуту компилирует). Единственно, когда вам нужна эта ABI совместимость это когда вы компилирует билиотеку которую будете использовать ликовать через СИ интрефейсы(pragma exportC) -- ну тогда вы ручками и вбиваете эти Си функции которые вам нужно экспортировать -- и соотвественно ничего у вас от версии к версии не поплывёт.
Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

33. "Релиз языка программирования Nim 2.4.0"  –2 +/–
Сообщение от Tron is Whistling (?), 29-Окт-26, 21:14 
Очередная очень нужная закорючка со значимыми пробелами.
И как не надоедает...
Ответить | Правка | Наверх | Cообщить модератору

37. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Аноним (37), 29-Окт-26, 22:04 
Где применяется?
Ответить | Правка | Наверх | Cообщить модератору

39. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Аноним (34), 29-Окт-26, 23:23 
Ну как где? В майнерах, в шеллкодиках, в троянчиках
Ответить | Правка | Наверх | Cообщить модератору

51. "Релиз языка программирования Nim 2.4.0"  +1 +/–
Сообщение от нах. (?), 30-Окт-26, 02:17 
буду краток: нигде
Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

58. "Релиз языка программирования Nim 2.4.0"  –3 +/–
Сообщение от user1985 (?), 30-Окт-26, 09:08 
Быстрый ответ Алисы AI
Содержимое ответа
На языке Nim можно создавать проекты самого разного типа — от веб-сервисов и утилит до игр и системных библиотек. Я подобрала для вас несколько примеров реальных проектов и инструментов, которые демонстрируют возможности языка. codechick.io
Примеры проектов

    Веб-фреймворки и серверы. HappyX — полнофункциональный веб-фреймворк, который компилируется как в C, так и в JavaScript. На его основе можно разрабатывать как серверные, так и клиентские веб-приложения. habr.com
    Серверы и API. Проект Mummy — это HTTP- и WebSocket-сервер, написанный на Nim. libhunt.com
    Криптографические библиотеки. Constantine — высокопроизводительная криптографическая библиотека. adorabilis.wordpress.com
    Асинхронное программирование. nim-chronos — эффективная библиотека для асинхронного программирования. dev.toadorabilis.wordpress.com
    Сериализация. nim-serialization — расширяемый модуль для эффективной сериализации данных. adorabilis.wordpress.com
    Инструменты для разработки. Nimalyzer — утилита для статического анализа кода на Nim. adorabilis.wordpress.com
    Графика и игры. nimgl — библиотека Nim, которая предоставляет привязки к популярным библиотекам компьютерной графики. github.com
    Криптография. nimbluez — модули Nim для доступа к системным ресурсам Bluetooth. github.com
    Криптографические обёртки. nimpy — пакет, который позволяет вызывать код на Nim из Python. habr.com

Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

59. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Axonic (ok), 30-Окт-26, 09:11 
github.com/search?q=language%3ANim&type=Repositories&ref=advsearch&l=&l=Nim&s=&o=desc
Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

81. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Аноним (85), 30-Окт-26, 18:56 
Nitter — (AGPLv3+) легковесный альтернативный веб-интерфейс для X (ранее Twitter).

Nimbus: An Ethereum consensus layer (Ethereum 2.0) client built by Status

Для веб разработки его иногда используют. как фронтэнд так и бекэнд.

Еще благодоря всяким макросо-программисткми штукам его очень любят использовать для того что-бы писать небольшие DSL и модули к Python. см. Ускоряем код на Python с помощью Nim.
И как уже было написано пишут майлварь. В общем там где не охота на си во время компиляции парсить файлы и генерировать статический контент(в вебе кстати тоже широко используеться).

Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

88. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Аноним (85), 30-Окт-26, 20:03 
Модули к Python:

https://github.com/juancarlospaco/faster-than-requests
Вот эти функции залили в питон
get()    post()    put()    head()
patch()    delete()    download()    download2()
scraper()    scraper2()    scraper3()    scraper4()
scraper5()    scraper6()    scraper7()    get2str()
get2str2()        get2dict()    get2json()
post2str()    post2dict()    post2json()    post2list()
download3()    tuples2json()    set_headers()    multipartdata2str()
datauri()    urlparse()    urlencode()    urldecode()
encodequery()    encodexml()    debugs()    minifyhtml()
websocket_send()    websocket_ping()    

Ответить | Правка | Наверх | Cообщить модератору

89. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Инопланетянин (?), 30-Окт-26, 20:56 
> Nitter — (AGPLv3+) легковесный альтернативный веб-интерфейс для X (ранее Twitter).

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

Ответить | Правка | К родителю #81 | Наверх | Cообщить модератору

92. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Аноним (92), 31-Окт-26, 00:55 
Можно ссылку на источник?
Ответить | Правка | Наверх | Cообщить модератору

93. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Инопланетянин (?), 31-Окт-26, 01:00 
> Можно ссылку на источник?

Можно у ИИ спросить ^^

https://github.com/zedeus/nitter/discussions/1212

> The long-term plan is to rewrite the source code in Go, as I'm no longer interested in using Nim.

Ответить | Правка | Наверх | Cообщить модератору

96. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Axonic (ok), 31-Окт-26, 09:29 
При этом все действующие проекты на Nim

https://github.com/zedeus

Ответить | Правка | Наверх | Cообщить модератору

100. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Инопланетянин (?), 31-Окт-26, 13:31 
> При этом все действующие проекты на Nim
> https://github.com/zedeus

Там обновления 3-7 лет назад последние. Тебе человек явно сказал что он устал от языка, не видит будущего у него. Странно, что ему понадобилось столько времени для этого.

Ответить | Правка | Наверх | Cообщить модератору

66. "Релиз языка программирования Nim 2.4.0"  –1 +/–
Сообщение от разрабemail (?), 30-Окт-26, 14:52 
есть же зиг и C# F#. зачем еще что-то& не понимаю
Ответить | Правка | Наверх | Cообщить модератору

79. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Брат Анон (ok), 30-Окт-26, 17:39 
1) а перед тобой должен автор отчитываться?
2) а слабо на сайт проекта сходить и почитать зачем?
Ответить | Правка | Наверх | Cообщить модератору

95. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от User (??), 31-Окт-26, 07:52 
О! Вот и нашёлся человек, который рекламе производителя верит))).
Ответить | Правка | Наверх | Cообщить модератору

98. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Аноним (98), 31-Окт-26, 11:37 
Я как бэ написал программу на ним(на нём) на Гите юзернэйм altbodhi можно проверить. Яп дурной во всёх смыслах
Ответить | Правка | К родителю #79 | Наверх | Cообщить модератору

70. "Релиз языка программирования Nim 2.4.0"  –1 +/–
Сообщение от Аноним (70), 30-Окт-26, 16:14 
В какой-то момент много стало opinionated хрени.
Это тот самый язык, который запретил табы и установил кодстайл с отступами 2 пробела.
Ну и если серьёзно, языки построенные вокруг наследования (в наше-то пока ещё просвещённое время) и multiple dispatch, чьё гибельное воздействие на композируемость и (как следствие) экосистему на примере julia давно уже стало общим знанием...
Ответить | Правка | Наверх | Cообщить модератору

74. "Релиз языка программирования Nim 2.4.0"  +1 +/–
Сообщение от Axonic (ok), 30-Окт-26, 16:40 
Nim поддерживает только одиночное наследование объектов (object of, ref object of RootObj), и оно необязательно. Идиоматичный Nim опирается на структуры без наследования, свободные процедуры, дженерики, концепты и композицию.

Наследование используют редко и в основном для динамического полиморфизма.

Ответить | Правка | Наверх | Cообщить модератору

80. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Аноним (85), 30-Окт-26, 18:47 
В новости не указано, что также сопровождается/представлен релиз предыдущая ветки 2.2.12->2.2.14 c различными исправлениями багов. А также то что, разрабатывается следующая ветка Nimony/Nim 3 для которой также работает "режим оптимизации коротких строк (SSO, Small-String Optimization)"
Ответить | Правка | Наверх | Cообщить модератору

101. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от разрабemail (?), 01-Ноя-26, 03:13 
https://online.oberon.org/artificial%20intelligence
уж лучше это чем нимба
Ответить | Правка | Наверх | Cообщить модератору

102. "Релиз языка программирования Nim 2.4.0"  +/–
Сообщение от Аноним (85), 02-Ноя-26, 22:06 
Изначально многих цепляет в NIM то, что у него Питоно-образный синтаксис. Но чем, больше смотришь на язык поглубже, тем больше видишь его Паскалевские корни(изначально написан на паскаль). Так, что я даже думаю, что не сложно написать транслятор с Оберон/Паскаль на Ним, причем очень простой на уровне регулярных выражений, чтобы например убирать END, расставлять отступы(а в хорошем коде они и так уже расставлены). Так что чисто на практике не понимаю есть ли существенные различия у паскалевских языков Оберон, Паскаль и прочее и Ним, то есть есть ли, что-то такое что есть в Обероне или Паскале(модули например) чего нет в Ним? может быть уважаемые знатоки поправят? А вот чего, мне кажется нет в Паскале - это наработанная практика компиляции в JavaScript и использование макросредств языка. Хотя, как раз такая спартанскость может быть кому-то и подойдёт, так как не отвлекает от практики.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




XSQUARE
Inferno Solutions
Hosting by Hoster.ru
Хоcтинг: