1.2, Аноним (2), 14:16, 02/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +8 +/– |
Надо попробовать переписать на него свои питоно-скрипты. Отпишусь в следующей новости о результатах.
| |
|
2.22, Аноним (22), 15:14, 02/08/2023 [^] [^^] [^^^] [ответить]
| +4 +/– |
Без шуток, отпишись о результатах. Может, тоже перепишу вслед, если опыт удастся
| |
2.28, Жироватт (ok), 15:55, 02/08/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
Нахрена? А главное - зачем? Если работает и при этом есть не просит.
| |
|
3.68, Аноним (68), 00:11, 03/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Видать, долго работает. Пока получит результат - три раза успевает пожрать - утром, в обед и вечером.
| |
|
|
3.51, 12yoexpert (ok), 19:45, 02/08/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
если у тебя в системе есть компилятор си, ты можешь юзать nim, в отличие от rust
| |
|
|
1.3, лох (?), 14:17, 02/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> позволяет добиться производительности близкой к Си, если не учитывать затраты на выполнение сборщика мусора
Интерпретируемые языки тоже позволяют добиться производительности близкой к компилируемым, если не учитывать затраты на интерпретатор.
| |
|
|
|
4.61, _ (??), 22:36, 02/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
У того персонажа оно конечно - менопауза, но мозги то - есть ... в отличии от дешёвой китайской подделки :)
| |
|
|
2.104, Аноним (104), 17:44, 03/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Компилируемые языки позволяют получить результат мгновенно, если не учитывать затраты на рантайм.
| |
|
1.8, Аноним (8), 14:27, 02/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Уже ведь есть golang, чем nim принципиально отличается чтобы его выбирали вместо golang?
| |
|
|
3.25, Ф1 (?), 15:36, 02/08/2023 [^] [^^] [^^^] [ответить]
| +4 +/– |
>Он проще
Язык с метапрограммированием, уровня лиспа (синтаксические макросы) и/или С++ (генерики и что-то похожее на шаблоны С++) проще чем Go?
| |
|
4.49, Аноним (49), 19:41, 02/08/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
А зачем сегодня язык, который метит быть универсальным, без метапрограммирования?
| |
|
|
2.13, 12yoexpert (ok), 14:42, 02/08/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
проще, на порядок производительнее, не вендорлокнутый (если не учитывать, что автор работает в амазоне и нигде, кроме амазона, свою книгу не продаёт)
| |
|
3.16, Охохо (?), 15:00, 02/08/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ссылку на тесты доставишь? На те самые, где Ним на порядок производительнее Голанга.
| |
|
|
|
6.46, 12yoexpert (ok), 19:34, 02/08/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
а было сразу видно, что ты читать не умеешь, а утверждения привык формулировать со словами-паразитами неуверенности навроде "где-то" и "получается"
| |
|
7.55, Аноньимъ (ok), 20:19, 02/08/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> а было сразу видно, что ты читать не умеешь
Input: 1000
lang code time
go 1-m.go 79ms
go 1.go 477ms
nim 1.nim timeout
nim 1.nim timeout
| |
7.127, Аноним (127), 09:58, 05/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Так на порядок - это в десятки раз. По ссылке видно что во многих тестах nim отваливается по таймауту, в других в сотни раз медленнее. Производительнее, ага
| |
|
8.130, Гы (?), 10:58, 06/08/2023 [^] [^^] [^^^] [ответить] | +/– | timeout, так это он просто четустал и пошел на опенет читать комменты Завтра вс... текст свёрнут, показать | |
|
|
|
|
|
3.17, Аноньимъ (ok), 15:00, 02/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
>на порядок производительнее
Подобные экстраординарные утверждения требуют хоть каких-то доказательств.
| |
3.76, leap42 (ok), 06:35, 03/08/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> на порядок производительнее
это будет где-то в 5 раз быстрее Си и Rust 😄😄😄
| |
|
2.52, Golangdev (?), 19:49, 02/08/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Согласен. В корпорациях так и делают - выбирают промышленные языки, PHP, Java, Go...
Что приводит к тому что вокруг них появляется коммьюнити и экосистема, популярные Open Source.
Я даже не буду спрашивать, что из этого есть у Nim. Есть ли хоть один проект, уровня Kubernetes или CockroachDB. Ответ немного предсказуем.
Но пожелаем удачи проекту, посмотрим, чем он сможет нас порадовать лет через 5-10.
| |
|
3.77, leap42 (ok), 06:38, 03/08/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> В корпорациях так и делают - выбирают промышленные языки, PHP, Java, Go...
Это что за корпорации такие PHP берут? C#, Java, GO, Python видел. А PHP только в стартапах видел, и как легаси в бывших стартапах (мордокнига там, вконтакут).
| |
|
4.80, User (??), 07:42, 03/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
1Цэ битрикс и куча го(д|в)ноты на ём - если за страну родных осин.
| |
|
5.114, Нанонимус53 (?), 23:17, 03/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Все потроха продуктов компании 1С настолько вонючее говно, что я бы не доверял их выбору.
| |
|
4.115, cheburnator9000 (ok), 23:34, 03/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Например, весь веб интерфейс игры Path of Exile крутится на PHP и trade тоже. Понятно что индексер там написан на чем-то быстром. И все держится практически на одном разработчике.
| |
|
5.118, leap42 (ok), 06:47, 04/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Например, весь веб интерфейс игры Path of Exile крутится на PHP и
> trade тоже. Понятно что индексер там написан на чем-то быстром. И
> все держится практически на одном разработчике.
Path of Exile EA написали или Ubisoft? Ах, нет, это был какой-то стартап, что возвращает нас к моему изначальному тезису.
| |
|
|
|
|
|
2.63, _ (??), 22:44, 02/08/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
>без сомнения лучший язык
... это - заливной телячий, под чесночным соусом и под стопочку пшеничной водки.
У меня есть мнение - хрен оспоришь! ТЧК.
| |
|
1.15, Аноньимъ (ok), 14:59, 02/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
>что позволяет добиться производительности близкой к Си
Это типо какой-то особый перк?
| |
|
2.30, Жироватт (ok), 16:04, 02/08/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
В современных системах, где "программа выполняется в интерпретаторе, который выполняется в "не-виртуалка-а-контейнер" внутри полноценного виртуального хоста в виртуальной машине, которая, в свою очередь, выполняется низкоуровневой IL-виртуалке" - да, это перк.
| |
|
3.45, Аноньимъ (ok), 19:18, 02/08/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Вообще удивительно как люди умудряются прочитать мое сообщение таким извращённым образом.
Я вам пишу - какая-то особая прозвидительности сишки это миф.
Мне отвечают - да сишка очень быстрая вот бы всем так.
У людей ментальный блок.
И русского языка ещё и не знают.
| |
|
|
Часть нити удалена модератором |
5.54, Аноньимъ (ok), 20:13, 02/08/2023 [^] [^^] [^^^] [ответить]
| –4 +/– |
> а отсутствие запятой у меня ты даже не заметишь
Снявши голову, по волосам не плачут.
| |
|
6.88, 12yoexpert (ok), 10:43, 03/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
точки в конце сообщений/фраз вызывают дискомфорт у собеседника в неформальном интернет-общении, учёные доказали (с)
| |
|
|
8.131, Гы (?), 11:04, 06/08/2023 [^] [^^] [^^^] [ответить] | +/– | Запятые в конце сообщения доставляют ещё больший дискомфорт чем точки так-то,... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
3.64, _ (??), 22:46, 02/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
В растишках! (С)
А так язык - да и язык. И не такие видывали :)
| |
|
|
1.27, Аноним (27), 15:54, 02/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
> создан с оглядкой на Pascal, C++, Python и Lisp. Исходный код на языке Nim компилируется в представление на C, C++, Objective-C или JavaScript. В дальнейшем полученный C/C++ код компилируется в исполняемый файл
Август только начался, а приз месяца "За рвение шаблонов" уже выиграли.
| |
|
2.29, Жироватт (ok), 16:01, 02/08/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ну и норм же.
Взяли удачные находки у языков, // Хотя блоки-отступами я не понимаю. Короткий { ... } таки выразительней
красиво совместили их в один язык, // Ну допустим, как минимум без оглядки на совместимость с легаси-синтаксисом
добавили немного рантайм-сахара // Что плохого в фоновом сборщике так никто и не пояснил.
Далее пользовательский код транспилируется в язык, для которого есть mature (слово "зрелый" в русском не несёт той коннотации) компилятор и собирается.
| |
|
3.31, Аноним (27), 16:05, 02/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
> JavaScript. В дальнейшем полученный C/C++ код
И вам удачной трансэпиляции.
| |
|
4.34, n00by (ok), 17:38, 02/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Удача нужна Linux (ядру) на архитектурах, для которых Rust не умеет генерировать код.
| |
|
|
6.132, Гы (?), 11:14, 06/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Ура! У Эльбруса появилась надежда!
У Надежды появился Эльбрус! Она таких уже давно не считает (и ни во что не ставит).
| |
|
|
|
|
|
1.33, Аноним (33), 16:43, 02/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
> По аналогии с Python в Nim в качестве разделителей блоков применяются отступы
Дальше можно не читать. Хуже только парсить скобки в лиспе, но там хоть понятно зачем.
| |
|
2.44, Аноньимъ (ok), 19:10, 02/08/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> По аналогии с Python в Nim в качестве разделителей блоков применяются отступы
> Дальше можно не читать. Хуже только парсить скобки в лиспе, но там
> хоть понятно зачем.
Хуже только скобки в сишке, и непонятно зачем.
| |
|
3.50, 12yoexpert (ok), 19:41, 02/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
если бы ты код на nim хоть раз в глаза видел, знал бы, зачем, а пока смысла отвечать тебе по существу столько же, сколько сишнику объяснять js-вкатышу, где в компьютере оперативка
| |
|
4.65, _ (??), 22:51, 02/08/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
А ... дык ты Ылита? Предупреждать надо!(С) :-D
| |
4.67, Аноньимъ (ok), 00:02, 03/08/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
>если бы ты код на nim хоть раз в глаза видел, знал бы, зачем
Посмотрев код на nim понимаешь зачем нужны скобки в сишке?
| |
|
|
|
1.39, beck (??), 18:06, 02/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Nim ререводится в С. Значит можно переписать ядро линукса на Nim.
Хм...
| |
|
2.48, 12yoexpert (ok), 19:40, 02/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
в теории можно, если gc отключить, но это, во-первых, будет такой же кастрат, как раст в ядре (только весить будет не в 100 раз больше, чем бинарь на си, а в 10), во-вторых, это как ORM использовать - можно, но если ты в уме сможешь прикинуть, что там под капотом выйдет
| |
|
3.56, Аноним (56), 20:41, 02/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
> (только весить будет не в 100 раз больше, чем бинарь на си,
Очередной опеннетный экспертизмъ с пруфами вида "Мы все так говорим, а значит это правда!".
| |
|
|
5.112, Аноним (56), 21:52, 03/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
> а ты белу рученьку оттуда оторви и поди собери что-нибудь хоть раз в жизни
Так я то как раз и собирал - так что пруфы вместо виляний давай, балаболка.
| |
|
|
|
|
1.59, Анонус (?), 21:33, 02/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
А в честь чего мажорную версию подняли? Вроде никаких радикальных изменений. Или у них как в ядре, просто циферьки?
| |
|
2.85, funny.falcon (?), 10:06, 03/08/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Я думал, что 2.0 будет означать, что ORC и ARC стали а) стабильными, б) gc по умолчанию. Не знаю, насколько я прав.
| |
|
1.70, Аноним (70), 01:40, 03/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Интересно, а как у него с интероперабельностью? Можно ли легко подключать питоновские модули там, или дёргать сишные либы? Надеюсь что это не очередная "вещь в себе", очередной "супер-язык-убийца-других-языков" на котором надо "просто переписать вообще всё" типа раста.
| |
|
|
3.94, Аноним (96), 14:52, 03/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
>от скриптовых языков (Python, Lua, Tcl)
Да ну, даже NumPy и Matplotlib можно?
| |
|
4.100, Пельменный смузи (?), 17:02, 03/08/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Вариантов ответа три:
1. Забей. Это не твоё, или тебе не нужно, или ты не умеешь искать ответы на свои вопросы.
2. RTFM.
3. _github.com/yglukhov/nimpy
| |
|
3.108, cheburnator9000 (ok), 20:21, 03/08/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Nim с другим миром может общаться только через обертки написанные на Си, с Rust через cbindgen. Кроме того к этим Си оберткам нужно будет написать интерфейсы доступа на Nim коде.
| |
|
|
1.82, fumanchez (ok), 08:19, 03/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Почему они пишут название типа на следующей строчке? Я знаю, что так можно, и для следующего типа можно будет не писать type, но это же просто лишний уровень отступа.
| |
|
2.133, Anon3 (?), 18:45, 06/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Потому, что ключевое слово type определяет название секции. Это из паскаля. Секции type, var, const
| |
|
3.134, fumanchez (ok), 19:56, 06/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Так вопрос в том, зачем им секция, когда в ней всего один элемент, т.е. если можно написать
type Rational* = object
num: int = 0
den: int = 1
вместо
type
Rational* = object
num: int = 0
den: int = 1
| |
|
4.136, Anon3 (?), 15:15, 07/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
А зачем в паскале нельзя было обьявлять переменные в теле процедуры?
Ежовые рукавицы против творческой жилки в душе програмиста
Так, вроде, сразу глазами ловишь секции, выбираешь секцию, модально переключаешь мышление на соответствующий DSL, ну там описание типов (или вспоминаешь спинным мозгом ограничения в секции const)
Ну и может сначала как-то связано было с однопроходным компилятором, а теперь легаси
Можно было бы и разрешить и так:
type; Rational*=object; num: int=0; den: int=1; ;; internalFlag=object; val: bool=false; ;; ;;;
Но это и препроцессором решается
| |
|
5.138, fumanchez (ok), 17:47, 07/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Откуда такой фикс на паскале, тем более в таких моментах как объявление переменных (которые к тому же обусловлены ограничениями железа / кривоватой реализацией)? Смысл делать секции, если они почти всегда из одного элемента? В C тоже можно написать например
double
x = 0,
y = 1;
но никто же так не пишет.
| |
|
6.139, Anon3 (?), 19:47, 07/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
>> Смысл делать секции, если они почти всегда из одного элемента?
Заветы дидов о структурном программировании говорят, что написание кода по структуре, структурирует мышление программиста и делает программы меннее подверженными ошибкам.
Как-бы раньше, програмирование было инженерной дисциплиной и имело смысл сразу допускать минимальное количество ошибок.
Сейчас програмирование является научной дисциплиной, где это не имеет смысл. Зачем беспокоится о минимальном количестве ошибок и элегантных програмных решениях, если все равно ошибка будет в стороннем модуле, который изучается методом научного тыка, так как документация давно уже неактуальна к коду и вообще не полная. Поэтому для получения работающего решения нужно го.ня.ать по максимуму в данной точке программы и максимально гибко.
А первые строчки на сайте о Nim
Efficient, expressive, elegant
Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula.
Ну вот Andreas Rumpf упарывается по elegant, Ada and Modula
Старая гвардия (mature), так сказать
| |
|
7.140, Anon3 (?), 19:55, 07/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Наверно, не ответил.
Если у вас секция состоит почти всегда из одного элемента, вы что-то делаете не так. Не структурно. Вы не произвели декомпозицию задачи и, воообще, походу ее не понимаете.
Но повторяю, в современных условиях не нужно понимать задачу, надо сделать максимально похожее работающее решение в существующей тяжелой инфраструктуре
| |
|
|
|
|
|
|
1.91, Анионим (?), 11:06, 03/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Вот специально надо добавлять:
не сборщик мусора, а менеджер памяти как в Rust
скобочки - прошлый век, 60-е - 70-е года, ЕМНИП
макросы - не как в С, а нормальные. Насколько помню - 3 варианта, в т.ч. и Hygienic macro, говорят, как в LISP
| |
1.92, Аноним (92), 11:19, 03/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Запутали, загадили макросами и сахаром. Не удержались, ушли в СиПлюснутость. Потому увы, не выстрелит (
| |
|
|
3.107, cheburnator9000 (ok), 20:00, 03/08/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Сахар должен быть сбоку от языка, а не так что язык весь в сахаре из-за чего каждый человек занимается только извращением с кодогенерацией вместо читабельности. Лучше бы добавили нормальных человеческих декораторов и на этом успокоились.
| |
|
|
1.93, Аноним (93), 11:33, 03/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
|По аналогии с Python в Nim в качестве разделителей блоков применяются отступы
дальше можно не читать...
| |
1.98, Аноним (98), 15:40, 03/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
"Исходный код на языке Nim компилируется в представление на C, C++, Objective-C или JavaScript."
Не компилируется, а транслируется. Надеюсь новость писал не автор этого "языка".
| |
1.106, cheburnator9000 (ok), 19:58, 03/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
ИМХО в nim нужны нормальные классы, эта пародия Go и Uniform Call Syntax не впечатляют и не добавляют OOP коду читабельности.
И на настоящий момент огромный недостаток Nim заключается в том что, вместо того чтобы реализовывать библиотеки нормально на коде Nim, люди упариваются в возможности написания "псевдо-декларативной кодогенерации" вместо обычного кода.
| |
1.109, cheburnator9000 (ok), 20:24, 03/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Плюс у языка очень плого с туллингом. Например по дефолту с VSCode он интегрируется через nimsuggest, а экспериментальная LSP реализация требует грамотной настройки, иначе оно на каждый .nim файл сорцов проекта запустит по процессу и озу моментально закончится. Плагин от JetBrains заброшен емнип с января, одна надежда что кто-то профинансирует плагин для JetBrains или же трудоустроит разработчиков Nim внутри JetBrains что было бы очень круто.
| |
1.110, cheburnator9000 (ok), 20:35, 03/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Плюс в nim совершенно из коробки нет такого простого xml/json unmarshal/decoder как в Go, в nim с этим все плохо.
| |
1.141, Аноним (141), 22:22, 08/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Попробовал и понял, что то лучшее, что есть на данный момент. Полгода программирую на нём. Чистое удовольствие.
| |
|