Николай Цветинов е професионален web (и не само) програмист от повече от 12 години. Част от elixir-lang.bg и TransportAPI. Написал книгата „Learning Reactive Programming with Java 8“ и създател на реактивните библиотеки ProAct.js (JavaScript) и Reacto (Ruby). Един от преподавателите в курса по Elixir във ФМИ. На събитието на 17 май „Reactive programming: Защо да изберем Elixir?“ Николай ще разкаже какво значи реактивно програмиране и какво е мястото на Elixir/Erlang в този контекст. Сега той разказва какво е предимството на Elixir.

Как започна да се занимаваш с Reactive Programming?

Преди 9 години работих над един проект – Sophie 2 в Astea Solutions. Имахме за лидер Мило Средков, един от най-умните хора, които познавам. Той разработи библиотека, която при промяна на дадена част от програмата, променяше други части, които се интересуват от нея. Видя ми се правилното поведение, по принцип, за една програма. И аз работих доста над тази библиотека, тя беше на JAVA. След дадено време видях въздигането на така-нареченото FRP и ми се стори различно, но и подобно.

Какво те вдъхновява в работата ти?

Когато видя нещо, над което съм работил, да се ползва от хора се чувствам щастлив.

Какво е Elixir?

Както Joe Armstrong, създател на Erlang, казва – конкурентно-ориентиран език за програмиране.

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

Има много предимства. В контекста на тези въпроси – не ни трябват библиотеки за реактивно програмиране. Реактивното програмиране го има в други езици, за да улесни/реши проблеми, които съществуват поради техните ограничения. В Еликсир повечето такива проблеми ги няма. Говоря за лесен начин за постигане на асинхронна комуникация. Или човешки начин да имаш конкурентно изпълнение на логика.



 

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

Reactive microservices
with Spring 5: WebFlux


 

Кое e най-голямото предизвикателство в работата ти, с което си се сблъсквал? 

Не мога да кажа за най-голямо. Във всички места, на които съм работил повече от 1/2 година е имало предизвикателства. Честно казано, кодът е хубаво нещо, в него няма големи изненади. Хората, с които се е налагало да работя в дадени периоди от време са били предизвикателства за мен.

Как се справяш с това?

Винаги съм се опитвал да подобря мястото, на което работя. Не винаги се е получавало. Докато има търсене в индустрията и ако не можеш да промениш към по-добро мястото, на което работиш – сменяш го. Ако можеш да го промениш – чудесно. Ако няма нужда от промени – идеално.

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

Да не се водят от buzz и hype понятия. Реактивното програмиране е проста концепция, около която има библиотеки и езици – някои от тях твърде сложни. Програми разделени на компоненти, които се нотифицират при промяна на състоянието, могат да се напишат и без такива библиотеки. Да видят дали им трябва за нещо, да видят дали според тях това е правилният начин, да видят дали има смисъл в техния случай.

Не трябва да ползваш/правиш нещо, само защото е модерно. Да разгледат Erlang или Elixir. Elixir става модерен, но не съм му фен заради това.

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

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

Прочети още:
„Основната работа на всеки един лидер е да стане излишен“ – Веско Колев, Director Software Engineering, Progress
Най-популярното от света на изкуствения интелект #Week 1

Share This