The OpenNET Project / Index page

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

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

"Новая версия языка программирования Nim 0.17.2"  +/
Сообщение от opennews (??) on 08-Сен-17, 22:52 
Состоялся (https://nim-lang.org/blog/2017/09/07/version-0172-released.html) релиз языка системного программирования Nim 0.17.2 (https://nim-lang.org), нацеленного обеспечение  высокой производительности, переносимости и выразительности кода. Язык использует (https://ru.wikipedia.org/wiki/Nim) статическую типизацию и создан с оглядкой на Pascal, C++, Python и Lisp. Код проекта поставляется (https://github.com/nim-lang/Nim) под лицензией MIT. Кроме того, доступен релиз пакетного менеджера nimble 0.8.8 (https://github.com/nim-lang/nimble/blob/master), применяемого для распространения модулей на языке Nim, а также запущен новый раздел документации (http://devdocs.io/nim/).

Исходный код на языке Nim  компилируется в представление на C, C++ или JavaScript. В дальнейшем полученный C/C++ код компилируется в исполняемый файл при помощи любого доступного компилятора (clang, gcc, icc, Visual C++), что позволяет добиться производительности близкой к Си, если не учитывать затраты на выполнение сборщика мусора.
По аналогии с Python в Nim в качестве разделителей блоков применяются отступы. Регистр написания символов в идентификаторах не учитывается. Поддерживаются средства метапрограммирования (https://ru.wikipedia.org/wiki/%D0%9C%D0%...) и возможности для создания  предметно-ориентированных языков (DSL).


В новой версии устранена важная ошибка в сборщике мусора, приводящая к крахам процессов. Из новых возможностей отмечается  поддержка файлов ".nimble-link", реализованных для обеспечения работы новой команды пакетного менеджера "nimble develop", позволяющей связать существующую копию пакета с заданной установочной директорией без необходимости переустановки пакета после каждого изменения.


URL: https://nim-lang.org/blog/2017/09/07/version-0172-released.html
Новость: http://www.opennet.ru/opennews/art.shtml?num=47160

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

Оглавление

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


1. "Новая версия языка программирования Nim 0.17.2"  +13 +/
Сообщение от Аноним (??) on 08-Сен-17, 22:52 
Наверно Платов из Xored проспонсировал
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Новая версия языка программирования Nim 0.17.2"  +3 +/
Сообщение от Онаним on 09-Сен-17, 02:38 
Интересно, он в дурку еще не попал? Его раздутое самомнение и так было на грани разумного. А недавно его прилюдно носом макнули в его же продукты жизнедеятельности.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

23. "Новая версия языка программирования Nim 0.17.2"  +1 +/
Сообщение от Омномним on 09-Сен-17, 15:28 
> Интересно, он в дурку еще не попал? Его раздутое самомнение

Так не раздувайте ещё сильнее. Забудьте про него.

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

27. "Новая версия языка программирования Nim 0.17.2"  –1 +/
Сообщение от Аноним (??) on 09-Сен-17, 18:27 
> Наверно Платов из Xored проспонсировал

Ага. "Полное обеспечение ... жителя Германии". $250 ему там как раз на медстраховку и 20 булок хлеба хватит.

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

33. "Новая версия языка программирования Nim 0.17.2"  +4 +/
Сообщение от Степаныч on 09-Сен-17, 23:10 
https://ebanoe.it/2017/08/30/xored-platov-vs-adamovsky/
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Новая версия языка программирования Nim 0.17.2"  –2 +/
Сообщение от A.Stahl (ok) on 08-Сен-17, 23:37 
Мало того, что язык нелеп (создан с оглядкой на Pascal, C++, Python и Lisp), так ещё и "код на языке Nim компилируется в представление на C, C++ или JavaScript", но при этом "нацеленного обеспечение высокой производительности, переносимости и выразительности кода" и что же мы получаем: "производительности близкой к Си, если не учитывать затраты на выполнение сборщика мусора".
Паровоз Стефенсона почти вечный двигатель, если не учитывать закон сохранения энергии.
П-ф-ф-ф-ф.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Новая версия языка программирования Nim 0.17.2"  +3 +/
Сообщение от Аноним84701 (ok) on 09-Сен-17, 00:12 
> но при этом "нацеленного обеспечение высокой производительности, переносимости и выразительности кода" и что же мы получаем:
> "производительности близкой к Си, если не учитывать затраты на выполнение сборщика  мусора".

Что мы получаем? Похоже,  в первую очередь мы получаем очередное "по ссылкам не ходи, ничего по теме не знай и не читай – просто сразу, бодро отвечай!".

Вообще-то в сабже других проблем хватает (в т.ч. из-за излишнего "замеса"/"заимствований"), но вот как раз делать все ручками никто не запрещает: "-d:useMalloc" для использования сишного дефолтного аллокатора и "--gc:none" для полного отключения сборщика. Соответсвующие типы там есть:
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.

...
> Traced references are declared with the ref keyword, untraced references are declared with the ptr

..
> 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.

Другое дело, что стандартная либа много где хочет GC и поэтому совсем без оного далеко не уедешь.

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

7. "Новая версия языка программирования Nim 0.17.2"  –4 +/
Сообщение от seyko email(??) on 09-Сен-17, 00:38 
Язык вырос как ответвление от FreePascal. Со временем стал довольно сложным. Читать получившийся на выходе код С-программы тоже непросто. В этом отношении vala гораздо приятнее. А в остальном нормально. Сборку мусора можно не использовать или приостановить на время. Генерация javascript и c++ тоже можно считать дополнительным преимуществом. Были пробы с генерацией на выходе кода FreePascal. В отличии от go-lang и d-lang исходники компилятора давно на нём самом.

Нелепый язык - это дело непривычки. Скорость выполнения - лучше чем у java. Скорость компиляции -- гораздо быстрее c++ при использовании для компиляции tcc. Переносимость вообще максимальная.

PS: пробовал как-то d-lang v1 под управлением linux 2.4  -- проблемы с потоками не позволили.  Далась эта встроенная многопоточность в современных языках. Даже clib без её поддержки гораздо проще и быстрее.

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

10. "Новая версия языка программирования Nim 0.17.2"  +5 +/
Сообщение от leap42 (ok) on 09-Сен-17, 04:57 
> В отличии от go-lang и d-lang исходники компилятора давно на нём самом.

с версии 1.5 go написан на go (актуальная версия - 1.9)

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

14. "Новая версия языка программирования Nim 0.17.2"  –4 +/
Сообщение от pi (??) on 09-Сен-17, 11:31 
исходники компилятора
компилятора
---------с версии 1.5 go написан на go
Чукча не палится
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

16. "Новая версия языка программирования Nim 0.17.2"  +2 +/
Сообщение от leap42 (ok) on 09-Сен-17, 12:10 
если вы не успеваете, повторю ещё раз: компилятор языка go написан на языке go, так понятнее?
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

11. "Новая версия языка программирования Nim 0.17.2"  +1 +/
Сообщение от Аноним (??) on 09-Сен-17, 09:40 
>Сборку мусора можно не использовать или приостановить на время. В отличии от go-lang и d-lang исходники компилятора давно на нём самом.

D уже давно написан на D кстати. В плане генерации кода D в разы мощнее. На нем можно в Дишном синтаксисе писать Сишные либы вообще без сборщика мусора если надо. А если нужен GC, то там тоже куча техник есть как его использование минимизировать.

Еще важный момент. На Nim невозможно написать код который будет работать быстрее кода на чистом Си, а на Ди можно в режиме betterC за счет оптимизации разных хвостовых рекурсий и тп. Вряд ли там прирост будет выше пары процентов, но все же.

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

17. "Новая версия языка программирования Nim 0.17.2"  +2 +/
Сообщение от КО on 09-Сен-17, 12:15 
>На Nim невозможно написать код который будет работать быстрее кода на чистом Си

Попадались мне адепты одного языка, которым даже удавалось писать на нем программы, которые работали быстрее, чем программы работающие на ассемблере. Но до сих пор "меня терзают смутные сомнения" ... :)

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

24. "Новая версия языка программирования Nim 0.17.2"  +4 +/
Сообщение от Аноним (??) on 09-Сен-17, 16:29 
> а на Ди можно в режиме betterC за счет оптимизации разных хвостовых рекурсий и тп.
> betterC
> хвостовых рекурсий

*повеяло неуловимым ароматом вакуума под переливчатые трели сферических коней*

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

31. "Новая версия языка программирования Nim 0.17.2"  –2 +/
Сообщение от data man (ok) on 09-Сен-17, 22:23 
> D уже давно написан на D кстати.

Это неправда! Пруф: https://github.com/dlang/dmd/tree/master/src/ddmd/backend
Кроме того, для компиляции используются closed-source компилятор dmc и, опять же, closed-source C-библиотеки, которые неизвестно как оптимизированы.
Из-за этого, может ли D называться opensource-проектом? :)

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

