Профиль: Аноним (вход | регистрация)
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. Сообщение от Инопланетянин (?), 29-Окт-26, 16:39   +6 +/–
Какой Ним, какой Раст? На Гусе писать надо https://github.com/aardappel/goose Он быстрее плюсов и раста.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #4, #6, #32, #49, #53

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #9, #14, #26

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #40

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #15, #38

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

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

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

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

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

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

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

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

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #27

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #28, #83

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

37. Сообщение от Аноним (37), 29-Окт-26, 22:04   +/–
Где применяется?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #39, #51, #58, #59, #81

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #44

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27 Ответы: #45

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #75

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

58. Сообщение от user1985 (?), 30-Окт-26, 09:08   –3 +/–
Быстрый ответ Алисы 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

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

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

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

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

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #63, #84

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

63. Сообщение от 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ообщить модератору
Родитель: #61 Ответы: #64

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

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

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

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

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

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

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

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

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

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

*Аллокатора

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

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

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

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

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67 Ответы: #94

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

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

81. Сообщение от Аноним (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.
И как уже было написано пишут майлварь. В общем там где не охота на си во время компиляции парсить файлы и генерировать статический контент(в вебе кстати тоже широко используеться).

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #88, #89

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

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

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

85. Сообщение от Аноним (85), 30-Окт-26, 19:27   +/–
from std/sugar import dump

from pretty import print
from pretty import printTable

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

86. Сообщение от Аноним (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
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40

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

88. Сообщение от Аноним (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ообщить модератору
Родитель: #81

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81 Ответы: #92

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

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

93. Сообщение от Инопланетянин (?), 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ообщить модератору
Родитель: #92 Ответы: #96

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

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

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

https://github.com/zedeus

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #93 Ответы: #100

97. Сообщение от 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 без существенной переработки.

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

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

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

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

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

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

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

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

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


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

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




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