The OpenNET Project / Index page

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



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

"Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от opennews (ok), 18-Окт-20, 16:21 
Представлен релиз языка системного программирования  Nim 1.4.  Язык Nim использует статическую типизацию и создан с оглядкой на Pascal, C++, Python и Lisp. Исходный код на языке Nim компилируется в представление на C, C++ или JavaScript.  В дальнейшем полученный C/C++ код компилируется в исполняемый файл при помощи любого доступного компилятора (clang, gcc, icc, Visual C++), что позволяет добиться производительности близкой к Си, если не учитывать затраты на выполнение сборщика мусора. По аналогии с Python в Nim в качестве разделителей блоков применяются отступы. Поддерживаются средства метапрограммирования и возможности для создания предметно-ориентированных языков (DSL). Код проекта поставляется под лицензией MIT...

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

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

Оглавление

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


1. "Релиз языка программирования Nim 1.4.0 "  –24 +/
Сообщение от A.Stahl (ok), 18-Окт-20, 16:21 
>По аналогии с Python в Nim в качестве разделителей блоков применяются отступы.

В топку. Дальше про язык можно ничего не знать. Даже если в нём реализованы какие-то действительно интересные возможности.

Это до какой же степени нужно себя не уважать чтобы стандарт языка регламентировал внешний вид листинга?

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

5. "Релиз языка программирования Nim 1.4.0 "  –14 +/
Сообщение от Анонимemail (5), 18-Окт-20, 16:39 
а мне нравится, очень удобно
знаете, на форумах всякие пишут без абзацев и знаков препинания, вот
а в целом, конечно, фигурные скобки и точка с запятой - лютое говно, какой-то очередной "творец" придумывал
Ответить | Правка | Наверх | Cообщить модератору

63. "Релиз языка программирования Nim 1.4.0 "  +8 +/
Сообщение от Аноним (63), 18-Окт-20, 21:54 
> знаете, на форумах всякие пишут без абзацев и знаков препинания, вот

Да, когда не ставят точки, не используют прописные буквы и начинают каждое предложение с новой строки — это дико бесит.

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

84. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от asdasdasd (?), 19-Окт-20, 11:00 
> а в целом, конечно, фигурные скобки и точка с запятой - лютое говно, какой-то очередной "творец" придумывал

Ага, очень говно, возможность моментально глазами увидеть локальную область это очень говно, ага.

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

8. "Релиз языка программирования Nim 1.4.0 "  –2 +/
Сообщение от OpenEcho (?), 18-Окт-20, 17:06 
А ничего, что языку уже 12 лет ?
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

11. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от A.Stahl (ok), 18-Окт-20, 17:20 
Какая разница сколько ему лет? Питон тоже не вчера появился.
Ответить | Правка | Наверх | Cообщить модератору

15. "Релиз языка программирования Nim 1.4.0 "  –1 +/
Сообщение от OpenEcho (?), 18-Окт-20, 17:54 
> Какая разница сколько ему лет? Питон тоже не вчера появился.

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

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

81. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Аноним (81), 19-Окт-20, 08:29 
>уже 12 лет

https://www.opennet.ru/openforum/vsluhforumID3/122143.html#79

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

10. Скрыто модератором  –10 +/
Сообщение от Аноним (10), 18-Окт-20, 17:19 
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

18. Скрыто модератором  –4 +/
Сообщение от Аноним (-), 18-Окт-20, 18:01 
Ответить | Правка | Наверх | Cообщить модератору

28. Скрыто модератором  –2 +/
Сообщение от банан (?), 18-Окт-20, 18:55 
Ответить | Правка | Наверх | Cообщить модератору

20. Скрыто модератором  +8 +/
Сообщение от OpenEcho (?), 18-Окт-20, 18:10 
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

22. Скрыто модератором  –7 +/
Сообщение от Аноним (10), 18-Окт-20, 18:36 
Ответить | Правка | Наверх | Cообщить модератору

48. Скрыто модератором  +/
Сообщение от анонн (ok), 18-Окт-20, 21:15 
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

16. "Релиз языка программирования Nim 1.4.0 "  +3 +/
Сообщение от Аноним (-), 18-Окт-20, 17:58 
о, чрезвычайно важное мнение типичного опеннет-иксперта, держи в курсе
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

35. "Релиз языка программирования Nim 1.4.0 "  +17 +/
Сообщение от Аноним (-), 18-Окт-20, 20:20 
Тебя на ЛОРе забанили за троллинг. Ты и здесь хочешь? Можем повторить.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

93. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от заминированный тапок (ok), 20-Окт-20, 10:36 
особенно Аннон :-D
со словами "можем повторить" и надписью "НА ЛОР!" туда можешь и поехать
Ответить | Правка | Наверх | Cообщить модератору

38. "Релиз языка программирования Nim 1.4.0 "  +1 +/
Сообщение от Annoynymous (ok), 18-Окт-20, 20:24 
Ох, тебя-то и не спросили. Но ничего, в следующий раз ты разработаешь правильный, уважающий тебя язык.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

40. "Релиз языка программирования Nim 1.4.0 "  –3 +/
Сообщение от Аноним (40), 18-Окт-20, 20:26 
Python воспринимаю нормально, поэтому и в Nim блоки кода оступами тоже норм.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

100. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Брат сестры друга соседа отца того парня (?), 26-Окт-20, 00:25 
Скобочный синтаксис устарел. Ты просто боишься признать это. Все сишники прячут скобки в конец строки что бы их не было видно, разделяя области видимости отступами. Посмотри исходники ААА+++ проектов, это не я придумал, а такова жизнь. Смирись с этим.

Вот типичный код, 90% скобки ставят именно так (хотя я сам не ставлю так, но всё же):

for(int i = 0; i < 10; i++) {
    print("%i\n", i);}

Чем же пример выше, хуже этого:

for i in range(10):
    print(i)

?

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

2. "Релиз языка программирования Nim 1.4.0 "  –11 +/
Сообщение от Аноним (2), 18-Окт-20, 16:21 
Остальные языки будто маломощные, по сравнению с ним.
Ответить | Правка | Наверх | Cообщить модератору

3. "Релиз языка программирования Nim 1.4.0 "  –8 +/
Сообщение от Sin2x (ok), 18-Окт-20, 16:23 
Nim будущее системного программирования, а никакой не раст.

https://github.com/kostya/benchmarks

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

13. "Релиз языка программирования Nim 1.4.0 "  –1 +/
Сообщение от topin89email (ok), 18-Окт-20, 17:53 
Быстрого ещё может. Но не системного. Языки со сборкой мусора не могут претендовать на системное программирования. Ну то есть технически может и могут, но на практике не выходит.
А так да, язык хороший.
Ответить | Правка | Наверх | Cообщить модератору

17. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Sin2x (ok), 18-Окт-20, 18:01 
Это некорректное утверждение. Nim не просто подходит как язык для системного программирования, он _позиционируется_ как язык для системного программирования.

https://nim-lang.org/

"Nim is a statically typed compiled systems programming language".

А вот тебе живой пример ядра на ниме:

https://github.com/dom96/nimkernel

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

42. "Релиз языка программирования Nim 1.4.0 "  +1 +/
Сообщение от topin89email (ok), 18-Окт-20, 20:52 
> Это некорректное утверждение. Nim не просто подходит как язык для системного программирования,
> он _позиционируется_ как язык для системного программирования.
> https://nim-lang.org/
> "Nim is a statically typed compiled systems programming language".

Нда, у systems programming language слишком значений. Я не знаю, что здесь имелось в виду.

> А вот тебе живой пример ядра на ниме:
> https://github.com/dom96/nimkernel

Пример хороший, пока не находишь в конфиге вот это : "--gc:none". В самом примере это обходится очень просто -- там память не выделяется. А придётся. Наверное, стоит написать свой собственный сборщик мусора, например, подогнав arc или orc под ядро. Вполне выполнимо, и после этого язык можно назвать пригодным для создания ядер.
Но даже с этими гипотетическими изменениями, в языке вообще нет поддержки ручной работы с памятью. И рано или поздно для адекватной производительности этом может понадобиться. В Расте есть. В C и C++ есть. В паскале даже есть. В Nim нет. Следовательно, прежде чем писать на нём, потребуется создать такую поддержку. Наверняка это даже возможно. Но как-то слишком много возни, чтобы называться системным в плане "пригоден для создания ядер и драйверов".
Впрочем, на всяких ардуинах и микроконтроллерах в целом, где память и так обычно не выделяется, nim может сработать не только в "потому что могу" проектах. Тоже системненько.

А так даже питон можно напрямую из ядра запускать: https://www.youtube.com/watch?v=bYQ_lq5dcvM

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

49. "Релиз языка программирования Nim 1.4.0 "  –1 +/
Сообщение от анонн (ok), 18-Окт-20, 21:21 
> Пример хороший, пока не находишь в конфиге вот это : "--gc:none". В
> самом примере это обходится очень просто -- там память не выделяется.
> А придётся.