34. "Новая версия языка программирования Nim 0.17.2"  –1 +/
Сообщение от JL2001 (ok) on 09-Сен-17, 23:31 
>> D уже давно написан на D кстати.
> Это неправда! Пруф: https://github.com/dlang/dmd/tree/master/src/ddmd/backend
> Кроме того, для компиляции используются closed-source компилятор dmc и, опять же, closed-source
> C-библиотеки, которые неизвестно как оптимизированы.
> Из-за этого, может ли D называться opensource-проектом? :)

gdc, ldc - изучайте матчасть

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

37. "Новая версия языка программирования Nim 0.17.2"  –1 +/
Сообщение от data man (ok) on 09-Сен-17, 23:57 
>gdc, ldc - изучайте матчасть

Они тоже написаны не на D, так что сами изучайте. :)

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

51. "Новая версия языка программирования Nim 0.17.2"  +/
Сообщение от Аноним (??) on 11-Сен-17, 14:11 
Разве не все ранее проприетарные компоненты D стали под Boost License?
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

30. "Новая версия языка программирования Nim 0.17.2"  –2 +/
Сообщение от Аноним (??) on 09-Сен-17, 21:53 
> В отличии от go-lang и d-lang исходники компилятора давно на нём самом.

Так пишете, словно это не недостаток.

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

