URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 118548
[ Назад ]

Исходное сообщение
"Увидел свет язык программирования Nim 1.0"

Отправлено opennews , 24-Сен-19 09:18 
Представлен релиз языка системного программирования  Nim 1.0.  Версия 1.0 преподносится как стабильный выпуск с длительным сроком поддержки для которого будет гарантировано сохранение обратной совместимости в стабилизированной части языка. Отдельно в компиляторе доступен экспериментальный режим, в котором будут развиваться новые возможности, которые могут нарушать обратную совместимость. Некоторые API в стандартной библиотеке также пока помечены как нестабильные и будут переводиться в разряд стабильных по мере готовности. Код проекта поставляется под лицензией MIT...

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


Содержание

Сообщения в этом обсуждении
"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 09:18 
Отступы? Закопайте нахрен. Самое дебильное изобретение, какое только можно было придумать в питоне. И вот нате вам, второй такой...

"Увидел свет язык программирования Nim 1.0"
Отправлено trolleybus , 24-Сен-19 09:31 
Зато написать некрасивый (и поэтому нечитаемый) код не получится по определению.

"Увидел свет язык программирования Nim 1.0"
Отправлено анонимумуму , 24-Сен-19 09:33 
Вы видимо мало чужого кода смотрели

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 10:33 
Тут можно потроллить упоминанием голанга, который сам принудительно форматирует исходный код согласно правилам языка. И если ты привык открывать тело функции с новой строки, то ой.

"Увидел свет язык программирования Nim 1.0"
Отправлено powershell , 24-Сен-19 10:41 
потому что не нужно привыкать к чему-то, что не является следованием гайдлайна языка

"Увидел свет язык программирования Nim 1.0"
Отправлено анонимумуму , 24-Сен-19 11:05 
Можно красиво отформатировать код, но он при этом будет совершенно нечитаем

"Увидел свет язык программирования Nim 1.0"
Отправлено гуси , 24-Сен-19 14:09 
> открывать тело функции с новой строки

Зачем так делать вообще?


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 15:31 
Ей-богу, я не знаю. Просто знаю людей, которых сводит с ума автоматическое форматирование в голанге.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 20:20 
Как же тогда приходится тем, у которых после закомментирования пары строчек на питоне, скрипт больше не запускается, потому что для этих пары строчек нужно сдвигать другой код. А потом - сдвигать назад.

"Увидел свет язык программирования Nim 1.0"
Отправлено Анонм , 24-Сен-19 20:44 
> Как же тогда приходится тем, у которых после закомментирования пары строчек на
> питоне, скрипт больше не запускается, потому что для этих пары строчек
> нужно сдвигать другой код. А потом - сдвигать назад.

Я конечно уже лет 8 ничего на питоне не писал, но звучит как жуткий бред.
Конкретный пример можно?


"Увидел свет язык программирования Nim 1.0"
Отправлено имя , 25-Сен-19 07:01 
> Я конечно уже лет 8 ничего на питоне не писал, но звучит
> как жуткий бред.
> Конкретный пример можно?

Просто программировать научились, а подменять if var на if 1 — нет.


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 25-Сен-19 11:01 
Возможно, затем же, зачем используются разные виды скобочек.
Чтобы визуально отличались функции от циклов и условий, например.

"Увидел свет язык программирования Nim 1.0"
Отправлено Урри , 24-Сен-19 18:47 
Или вбейсиком, извините что на ночь глядя помянул.


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 13:33 
Так отбивка пробелами без операторных скобок делает _вообще_весь_ код нечитаемым. Попробуй найди, где заканчивается текущий блок,если он длиннее 5 строчек. Ситуация такая же, как если его вообще не отбивать.



"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 16:27 
Легко, если не ставить пустые переводы строк после операторного блока. И, даже, ошибок абсолютно нечитаемых при этом понаделать, тоже, очень легко.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 18:29 
Фиговый нечитаемый код зависит от прямизны головы и рук, а не от использования скобок вместо отступов.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 11:03 
Каждый раз, когда, читая очередной пихоно-код, гуглю, что означает та или иная конструкция, поражаюсь ущербности пихона. Недавно узнал про такую штуку, как pass. Оказывается в пихоне нельзя создать функцию, в которой нет ни одного стейтмента. Просто синтаксически требуется хотя бы один стейтмент, в связи с чем выдумали кейворд pass, типа аналог NOP из ассемблера. Если в других языках нужно просто удалить всё, что между { и }, то в пихоне удалить не выйдет, нужно заменять фуфловыми заглушками. Ни в каком высокоуровневом языке нет такой шняги на уровне синтаксиса, а в пихоне есть, и есть она исключительно потому, что какой-то гвидончик выдумал такую пРиКоЛьНуЮ)))) штуку, как насильственная организация кода отступами, и больше ничем.

"Увидел свет язык программирования Nim 1.0"
Отправлено Евгений , 24-Сен-19 12:51 
Язык программирования создаеться для людей, и прежде всего это средство общения между програмистами.

Поэтому прописывая pass вы явно указываете что намеренно игнорируете исключение,
или намеренно создали пустую функцию без raice NotImplemented

И в будующем открыв такой код - явно будет видно намеренья программиста.
иначе - вдруг вас отвлекли на другую задачу и вы забыли дописать return proxy_ping()
или случайно удалили руками при выделении, или авто заменой.
так же и про оступты - общаяя стилистика кода позволяет быстрее понимать код - что он может и зачем он нужен.

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

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


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 13:28 
> вдруг вас отвлекли на другую задачу и вы забыли дописать return proxy_ping()

То есть случай, когда функция реализована почти полностью, за исключением последней строки, мы не рассматриваем, поскольку он не ложится ровно в концепцию "пихон все проверит, убедится, что все написано". Да?

> случайно удалили руками при выделении, или авто заменой

То есть неосторожная автозамена удалит только те места, где в функции ровно один стейтмент, состоящий из ретурна, да? А все остальное она оставит без изменений?

Приведи более реалистичный сценарий уже. pass — это синтаксический костыль, вызванный решением избавиться от фигурных скобок всеми правдами и неправдами. Это решение изначально ставило целью "упростить язык", но на деле сделало его сложнее.

Непоследовательность пихона очевидна. Вот как выглядит объявление функции, принимающей 1 аргумент: def func(first_arg). А вот не принимающий ни одного: def func(). Здесь нет никаких def func(+++no args and i mean it+++). А вот пустой список стейтментов организовать уже не выйдет, придется "явно указывать, что задумана функция с пустым телом". Непоследовательность.

Ну а в других языках скобки применяются последовательно: {} — пустой блок кода, [] — пустой массив, () — пустой список аргументов, "" — пустая строка. Экстраполируй свои аргументы "автозамена" и "отвлекли" также и на эти моменты и убедись в их несостоятельности. Почему пихон не ругается, что строка пустая? Вдруг программиста отвлекли? Вдруг автозамена была неосторожной? Пусть он пишет ::emptystring:: вместо "".


"Увидел свет язык программирования Nim 1.0"
Отправлено Евгений , 24-Сен-19 15:27 
насчет костыля не согласен
т.к. не вижу сложности реализовать скрипт трансляции
---
def my():
print('123')
---

в

---
def my():
    pass
#
print('123')
---
это превое)

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

третье - я описал сильные стороны питона ниже, привиду еще оду метафору - если вам нравиться магкое и теплое - подушка, полотенце, грелка - то не стоит оценивать все вокруг исходя только из этих параметров.

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


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 15:56 
> не вижу сложности реализовать скрипт трансляции

Ты предлагаешь написать костыль, вызванный неудобствами другого костыля. В других языках первого костыля нет, поэтому второй костыль в лице "скрипта трансляции" писать нужды нет. Поскольку пихон - язык программирования для непрограммистов, нет ничего удивительного в том, что ты предлагаешь решения, выглядящие разумно исключительно с точки зрения тех, кто к программированию имеет крайне слабое отношение. Поскольку ты любитель аналогий, вот тебе такая: pass — это как выравнивать/центрировать текст в ворде пробелами. Там, где можно обойтись более изящными решениями, пустоты достигают путем ввода новой сущности: pass в пихоне или "                    " в вордовском файле.

> написание pass сообщает другим программистам о ваших намереньях

Это ты уже постфактум придумал предназначение. Изначально это костыль для борьбы с синтаксическими ограничениями пихона: "It is useful as a placeholder when a statement is REQUIRED SYNTACTICALLY, but no code needs to be executed"[1]. И ни слова про "намерения".

> пустую строку используют в коде чатсо - нет смысла дополнительно об этом сообщать

Применю твой же аргумент: "написание ::emptystring:: сообщает другим программистам о ваших намерениях". Оспаривай.

[1] https://docs.python.org/2.0/ref/pass.html


"Увидел свет язык программирования Nim 1.0"
Отправлено Евгений , 24-Сен-19 16:20 
еще раз, не надо додумывать,
я не предлагаю писать костыли, и писать свой велик для трансляции,

суть в том что реализовать парсер синтаксиса без pass - дело 5 строк кода,
а значит в python pass добавлен намеренно и не являеться костылем.

