Týždeň 2021-03

Minulý týždeň sa udiala zaujímavá udalosť, vo svete open-source ale takých bude časom pribúdať. Podstata je, že firma Elastic NV, ktorá vyvíja software Elasticsearch, sa rozhodla zmeniť jeho open-source licenciu tak, aby neumožňovala jeho použitie cloud providerom, ktorí s ňou nemajú podpísanú zmluvu o spolupráci.


Toto je sprievodná diskusia k pôvodnej téme na https://blog.vyvojari.dev/vlko-week-2021-03/

Práve preto mohol vzniknúť dynamický mapper pre Rust.

Rustom si aj zaoberal viac, ci je to len zaujimavost?

Ja som ho preluskal v prvej vlne Corony a po prvotnej flustracii a zlamanych prstoch si ho nemozem vynachvalit, prinasa vela zuajimavych konceptov (aj ked interne utf-8 stringy su skor na skodu).

Vizuálna bodka na záver bude o tom, keď sa ku vášmu vypiplanému produktu dostanú normálni ľudia.

:+1:

Rust sledujem, pretoze je dost mozne, ze sa stane nastupcom C++ v takom tom core vyvoji. Ale zatial som nic neprogramoval, ani vlastne neviem co, momentalne ma bavia IoT zariadenia a tam si vystacim s jednoduchym C++ na strane zariadenia a zberanie dat uz poriesis v C# na rasbperry.

C++ ma zazite miesto, napriek svojim nevyhodam, myslim, ze tak skoro neodide.
Ja Rust odporucam si vyskusat kvoli zaujimavym konceptom (sparava pamete, proceduralne makra - podobne ako sotrce generatori, len tu sli dalej a plne nimi nahradili reflexiu, dobre sa v nom pise aplikacna logika,…). Ono ked nic ine, tak to poskytne novy pohlad na niektore problemy. Mne podobne pomohol Haskell lepsie rozumiet C#.

S IoT som sa aj ja hral, ale Rust je v tomto smere taky… Ak mas zariadenie typu Arduino, tak Rust bude len zmesou unsafe kodu a o plno vyhod prides, pricom najlepsie sa v pren pise v C. Rust sa skor hodi pre dosky, kde je uz aspon ARM procesor a nejaka rozumna pamet (Podla mna idelany pre ARM Cortex-y alebo RPi dosky).

A co v nom spravit? Ja som si ho skusal na nejakych cli utilitkach, nejake REST API, WebSocketovy server,… Ale len som sa hral.

No ked ta bavi IoT, co tak si v nom spravit nejaky MQTT broker, co bude mat nejake funkcie naviac?

Este k pouzitiu Rust-u, uz davnejsie som si skusal GitHub - rustwasm/wasm-bindgen: Facilitating high-level interactions between Wasm modules and JavaScript je to nastroj, ktory zoberie Rust-ovske oanotovane struktury, metody a funkcie a vypluje NPM balicek so skompilovanym WebAssembly, interop javascript kodom a typovimi definiciami pre TS.

Celkom zaujimava moznost, ako tvorit kniznice pre browser, ma to relativne maly overhead, cca 60kB wasm kodu.