48. "Новая версия языка программирования Nim 0.17.2"  –2 +/
Сообщение от Аноним (??) on 11-Сен-17, 00:05 
Минусующие потрудятся объяснить? Или непереносимость уже стала премуществом?
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

26. "Новая версия языка программирования Nim 0.17.2"  +1 +/
Сообщение от freehck email(ok) on 09-Сен-17, 17:25 
Пост, где написано что-то обидное, перепечатана новость и вкорочена шутка ни к селу, ни к городу.
О, да это же A.Stahl в треде! :)
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "Новая версия языка программирования Nim 0.17.2"  +/
Сообщение от Аноним (??) on 09-Сен-17, 00:02 
Я уверен, что имелась ввиду производительность труда при работе с языком.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Новая версия языка программирования Nim 0.17.2"  –4 +/
Сообщение от НяшМяш (ok) on 09-Сен-17, 00:12 
Это точно не про Nim, синтаксис которого базируется на отступах.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Новая версия языка программирования Nim 0.17.2"  –3 +/
Сообщение от Аноним (??) on 09-Сен-17, 00:25 
А я вот попробовал этот язык 6 месяцев назад и не жалею. Получил такуй производительность какую хотел (сгенерированный ассемблер такой как надо) в правильных руках работает. Код отлично читается.

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