так же как намеренно не реализован go-to который есть в плюсах - это не показатель что питон полная шляпа.

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

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


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 17:09 
> в python pass добавлен намеренно и не являеться костылем

Документация говорит об обратном. Эту документацию писали разрабы пихона, и разрабы пихона сказали, что это заглушка для тех мест, где синтаксически требуется стейтмент. Значит у них парсер исходников работает именно так. А то, что ты выискиваешь где-то там "намерения и умыслы", ничем не отличается от детских/религиозных представлений о природе: "коровка - чтобы давать людям молоко, солнце - чтобы светить, бог - чтобы создавать солнце и коровок, а pass - чтобы предупреждать программистов о намерениях". А нет, pass - это следствие того, что пихоноразрабы не осилили сделать парсер так, чтобы стейтмент не требовался.

> я оцениваю технологии с точки зрения бизнеса а не религии

Но ведешь себя именно как религиозник. Религиозники повсюду выискивают скрытые смыслы. Птички щебечут не для того, чтобы мы наслаждались их пением. Им тупо хочется трахаться и они рисуются перед самками. А pass - не для явного обозначения пустоты, просто пихонщики не осилили парсинг, о чем прямо сказали в документации.

А по поводу того, что пихон не для программистов: Навальный вон изучает пихон. Это не плохо, и он выбрал верный язык. Потому что карьеру программиста он строить явно не собирается.


"Увидел свет язык программирования Nim 1.0"
Отправлено Евгений , 24-Сен-19 19:44 
смотри, для нормального программиста не важно на каком языке ты пишеш
важно насколько ты быстро решаеш задачу.

программист это не монах с религиозными взглядами что есть только один верный язык программирования,


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

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

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

если бы у тебя был опыт комерческой разработки - ты бы меня понял, но с таким подходом у тебя на работу не возмут - если только в гос компанию на попил бобла что бы прозводить ИКД.
суровый естесвенный отбор : )


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 22:29 
> если бы у тебя был опыт комерческой разработки - ты бы меня понял, но с таким подходом у тебя на работу не возмут

Ситуёвина такова, что это скорее я выбираю работодателей, чем работодатели меня. Когда на собеседовании я выясняю, что мне скорее всего придется поработать с пихоном, я тут же встаю и ухожу, поскольку:

1) Нужно иметь хотя бы минимальное самоуважение. Пихон не тот язык, на который стоит тратить единственную и короткую жизнь. Любой другой язык этого заслуживает, а конкретно пихон — нет. Это к слову о том, что я скорее придерживаюсь мнения о том, что "есть только один НЕверный язык программирования" (читай внимательнее мои комменты, братюня).

2) Пихон не имеет перспектив. Проекты, написанные на пихоне, либо умирают, либо переписываются на вменяемых языках (yum → dnf например). Пихон самый тормозной язык, что показала недавняя новость про реализацию драйвера сетевухи на высокоуровневых языках. Пихонокод — write-only, достаточно недели, чтобы автор перестал понимать свой собственный хитрожопый пихонокод (пихон поощряет писать такой код своими хитрожопыми пихоноконструкциями).

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

Одним словом, ты как маугли, воспитан волками^W менеджерами, и программерского будущего у тебя нет. Есть только менеджерское от силы, туда и воюй.


"Увидел свет язык программирования Nim 1.0"
Отправлено Евгений , 25-Сен-19 01:33 
> правило, плевать на стек, за это отвечает глава подразделения, который уже
> вполне открыт для чисто программерской аргументации.

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


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 25-Сен-19 09:42 
Наоборот. Поработай в коммерческой разработке с мое — и поймешь, что я прав.

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


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 18:52 
> Поскольку пихон - язык программирования для непрограммистов

Бред какой...


"Увидел свет язык программирования Nim 1.0"
Отправлено Евгений , 25-Сен-19 01:39 
>> Поскольку пихон - язык программирования для непрограммистов
> Бред какой...

+1 и добавить нечего : )


"Увидел свет язык программирования Nim 1.0"
Отправлено Anonymoustus , 24-Сен-19 13:35 
Если ты программы [ЕГЭ моде он] пишеш также грамматна как па русске [ЕГЭ моде офф], то лучше тебе сменить область деятельности.

"Увидел свет язык программирования Nim 1.0"
Отправлено Евгений , 24-Сен-19 15:10 
Ты когда идеш к доктару или вызываеш такси, вначале просиш его пройти тест на знание грамматики русского языка?
какими еще принципами оценки навыков ты пользуешься?

Не хочу тебя шокировать - но русский не мой родной язык, я даже не проживаю в Росии.

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


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 21:43 
Для общения программистов между собой создаются форумы, системы контроля версий и т.д., а не языки программирования. Языки программирования создаются для описания алгоритмов и данных, которые обрабатываются на компьютерах.

"Увидел свет язык программирования Nim 1.0"
Отправлено Евгений , 25-Сен-19 01:37 
> Для общения программистов между собой создаются форумы, системы контроля версий и т.д.,
> а не языки программирования. Языки программирования создаются для описания алгоритмов
> и данных, которые обрабатываются на компьютерах.

не согласен - лучшая документация чистый апи и читабельный код
все остальное второстипенно

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


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 12:59 
> Ни в каком высокоуровневом языке нет

Ты знаешь слишком мало языков.


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним84701 , 24-Сен-19 15:46 
> Каждый раз, когда, читая очередной пихоно-код, гуглю, что означает та или иная
> конструкция, поражаюсь ущербности пихона. Недавно узнал про такую штуку, как pass.

И отписался в теме о совершенно другом ЯП. Бывает. Держите нас в курсе!

> в пихоне есть, и есть она исключительно потому, что какой-то гвидончик
> выдумал такую пРиКоЛьНуЮ)))) штуку, как насильственная организация кода отступами, и больше  ничем.

Нет, совсем не поэтому (см. хотя бы предмет новости – там оно "почему-то" не нужно).


"Увидел свет язык программирования Nim 1.0"
Отправлено ggdotgff , 24-Сен-19 18:09 
забалела? полечися!
зы прайсы по программистам посмотри, болезниный. рыночек порешал, тебя не спросил?

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 11:42 
Самое меньше будет быдлокодеров, совсем не форматирующих код.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 11:49 
Отступы - самое гениальное что есть в Питоне!!! Читать чужой код хоть стало возможно!

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 12:37 
>Читать чужой код хоть стало возможно!

Сразу видно человека который не видел код на питоне.


def possibilities():
    alphabets=(n,o,r,t,h,e,a,s,u,w,m,y)
    combinations=list()
    for n in range(9,-1,-1):
            for o in range(9,-1,-1):
                    for r in range(9,-1,-1):
                            for t in range(9,-1,-1):
                                    for h in range(9,-1,-1):
                                            for e in range(9,-1,-1):
                                                    for a in range(9,-1,-1):
                                                            for s in range(9,-1,-1):
                                                                    for u in range(9,-1,-1):
                                                                            for w in range(9,-1,-1):
                                                                                    for m in range(9,-1,-1):
                                                                                            for y in range(9,-1,-1):
                                                                                                    if len(set([n,o,r,t,h,e,a,s,u,w,m,y]))==12:
                                                                                                    north=10000*n + 1000*o +100*r +10*t +h
                                                                                                    east=1000*e +100*a +10*s +t
                                                                                                    south=10000*s + 1000*o +100*u +10*t +h
                                                                                                    west=1000*w + 100*e +10*s +t
                                                                                                    earth= 10000*e + 1000*a + 100*r +10*t +h
                                                                                                    if north +east +south +west == earth:
                                                                                                            combinations.append((north,east,south,west,earth))

    return combinations



"Увидел свет язык программирования Nim 1.0"
Отправлено Anonymoustus , 24-Сен-19 13:39 
Налажал ты с отступами, анон. Я пофиксил:


def possibilities():
    alphabets=(n,o,r,t,h,e,a,s,u,w,m,y)
    combinations=list()
    for n in range(9,-1,-1):
        for o in range(9,-1,-1):
            for r in range(9,-1,-1):
                for t in range(9,-1,-1):
                    for h in range(9,-1,-1):
                        for e in range(9,-1,-1):
                            for a in range(9,-1,-1):
                                for s in range(9,-1,-1):
                                    for u in range(9,-1,-1):
                                        for w in range(9,-1,-1):
                                            for m in range(9,-1,-1):
                                                for y in range(9,-1,-1):
                                                    if len(set([n,o,r,t,h,e,a,s,u,w,m,y]))==12:
                                                        north=10000*n + 1000*o +100*r +10*t +h
                                                        east=1000*e +100*a +10*s +t
                                                        south=10000*s + 1000*o +100*u +10*t +h
                                                        west=1000*w + 100*e +10*s +t
                                                        earth= 10000*e + 1000*a + 100*r +10*t +h
                                                        if north +east +south +west == earth:
                                                            combinations.append((north,east,south,west,earth))
                                                            return combinations

Вот теперь всё работает!


"Увидел свет язык программирования Nim 1.0"
Отправлено Урри , 24-Сен-19 18:50 
а вот если бы автор не поленился и скопировал еще пару строк кода (не входящих в тело цикла) - хрен бы ты пофиксил.

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


"Увидел свет язык программирования Nim 1.0"
Отправлено Anonymoustus , 24-Сен-19 20:53 
> а вот если бы автор не поленился и скопировал еще пару строк
> кода (не входящих в тело цикла) - хрен бы ты пофиксил.

Если в коде нету других ошибок, кроме неправильных отступов, то пофиксить будет проще простого.

> и это главная проблема отступов, потому как язык не должен существовать только
> внутри специально созданных для него редакторов.

И это же одновременно его достоинство.


"Увидел свет язык программирования Nim 1.0"
Отправлено Евгений , 25-Сен-19 01:43 
> а вот если бы автор не поленился и скопировал еще пару строк
> кода (не входящих в тело цикла) - хрен бы ты пофиксил.
> и это главная проблема отступов, потому как язык не должен существовать только
> внутри специально созданных для него редакторов.

помойму сейчас мало кто разрабатывает без IDE - нет смысла перекладывать работу на внимательность которую может выполнить программа


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним84701 , 24-Сен-19 19:46 

                                                        if north +east +south +west == earth:
                                                            combinations.append((north,east,south,west,earth))
                                                            return combinations

> Вот теперь всё работает!

Что-то мне подсказывает, что задумка была возвращать все комбинации, а не только первую найденную.
А еще что-то подсказывает, что "alphabets=(n,o,r,t,h,e,a,s,u,w,m,y)" вообще невалидный синтакс.
Ну и по мелочи:
"if len(set([n,o,r,t,h,e,a,s,u,w,m,y]))==12:" читается как "все переменные с разными значениями",
переменных 12, возможных значений 10 - хм, что тут может быть не так?

Изи фикс:


def possibilities(): return []


"Увидел свет язык программирования Nim 1.0"
Отправлено Anonymoustus , 24-Сен-19 21:11 
Я имел в виду отсутствие ошибок форматирования отступами.

Копипаста гуглится:

https://shitcode.net/280

А там указан первоисточник шедевра:

https://stackoverflow.com/questions/50018740/what-am-i-missi...

Под тегом data-science, между прочим. :)


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним84701 , 24-Сен-19 21:32 
> Я имел в виду отсутствие ошибок форматирования отступами.
> Копипаста гуглится:
> https://shitcode.net/280

Я скорее имел в виду, что сам пример, приведенный анонимом в #64, изначально не просто весь насквозь искусственный (и очень возможно был "вбросом" на SO), но еще и абсолютно не рабочий.
И смысл демонстрации [аноном в #64] на таких примерах какой-то очень сомнительный.
Тем более, когда при этом рядом топят за сишку с ее:


volatile const static signed long int* const restrict borsch = {(const volatile void*)0};

или

for (;P("\n"),R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);

или

??=include <stdio.h>                                                                    
%:include <stdint.h>                                                                    
                                                                                        
int hi(void) <% return 1337; }                                                          
                                                                                        
int main(void) <%                                                                        
    int foo[10:> = ??< 0 %> ;                                                            
    foo<:0] = 1337;                                                                      
    printf("hello %d %d", foo??(0??), hi());                                            
  return 0;                                                                              
??>

(хотя не совсем корректная аналогия получилось -- минимум 2 примера рабочие) :)

"Увидел свет язык программирования Nim 1.0"
Отправлено Anonymoustus , 24-Сен-19 21:51 
> Я скорее имел в виду, что сам пример, приведенный анонимом в #64,
> изначально не просто весь насквозь искусственный (и очень возможно был "вбросом"
> на SO), но еще и абсолютно не рабочий.
> И смысл демонстрации [аноном в #64] на таких примерах какой-то очень сомнительный.

Целиком и полностью согласен. Я даже у себя на локальной машине файл с этим кодом назвал govnokod.py, ещё не зная, откуда он взят, и дописал в конце print "OK", дабы был хоть какой-то полезный выхлоп.


> Тем более, когда при этом рядом топят за сишку с ее:

... поскипано

> (хотя не совсем корректная аналогия получилось -- минимум 2 примера рабочие) :)

И это подводит нас к весьма свежей и новаторской идее: примеры надо давать какие-то осмысленные, а не чтобы место чем-то заполнить. :)


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним84701 , 24-Сен-19 17:20 
Эт да! То ли дело скобки!

