1. O čem bude tento blog

Ilustrační obrázek k článku: O čem bude tento blog
Tento blog bude o tom, jak se stát kreativním programátorem. Kreativním programátorem myslím takového, který dokáže vytvořit zcela nové, nikde nepublikované programátorské algoritmy a konstrukce.

Dnes si mnoho programátorů klade otázky typu: Jaká je budoucnost programování v éře, kdy AI (např. Copilot) převezme většinu rutinních úloh? Budou programátoři za 5 let vůbec potřební? Jak se můžeme odlišit, když většina kódu bude rutině generována umělou inteligencí?

Klíčem je, že AI zvládne jen rutinní úkoly (t.j. dle naučených vzorů). Pokud chcete být žádaný (a dobře placený) vývojář, tak Vy takto rutině postupovat nemůžete. AI zvládne rutinní úlohy efektivněji než my. Musíte se odlišit tím, že budete schopni něco, co AI nedokáže. A klíčem k odlišení od AI je právě kreativita.

Všelijakých knih o kreativitě (i v programování) existuje celá řada. Ovšem většinou jsou hodně teoretické. Já preferuji trochu jiný přístup. Pokud chcete takovýto přístup k programování ostatní naučit, tak jej podle mne musíte umět i prakticky předvést. Proto, kromě teoretického přístupu jak programovat kreativně, v tomto blogu najdete i desítky zcela nových, originálních, do této doby nepublikovaných programátorských konstrukcí. A protože jsem především fullstack vývojář budou převážně z PHP, JS a CSS.

Lampička, převod z .OBJ
čisté CSS bez JS

Jakými kreativními příklady začít?

Jako první se podívám na CSS, konkrétně jeho podmnožinu CSS 3D. Proč? 3D dokáže na stránce zaujmout mnoho návštěvníků, ale prohlížeče zatím nemají nativní podporu pro zobrazení 3D modelů (FBX, OBJ, 3MF, STL, atd...) a pokud chceme nějaký takovýto formát zobrazit je potřeba nahrávat rozsáhlé JS knihovny. Já zkusím takovouto podporu do prohlížečů doplnit.

Což na první pohled vypadá jako bych chtěl prohlížeče naučit zobrazovat 3D formáty a vypadá to spíše jako výzva pro tvůrce prohlížeče. Ovšem my si ukážeme, že to lze dosáhnout pomocí stávajících CSS technologií, bez zásahů do prohlížeče, pouhou konverzí 3D scény do CSS.

Prvotním cílem je vytvořit převodník, který vygeneruje zobrazitelný soubor s 3D scénou tak, aby šel vložit do stránky stejně jednoduše jako se vkládá obrázek, video, nebo jiné médium. Ve stránce by toto zobrazení samozřejmě mělo umožňovat uživatelské otáčení a to i bez JS. Cílem je, aby takovýto fragment HTML šel vložit třeba přes TinyMCE, poslat mailem atd...

Zní to náročně, protože za více než 10 let existence CSS 3D nikdo nic takového nevytvořil. Navíc, pokud opravdu ovládáte CSS, napadnou vás hned důvody, proč to není možné - od problémů s umístěním libovolného polygonu do 3D prostoru pomocí CSS, až po fakt, že CSS nemá žádné prostředky pro ukládání stavu. Kam v CSS například při prohlížení scény uložit hodnotu rotace okolo jedné osy a následně ji kombinovat s rotací okolo druhé osy?

Problém tedy vyžaduje vyřešit zatím nezodpovězené otázky a je tedy dobrým kandidátem na čem kreativitu předvést.

Kostka - animace, možnost expanze
čisté CSS, bez JS

Pokusil se někdo o něco podobného?

Existuje malý scriptík obj-to-html na GitHub, ale ten podporuje jen objekty z trojúhelníků. Navíc mám dojem, že sám autor svému projektu nevěří.

Připraveni na kreativní programování?

Bude jednoduchý převod z *.OBJ do .CSS všechno čím se v tomto blogu budeme zabývat? To určitě ne, ještě více kreativní přístup k programování si ukážeme na PHP a JS, kterým toto CSS vygenerujeme.

Pokud Vás téma zaujalo, přihlaste se k odběru a těšte se na další kapitoly, ve kterých budeme krok za krokem objevovat nové techniky a postupy, až se Vám tento přístup stane vlastním a stanete se skutečně kreativním programátorem!

  Následující

Diskuze

Floda
První :-)
BLOG@RM5.CZ
Ok :-)