...
> работы с памятью. И рано или поздно для адекватной производительности этом
> может понадобиться. В Расте есть. В C и C++ есть.

Т.е. использование "ручных" типов ссылок (первая же строчка)
PVIDMem* = ptr array[0..65_000, TEntry]
> Traced references are declared with the ref keyword, untraced references are declared with the ptr keyword.

Вы предпочли не заметить?

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

54. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от topin89email (ok), 18-Окт-20, 21:39 
>> Пример хороший, пока не находишь в конфиге вот это : "--gc:none". В
>> самом примере это обходится очень просто -- там память не выделяется.
>> А придётся.
> ...
>> работы с памятью. И рано или поздно для адекватной производительности этом
>> может понадобиться. В Расте есть. В C и C++ есть.
> Т.е. использование "ручных" типов ссылок (первая же строчка)
> PVIDMem* = ptr array[0..65_000, TEntry]
>> Traced references are declared with the ref keyword, untraced references are declared with the ptr keyword.
> Вы предпочли не заметить?

Конечно заметил. Я заметил и каст на блок памяти чуть ниже. Это не выделение памяти. Я не знаю деталей, но это явно жёстко заданный блок, видимо привязанный к BIOS'у.

Какой есть аналог malloc/free? Как их привязать к стандартной модели выделения/развыделения? Не превратится ли язык в более красивый C, если написать их самому?

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

60. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от анонн (ok), 18-Окт-20, 21:50 
> Конечно заметил. Я заметил и каст на блок памяти чуть ниже. Это
> не выделение памяти. Я не знаю деталей, но это явно жёстко
> заданный блок, видимо привязанный к BIOS'у.
> Какой есть аналог malloc/free? Как их привязать к стандартной модели выделения/развыделения?
> Не превратится ли язык в более красивый C, если написать их
> самому?

Как и везде - написать/использовать аллокатор.
Я хотел указать на то, что ваши рассуждения строятся на изначально неверной предпосылке - GC в nim опционален не "возможностью отключить" сам сборщик, а возможностью использования "ручных" аллокаторов, для чего там два вида указателей (ref для GC и ptr)

https://nim-lang.org/docs/manual.html#types-reference-and-po...
>>>

Nim distinguishes between traced and untraced references. Untraced references are also called pointers. Traced references point to objects of a garbage collected heap, untraced references point to manually allocated objects or to objects somewhere else in memory. Thus untraced references are unsafe. However for certain low-level operations (accessing the hardware) untraced references are unavoidable.
...
To allocate a new traced object, the built-in procedure new has to be used. To deal with untraced memory, the procedures alloc, dealloc and realloc can be used.
(это из примера "Mixing GC memory with ptr")


type
  Data = tuple[x, y: int, s: string]

# allocate memory for Data on the heap:
var d = cast[ptr Data](alloc0(sizeof(Data)))

# create a new string on the garbage collected heap:
d.s = "abc"

# tell the GC that the string is not needed anymore:
reset(d.s)

# free the memory:
dealloc(d)

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

62. "Релиз языка программирования Nim 1.4.0 "  +1 +/
Сообщение от topin89email (ok), 18-Окт-20, 21:54 
> Как и везде - написать/использовать аллокатор.
> Я хотел указать на то, что ваши рассуждения строятся на изначально неверной
> предпосылке - GC в nim опционален не "возможностью отключить" сам сборщик,
> а возможностью использования "ручных" аллокаторов, для чего там два вида указателей
> (ref для GC и ptr)
> https://nim-lang.org/docs/manual.html#types-reference-and-po...

Ответил чуть ниже, но всё равно повторюсь. Я не знал, что это возможно. Тогда да, Nim можно называть системным без оговорок.

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

50. "Релиз языка программирования Nim 1.4.0 "  –1 +/
Сообщение от Sin2x (ok), 18-Окт-20, 21:28 
https://nim-lang.org/docs/gc.html

In addition to GC_ref and GC_unref you can avoid the garbage collector by manually allocating memory with procs like alloc, alloc0, allocShared, allocShared0 or allocCStringArray. The garbage collector won't try to free them, you need to call their respective dealloc pairs (dealloc, deallocShared, deallocCStringArray, etc) when you are done with them or they will leak.

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

57. "Релиз языка программирования Nim 1.4.0 "  +1 +/
Сообщение от topin89email (ok), 18-Окт-20, 21:45 
> https://nim-lang.org/docs/gc.html
> In addition to GC_ref and GC_unref you can avoid the garbage collector
> by manually allocating memory with procs like alloc, alloc0, allocShared, allocShared0
> or allocCStringArray. The garbage collector won't try to free them, you
> need to call their respective dealloc pairs (dealloc, deallocShared, deallocCStringArray,
> etc) when you are done with them or they will leak.

Что сделает язык красивым C++. Так-то тоже неплохо, но rust с его проверками на этапе компиляции и явной маркировкой unsafe для подобных вызовов всё же лучше.

Но, ладно, раз есть такая низкоуровневая возможность, как и возможность написать свою версию alloc/dealloc прямо на Nim, я признаю язык системным.

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

83. "Релиз языка программирования Nim 1.4.0 "  –1 +/
Сообщение от Аноним (83), 19-Окт-20, 10:37 
За Nim стоит чуть ли не один человек, за rust целая команда, большая популярность, и заинтересованность больших корпораций.
Ответить | Правка | Наверх | Cообщить модератору

34. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Аноним (34), 18-Окт-20, 20:15 
как понял, GC у него опционально вкл/выкл
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

43. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от topin89email (ok), 18-Окт-20, 20:53 
> как понял, GC у него опционально вкл/выкл

Это да. Но в режиме gc:none память никогда не будет освобождена. К счастью, там много разных сборщиков, в т.ч. легковесный arc и чуть менее легковесный orc.

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

51. "Релиз языка программирования Nim 1.4.0 "  +2 +/
Сообщение от Аноним (51), 18-Окт-20, 21:29 
На практике он по потреблению памяти сравним с C / C++ / Rust. По быстродействию тоже. Причём на разных тестах от разных авторов.

Что говорит что он отлично подходит для embedded из коробки.

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

58. "Релиз языка программирования Nim 1.4.0 "  +2 +/
Сообщение от topin89email (ok), 18-Окт-20, 21:48 
> На практике он по потреблению памяти сравним с C / C++ /
> Rust. По быстродействию тоже. Причём на разных тестах от разных авторов.
> Что говорит что он отлично подходит для embedded из коробки.

Тут согласен. Указатели есть, выделение/развыделение не нужно и вообще вредно и опасно. Для встройки его можно и попробовать, хотя бы как красивую альтернативу плюсам.

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

95. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Аноним (95), 21-Окт-20, 03:15 
Как раз с этим сейчас идёт работа - https://habr.com/ru/post/523674/ и так далее. Если использовать чисто ARC, то никакого трейсинга нет - просто RAII и подсчёт ссылок.
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

98. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от BrainFucker (ok), 24-Окт-20, 05:55 
> Языки со сборкой мусора не могут претендовать на системное программирования.

А зачем вам мусор в системе? Не все под винду разрабатывают. В nim нельзя опционально отключить сборщик мусора?

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

99. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от topin89email (ok), 24-Окт-20, 22:20 
>> Языки со сборкой мусора не могут претендовать на системное программирования.
> А зачем вам мусор в системе? Не все под винду разрабатывают. В
> nim нельзя опционально отключить сборщик мусора?

Я там чуть выше писал, что сменил свою точку зрения. Сборщик мусора можно отключить, и можно использовать ручное выделение и развыделение (о чём я не знал, когда писал, что не системный). Так мы получаем красивый C, системный язык наравне с C,C++ И D.

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

4. "Релиз языка программирования Nim 1.4.0 "  –1 +/
Сообщение от Аноним (4), 18-Окт-20, 16:24 
>Исходный код на языке Nim компилируется в представление на C, C++ или JavaScript.

кажется это называется не компиляция, а трансляция

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

6. "Релиз языка программирования Nim 1.4.0 "  +2 +/
Сообщение от m.makhno (ok), 18-Окт-20, 16:49 
Трансляция - общее определение. Исходный код может быть скомпилирован или интерпретирован. В данном случае - скомпилирован, так как интерпретация подразумевает ещё и его выполнение.
Ответить | Правка | Наверх | Cообщить модератору

67. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Sw00p aka Jerom (?), 18-Окт-20, 22:09 
не путайте, процесс ПОДГОТОВКИ к исполнению с самим процессом исполнения. А сам процесс исполнения уже делиться на непосредственное машинное исполнение (нативное - то есть в роли интерпретатора выступает ЦПУ) и программное исполнение (то есть в роли интерпретатора выступает сам язык программирования или виртуальная машина).

> Трансляция - общее определение.

В общем определении - ПРОЦЕСС перевода.

> Исходный код может быть скомпилирован или интерпретирован.

Тут два разный ПРОЦЕССА и или между ними - ни к месту.

Вот тут интерпретирован - общее понятие ПРОЦЕССА исполнения, а скомпилирован - ПРОЦЕСС подготовки к исполнению.


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

14. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от topin89email (ok), 18-Окт-20, 17:54 
Транспиляция точнее
https://ru.wikipedia.org/wiki/%D0%A2%D1%...
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

64. "Релиз языка программирования Nim 1.4.0 "  +2 +/
Сообщение от Sw00p aka Jerom (?), 18-Окт-20, 21:55 
Этот термин придумали смузихлебы, а весь процесс есть S2S трансляция.
Ответить | Правка | Наверх | Cообщить модератору

66. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от topin89email (ok), 18-Окт-20, 22:01 
> Этот термин придумали смузихлебы, а весь процесс есть S2S трансляция.

И как это расшифровывается? Нашёл только Speech-to-speech translation, и это голосовой перевод.

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

68. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Sw00p aka Jerom (?), 18-Окт-20, 22:10 
кхмм, пройдите по англоязычной версии ссылки которую вы указали.

https://en.wikipedia.org/wiki/Source-to-source_compiler

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

69. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от topin89email (ok), 18-Окт-20, 22:14 
> кхмм, пройдите по англоязычной версии ссылки которую вы указали.
> https://en.wikipedia.org/wiki/Source-to-source_compiler

Чёрт! Спасибо.

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

7. "Релиз языка программирования Nim 1.4.0 "  +9 +/
Сообщение от Аноним (51), 18-Окт-20, 16:56 
Смотрел на Nim. Потрясающий язык программирования. Наверное максимально близок к идеальному из существующих.

Удивительно быстр, быстрее Rust. При этом с GC. Лаконичен.

Позволяет бесшовную интеграцию с C / C++, опять же, в отличие от Rust.

Код выглядит очень понятно, в отличие от C++.

Жаль что пока не популярен.
Лучшая замена C и C++.

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

12. "Релиз языка программирования Nim 1.4.0 "  –1 +/
Сообщение от Аноним (12), 18-Окт-20, 17:26 
Есть еще zig
Ответить | Правка | Наверх | Cообщить модератору

19. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Sin2x (ok), 18-Окт-20, 18:04 
Он с каждой версией всё лучше и лучше. Вот этот пост прочитай:

https://nim-lang.org/blog/2020/10/15/introduction-to-arc-orc...

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

21. "Релиз языка программирования Nim 1.4.0 "  +1 +/
Сообщение от Sin2x (ok), 18-Окт-20, 18:17 
Русский, кстати, забавно:

https://github.com/Yardanico

На хабре есть перевод той статьи: https://habr.com/ru/post/523674/

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

96. "Релиз языка программирования Nim 1.4.0 "  +3 +/
Сообщение от Yardanico (ok), 21-Окт-20, 03:17 
Да, здрасте :) Пост вообще спонтанно написал, сначала на dev.to запостил, но людям понравилось, поэтому потом на официальный блог запостили (https://github.com/nim-lang/website/pull/230) и я уж перевёл на русский на Хабр (а другой человек на итальянский ещё сделал перевод).

Сам я Nim просто как хобби занимаюсь, потому что пока студент, времени много :)

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

24. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от анонимус (??), 18-Окт-20, 18:41 
>Потрясающий
>Жаль что пока не популярен.

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

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

53. "Релиз языка программирования Nim 1.4.0 "  +1 +/
Сообщение от Аноним (51), 18-Окт-20, 21:37 
Согласен. Но есть возможность что кто-то вложится.

Особенно если стартап его будет использовать и вырастет во что-то большее как Facebook тянул PHP / MySQL.

12 лет ему, говорят. Это уже хороший знак что вкладываться можно.

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

82. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Аноним (81), 19-Окт-20, 08:31 
>12 лет ему

https://www.opennet.ru/openforum/vsluhforumID3/122143.html#79

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

39. "Релиз языка программирования Nim 1.4.0 "  –3 +/
Сообщение от Аноним (-), 18-Окт-20, 20:25 
А мощные игры на нем делать можно, как на С++? Уже сделали хоть одну?
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

65. "Релиз языка программирования Nim 1.4.0 "  +1 +/
Сообщение от topin89email (ok), 18-Окт-20, 21:59 
> А мощные игры на нем делать можно, как на С++? Уже сделали
> хоть одну?

Да. Скорость позволяет и удобная интеграция с C++ позволяет.
Нет. О движках тоже не слышно.

Увы, nim не на хайпе, так что вряд ли кто уже напишет.

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

86. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Sin2x (ok), 19-Окт-20, 11:51 
Зачем ты комментируешь о том, в чём не разбираешься?

https://github.com/nim-lang/Nim/wiki/Curated-Packages#games

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

88. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от topin89email (ok), 19-Окт-20, 20:46 
> Зачем ты комментируешь о том, в чём не разбираешься?
> https://github.com/nim-lang/Nim/wiki/Curated-Packages#games

ОК, начнём с определений. Мощные игры -- это в первую очередь 3D игры с отличной графикой и кучей контента. Те самые AAA игры. Я не нашёл даже AaaaaAAaaaAAAaaAAAAaAAAAA игр.
Я даже не сомневался, что есть просто игры. Тетрис и шахматы, в нашем случае. И эмулятор NES, что отлично.
Для таких игр нужен достойный движок как в техническом плане, так и плане удобства. Ну или инди команда, которая решила, что будет делать на Nim. Вроде пока ни того ни другого нет.

Если знаешь такую -- с радостью поменяю мнение. Затем и пишу.

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

9. "Релиз языка программирования Nim 1.4.0 "  –2 +/
Сообщение от Аноним (34), 18-Окт-20, 17:17 
Как у него с ООП и графикой?
Ответить | Правка | Наверх | Cообщить модератору

23. "Релиз языка программирования Nim 1.4.0 "  +1 +/
Сообщение от анонимус (??), 18-Окт-20, 18:36 
>ООП

https://nim-lang.org/docs/tut2.html#object-oriented-programming

>графикой

https://github.com/nim-lang

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

26. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от анонимус (??), 18-Окт-20, 18:48 
Плюс поддерживает горячую замену кода https://nim-lang.org/docs/hcr.html
Ответить | Правка | Наверх | Cообщить модератору

87. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Аноним (87), 19-Окт-20, 16:28 
Опять путают ООП с наследованием, ну что ж такое.
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

37. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Аноним (-), 18-Окт-20, 20:24 
Да.
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

25. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Аноним (-), 18-Окт-20, 18:47 
1) Какие именно ОСОБЕННОСТИ ЭТОГО ЯЗЫКА не дадут программисту сделать ошибки которые он мог бы сам понаделать в результирующих языках "C, C++ или JavaScript"? 2) Или может есть некие **особенности Nim-языка** которые просто позволили создать некие эффективные СРЕДСТВА машинной проверки **именно** Nim-кода (т.е. такие средства которые в других языках попросту не возможны! или в других языках - часто лажают, или не эффекивны там)?
Ответить | Правка | Наверх | Cообщить модератору

45. "Релиз языка программирования Nim 1.4.0 "  –1 +/
Сообщение от topin89email (ok), 18-Окт-20, 21:00 
> 1) Какие именно ОСОБЕННОСТИ ЭТОГО ЯЗЫКА не дадут программисту сделать ошибки которые
> он мог бы сам понаделать в результирующих языках "C, C++ или
> JavaScript"? 2) Или может есть некие **особенности Nim-языка** которые просто позволили
> создать некие эффективные СРЕДСТВА машинной проверки **именно** Nim-кода (т.е. такие средства
> которые в других языках попросту не возможны! или в других языках
> - часто лажают, или не эффекивны там)?

Он всё же не об этом. Считай, что это такой быстрый питон с нормальным многопотоком.

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

27. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от oni6667891011121314151617181920212223 (?), 18-Окт-20, 18:52 
в состав GCC не собираются ли его вкрутить?
Ответить | Правка | Наверх | Cообщить модератору

29. "Релиз языка программирования Nim 1.4.0 "  –1 +/
Сообщение от Sin2x (ok), 18-Окт-20, 19:03 
Ним и так поддерживает любые компиляторы С.

https://nim-lang.org/faq.html

"How do I use a different C compiler than the default one?"

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

30. "Релиз языка программирования Nim 1.4.0 "  –1 +/
Сообщение от oni666789101112131415161718192021222324 (?), 18-Окт-20, 19:21 
> Ним и так поддерживает любые компиляторы С.
> https://nim-lang.org/faq.html
> "How do I use a different C compiler than the default one?"

да, я в курсе. но меня интересует именно встраивание в GCC

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

31. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Sin2x (ok), 18-Окт-20, 19:35 
Зачем? Что это по-твоему должно дать?
Ответить | Правка | Наверх | Cообщить модератору

47. "Релиз языка программирования Nim 1.4.0 "  –1 +/
Сообщение от topin89email (ok), 18-Окт-20, 21:08 
>> Ним и так поддерживает любые компиляторы С.
>> https://nim-lang.org/faq.html
>> "How do I use a different C compiler than the default one?"
> да, я в курсе. но меня интересует именно встраивание в GCC

Не знаю, но вряд ли. GCC под GPL, Nim под MIT.

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

41. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Аноним (-), 18-Окт-20, 20:27 
А сам чего не вкрутишь? Силенок ни-ни? ;)
Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

44. "Релиз языка программирования Nim 1.4.0 "  –2 +/
Сообщение от oni666789101112131415161718192021222324 (?), 18-Окт-20, 20:54 
мне он не на столько сильно нужен, чтобы этим заниматься.

по факту включения в GCC я сужу о полезности языка, коим Nim не считаю.

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

52. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от topin89email (ok), 18-Окт-20, 21:31 
> мне он не на столько сильно нужен, чтобы этим заниматься.
> по факту включения в GCC я сужу о полезности языка, коим Nim
> не считаю.

Языки gcc

C              (адски полезен, используется во всех остальных языках)
C++            (адски полезен в сфере сложных и быстрых проектах. Не особо в остальных сферах)
Objective-C    (не особо полезен, кроме Apple. Но там он может очень полезен)
Objective-C++  (не знаю. Что это вообще такое?)
Fortran,       (не особо полезен, кроме BLAS. И то скорее легаси)
Ada,           (не особо полезен, кроме NASA, и тоже легаси)
Go             (довольно полезен, надо отдать должное)

За пределами gcc:

Python         (адски полезен везде, где скорость разработки много важнее скорости выполнения)
C#             (полезен для кошелька, но честно, сфер применения не знаю)
Java           (полезен для кошелька и очень полезен для Android-разработки)
Lua            (полезен как скриптовый язык)
Swift          (полезен для разработки под Apple. Сфера специфична, но рынок большой)
TypeScript     (полезен хотя бы тем, что не JavaScript)

Я думаю, так себе критерий. В gcc хотят добавить фронт для Раста. Будет ли он лично для тебя нормальным языком, если добавят?

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

55. "Релиз языка программирования Nim 1.4.0 "  –2 +/
Сообщение от oni666789101112131415161718192021222324 (?), 18-Окт-20, 21:43 
>фронт для Раста

добавят - хорошо. перспективный и многообещающий язык и технология.

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

56. "Релиз языка программирования Nim 1.4.0 "  +2 +/
Сообщение от Аноним (56), 18-Окт-20, 21:45 
D - забыл
Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору

59. "Релиз языка программирования Nim 1.4.0 "  –2 +/
Сообщение от topin89email (ok), 18-Окт-20, 21:50 
> D - забыл

Это вроде сторонний фронт. Тогда можно и паскаль с модулой до кучи.

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

71. "Релиз языка программирования Nim 1.4.0 "  +2 +/
Сообщение от an (??), 18-Окт-20, 22:30 
Не сторонний. При сборке gcc включается опцией  --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d
Ответить | Правка | Наверх | Cообщить модератору

73. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от an (??), 18-Окт-20, 22:37 
Кстати, у D тоже можно без сборщика мусора https://dlang.org/spec/betterc.html
Ответить | Правка | К родителю #56 | Наверх | Cообщить модератору

74. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Аноним (2), 18-Окт-20, 23:01 
Но без стандартной библиотеки.
Ответить | Правка | Наверх | Cообщить модератору

