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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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   +/–
> C++ высокоуровневый язык вообще-то.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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




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