list* possibilities(void){
list* combinations=list();
    for (int n = 9; n> -1, n-=1) {
        for (int o = 9; o> -1, o-=1) {
            for (int r = 9; r> -1, r-=1) {
                for (int t = 9; t> -1, t-=1) {
                    for (int h = 9; h> -1, h-=1) {
                        for (int e = 9; e> -1, e-=1) {
                            for (int a = 9; a> -1, a-=1) {                      
                                for (int s = 9; s> -1, s-=1) {
                                    for (int u = 9; u> -1, u-=1) {                                    
                                        for (int w = 9; w> -1, w-=1) {
                                            for (int m = 9; m> -1, m-=1) {
                                                for (int y = 9; y> -1, y-=1) {
                                                    if (len(set([n,o,r,t,h,e,a,s,u,w,m,y]))==12) {
                                                        int north=10000*n + 1000*o +100*r +10*t +h;
                                                        int east=1000*e +100*a +10*s +t;
                                                        int south=10000*s + 1000*o +100*u +10*t +h;
                                                        int west=1000*w + 100*e +10*s +t;
                                                        int earth= 10000*e + 1000*a + 100*r +10*t +h;
                                                        if (north +east +south +west == earth){
                                                            combinations.append((north,east,south,west,earth))
                                                            return combinations;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }                                                            
    }
}
}


"Увидел свет язык программирования Nim 1.0"
Отправлено ggdotgff , 24-Сен-19 18:14 
12 вложеннннных циклов трепещу ...  о вилукий прлвавагммваст

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 18:55 
А нефиг такой говнокод писать

"Увидел свет язык программирования Nim 1.0"
Отправлено Anonymoustus , 24-Сен-19 21:13 
ИЧСХ, анон притащил его из соответствующего места:

https://shitcode.net/280


"зачем вложения?"
Отправлено ADR , 24-Сен-19 21:29 

def possibilities():
    combinations = list()
    options = list(range(9, -1, -1))
    for n, o, r, t, h, e, a, s, u, w, m, y in product(*[options] * 12):
        if len({n, o, r, t, h, e, a, s, u, w, m, y}) == 12:
            north = 10000 * n + 1000 * o + 100 * r + 10 * t + h
            east = 1000 * e + 100 * a + 10 * s + t
            south = 10000 * s + 1000 * o + 100 * u + 10 * t + h
            west = 1000 * w + 100 * e + 10 * s + t
            earth = 10000 * e + 1000 * a + 100 * r + 10 * t + h
            if north + east + south + west == earth:
                combinations.append((north, east, south, west, earth))
                
    return combinations


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 16:43 
Самое дебильное изобретение, какое только можно было придумать в ЯПах - это убогие скобки.

"Увидел свет язык программирования Nim 1.0"
Отправлено ggdotgff , 24-Сен-19 18:15 
точно КУМИР вот образец

"Увидел свет язык программирования Nim 1.0"
Отправлено dryghar , 25-Сен-19 12:31 
Скобки еще терпимо, а вот точки с запятой обязательные уже задолбали -_-

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 29-Сен-19 00:28 
А вы программируете (не важно на чем) без отступов? А если с отступами, то не замечаете ли вы в добавлении фигурных скобок (или чего там у вас вместо них) избыточности, не кажется, что это не лаконично?

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

Сейчас стыдно признать, даже переходя с винды на Linux мне казалось ужасным, что все пути начинаются с общего корня, а не с буквы диска. Также казалось уродливым глобальное меню на Маке и в Unity, потом стало казаться неуклюжим наличие отдельного меню в каждом окне.

Мозг так устроен, что всегда считает единственно-правильным то, к чему привык.


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 09:22 
Три поросенка: nim-nim, neh-neh и nah-nah?

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 11:20 
а еще пох.

"Увидел свет язык программирования Nim 1.0"
Отправлено traktorist , 25-Сен-19 00:19 
nan-nan

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 09:23 
Адовый ад с этими отступами, где пробела, где табы, ищи почему не работает

"Увидел свет язык программирования Nim 1.0"
Отправлено alex , 24-Сен-19 09:33 
В ниме только пробелы.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 09:36 
В UTF-8 штук так двадцать разных пробелов (точно число не помню)

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 10:44 
Space, no-break space, en quad, em quad, en space, em space, three-per-em space, four-per-em space, six-per-em space, figure space, punctuation space, thin space, hair space, narrow no-break space, medium mathematical space, braille pattern blank, ideographic space ну и всякие там zero-width space, word joiner и компания, но они уже непечатные обычно.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 11:47 
В выражениях ЯП допустимы только символы с номерами 32 - 127 ASCII. Всё остальное только в качестве текстовых строк и комментариев.

"Увидел свет язык программирования Nim 1.0"
Отправлено Урри , 24-Сен-19 18:53 
В выражениях ЯП должен быть весь юникод. Чай не в 19 веке в англии живем.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 19:03 
Тогда  вам, вероятно, понравятся Рапира, Шпага, что там ещё было придумано в 1970/80-е в СССР.

"Увидел свет язык программирования Nim 1.0"
Отправлено Урри , 24-Сен-19 22:57 
Большинство современных взрослых языков программирования поддерживают юникод. А в вашем ерничанье я вижу только глупость.


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 25-Сен-19 08:28 
Вы таки неправы, можно использовать ЛЮБЫЕ юникодовые идентфикаторы для названий процедур/переменных/типов, но конечно же никто этого не будет делать.
https://play.nim-lang.org/#ix=1WPS

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним84701 , 25-Сен-19 11:19 
> Вы таки неправы, можно использовать ЛЮБЫЕ юникодовые идентфикаторы для названий процедур/переменных/типов,
> но конечно же никто этого не будет делать.
> https://play.nim-lang.org/#ix=1WPS

Это неинтересный пример ;)


template 🗣(👍) = echo(👍)

let 🦄 = "🌈"
🗣 🦄


вполне компилируется и работает.


"Увидел свет язык программирования Nim 1.0"
Отправлено burjui , 24-Сен-19 13:26 
Небольшое замечание - в Unicode. UTF-8 - это только одна из кодировок.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 10:33 
Можно закапывать. Я бы не рискнул пользоваться ЯП с разработчиками, чей уровень (не)адекватности позволил им выпилить табы.

"Увидел свет язык программирования Nim 1.0"
Отправлено анонимумуму , 24-Сен-19 09:34 
Мешать пробелы и табы в одном файле вообще не стоит. На любом языке.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 10:36 
Да можно и дальше пойти - в обычных документах, предназначенных для текстового процессора, этого тоже не стоит делать. Вёрстка поползёт.
И в обычных текстовых файлах тоже не нужно - может оказаться неудобно обрабатывать Vim'ом. Короче, бардак всегда зло.

"Увидел свет язык программирования Nim 1.0"
Отправлено Annoynymous , 24-Сен-19 10:56 
Надо запретить табуляцию.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 11:00 
В конфигах нужно пользоваться только табами. Иначе вёрстка поползёт. В мейкфайлах, в исходниках на си, да много где. Если настроить вим, то в скриптоте (включая питон) тоже лучше пользоваться табами. Кто вообще придумал отступы пробелами делать? У некоторых программистов секретарша головного мозга, или им платят за размер файла?

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 12:16 
Как будто, все предпочитают/любят vim.

"Увидел свет язык программирования Nim 1.0"
Отправлено burjui , 24-Сен-19 13:33 
Табы хороши ровно до тех пор, пока длина строки не ограничена гайдлайнами. А как только ограничение появляется, оказывается, что длина строки зависит от ширины таба. Получается, в гайдлайне нужно явно указывать ширину таба. Ой.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 15:24 
А ещё ширина строки зависит от шрифта и его размеров, угу.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 16:05 
Тогда просто ширина таба в IDE задается одинаковая для всех разработчиков. И если ширина таба и длина строки не указаны в гайдлайне, то каждый разработчик выставит удобную ему ширину. А то одному удобны отступы в 2 пробела, а другому - в 6. Каждый ставит свое значение и верстка не расползается.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 22:16 
>или им платят за размер файла

Как будто нет страны, которая этим прославилась.


"Увидел свет язык программирования Nim 1.0"
Отправлено Ordu , 24-Сен-19 11:57 
Не надо ныть здесь о том, что ты не можешь настроить текстовый редактор. Читай лучше мануал к своему текстовому редактору.

"Увидел свет язык программирования Nim 1.0"
Отправлено Евгений , 24-Сен-19 12:54 
Используйте Pycharm - там подобные проблемы заранее предусмотренны

"Увидел свет язык программирования Nim 1.0"
Отправлено аноним3 , 24-Сен-19 19:30 
kwrite прекрасно питоновские скрипты переваривает и еще умудряется подсказывать. а на счет табов верно. вся верстка от них летит к чертям даже в обычных документах, а если в питоновских скриптах и еще паре других, у тебя вместо программы может получится полный мусор, хотя питон не так радикален.

"Увидел свет язык программирования Nim 1.0"
Отправлено Евгений , 24-Сен-19 19:52 
pycharm автоматом заменят табы на пробелы,
+ есть поддержка для django, да и в целом семантический анализ объектов работает хорошо
+ дебаг с интерактивным режимом
+ гит плагин - удобно конфликты разрешать

в общем для работы все же пичарм

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


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 16:44 
а нехер пробелы ставить

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 09:28 
Что-то мало ЯП. Нужно больше.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 09:38 
этот язык старше тебя

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 10:06 
Его начали разрабатывать ещё до Си?

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 16:45 
Нет, просто все что ты сейчас видишь - это сон, а на самом деле тебе скоро пора вставать и топать в школу.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 18:28 
Хорошо, что сон, а ты просто неудачная проекция моего мозга.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 09:28 
вот что только не придумают лишь бы С не учить.

"Увидел свет язык программирования Nim 1.0"
Отправлено анонимумуму , 24-Сен-19 09:38 
Си не является серебряной пулей

"Увидел свет язык программирования Nim 1.0"
Отправлено Лалка , 24-Сен-19 09:48 
Ой, лишь бы си не учить

"Увидел свет язык программирования Nim 1.0"
Отправлено анонимумуму , 24-Сен-19 09:58 
Я знаю Си)

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 10:20 
На испанском?

"Увидел свет язык программирования Nim 1.0"
Отправлено анонимумуму , 24-Сен-19 11:06 
Шмишно

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 16:46 
На ирландском.

"Увидел свет язык программирования Nim 1.0"
Отправлено Урри , 24-Сен-19 18:55 
- Вы программист? На чем вы программируете? (на английском)
- (низуя не понимая по английски, так как испанец, но на всякий случай и с улыбкой) Си, сеньор.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 09:50 
Я ж надеюсь, это не всерьез, чисто ради красного словца

"Увидел свет язык программирования Nim 1.0"
Отправлено Anonymoustus , 24-Сен-19 10:49 
Хотя на Си можно написать всё, это прежде всего язык системного программирования для профессионалов. Для прикладного же программирования и для _всех_ были созданы, к примеру, Бейсик и его диалекты. Но руконогим почему-то зазорно использовать то, что специально для них придумано. Ведь так хочется почувствовать себя крутым продолжателем дела Ритчи!

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 11:26 
> прикладного же программирования и для _всех_ были созданы, к примеру, Бейсик

Пробовали факторизацию матриц среднего порядка (так примерно 10000) сделать на Бейсике и на Си? На Си считается несколько десятых долей секунды. На Бейсике дождаться окончания расчета не представляется возможным. Вот вам пример прикладного программирования на Си.


"Увидел свет язык программирования Nim 1.0"
Отправлено Anonymoustus , 24-Сен-19 11:37 
На каком из диалектов Бейсика ты так облажался? Если у тебя не получается написать программу на Бейсике — подумай о том, чтобы сменить профессию. :)

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


"Увидел свет язык программирования Nim 1.0"
Отправлено BrainFucker , 24-Сен-19 12:37 
А причём тут язык? Никто же не запрещает написать какой нибудь более быстрый бейсик или вовсе такой, чтобы сперва транслировался в C, а затем компилировался, как сабж.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 13:08 
> А причём тут язык? Никто же не запрещает написать какой нибудь более
> быстрый бейсик

Такой бейсик уже есть и написан до бейсика. Называется Фортран.


"Увидел свет язык программирования Nim 1.0"
Отправлено Anonymoustus , 24-Сен-19 14:35 
>> А причём тут язык? Никто же не запрещает написать какой нибудь более
>> быстрый бейсик
> Такой бейсик уже есть и написан до бейсика. Называется Фортран.

Современные бейсики умеют так много, что почти всё. Пруфы предоставят: PureBasic, PowerBASIC, FreeBASIC, Decimal BASIC, True BASIC (от создателей оригинального Васика), даже SmallBASIC. Из них много бесплатных — бери и пиши сразу свои программы, не мучаясь вечными вопросами.


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 18:35 
Вопрос тут одни. Зачем этот зоопарк? Есть стандарт и это Фортран.

"Увидел свет язык программирования Nim 1.0"
Отправлено Anonymoustus , 24-Сен-19 21:34 
> Вопрос тут одни. Зачем этот зоопарк? Есть стандарт и это Фортран.

Молодые поколения не желают изучать стандарты. Устарело, говорят. Подавай нам модное и молодёжное, говорят. И бесчисленно раз изобретают вновь и вновь на Жабе Кобол для бизнеса, а на Пихтоне — Фортран для вычислений, а на Сишечке и её детках — Бейсик для прикладных задач.


"Увидел свет язык программирования Nim 1.0"
Отправлено Евгений , 25-Сен-19 01:52 
>> Вопрос тут одни. Зачем этот зоопарк? Есть стандарт и это Фортран.
> Молодые поколения не желают изучать стандарты. Устарело, говорят. Подавай нам модное и
> молодёжное, говорят. И бесчисленно раз изобретают вновь и вновь на Жабе
> Кобол для бизнеса, а на Пихтоне — Фортран для вычислений, а на
> Сишечке и её детках — Бейсик для прикладных задач.

про кобол надеюсь шутка, в нем даже функций нет, все на go-to,
в 2019 на нем еще пишут - но только из за легаси + дешовые макаки,

вроде как банки на java перешли, вроде Mainframe z/os поддерживает


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 25-Сен-19 09:51 
>> Вопрос тут одни. Зачем этот зоопарк? Есть стандарт и это Фортран.
> Молодые поколения не желают изучать стандарты. Устарело, говорят. Подавай нам модное и
> молодёжное, говорят.

Видывали такое, а как же. Зачем далеко ходить? Вот что давеча подавал тут один советчик:

> Современные бейсики умеют так много, что почти всё.
> Пруфы предоставят: PureBasic, PowerBASIC, FreeBASIC,
> Decimal BASIC, True BASIC (от создателей оригинального Васика),
> даже SmallBASIC. Из них много бесплатных —
> бери и пиши сразу свои программы, не мучаясь вечными вопросами.

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


"Увидел свет язык программирования Nim 1.0"
Отправлено Anonymoustus , 25-Сен-19 13:47 
А ты почитай про перечисленные Васики. Открой для себя новый мир, в котором люди пишут прикладной софт без постоянной беспорядочной пальбы по собственным ногам.

Я тебе, 294-й, приоткрою даже больше тайн мироздания: есть специальные Васики для писания ПО для контроллеров и прочей эмбеды. Живи теперь с этим. :)

А знаешь, почему многие люди любят Васик, и почему он переживёт большинство «крутых» ЯП? Потому что программирование на нём даёт то, что англоязычные называют словом fun. Много-много удовольствия. А программирование на Сишечке большинству даёт лишь головную боль о том, что где-то притаились незамеченные ошибки. Ибо надо подбирать инструменты сообразно задачам, а не по религиозным предрассудкам.


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 25-Сен-19 18:43 
Мне больше заняться нечем, как вспоминать, какой из них использует fasm как беэкнд и чем они отличаются от какого-нибудь Laser Basic. Бейсики, как ты сам заявил, созданы для руконогих, вот сам и пользуйся.

"Увидел свет язык программирования Nim 1.0"
Отправлено Anonymoustus , 25-Сен-19 18:56 
> Мне больше заняться нечем, как вспоминать, какой из них использует fasm как
> беэкнд и чем они отличаются от какого-нибудь Laser Basic.

PureBasic. И генерирует при этом быструю и компактную малварь.

https://habr.com/ru/post/176123/


А на PowerBASIC, к примеру, в заморских Америках пишут коммерческий софт для ответственного применениях. Как тебе такое, а?

Ты ж понимаешь, надеюсь, что современные Бейсики — это совсем не тот первый BASIC, что был в незапамятные времена.


> Бейсики, как ты сам заявил, созданы для руконогих, вот сам и пользуйся.

Ничего такого я не заявлял, это твои лживые домыслы. А я сказал, что Бейсики созданы _для всех_ для прикладного программирования, в отличие от тоже высокоуровневых, то более «профессионально специализированных» ЯП наподобие Фортрана или Си.

Но когда люди, которым на самом деле не нужны возможности Си, таки хватаются за Си — это глубоко порочная практика. На Си надо писать маленькие компактные программы и только тогда, когда их нельзя написать на чём-то другом, менее «остром». Большие программы надо писать на безопасных языках и по безопасным методологиям. Да хотя бы на Жабе, на Паскале или на Аде. Но все же мнят себя крутыми: я могу, я напишу это на Си. Хотя при этом опять же все знают, что количество ошибок растёт с объёмом кода независимо от желания или нежелания погромизда. Особенно впечатляет использование Си и плюсов для написания автомобильного софта, убивающего потом людей.


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 26-Сен-19 12:41 
> пишут коммерческий софт для
> ответственного применениях. Как тебе такое, а?

Никак. Это их дело.

> Но когда люди, которым на самом деле не нужны возможности Си, таки
> хватаются за Си — это глубоко порочная практика.

Ты не Прокруст случаем?


"Увидел свет язык программирования Nim 1.0"
Отправлено Anonymoustus , 24-Сен-19 15:01 
Не расстраивайся, анон, будет и на твоей улице праздник. В утешение тебе я принёс рыбок, что прилагаются в качестве примеров к МелкоВасику*:


'aquarium v2.bas SmallBASIC Bpf 2015-10-15 MGA/B+
'v2 the plasma color is set at initialization and stays with fish
'v2 the fish swim and are drawn both ways
option base 1
n=30
dim x(n),y(n),l(n),dx(n),dy(n),rr(n),gg(n),bb(n)
for i=1 to n
   x(i)=rnd*xmax:y(i)=rnd*ymax:l(i)=rnd*xmax*.0625+18
   d=int(rnd*2)
   if d then dx(i)=rnd*8+1 else dx(i)=-1*(rnd*8)-1
   r+=.2:g+=.005:b+=.010
   if r>.5 then r=.02
   if g>.5 then g=.005
   if b>.5 then b=.01
   rr(i)=r:gg(i)=g:bb(i)=b
next

while 1
   for i=0 to ymax
      line 0,i,xmax,i,rgb(0,0,255-(i/ymax)*255)
   next
   for i=1 to n
      x(i)=x(i)+dx(i)
      if x(i)+1.25*l(i)<0 then dx(i)=-1*dx(i)
      if x(i)-1.25*l(i)>xmax then dx(i)=-1*dx(i)
      y(i)=y(i)+int(rnd*5)-2
      for ra=1 to l(i)
         plasma=RGB(127+127*sin(rr(i)*ra),127+127*sin(gg(i)*ra),127+127*sin(bb(i)*ra))
         if dx(i)<0 then
            line x(i)+ra,y(i)-ra,x(i)+ra,y(i)+ra,plasma
         else
            line x(i)-ra,y(i)-ra,x(i)-ra,y(i)+ra,plasma
         end if
      next
      for ra=5 to .3*l(i)
         plasma=RGB(127+127*sin(rr(i)*ra),127+127*sin(gg(i)*ra),127+127*sin(bb(i)*ra))
         if dx(i)<0 then
            line x(i)+l(i)+ra,y(i)-ra,x(i)+l(i)+ra,y(i)+ra,plasma
         else
            line x(i)-l(i)-ra,y(i)-ra,x(i)-l(i)-ra,y(i)+ra,plasma
         end if
      next
      if dx(i)<0 then
         circle x(i)+.25*l(i),y(i),.1*l(i),1,0 filled
         circle x(i)+.25*l(i),y(i),.06*l(i),1,14
      else
         circle x(i)-.25*l(i),y(i),.1*l(i),1,0 filled
         circle x(i)-.25*l(i),y(i),.06*l(i),1,14
      end if
   next  
   delay 10
   showpage
wend

https://fastpic.ru/fullview/106/2019/0924/51c4b178be8508744f...

Не поверишь: они туда-сюда плавают в окошке. :)


* https://en.wikipedia.org/wiki/SmallBASIC


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 22:26 
> На Си считается несколько десятых долей секунды. На Бейсике дождаться окончания расчета не представляется возможным. Вот вам пример прикладного программирования на Си.

Вот что только не навыдумывают себе, лишь бы не учит Фортран.


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 26-Сен-19 08:20 
Си это язык общего назначения. Его можно использовать как для написания низкоуровневой так и для прикладных программ. Вообще разделение на прикладные и системные является только семантикой в голове человека.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 11:59 
>вот что только не придумают лишь бы С не учить.

В C нет классов, а его надмножество Objective-C не взлетел.


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 12:19 
А - если вернуться в реальность.
Пишу в ООП-стиле на С лет уже 15...
Про Objective-C - особенно жирно было. Аж монитор расплавленным салом замироточил...

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 19:08 
>Пишу в ООП-стиле на С лет уже 15...

Оно, конечно, можно принимать пищу обратным направлением, но зачем так мучаться?
Есть же, к примеру, C++ на крайняк.


"Увидел свет язык программирования Nim 1.0"
Отправлено НяшМяш , 24-Сен-19 12:26 
> Objective-C не взлетел

В первую очередь из-за синтаксиса и сложностей в реализации ФП. Все известные мне яблочники (да и я тоже) с гиканьем мигрировали на Swift как только он появился.


"Увидел свет язык программирования Nim 1.0"
Отправлено пох. , 24-Сен-19 20:43 
с синтаксисом-то что тебе не так? Форматирования табами не хватает?


"Увидел свет язык программирования Nim 1.0"
Отправлено НяшМяш , 25-Сен-19 00:46 
> с синтаксисом-то что тебе не так? Форматирования табами не хватает?

Сяшечный код можно форматировать как угодно (и даже не форматировать вообще). [someInstance callMethod:argument] - вот от этого до сих пор вздрагиваю. А как выглядит классическая цепочка filter - map - reduce (при условии что ты реализовал эти методы) - вообще в кошмарах снится.


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 12:55 
В С нет классов исключительно потому что они не нужны ни в каком языке программирования. В том же Го нет классов и он отличный язык в отличии от Nim.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 13:09 
> В С нет классов исключительно потому что...

...ты не знаешь, как реализовать их в Си.


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 13:39 
Потому что то что ты называешь классами не далеко ушло от того что в Го называется struct.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 14:03 
> Потому что то что ты называешь классами не далеко ушло от того
> что в Го называется struct.

Они точно так и в Си называются.


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 14:29 
Struct как бы он не различался в Го и в C имеет примерно никакого отношения к классам. У классов может быть и наследование 8 уровня и инкапсуляция всего во все. И это сделано исключительно чтобы запутать код. В нормальных языках этой ерунды нет.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 18:33 
> Struct как бы он не различался в Го и в C имеет
> примерно никакого отношения к классам. У классов может быть и наследование
> 8 уровня и инкапсуляция всего во все.

В Си это неудобно, но возможно.


"Увидел свет язык программирования Nim 1.0"
Отправлено Урри , 24-Сен-19 19:00 
Боже, год от года анонимы все тупее и тупее. Они даже разучились в гугле запросы писать.

раз: https://www.pvv.ntnu.no/~hakonhal/main.cgi/c/classes/
два: http://ooc-coding.sourceforge.net/docs/ooc.html/Implementing...


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 19:37 
Ты серьёзно? Пихать одни структуры в другие структуры и называть это наследование? Мало того что это называется композиция. Так это такой же антипатерн как и классы с 8 уровнями наследования.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 15:28 
Я всегда был уверен, что они и в цопепе так называются.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 18:34 
> Я всегда был уверен, что они и в цопепе так называются.

Там есть ещё вариант с закрытыми по умолчанию членами.


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 19:11 
Ну и как наследовать структуры?

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 19:38 
При помощи композиции.

"Увидел свет язык программирования Nim 1.0"
Отправлено burjui , 24-Сен-19 13:39 
> вот что только не придумают лишь бы С не учить.

Что наглядно показывает, насколько хорош C для решения повседневных задач, не связанных с написанием драйверов, сборщиков мусора и прочего низкоуровневого добра. Ну, мы-то с вами знаем, что настоящие программисты ошибок не делают, а настоящие программы не жрут память, не сегфолтятся, не имеют уязвимостей... поэтому всё надо писать на C. А лучше сразу на LLVM IR, а то слишком высокоуровнево, не труъ.


"Увидел свет язык программирования Nim 1.0"
Отправлено Илья , 24-Сен-19 21:26 
В вот и сектанты подъехали

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 09:39 
> что позволяет добиться производительности близкой к Си, если не учитывать затраты на выполнение сборщика мусора

А если учесть, то позволяет добиться производительности близкой к Python


"Увидел свет язык программирования Nim 1.0"
Отправлено анонимумуму , 24-Сен-19 09:41 
Golang? Java?

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 16:48 
Java? Ты это серьезно?

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 12:01 
Ну лакавство же 99.9%.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним84701 , 24-Сен-19 13:56 
>> что позволяет добиться производительности близкой к Си, если не учитывать затраты на выполнение сборщика мусора
> А если учесть, то позволяет добиться производительности близкой к Python

https://nim-lang.org/docs/manual.html
> 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.

Если вы не смогли написать код без использования GC, то кто же вам виноват?


"Увидел свет язык программирования Nim 1.0"
Отправлено заминированный тапок , 24-Сен-19 15:58 
ну как бы в Nim'е при всё желании отключить GC полностью получится только на слвоах, а на деле *йтамплавал*

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним84701 , 24-Сен-19 16:21 
> ну как бы в Nim'е при всё желании отключить GC полностью получится
> только на слвоах, а на деле *йтамплавал*

Не только на словах. Просто без сторонних либ и, тем более, std - придется довольно таки грустно.
Но таки следует различать чисто ЯП и   "bundle"  ЯП c std, рантаймом и шахматессами.

Да и GC там вроде бы разные есть, окромя счетчика ссылок, есть.
*йатамтожекогдатоплавал*.


"Увидел свет язык программирования Nim 1.0"
Отправлено хрю , 24-Сен-19 09:50 
nim симпотный язык. Можно сказать один из самых симпотных и удобных. Даже отступы там можно сказать в тему. Кто интересуется языками и ещё не щупал (понятно что таких немного, но вдруг +)), настоятельно рекомендуем ознакомиться.

"Увидел свет язык программирования Nim 1.0"
Отправлено анонимумуму , 24-Сен-19 10:00 
Что-то примеры на из сайте напоминают yaml 🤢

"Увидел свет язык программирования Nim 1.0"
Отправлено хрю , 24-Сен-19 10:08 
только в типам и как будто это что-то плохое.

"Увидел свет язык программирования Nim 1.0"
Отправлено Пейтонист , 24-Сен-19 10:23 
Сразу видно опытных разработчиков - когда отступы в языке самое главное!

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 12:04 
Что не так? Исходный код должен быть воспринимаем человеком.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 16:32 
Пишите на Ruby. У него и код должен быть человечным, и отступы автоматически рубокопом расставляются.

"Увидел свет язык программирования Nim 1.0"
Отправлено заминированный тапок , 24-Сен-19 16:00 
самое обсуждаемое и важное - отступы, да. по крайней мере среди местной экспертоты :D

"Увидел свет язык программирования Nim 1.0"
Отправлено аноним3 , 24-Сен-19 19:35 
у меня даже текстовик кврайт отступы правильно ставит.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 10:31 
>Язык Nim использует статическую типизацию и создан с оглядкой на Pascal, C++, Python и Lisp

Чем это лучше, чем haxe?


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 10:54 
чем грузины.

"Увидел свет язык программирования Nim 1.0"
Отправлено Nicolas Cannasse , 24-Сен-19 13:37 
Лучше haxe ничего нет

"Увидел свет язык программирования Nim 1.0"
Отправлено funny.falcon , 24-Сен-19 10:33 
Меня напрягает регистронезависимость идентификаторов, например. Я не понимаю, зачем в современном языке устраивать эту вакханалию.

"Увидел свет язык программирования Nim 1.0"
Отправлено anonymous , 24-Сен-19 10:49 
нет там никакой регистронезависимости и не было никогда

"Увидел свет язык программирования Nim 1.0"
Отправлено burjui , 24-Сен-19 13:50 
Была, а сейчас там вообще какое-то сумасшествие:
https://nim-lang.org/docs/manual.html#lexical-analysis-ident...

В качестве преимуществ указывается то, что каждый может писать идентификаторы в любимом стиле - humpStyle или snake_style, и что не нужно запоминать их точное написание. Это правило работает и для ключевых слов: notin, notIn и not_in - одно и то же.

Не знаю, как там остальной язык, но эта часть уже очень напрягает.


"Увидел свет язык программирования Nim 1.0"
Отправлено анонимчик , 24-Сен-19 10:50 
язык.уКоторогоВСтандатнойБиблиотекеКемелНотацияИлиДругаяВычурностьНеИмеетБудущего, как альтернатива c

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 10:54 
Правильно. Главное в языке как там записаны имена функций. Это самое главное.

"Увидел свет язык программирования Nim 1.0"
Отправлено анонимчик , 24-Сен-19 12:56 
Ну это же язык

"Увидел свет язык программирования Nim 1.0"
Отправлено слакварявод , 24-Сен-19 11:11 
к 1Сникам...

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 12:11 
А мне нравится такое именование traTaTa. Оно короче на количество пробелов, чем tra_ta_ta.

PS Иногда чуть-чуть смешиваю стили именования:
Prefix_MyTypeNumberOne


"Увидел свет язык программирования Nim 1.0"
Отправлено анонимчик , 24-Сен-19 15:21 
на каком языке программируете?

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 19:13 
С++. Чуть на D попробовал.

"Увидел свет язык программирования Nim 1.0"
Отправлено Илья , 24-Сен-19 21:36 
Действительно, Java и дотнет тому подтверждение

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 10:53 
Nimнужен

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 11:21 
За 10 лет шкодинга на Python всегда использовал и пробелы, и табуляцию одновременно. И ни разу не видел проблем из-за этого. Может все потому что не поленился поставить, настроить и использовать нормальные IDE (PyScrypter, PyCharm, Geany, VisualStudioCode)?

20 пробельных символов в Unicode? - Не, не слышал. Обычно ставлю пробел - клавишей "пробел". Это всегда один и тот же символ.

Коллеги, поймите же: отступы нужны не для визуального отображения циклов и тел функций. А для борьбы с кодо-графоманством. Да-да! Вам просто приходится писать короткие строки кода из-за отступов, избегать вложенных циклов и ф-ий, выносить часть кода в функции даже тогда, когда не хочется. И это работает, причем с третьего дня - ненавязчиво.  

Регистрозависимость идентификаторов - это тоже благо. Все ключевые слова языка набираются строчными, тупо экономя вам время (3-5%). А если учесть ненужность скобок, ";" и втрое(!) меньшее кол-во ключевых слов языка - на питоне кодится в ~4 раза быстрее.  

Настоящий speedcoder никогда не жмет на Shift с буквами. Даже в тех ЯП, которые имеют ключевые слова в разном регистре (типа VBA). Это правильно, потому что опечатка тут же обнаружится. рrint или pirnt не превратится в Print, т.к. в первом слове р - кириллица, а второе слово написано с опечаткой.


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 11:29 
> нормальные IDE (... VisualStudioCode)?

Шутка засчитана.


"Увидел свет язык программирования Nim 1.0"
Отправлено НяшМяш , 24-Сен-19 12:36 
Хотя бы похожа на IDE больше, чем Geany

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 16:21 
Сейчас бы ещё всерьёз вспоминать Сцинтиллу.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 16:54 
А в чем шутка-то? В том что он на електроне написан? Так он на нем работает стабильнее, чем куча мусорных и проприетарных IDE написаных на других япах. Уже не говоря о том, что им банально удобнее пользоваться. За вебом будущее, смиритесь.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 25-Сен-19 08:59 
Рейтинг IDE, VSC в тройке. Всегда.
https://itvdn.com/ru/blog/article/cplspls-top7

"Увидел свет язык программирования Nim 1.0"
Отправлено Илья , 24-Сен-19 21:43 
> speedcoder

fast-shooter


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 11:38 
Не вижу в новости упоминания, чем очередной язык лучше того что есть и какие цели преследуют авторы этого поделия.

"Увидел свет язык программирования Nim 1.0"
Отправлено BrainFucker , 24-Сен-19 12:43 
Все такие проекты преследуют одну цель: заимствовать удачные особенности Питона (синтаксис) и сделать компилируемый аналог без его недостатков (питон медленный).

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 13:51 
Это не повод для создания нового языка. Достаточно новой редакции, как делают в C++, 11, 14,17. А так я вижу, кому то просто нечего делать. Это не плохо, тогда было бы лучше написать, мы студенты, решили запилить свое и пофиг что никому не нужно

"Увидел свет язык программирования Nim 1.0"
Отправлено alex , 24-Сен-19 14:22 
ага-ага
со второй версии на третью лет 10 -15 переходили, и то, наверное еще кто то не перешел, раз вторую еще супортят.

"Увидел свет язык программирования Nim 1.0"
Отправлено аноним3 , 24-Сен-19 19:52 
там отличия в нескольких функциях и появлении новых. че там переходить то.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним84701 , 24-Сен-19 14:02 
> Не вижу в новости упоминания, чем очередной язык

Этому "новью" уже 11 лет, если что.

>  какие цели преследуют авторы

Как обычно:
https://nim-lang.org/faq.html
> Why yet another programming language?
>  Nim is one of the very few programmable statically typed languages, and combines the speed and memory efficiency of C, an expressive syntax, memory safety and multiple target languages.

.
.
> Это не повод для создания нового языка. Достаточно новой редакции, как делают

Из "питоносинтаксиса" там разве что отступы и вроде как кортежи-словари и еще по мелочи, а вот семантика совершенно другая.
Это помимо добавления типизации, AST-макросов, шаблонов, дженериков и прочего. Самое оно для "новой редакции", угу.

>  этого поделия.

то ли дело мудрые комментарии анона на опеннете …


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 12:13 
Смотрел в его сторону, но Crystal лучше подошёл

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 12:52 
Тогда уж Elixir, если твоей задачей было использовать самый странный язык программирования.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 14:10 
> Тогда уж Elixir, если твоей задачей было использовать самый странный язык программирования.

Если бы задачей было использовать самый странный язык программирования, то я выбрал бы clojure


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 16:33 
clojure закрыт

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 19:56 
> clojure закрыт

https://github.com/clojure/clojure/

Только никому не рассказывай, это секретный репозиторий


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 16:15 
Elixir очень приятный кстати, не надо. И ничего не странный. Не уверен, где его можно применить, но я бы наверное использовал его везде вместо ноды. Во всяком случае server-side.

"Увидел свет язык программирования Nim 1.0"
Отправлено BrainFucker , 24-Сен-19 12:40 
А вообще вместо того чтобы городить Nim, можно было допилить Cython, чтобы можно было писать целиком на нём без зависимости от Питона.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 13:41 
Cython с его сегфалтами в непредсказуемых местах в принципе не может использоваться в продакшене. Вот почему такой транслятор не сделать на том же расте ума не приложу. Наверно этих самых программистов на расте не существует.

"Увидел свет язык программирования Nim 1.0"
Отправлено Mr.anon , 24-Сен-19 13:55 
https://m.youtube.com/watch?v=nJDY9ASuiLc

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 14:44 
Звучит как годнота. Надо тестить.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 12:51 
Not invented (by) me

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 13:14 
Nim это заявка на быстрый Python. Это то чего не хватает многим. Самое прогрессивное в Nim как и в Python это конечно выделение блоков отступами, что резко уменьшает количество синтаксического мусора. Это будущее всех языков. К сожалению в остальном Nim пошел по пути бесконечного добавления "вкусностей". Тот же тупиковый путь что привел C++ в монструозный хаос. Ещё недостаток Nim даже по сравнению с Python (или что-то не заметил) отсутствие "графики из коробки". Предлагается грузить сторонние дополнения отдельной сетевой утилитой "nimble". Что изрядное мозгоклюйство, целая отдельная наука. В целом похоже проект провальный :(

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 13:15 
kotlin намного лучше - адекватный ЯП и крутая бесплатная IDE
и мультиплатформеность (java, native, web)

"Увидел свет язык программирования Nim 1.0"
Отправлено anonymous , 24-Сен-19 15:40 
>и крутая бесплатная IDE

это какая?


"Увидел свет язык программирования Nim 1.0"
Отправлено Илья , 24-Сен-19 21:46 
Android studio, видимо, и intellij

"Увидел свет язык программирования Nim 1.0"
Отправлено Techno1 , 24-Сен-19 13:51 
> В дальнейшем полученный C/C++ код компилируется в исполняемый файл при помощи любого доступного компилятора

очередное wrap-ерство... тьфу.


"Увидел свет язык программирования Nim 1.0"
Отправлено user90 , 24-Сен-19 14:03 
> с оглядкой на Pascal, C++, Python и Lisp

И на логотипе там случайно не химера?

Посмотрел примеры кода - почувствовал легкую тошноту. Но легкую - это блин уже хорошо! а то как глянешь на Rust, так еле до толчка добежать успеваешь..


"Увидел свет язык программирования Nim 1.0"
Отправлено Anonymoustus , 24-Сен-19 14:41 
>> с оглядкой на Pascal, C++, Python и Lisp
> И на логотипе там случайно не химера?
> Посмотрел примеры кода - почувствовал легкую тошноту. Но легкую - это блин
> уже хорошо! а то как глянешь на Rust, так еле до
> толчка добежать успеваешь..

Заминусуют. А то и вовсе удалят. Здесь фанатики этой какашки подвизаются вахтерами и удаляют нехрустоугодные комментарии.


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 14:48 
Их финансируют те же кто проплачивают вахтерам системд.

"Увидел свет язык программирования Nim 1.0"
Отправлено user90 , 24-Сен-19 15:06 
Да пусть удаляют если хочется :) Срач по поводу ЯП всегда еще безумнее, чем даже дистросрач.

> Здесь фанатики этой какашки подвизаются вахтерами и удаляют нехрустоугодные комментарии.

Это ты зря, с модерацией пока все Ок.


"Увидел свет язык программирования Nim 1.0"
Отправлено Anonymoustus , 24-Сен-19 15:26 
> Да пусть удаляют если хочется :) Срач по поводу ЯП всегда еще
> безумнее, чем даже дистросрач.
>> Здесь фанатики этой какашки подвизаются вахтерами и удаляют нехрустоугодные комментарии.
> Это ты зря, с модерацией пока все Ок.

Удаление комментариев предопределяет наше отношение к ним и друг к другу. Я пытался донести эту простую мысль до бабок на здешней вахте, но бабки непробиваемы. :)


"Увидел свет язык программирования Nim 1.0"
Отправлено Илья , 24-Сен-19 21:51 
> Удаление комментариев предопределяет наше отношение к ним и друг к другу.

Рискну предположить, что Ваши комментарии удаляют только потому, что они токсичны, как и любые другие комментарии тут


"Увидел свет язык программирования Nim 1.0"
Отправлено Anonymoustus , 24-Сен-19 21:59 
>> Удаление комментариев предопределяет наше отношение к ним и друг к другу.
> Рискну предположить, что Ваши комментарии удаляют только потому, что они токсичны, как
> и любые другие комментарии тут

Не надо ни о чём гадать и путать причину со следствием, человек с Хабра, если уже написано прямым текстом и по-русски.


"Увидел свет язык программирования Nim 1.0"
Отправлено user90 , 24-Сен-19 15:13 
Да и вообще, какова ценность каментов на Опеннете по прошествии хотя бы недели после публикации? Примерно околонулевая, не? Можно подумать, что если взять и разом потереть ВСЕ каменты недельной давности, то это на что-то повлияет))

"Увидел свет язык программирования Nim 1.0"
Отправлено VICTOR MALOV , 24-Сен-19 17:43 
Эра новых языков прошла, а жаль. Проект интересный. Но, очевидно, никогда популярным не станет.

Даже супер-хайповый Rust такой только в Интернете. Глянул вчера количество вакансий на hh.ru, аж плакать хочется.


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 25-Сен-19 07:27 
Проблема хомяков в том, что они все оценивают по количеству вакансий. Никто не будет переводить весь штаб сотрудников на что-то новое, пока старое работает, но это не значит, что новое можно использовать как вспомогательный инструмент. И да, в какой-то момент все всегда идет по п... и только тогда работодатель в панике начинает искать альтернативы, а все потому что человечество настолько неспособно к адаптации, что я удивлен как мы вообще прошли естественный отбор.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 18:25 
Я таки пояснб мысль про отступы и их ущербность. В сишечках и прочих перлах блоки кода выделяются скобками, и в принципе, если форматирование съехало по какой-то причине, всегда можно вручную либо автоматом отформатировать исходник, опираясь на вложенность скобок.

Что делать с питоном или нимом, если пробелы уехали? Не табуляция или там где-то 2, где-то 4, где-то 8, а сами блоки кода порушены?

У меня однажды случилось такое. После чего я зарекся использовать питон в скриптах на пролакшн серверах клиентов. Кто-то что-то где-то потрогает... И адьос.


"Увидел свет язык программирования Nim 1.0"
Отправлено анонимм , 24-Сен-19 18:35 
git юзать не пробовал ?

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 19:12 
2019 год, а люди до сих пор ведут борьбу с отступами, у них постоянно что-то где-то "ломается", "едет".

Такое ощущение что я живу в параллельной реальности


"Увидел свет язык программирования Nim 1.0"
Отправлено Урри , 24-Сен-19 19:28 
2019 год, а людей все еще заставляют делать "правильные" отступы.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 21:21 
Если бы писал только внутри себя, то оно как бы ничего. Но вот я налепил скрипт на питоне, отдал его заказчику, типа склеить один процесс с другим.

Гит на сервер? Нельзя, безопасность. Скрипт в исходниках, кто-то подлез и привет. Причём это случилось через пару лет, когда никто не помнит, что там где и что там в этом скрипте было.


"Увидел свет язык программирования Nim 1.0"
Отправлено Илья , 24-Сен-19 21:57 
> безопасность

Не вижу какой-либо проблемы с безопасностью в локальном репозитории.

Перед изменением скрипта зафиксировали его состояние, и все проблемы ушли. Пушить никуда не надо.


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 25-Сен-19 00:52 
Проблема в том, что на сервер ничего нельзя прикрутить. Никаких гитов шмитов. Далее, кто-то может залезть и случайно (или специально) что-то изменить или пофиксить. И, как всегда это происходит, никаких бэкапов или гитов-шмитов...

"Увидел свет язык программирования Nim 1.0"
Отправлено ffirefox , 25-Сен-19 02:35 
Извиняюсь спросить... А пописать там выпускают?

"Увидел свет язык программирования Nim 1.0"
Отправлено Лалаллвлвлвлвл , 25-Сен-19 08:56 
Звонок для учителя

"Увидел свет язык программирования Nim 1.0"
Отправлено Илья , 27-Сен-19 06:35 
> Проблема в том, что на сервер ничего нельзя прикрутить. Никаких гитов шмитов.
> Далее, кто-то может залезть и случайно (или специально) что-то изменить или
> пофиксить. И, как всегда это происходит, никаких бэкапов или гитов-шмитов...

У вас есть проблема, вполне очевидное решение, но вы не можете его применить. Жаль вас


"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 19:41 
Отступы съезжают только от копипасты. Решение не заниматься копипастой. А профит что форматирование всегда одинаковое и никакие форматтеры не  нужны в общем случае. А не как в джаваскипт где скобочковый хел и каждый пишет кто во что горазд.

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 19:34 
Качество здешней аудитории видно по обсуждению скобочек)))

"Увидел свет язык программирования Nim 1.0"
Отправлено Аноним , 24-Сен-19 19:42 
Качество тебя определяется тем что ты тут пишешь.

"Увидел свет язык программирования Nim 1.0"
Отправлено аноним3 , 24-Сен-19 20:08 
не вижу проблемы у отступов вообще. писал скрипт в простом текстовике и даже он отступы сам выставлял при переходе на новую строку. что вы уперлись в отступы? проблема в ниме скорее в том, что он вместе с синтаксисом питона притащил сишный. по итогу получилось, что проще пользоваться сишкой чем нимом. один фиг код транслируется в сишный. вот если бы они умудрились сделать полностью питоновский стиль и при этом компилируемый в бинарь вот это можно было бы похвалить. питон ведь стал популярен из за простоты и меньшего количества кода в сравнении с теми же плюсами и другими. а так что они сделали? смешали питон с сишкой и паскалем? зачем? сделайте аналог того же раста, но с питоновским синтаксисом многие поаплодируют, но ни у кого нет желания писать компилятор способный распознавать тип применяемых переменных, как это сделано в самом питоне.короче желания понятны, но пошли не туда. решили облегчить себе жизнь портированием кода в сишку и потом компилить. это же только усложняет все.

"Увидел свет язык программирования Nim 1.0"
Отправлено Илья , 24-Сен-19 22:03 
> сделайте аналог того же раста, но с питоновским синтаксисом многие поаплодируют,

Не получится, второй раст напишете, только без скобок и с отступами

> но ни у кого нет желания писать компилятор способный распознавать тип применяемых переменных, как это сделано в самом питоне.

Либо я вас не понял, либо все языки со статической типизацией всегда знают типы всех значений на этапе компиляции (ну если мы не рассматриваем каст к object и обратно к более конкретному типу)


"Увидел свет язык программирования Nim 1.0"
Отправлено аноним3 , 24-Сен-19 23:08 
в питоне нет необходимости указывать тип переменной, например инт, в то время как в компилируемых языках требуется указание типа присваиваемой переменной еще до основного блока программы. в питон же можно легко ввести новую переменную посреди блока, перичем нет необходимости указания её типа. в этом одна из фишек питона. и создать компилятор, который сам сможет определить в исходнике этот тип  и при этом правильно определять границы вложенных блоков оказывается весьма нетривиальной задачей. а учитывая еще и динамическую типизацию, то сами понимаете, что сделать такое очень непросто. это как внести в компилятор целый эвристический анализатор.

"Увидел свет язык программирования Nim 1.0"
Отправлено meantraitor , 25-Сен-19 12:51 
Возьмем Котлин.
Вроде, компилируемый язык. Но в нем необязательно указывать тип переменной.
Тем не менее - это язык со статической типизацией. Чудеса, да и только ;)



"Увидел свет язык программирования Nim 1.0"
Отправлено аноним3 , 25-Сен-19 17:11 
но весь набор питона кто нибудь смог уместить в компилируемый язык? пока не видел. либо синтаксис аналогичный сишному, либо интерпретируемый язык.

"Увидел свет язык программирования Nim 1.0"
Отправлено Илья , 26-Сен-19 22:12 
> в питоне нет необходимости указывать тип переменной, например инт, в то время
> как в компилируемых языках требуется указание типа присваиваемой переменной еще до
> основного блока программы.

Ну пример из учебника раста:
    fn live_neighbor_count(&self, row: u32, column: u32) -> u8 { // В сигнатуре обязательны типы
        let mut count = 0;
        for delta_row in [self.height - 1, 0, 1].iter().cloned() {
            for delta_col in [self.width - 1, 0, 1].iter().cloned() {
                if delta_row == 0 && delta_col == 0 {
                    continue;
                }

                let neighbor_row = (row + delta_row) % self.height;
                let neighbor_col = (column + delta_col) % self.width;
                let idx = self.get_index(neighbor_row, neighbor_col);
                count += self.cells[idx] as u8; // Единственное явное приведение
            }
        }
        count
    }

Все объявленные переменные (я насчитал 6) имеют свой строгий тип, но он выводится неявно. То, что вы называете "эвристический анализатор" уже не менее 10 лет работает в компилируемых языках.
В дотнете то же самое, только типы выводятся через var. В джаве то же самое. В котлине то то же самое.


"Увидел свет язык программирования Nim 1.0"
Отправлено Griggorii , 24-Сен-19 20:12 
Ninja как компилятор пока самое быстрое что я видел

"Увидел свет язык программирования Nim 1.0"
Отправлено Griggorii , 25-Сен-19 05:28 
Забыл добавить на ssd. А , илита опять скакает со своими минусами вот так и работают за место реальных разработок бегают тут глазеют.