9. "Новая версия языка программирования Nim 0.17.2"  –1 +/
Сообщение от Аноним (??) on 09-Сен-17, 03:17 
В правильных руках язык ассемблера такое вам покажет, что вы, скорее всего, и не видели.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

12. "Новая версия языка программирования Nim 0.17.2"  +/
Сообщение от Аноним (??) on 09-Сен-17, 09:49 
> в Nim в качестве разделителей блоков применяются отступы

на этом знакомство с языком можно закончить

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

13. "Новая версия языка программирования Nim 0.17.2"  –2 +/
Сообщение от водила on 09-Сен-17, 11:06 
Чем отступы то неугодили? Nim прекрасен тем что похож и такой-же простой как питон, а скорость стремится к Си. Отступы - отличное решение, особенно если таб ставить не 2 символа, а 8. Скобочки - оверхед и пережиток, т.к любой _читабельный_ код пишется иерархически, а не в одну строку, для непонятно чем мотивированной экономит места.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

18. "Новая версия языка программирования Nim 0.17.2"  +7 +/
Сообщение от Аноним (??) on 09-Сен-17, 13:21 
> Скобочки - оверхед и пережиток

Скобочки явно обозначают начало и конец блока. Explicit is better than implicit.

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

28. "Новая версия языка программирования Nim 0.17.2"  +/
Сообщение от ffirefox on 09-Сен-17, 21:23 
Там можно и скобочки, если захочешь.


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

25. "Новая версия языка программирования Nim 0.17.2"  +3 +/
Сообщение от Аноним (??) on 09-Сен-17, 16:57 
> Чем отступы то неугодили?

Это же стандартный шаблон опеннета - оно мешает копипастерам копипастить^W^W делиться мудростью и заимствовать творческие идеи!
Ведь все знают, что поддержка движками бложиков или форумов тегов для кода редка и сыровата (17 лет всего), а без нее просто съедаются лишние пробелы! А вот то, что вообще почти любой движок нафарширует безтеговый код всякими смайликами и прочим, заменяя разные комбинации двоеточий, скобок и цифр - враки и фантазии чистой воды!
Ну и опять же, все знають, что далеко не каждый, даже дюже навороченный, редактор поддерживает нормальный режим пробелов - а вдруг придется писать код в блокноте? Как тогда? Вот то-то же!


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

44. "Новая версия языка программирования Nim 0.17.2"  –1 +/
Сообщение от Аноним (??) on 10-Сен-17, 14:18 
вы все врети тоже такой себе шаблон
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

45. "Новая версия языка программирования Nim 0.17.2"  +2 +/
Сообщение от Анонимный Аналитик on 10-Сен-17, 16:52 
> вы все врети тоже такой себе шаблон

По теме что-то будет? Или своей головы и знаний нема, без шаблона никак?


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

15. "Новая версия языка программирования Nim 0.17.2"  –1 +/
Сообщение от Аноним (??) on 09-Сен-17, 11:49 
Пардон за безграмотность, но не подскажет ли кто, что такое "выразительность кода" и как её определить?
(Википедию смотрел, но определения не нашёл).
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Новая версия языка программирования Nim 0.17.2"  –1 +/
Сообщение от Аноним (??) on 09-Сен-17, 14:12 
Это когда ты самовыражаешься в создании троллейбуса из буханки хлеба, вместо использования языка, предназначенного для конкретной задачи. Вот такая ниша у Nim - быть выразительным.
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

22. "Новая версия языка программирования Nim 0.17.2"  +2 +/
Сообщение от Mandms on 09-Сен-17, 15:22 
Нигде нету определений опубликованных.
Я тоже пока не публиковал.

Выразительность языка прог-ия это спепень достигнутого компромисса между плотностью выраженной семантики кода на единицу строковой площади кода,
и, читабельностью.

где,
Кол-во семантики выраженной куском кода ЯП это, кратко и огрубляя, количество узлов AST представления.

