- Релиз языка программирования Nim 1.4.0 , A.Stahl, 16:21 , 18-Окт-20 (1) –24 [V]
- Релиз языка программирования Nim 1.4.0 , Аноним, 16:39 , 18-Окт-20 (5) –14 [V]
- Релиз языка программирования Nim 1.4.0 , OpenEcho, 17:06 , 18-Окт-20 (8) –2
- Релиз языка программирования Nim 1.4.0 , Аноним, 17:19 , 18-Окт-20 (10) –10 [V]
- Релиз языка программирования Nim 1.4.0 , Аноним, 17:58 , 18-Окт-20 (16) +3
- Релиз языка программирования Nim 1.4.0 , Аноним, 20:20 , 18-Окт-20 (35) +17 [^]
- Релиз языка программирования Nim 1.4.0 , Annoynymous, 20:24 , 18-Окт-20 (38) +1
- Релиз языка программирования Nim 1.4.0 , Аноним, 20:26 , 18-Окт-20 (40) –3
- Релиз языка программирования Nim 1.4.0 , Брат сестры друга соседа отца того парня, 00:25 , 26-Окт-20 (100)
- Релиз языка программирования Nim 1.4.0 , Аноним, 16:21 , 18-Окт-20 (2) –11 [V]
- Релиз языка программирования Nim 1.4.0 , Sin2x, 16:23 , 18-Окт-20 (3) –8 [V]
- Релиз языка программирования Nim 1.4.0 , topin89, 17:53 , 18-Окт-20 (13) –1
Быстрого ещё может. Но не системного. Языки со сборкой мусора не могут претендовать на системное программирования. Ну то есть технически может и могут, но на практике не выходит. А так да, язык хороший.
- Релиз языка программирования Nim 1.4.0 , Sin2x, 18:01 , 18-Окт-20 (17)
- Релиз языка программирования Nim 1.4.0 , topin89, 20:52 , 18-Окт-20 (42) +1
> Это некорректное утверждение. 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
- Релиз языка программирования Nim 1.4.0 , анонн, 21:21 , 18-Окт-20 (49) –1
- Релиз языка программирования Nim 1.4.0 , topin89, 21:39 , 18-Окт-20 (54)
>> Пример хороший, пока не находишь в конфиге вот это : "--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, если написать их самому?
- Релиз языка программирования Nim 1.4.0 , анонн, 21:50 , 18-Окт-20 (60)
- Релиз языка программирования Nim 1.4.0 , topin89, 21:54 , 18-Окт-20 (62) +1
> Как и везде - написать/использовать аллокатор. > Я хотел указать на то, что ваши рассуждения строятся на изначально неверной > предпосылке - GC в nim опционален не "возможностью отключить" сам сборщик, > а возможностью использования "ручных" аллокаторов, для чего там два вида указателей > (ref для GC и ptr) > https://nim-lang.org/docs/manual.html#types-reference-and-po... Ответил чуть ниже, но всё равно повторюсь. Я не знал, что это возможно. Тогда да, Nim можно называть системным без оговорок.
- Релиз языка программирования Nim 1.4.0 , Sin2x, 21:28 , 18-Окт-20 (50) –1
- Релиз языка программирования Nim 1.4.0 , topin89, 21:45 , 18-Окт-20 (57) +1
> 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, я признаю язык системным.
- Релиз языка программирования Nim 1.4.0 , Аноним, 20:15 , 18-Окт-20 (34)
- Релиз языка программирования Nim 1.4.0 , topin89, 20:53 , 18-Окт-20 (43)
> как понял, GC у него опционально вкл/выкл Это да. Но в режиме gc:none память никогда не будет освобождена. К счастью, там много разных сборщиков, в т.ч. легковесный arc и чуть менее легковесный orc.
- Релиз языка программирования Nim 1.4.0 , Аноним, 21:29 , 18-Окт-20 (51) +2
- Релиз языка программирования Nim 1.4.0 , topin89, 21:48 , 18-Окт-20 (58) +2
> На практике он по потреблению памяти сравним с C / C++ / > Rust. По быстродействию тоже. Причём на разных тестах от разных авторов. > Что говорит что он отлично подходит для embedded из коробки.Тут согласен. Указатели есть, выделение/развыделение не нужно и вообще вредно и опасно. Для встройки его можно и попробовать, хотя бы как красивую альтернативу плюсам.
- Релиз языка программирования Nim 1.4.0 , Аноним, 03:15 , 21-Окт-20 (95)
- Релиз языка программирования Nim 1.4.0 , BrainFucker, 05:55 , 24-Окт-20 (98)
- Релиз языка программирования Nim 1.4.0 , topin89, 22:20 , 24-Окт-20 (99)
>> Языки со сборкой мусора не могут претендовать на системное программирования. > А зачем вам мусор в системе? Не все под винду разрабатывают. В > nim нельзя опционально отключить сборщик мусора?Я там чуть выше писал, что сменил свою точку зрения. Сборщик мусора можно отключить, и можно использовать ручное выделение и развыделение (о чём я не знал, когда писал, что не системный). Так мы получаем красивый C, системный язык наравне с C,C++ И D.
- Релиз языка программирования Nim 1.4.0 , Аноним, 16:24 , 18-Окт-20 (4) –1
- Релиз языка программирования Nim 1.4.0 , Аноним, 16:56 , 18-Окт-20 (7) +9 [^]
- Релиз языка программирования Nim 1.4.0 , Аноним, 17:26 , 18-Окт-20 (12) –1
- Релиз языка программирования Nim 1.4.0 , Sin2x, 18:04 , 18-Окт-20 (19)
- Релиз языка программирования Nim 1.4.0 , анонимус, 18:41 , 18-Окт-20 (24)
- Релиз языка программирования Nim 1.4.0 , Аноним, 20:25 , 18-Окт-20 (39) –3
- Релиз языка программирования Nim 1.4.0 , topin89, 21:59 , 18-Окт-20 (65) +1
> А мощные игры на нем делать можно, как на С++? Уже сделали > хоть одну?Да. Скорость позволяет и удобная интеграция с C++ позволяет. Нет. О движках тоже не слышно. Увы, nim не на хайпе, так что вряд ли кто уже напишет.
- Релиз языка программирования Nim 1.4.0 , Sin2x, 11:51 , 19-Окт-20 (86)
- Релиз языка программирования Nim 1.4.0 , topin89, 20:46 , 19-Окт-20 (88)
> Зачем ты комментируешь о том, в чём не разбираешься? > https://github.com/nim-lang/Nim/wiki/Curated-Packages#games ОК, начнём с определений. Мощные игры -- это в первую очередь 3D игры с отличной графикой и кучей контента. Те самые AAA игры. Я не нашёл даже AaaaaAAaaaAAAaaAAAAaAAAAA игр. Я даже не сомневался, что есть просто игры. Тетрис и шахматы, в нашем случае. И эмулятор NES, что отлично. Для таких игр нужен достойный движок как в техническом плане, так и плане удобства. Ну или инди команда, которая решила, что будет делать на Nim. Вроде пока ни того ни другого нет. Если знаешь такую -- с радостью поменяю мнение. Затем и пишу.
- Релиз языка программирования Nim 1.4.0 , Аноним, 17:17 , 18-Окт-20 (9) –2
- Релиз языка программирования Nim 1.4.0 , Аноним, 18:47 , 18-Окт-20 (25)
- Релиз языка программирования Nim 1.4.0 , topin89, 21:00 , 18-Окт-20 (45) –1
> 1) Какие именно ОСОБЕННОСТИ ЭТОГО ЯЗЫКА не дадут программисту сделать ошибки которые > он мог бы сам понаделать в результирующих языках "C, C++ или > JavaScript"? 2) Или может есть некие **особенности Nim-языка** которые просто позволили > создать некие эффективные СРЕДСТВА машинной проверки **именно** Nim-кода (т.е. такие средства > которые в других языках попросту не возможны! или в других языках > - часто лажают, или не эффекивны там)?Он всё же не об этом. Считай, что это такой быстрый питон с нормальным многопотоком.
- Релиз языка программирования Nim 1.4.0 , oni6667891011121314151617181920212223, 18:52 , 18-Окт-20 (27)
- Релиз языка программирования Nim 1.4.0 , Sin2x, 19:03 , 18-Окт-20 (29) –1
- Релиз языка программирования Nim 1.4.0 , Аноним, 20:27 , 18-Окт-20 (41)
- Релиз языка программирования Nim 1.4.0 , oni666789101112131415161718192021222324, 20:54 , 18-Окт-20 (44) –2
- Релиз языка программирования Nim 1.4.0 , topin89, 21:31 , 18-Окт-20 (52)
> мне он не на столько сильно нужен, чтобы этим заниматься. > по факту включения в 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 хотят добавить фронт для Раста. Будет ли он лично для тебя нормальным языком, если добавят?
- Релиз языка программирования Nim 1.4.0 , an2, 11:11 , 19-Окт-20 (85) +1
- Релиз языка программирования Nim 1.4.0 , Аноним, 19:42 , 18-Окт-20 (32)
- Релиз языка программирования Nim 1.4.0 , Аноним, 20:03 , 18-Окт-20 (33) –1
- Релиз языка программирования Nim 1.4.0 , topin89, 21:03 , 18-Окт-20 (46)
> Как он может быть с GC если транслируется в C++ код?При трансляции всё, что нужно чистить оборачивается в подходящие структуры для сборки и/или вызовы сборщика. Не обязательно даже свои родные, пойдут и сторонние, типа BoehmGC (он вообще для чистого C писался) или Go'шный сборщик. Потом это сборщик подключается отдельной библиотекой.
- Релиз языка программирования Nim 1.4.0 , Аноним, 20:23 , 18-Окт-20 (36) –3 [V]
- Релиз языка программирования Nim 1.4.0 , Аноним, 21:50 , 18-Окт-20 (61)
- Релиз языка программирования Nim 1.4.0 , an, 22:23 , 18-Окт-20 (70) –1
- Релиз языка программирования Nim 1.4.0 , Sin2x, 22:37 , 18-Окт-20 (72) –1
- Релиз языка программирования Nim 1.4.0 , Аноним, 08:28 , 19-Окт-20 (80)
- Релиз языка программирования Nim 1.4.0 , Анонин, 10:30 , 23-Янв-21 (101)
- Релиз языка программирования Nim 1.4.0 , Аноним, 00:11 , 19-Окт-20 (77) –3
- Релиз языка программирования Nim 1.4.0 , Аноним, 08:27 , 19-Окт-20 (79) +3
- Релиз языка программирования Nim 1.4.0 , Аноним, 23:00 , 19-Окт-20 (89) –1
- Релиз языка программирования Nim 1.4.0 , СССР, 00:55 , 20-Окт-20 (90) –2
|