85. "Релиз языка программирования Nim 1.4.0 "  +1 +/
Сообщение от an2 (?), 19-Окт-20, 11:11 
Компилятор Nim (https://www.archlinux.org/packages/community/x86_64/nim/) не такой жирный по сравнению с тем же Rust, которому нужен llvm. В репах поддерживать Nim довольно просто.
Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

32. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Аноним (32), 18-Окт-20, 19:42 
Как он может быть с GC если транслируется в C++ код?
Ответить | Правка | Наверх | Cообщить модератору

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

46. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от topin89email (ok), 18-Окт-20, 21:03 
> Как он может быть с GC если транслируется в C++ код?

При трансляции всё, что нужно чистить оборачивается в подходящие структуры для сборки и/или вызовы сборщика. Не обязательно даже свои родные, пойдут и сторонние, типа BoehmGC (он вообще для чистого C писался) или Go'шный сборщик. Потом это сборщик подключается отдельной библиотекой.

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

36. Скрыто модератором  –3 +/
Сообщение от Аноним (-), 18-Окт-20, 20:23 
Ответить | Правка | Наверх | Cообщить модератору

61. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Аноним (61), 18-Окт-20, 21:50 
За 12 лет есть какие-то значимые проекты на этом языке?
Ответить | Правка | Наверх | Cообщить модератору

70. "Релиз языка программирования Nim 1.4.0 "  –1 +/
Сообщение от an (??), 18-Окт-20, 22:23 
Смотря для кого значимые. Например, для меня нет ни одного значимого проекта на C# или Objective-C.
А попсы на Nim нет.
Ответить | Правка | Наверх | Cообщить модератору

72. "Релиз языка программирования Nim 1.4.0 "  –1 +/
Сообщение от Sin2x (ok), 18-Окт-20, 22:37 
Во-первых, первая стабильная версия нима зарелизилась только в сентябре прошлого года.

Во-вторых, тебе сюда:

https://github.com/nim-lang/Nim/wiki/Curated-Packages

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

75. "Релиз языка программирования Nim 1.4.0 "  –1 +/
Сообщение от Аноним (61), 18-Окт-20, 23:54 
Спасибо, почитаю.
Ответить | Правка | Наверх | Cообщить модератору

76. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Аноним (61), 19-Окт-20, 00:06 
Открыл первую интересную мне ссылку - finddit. Сайта нет.

Погуглил, какой-то фейсбучек, туиттор... Социальные активности. Проекта не увидел. Наверное плохо искал.

Остальное... люди сами себе пишут библиотеки, которых в ниме, ессно, нет. Ну пишут, да. Всего этого на фортранах, сях, перлах и прочих питонах с явами написано сотнями тысяч.

Ну... Такое себе...

Хотя язык любопытный и, безусловно, заслуживает внимания.

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

78. "Релиз языка программирования Nim 1.4.0 "  –1 +/
Сообщение от Sin2x (ok), 19-Окт-20, 00:39 
> Открыл первую интересную мне ссылку - finddit. Сайта нет.
> Погуглил, какой-то фейсбучек, туиттор... Социальные активности. Проекта не увидел. Наверное
> плохо искал.
> Остальное... люди сами себе пишут библиотеки, которых в ниме, ессно, нет. Ну
> пишут, да. Всего этого на фортранах, сях, перлах и прочих питонах
> с явами написано сотнями тысяч.
> Ну... Такое себе...
> Хотя язык любопытный и, безусловно, заслуживает внимания.

Finddit это не проект, а автор. По поводу проектов всё будет, первый стабильный релиз состоялся только года назад.


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

80. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Аноним (81), 19-Окт-20, 08:28 
>12 лет

https://www.opennet.ru/openforum/vsluhforumID3/122143.html#79

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

101. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Анонин (?), 23-Янв-21, 10:30 
Питон в 1991 году появился. Когда на нем первый проект появился?
Ответить | Правка | К родителю #61 | Наверх | Cообщить модератору

77. "Релиз языка программирования Nim 1.4.0 "  –3 +/
Сообщение от Аноним (77), 19-Окт-20, 00:11 
Вообще то сначала конвертируется, ну максимум, транслируется, в представление C++, а потом уже компилируется...
Ответить | Правка | Наверх | Cообщить модератору

79. "Релиз языка программирования Nim 1.4.0 "  +3 +/
Сообщение от Аноним (81), 19-Окт-20, 08:27 
Языку не 12 лет, неправильно считаете. Надо начинать отсчёт с первой стабильной версии.

Rust появился в 2007 году, версия 1.0 в 2015 году.
Go появился в 2008 году, версия 1.0 в 2012 году.
Nim появился в 2008 году, версия 1.0 в 2019 году.

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

89. "Релиз языка программирования Nim 1.4.0 "  –1 +/
Сообщение от Аноним (89), 19-Окт-20, 23:00 
А что у него с пакетной системой? Как в питоне "принеси мне модуль какой попало версии", так что про повторимые сборки можно забыть или как в расте "принеси мне модуль ровно этой версии" так что за обновлениями всего дерева зависимостей приходится следить автору кода? Или всё-таки предусмотрена нормальная интеграция с системными пакетными репами?
Ответить | Правка | Наверх | Cообщить модератору

94. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от annn (?), 20-Окт-20, 13:21 
Пакетный менеджер называется nimble. Работает норм.
Ответить | Правка | Наверх | Cообщить модератору

90. "Релиз языка программирования Nim 1.4.0 "  –2 +/
Сообщение от СССР (?), 20-Окт-20, 00:55 
очередное засерание мозгов
табуляция определяет логику , это полная дичь.
Ответить | Правка | Наверх | Cообщить модератору

97. "Релиз языка программирования Nim 1.4.0 "  +/
Сообщение от Аноним (97), 21-Окт-20, 06:01 
Ля ты дикий какой, узбагойся
Ответить | Правка | Наверх | Cообщить модератору

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

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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру