Виктор Кирилов е C++ експерт с повече от 6 години професионален опит в индустрии като гейминг (Gameloft) и визуални ефекти (ChaosGroup). Водил е лекции на международни конференции като: CppCon, MeetingC++, C++Russia, code::dive и други. Създател на най-бързата за компилация и изпълнение библиотека за писане на тестове за C++. С него ще ви срещнем на събитието Nim: a language with full support for hot code-reloading на 27-ми февруари. Преди това, Виктор ни сподели за първия си досег с Nim и какво му харесва в работата си с езика.

Какъв беше първият ти досег с Nim?

Захари Караджов е един мой приятел, който работи по езика от години и в компанията ни често ставаше дума за Ним. След като направих нещо като REPL за C++ на него му хрумна, че това може да бъде направено кадърно в самия компилатор на Ним и ме препоръча за разработката на тази функционалност към езика. Та октомври 2018-та седнах да уча и езика, защото компилаторът му е написан на самия него! Имаше доста моменти на „ама защо това е толкова лесно на този език“ и честно казано вече гледам на C++ с други очи.

Какви са предимствата на Nim?

Много елегантен и четим код, статично типизиране, максимално бързо действие, високо ниво на абстракция и възможността за автоматично менажиране на памет (Garbage Collection). Когато тези неща са на лице имаме език който е добър избор за почти всякакъв тип софтуер – от системно програмиране с максимална производимост до приложения със сложна бизнес логика, та дори и за уеб (езикът се компилира дори до JavaScript). Също така е лесно да се преизползва C и C++ код тъй като Ним се компилира до тях когато целта е изпълним файл.


 

Събитие на фокус:

 Architecture overview of NativeScript

 

 


Какво ти харесва в работата с езика?

Всичко става много елегантно – иска се малко код за изразяването на сложни идеи и няма нужда от изписването на много „boilerplate“. Също така фактът, че се компилира до C/C++ го прави много бърз за изпълнение, та изборът да се пише на Ним не върви ръка за ръка с лимитацията да не се пишат програми с висока производителност (както например е за Java или скриптовите езици). Има и някои значителни разлики с други езици, та човек започва да гледа по малко по-различен начин на разработката на софтуер – „ето какво можело да бъде“.

Ще споделиш ли трите най-важни неща, които ИТ обществото може да научи от темата на предстоящата ти презентация?

Ще се запознаем накратко с езика и ще погледнем в перспектива защо се появяват нови езици – Ним не е просто прищявката на някой индивидуалист, ами има истински инженерни аргументи защо този инструмент е по-добър от другите. Ще сравним езикът и с Rust, D и Jai. Също ще стане дума за изпълними файлове, споделени библиотеки, тяхното презареждане по време на изпълнение, адресното пространство и адреси в паметта!

Какво би посъветвал всички, които сега започват да се занимават с Nim?

Да споделят за него навсякъде! Да имат едно наум, че документацията на езика все още не е перфектна, както и че езикът още се развива (скоро се очаква да заковат версия 1.0 и евентуално да няма повече драстични промени които да чупят кодът на потребителите). Също така най-адекватният начин за учене на който и да е език е с някакъв реален проблем за решаване, а не само да се чете на теория за конструкциите на езика.


Регистрирай се за събитието


Стани част от потребителска група C, C++. Абонирай се и ще ти изпращаме информация за всичко, което предстои в групата.

Визия: Личен архив

Прочети още:
Слави Боянов: В повечето случаи трудността идва от бизнеса, в който оперираш
Костадин Петков: С++ ми предоставя необходимия контрол и производителност

Share This