Также есть понятие приведенной семантики, позволяет сравнивать ЯП разного уровня.

Плотность - отношение

Строковая площадь - количество строк и колонок кода при записи его в наиболее читабельном виде. В отличие от чистого LOC позволяет проводить честное сравнение

---
В общем это сфера работы проектировщика ЯП особенно ЯП ВУ

При чрезмерном увеличении сем.плотности с какого-то момента падает читабельность
При увеличении подробности кода, спецификативности -- читабельность снова падает но уже резко
падает семантическая плотность из-за колич-ва введенных "мусорных" keyword-ов и синтаксического overhead'а

Нахождение удачного компромисса и приводит к более выразительному коду, и ЯП.


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

32. "Новая версия языка программирования Nim 0.17.2"  +/
Сообщение от Аноним (??) on 09-Сен-17, 22:55 
Спасибо.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

43. "Новая версия языка программирования Nim 0.17.2"  +/
Сообщение от Аноним (??) on 10-Сен-17, 14:16 
Выразительность кода - это субъективное понятие
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

20. "Новая версия языка программирования Nim 0.17.2"  +/
Сообщение от Аноним (??) on 09-Сен-17, 14:41 
>Регистр написания символов в идентификаторах не учитывается.

Для языка, который позиционируется как ЯП системного программирования, это совершенно не допустимо. Это перечёркивает все его преимущества.
Вероятно, подойдёт любителям Паскаля, они же привыкли к case insensetive.

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

29. "Новая версия языка программирования Nim 0.17.2"  –1 +/
Сообщение от ffirefox on 09-Сен-17, 21:42 
Хм... большинство ассемблеров не чувствительны к регистру.


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

36. "Новая версия языка программирования Nim 0.17.2"  +2 +/
Сообщение от Аноним (??) on 09-Сен-17, 23:37 
> Хм... большинство ассемблеров не чувствительны к регистру.

Гхы. Это же стандартный шаблон опеннетных недотроллей: отступы, регистрочувствительность.
https://www.opennet.ru/opennews/art.shtml?num=46611
>>> И это ставит на нём жирный крест.
>> На регистронечувствительном языке, который ещё после это претендует называться языком системного программирования.
> Многие диалекты асма тоже не чувствительны к регистру.
> Я конечно понимаю, эксперту опеннета по системному программированию необязательно знать такие тонкости, но что уважаемый эксперт сказать то хотел?

Возможно, местный эксперт еще отпишется, что асм - это не системный ЯП или не ЯП вообще )

А вот действительно, имхо, неудачное решение как нечувствительность к "_" – никто не упоминает.

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

52. "Новая версия языка программирования Nim 0.17.2"  +/
Сообщение от Аноним (??) on 11-Сен-17, 17:01 
Никто ядра, ну кроме некоторых особо yпоротых Menuet'чиков, и даже микроядра не пишет на ассемблерах. Почему же тогда Керниган и Ричи решили, что Сишечка должна быть регистрочувствительной?
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

53. "Новая версия языка программирования Nim 0.17.2"  +/
Сообщение от Аноним (??) on 11-Сен-17, 17:40 
> Никто ядра, ну кроме некоторых особо yпоротых Menuet'чиков, и даже микроядра не пишет на ассемблерах.

И что? Ассемблеры перестали быть системными?
Кстати, причем тут новомодные минет-осы и не менее новомодные диалекты асмов? Гугли историю создания сишечки, PDP-11, MACRO-11, удивляйся, просвещайся.
Подсказка: регистр в том же MACRO был только один.

> Почему же тогда Керниган и Ричи решили, что Сишечка должна быть регистрочувствительной?

А в огороде бузина, да?

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

35. "Новая версия языка программирования Nim 0.17.2"  +/
Сообщение от Anonim (??) on 09-Сен-17, 23:31 
Видимо не все встречали код, написанный в идиотом в совершенно не логичных регистрах. Хотя, может вы находите удовольствие, используя регистры наугад :-)
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

