Efficient as C, Expressive as Python, Elegant as Lisp. В этом выпуске вместе с Гавром мы разбираемся с лучшим языком программирования – Nim. В первой части мы разбираем основную философию и концепции языка, оставив на будущее продвинутые возможности, экосистему и применение в продакшне.

Поддержи лучший подкаст про IT:
www.patreon.com/podlodka

Также ждем вас, ваши лайки, репосты и комменты в мессенджерах и соцсетях!

Telegram-чат: https://t.me/podlodka
Telegram-канал: https://t.me/podlodkanews
Страница в Facebook: www.facebook.com/podlodkacast/
Twitter-аккаунт: https://twitter.com/PodlodkaPodcast

Ведущие в выпуске:
Евгений Кателла, Катя Петрова, Егор Толстой

Полезные ссылки:
Сайт языка
https://nim-lang.org/

Zen of nim (Видео: https://www.youtube.com/watch?v=D_G9h7DcIqM&feature=youtu.be
и статья: https://nim-lang.org/blog/2021/11/15/zen-of-nim.html — основные идеи заложенные автором в язык)

StrictFuncs
https://nim-lang.org/docs/manual_experimental.html#strict-funcs (контроль за неизменяемостью ссылочных типов)

Method
https://nim-by-example.github.io/oop/ (пример ООП на котятах)

Блог про поддержку ООП в Nim
http://goran.krampe.se/2014/10/29/nim-and-oo/ (там еще 5 частей: http://goran.krampe.se/category/oop/)

Tuples(Структурная типизация)
https://nim-lang.org/docs/tut1.html#advanced-types-tuples

Pipe оператор F#
https://riptutorial.com/fsharp/example/14158/pipe-forward-and-backward

Array2 Rescript(pipe first), оптимизированная для пайп оператора копия Array в STD
https://rescript-lang.org/docs/manual/latest/api/js/array-2

Effect System
https://nim-lang.org/docs/manual.html#effect-system

Static(выполнение кода на этапе компиляции)
https://nim-lang.org/docs/manual.html#statements-and-expressions-static-statementslashexpression

When(static if)
https://nim-lang.org/docs/manual.html#statements-and-expressions-when-statement

CTFE уязвимость Rust (получение ssh ключа при открытии кода в редакторе)
https://habr.com/ru/news/t/557598/

Distinct типы(создание копии типа не совместимого с исходником)
https://nim-by-example.github.io/types/distinct/

Convertors (неявные преобразователи типов)
https://nim-lang.org/docs/manual.html#converters

Подробная документация и гайды по языку
https://nim-lang.org/documentation.html

Обучающий трек по Nim
https://exercism.org/tracks/nim

Twitter Mentions