39. "Новая версия языка программирования Nim 0.17.2"  +/
Сообщение от ffirefox on 10-Сен-17, 02:03 
Да как-то об этом уже давно не думается. Сейчас практически любой проект (команда) начинается с соглашения о стиле кодирования. Кстати, у Nim он тоже есть. Другое дело, когда тянешь себе чужие наработки, то частенько в тексте они выглядят  инородным телом именно из-за разных представлений о "красоте". В этом смысле в Nim очень удобны и нечувствительность к регистру и игнорирование подчёркиваний.

У меня вообще сложилось такое ощущение, что автор хочет сделать Nim комфортным для программистов с любыми привычками. Это и плюс, и минус т.к. может оказаться, что читать чужой будет совсем непросто. Хотя, вот в Go сделали автоматический форматинг и нет проблем: "безобразно, но единообразно" понятно всем. Может и в Nim такое завезут с возможностью форматить в любой стиль.

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

38. "Новая версия языка программирования Nim 0.17.2"  –3 +/
Сообщение от Аноним (??) on 10-Сен-17, 00:31 
Что-то Вы господа всесмотрите на какие-то отступы, а я лично вот переживаю завот это уточнение:

> новой версии устранена важная ошибка в сборщике мусора, приводящая к крахам процессов

То есть собрался значит такой великий программист утереть нос всем этим Питонистам, Сиплюсистам, ДжаваХипстерам и ... обос#лся в первый же цикл сборки мусора ...

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

40. "Новая версия языка программирования Nim 0.17.2"  +/
Сообщение от ffirefox on 10-Сен-17, 02:08 
На версию языка посмотрите. А потом ещё пройдитесь по ошибкам LLVM.
Перефразирую Глеба Жеглова: Качество языка определяют не ошибки в реализации компилятора, а в возможности (в том числе своевременно) их исправлять.
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

41. "Новая версия языка программирования Nim 0.17.2"  +3 +/
Сообщение от Аноним (??) on 10-Сен-17, 02:36 
> То есть собрался значит такой великий программист утереть нос всем этим Питонистам,
> Сиплюсистам, ДжаваХипстерам и ... обос#лся в первый же цикл сборки мусора
> ...

Великий онанимный разоблачитель код-то смотрел, приводивший к краху?


type
    Foo = ref object
        s: seq[Bar]
    Bar = ref object
        f: Foo

proc test() =
    var f = Foo.new()
    for i in 0 .. 5:
        f.s = @[]
        for j in 0 .. 5:
            var b = Bar.new()
            b.f = f
            f.s.add(b)

test()


Циклические ссылки особой извращенности. И судя по фиксу, виновата излишняя оптимизация:
https://github.com/nim-lang/Nim/commit/88b65ea957b286bf7225c...
Интересно, анонимный знаток поймет, в чем ошибка ...


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

46. "Новая версия языка программирования Nim 0.17.2"  +/
Сообщение от Аноним (??) on 10-Сен-17, 22:58 
Фу, пакость какая.
Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

54. "Новая версия языка программирования Nim 0.17.2"  –2 +/
Сообщение от Аноним (??) on 11-Сен-17, 21:15 
Ну так и говорите язык для написания "Hello, world...",
а в случае извращенных ссылок идите в проверенный годами
язык.

В целом может скорректировать таргетинг языка. Сказать,
что он например для обучения. Хотя чем плох для обучения
JavaScript или Python или Java?

В целом я вот не пойму зачем сегодня вообще языки писать.
Может подскажет уважаемый аноним всезнайка, что в нем такого
решающего и отличающего от других? В чем килл фича? Низкие проценты
по кредиту^W стоимости выполнения функций или что?

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

55. "Новая версия языка программирования Nim 0.17.2"  +1 +/
Сообщение от Анонимный Аналитек on 11-Сен-17, 21:46 
> Ну так и говорите язык для написания "Hello, world...",

Не, не буду так говорить.

> Хотя чем плох для обучения
> JavaScript или Python или Java?
> JavaScript или Python

У меня аж хипстодетектор сгорел (

> В целом я вот не пойму зачем сегодня вообще языки писать.

Автор пишет в первую очередь джаст фор фан. Видимо, забыл спросить анона с опеннета, что и зачем ему лучше делать.

> Может подскажет уважаемый аноним всезнайка,

Ну что вы, право слово - до вас мне еще очень далеко. Знание, что, как и зачем нужно правильно скорректировать, писать, делать или не делать всем остальным - все еще не доступно мне, увы! (

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

42. "Новая версия языка программирования Nim 0.17.2"  +2 +/
Сообщение от Анонимм email(??) on 10-Сен-17, 11:59 
А что на нем пишут? Или что-то уже написали?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

47. "Новая версия языка программирования Nim 0.17.2"  +/
Сообщение от Аноним (??) on 10-Сен-17, 22:59 
Хелловорлды, тысячи их.
Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

49. "Новая версия языка программирования Nim 0.17.2"  –2 +/
Сообщение от Аноним (??) on 11-Сен-17, 05:40 
Это тот язык, в котором, не смотря на все возможности метапрограммирования, в стандартной библиотеке до сих пор нет типобезопасного printf? Постойте, и не типобезапасного тоже нет? Или это я просто плохо искал? Тогда ткните меня носом, плз.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

50. "Новая версия языка программирования Nim 0.17.2"  –1 +/
Сообщение от Аноним (??) on 11-Сен-17, 06:03 
Не нужен с его отступами. После питона и так тошно.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

62. "Новая версия языка программирования Nim 0.17.2"  +/
Сообщение от None (??) on 13-Сен-17, 01:57 
Зачем нужны скобки, если всё равно надо делать отступ
Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору

56. "Новая версия языка программирования Nim 0.17.2"  +/
Сообщение от Аноним (??) on 12-Сен-17, 03:38 
Кто-нибудь может пояснить, зачем нужно все это барахло, если есть няшный Golang с отменной кросскомпиляцией и шикарной многопоточностью, которая создается одним взмахом руки???????
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

58. "Новая версия языка программирования Nim 0.17.2"  –1 +/
Сообщение от Аноним (??) on 12-Сен-17, 15:24 
По кросс-компиляции Nim однозначно победит - он будет работать на любой платформе, для которой есть Си компилятор, а, как ты понимаешь, он есть почти для всех существующих платформ :)
Ответить | Правка | ^ к родителю #56 | Наверх | Cообщить модератору

60. "Новая версия языка программирования Nim 0.17.2"  +/
Сообщение от Аноним (??) on 12-Сен-17, 19:09 
> По кросс-компиляции Nim однозначно победит - он будет работать на любой платформе,
> для которой есть Си компилятор, а, как ты понимаешь, он есть
> почти для всех существующих платформ :)

Ну и как , сидя под Linux , скомпилировать бинарник для виндовса или MacOS?

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

61. "Новая версия языка программирования Nim 0.17.2"  +/
Сообщение от Аноним (??) on 12-Сен-17, 22:00 
>> По кросс-компиляции Nim однозначно победит - он будет работать на любой платформе,
>> для которой есть Си компилятор, а, как ты понимаешь, он есть
>> почти для всех существующих платформ :)
> Ну и как, сидя под Linux , скомпилировать бинарник для виндовса или MacOS?

Как и обычную сишную прогу - молча.
https://nim-lang.org/docs/nimc.html#cross-compilation


cat anon.nim && nim c --cpu:i386 --clang.exe:mingw32-gcc --clang.linkerexe:mingw32-gcc --os:windows anon.nim && wine ./anon.exe
echo "Hello Opennet"
Hint: used config file
...
Hello Opennet

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

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

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



  Закладки на сайте
  Проследить за страницей
Created 1996-2017 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor