Programování

21 horkých trendů v programování - a 21 chladných

Programátoři se rádi posmívají světu módy, kde trendy proudí jako vánek. Délky sukně stoupají a klesají, pigmenty přicházejí a odcházejí, kravaty jsou tlustší a pak tenčí. Ale ve světě technologií vládne nad módou přísnost, věda, matematika a přesnost.

To neznamená, že programování je povolání bez trendů. Rozdíl je v tom, že trendy v programování jsou poháněny vyšší účinností, zvýšeným přizpůsobením a snadným použitím. Nové technologie, které dodávají jednu nebo více z nich, zatmějí předchozí generaci. Je to meritokracie, ne rozmarná okurace.

Následuje seznam toho, co je mezi dnešními programátory horké a co ne. Ne každý bude souhlasit s tím, co je na seznamu A, co na seznamu D a co bylo vynecháno. Díky tomu je programování nekonečně fascinující profesí: rychlé změny, vášnivé debaty, náhlé návraty.

Hot: Preprocesory

Ne: Plné jazykové sady

Nebylo to dávno, co lidé, kteří vytvořili nový programovací jazyk, museli postavit vše, co proměnilo kód na bity přiváděné do křemíku. Pak někdo přišel na to, že se mohou vrátit k práci, která přišla předtím. Nyní lidé s chytrým nápadem jednoduše napíšou preprocesor, který převede nový kód na něco starého s bohatou sadou knihoven a API.

Skriptovací jazyky jako Python nebo JavaScript byly kdysi omezeny na malé projekty, ale nyní jsou základem pro seriózní práci. A ti, kteří neměli rádi JavaScript, vytvořili CoffeeScript, preprocesor, který jim umožňuje kódovat, opět bez otravné interpunkce. Existují desítky variací, které přednastavují a predikují syntaxi jiným způsobem.

Lidé, kteří milovali dynamické psaní, vytvořili Groovy, jednodušší verzi Javy bez příliš naléhavé interpunkce. Zdá se, že existují desítky jazyků - Groovy, Scala, Clojure, Kotlin atd. - které běží na JVM, ale existuje pouze jeden JVM. Na VM .Net můžete provozovat také mnoho jazyků. Proč znovu objevit kolo?

Hot: Serverless

Ne: Docker

To není úplně pravda. Kontejnery Docker jsou všude. Servery se neustále točí a vypínají kontejnery. Kontejnery Docker však jsou tááák mnohem větší, než musí být.

Pokud o tom přemýšlíte, můžete napsat jen několik desítek řádků skutečného rozhodovacího kódu pro tuto mikroslužbu, kterou nasazujete, ale budete muset hodit bazilionové řádky konfigurace, aby Node.js a cokoli jiného začalo správně s Dockerem. Ano, všechno je to základ, ale to postrádá smysl.

Nové architektury bez serveru nám umožňují nasadit jen těch pár příkazů typu „if-then-else“, které činí skutečná rozhodnutí. Všechno ostatní je ponecháno na lidech, kteří nám pronajímají platformu bez serveru.

Ano, za několik let si budeme stěžovat na zablokování a nedostatek přizpůsobení, ale prozatím se možnosti bez serveru zdají jako sladká úleva od všech devops a konfigurace.

Hot: JavaScript MV * frameworks

Ne: soubory JavaScript

Už dávno se každý naučil psát JavaScript, aby vyskočil výstražné pole nebo zkontroloval, zda e-mailová adresa ve formuláři obsahuje znak @. Aplikace HTML AJAX jsou nyní tak propracované, že jen málo lidí začíná od nuly. Je jednodušší přijmout propracovaný rámec a napsat trochu kódu pro implementaci vaší obchodní logiky.

Nyní existují desítky rámců, jako jsou Kendo, Sencha, jQuery Mobile, AngularJS, Ember, Backbone, Meteor JS a mnoho dalších, všechny připravené zvládnout události a obsah vašich webových aplikací a stránek.

Jedná se pouze o webové aplikace. Existuje také řada naladěná tak, aby nabízela vývoj napříč platformami pro svět smartphonů / tabletů. Technologie jako NativeScript, PhoneGap, Apache Cordova a React Native jsou některé z možností pro vytváření aplikací z technologie HTML5.

Hot: CSS frameworks

Ne: Obecné CSS

Kdysi bylo přidání trochu pizzazzu na webovou stránku znamenat otevření souboru CSS a přidání nového příkazu jako styl písma: kurzíva. Poté jste soubor uložili a po náročné ranní práci jste šli na oběd. Nyní jsou webové stránky tak propracované, že je nemožné vyplnit soubor takovými jednoduchými příkazy. Jediné vyladění barvy a všechno zmizí. Je to jako to, co říkají o spiknutích a ekologiích: Všechno je vzájemně propojeno.

To je místo, kde rámce CSS jako SASS a jeho bratranci jako Compass našli pevné základy. Podporují gramotné a stabilní kódování tím, že nabízejí programovací konstrukce, jako jsou skutečné proměnné, vnořené bloky a kombinace. Možná to v programovací vrstvě nezní jako nová novinka, ale pro designovou vrstvu je to velký skok vpřed.

Horký: SVG na plátně

Ne: Flash

Flash už léta pobláznil lidi, ale umělci vždy milovali výsledky. Vyhlazené vykreslení vypadá skvěle a mnoho talentovaných umělců vytvořilo hlubokou hromadu kódu Flash, aby nabídlo propracované přechody a animace. Neformální hry jsou i nadále velmi populární. Flash tedy lpí na životě na webu.

Nyní, když vrstva JavaScriptu dokáže mnoho z toho samého, tvůrci a vývojáři prohlížečů fandí konci Flash. Vidí lepší integraci s vrstvou DOM pocházející z nových formátů, jako je SVG (Scalable Vector Graphics). SVG a HTML tvoří jednu velkou hromadu značek, které je pro webové vývojáře často snazší použít. Pak existují velká API, která nabízejí komplikované kreslení na objekt Canvas, často pomocí grafických karet. Dejte je dohromady a zbývá vám několik důvodů, proč Flash ještě používat.

Hot: Téměř velká data (analýza bez Hadoop)

Ne: Velká data (s Hadoop)

Každý se rád cítí jako velký muž na akademické půdě, a pokud ne, hledá kampus vhodné velikosti, kde by mohl vyniknout. Není tedy žádným překvapením, že když výkonnou sadou začala protékat slova „velká data“, obleky začaly požadovat největší a nejvýkonnější systémy velkých dat, jako by kupovaly jachtu nebo mrakodrap.

Zábavné je, že mnoho problémů není dost velkých na to, abychom mohli používat ta nejúžasnější řešení pro velká data. Jistě, společnosti jako Google nebo Yahoo sledují veškeré naše procházení webu; mají datové soubory měřené v petabajtech nebo yottabytech. Ale většina společností má datové sady, které se snadno vejdou do RAM základního počítače. Píšu to na PC s 16 GB RAM - dost na miliardu událostí s hrstkou bytů. Ve většině algoritmů není nutné data číst do paměti, protože jejich streamování ze SSD je v pořádku.

Budou existovat případy, které vyžadují rychlé doby odezvy desítek strojů v cloudu Hadoop běžícím paralelně, ale mnoho z nich zvládne jemné připojení na jednom počítači bez potíží s koordinací nebo komunikací.

Hot: Spark

Ne: Hadoop

Není to tak, že se Hadoop ochladí. Je to víc toho, že Apache Spark je žhavý, takže model Hadoop vypadá trochu starý. Spark si půjčuje některé z nejlepších nápadů Hadoopova přístupu k extrakci významu z velkých objemů dat a aktualizuje je o několik solidních vylepšení, díky nimž běží kód mnohem, mnohem rychleji. Největší může být způsob, jakým Spark uchovává data v rychlé paměti, místo aby bylo nutné vše zapisovat a číst z distribuovaného systému souborů.

Samozřejmě mnoho lidí spojuje tyto dva pomocí rychlosti zpracování Sparku na datech uložených v distribuovaném systému souborů Hadoop. Hadoop a Spark jsou častěji partnery než konkurenti.

Hot: Konfigurace databáze

Ne: Softwarové programování

Programátoři už dávno vtipkovali, že nevěděli, jak bude vypadat programování v příštím století, ale věděli, že se bude jmenovat Fortran. Tento vtip byl tak zábavný, že spadli z dinosaurů a rozbili si dřevěné spodní prádlo. Pak by se vrátili ke konfiguraci databáze.

A stále ještě vytváříme databáze, ale to, co považujeme za „databázi“, je nyní mnohokrát propracovanější a výkonnější. Klasické databáze se synchronizují napříč kontinenty a nabízejí flexibilní kompromis mezi konzistencí a rychlostí. Některé cloudové služby, jako je Firebase, budou posílat nová data až do webových aplikací běžících na mobilních klientech.

Velká část revoluce bez serveru je založena na poznání, že mnoho cloudových datových obchodů je nyní tak výkonných, že k vytvoření hezké webové aplikace stačí napsat několik klauzulí if-then-else.

Hot: Herní rámce

Ne: Nativní vývoj her

Vývoj her kdysi znamenal najímání spousty vývojářů, kteří psali vše v C od nuly. Jistě, stálo to bazilion dolarů, ale vypadalo to skvěle a běželo to jako vítr. Nyní si nikdo nemůže dovolit luxus vlastního kódu. Většina vývojářů her se před lety vzdala své hrdosti a k ​​budování svých systémů používá knihovny jako Unity, Corona nebo LibGDX. Nepíšou C kód tolik jako pokyny pro knihovny.

Je škoda, že naše hry nejsou vyráběny s hrdostí, ale jsou vyřazovány pomocí stejného enginu? Ani náhodou. Většině vývojářů se ulevilo. Protože se nemusí zabývat podrobnostmi, mohou se soustředit na hru, narativní oblouk, postavy a umění.

Populární: Statické generátory webových stránek

Ne: Jednostránkové webové aplikace

Pamatujete si, když adresy URL ukazovaly na webové stránky plné statického textu a obrázků? Pak přišly dynamické jednostránkové webové aplikace a všechny je nahradily jednou chytrou webovou aplikací, která načte příslušná data. Hádej co? Kyvadlo se otáčí zpět a všechny děti staví statické generátory stránek. Jsou jich desítky. Je to jako hybrid. Vložíte všechna data na jednu hromádku a poté napíšete nějaký kód, který vloží data do některých šablon, takže pro každou statickou adresu URL bude jeden soubor HTML, který pochází z každého řádku v tabulce dat.

Děti si myslí, že tyto statické stránky jsou superrychlé a jsou. Jen jim neříkejte, že staré dynamické systémy, jako jsou WordPress a Drupal, fungovaly stejně, udržováním mezipamětí, které byly do značné míry vyplněny statickými stránkami generovanými nejnovějšími daty.

Hot: GraphQL

Ne: REST

Není to, jako by REST byl mrtvý. Jde jen o to, že chceme s API udělat více, a GraphQL je způsob, jak to udělat. GraphQL vrací data v JSON, stejně jako REST. GraphQL začíná HTTP POST, stejně jako mnoho volání REST. Jde jen o to, že syntaxe GraphQL umožňuje specifikovat velmi složité dotazy pouze s několika stisknutími kláves. Díky tomu je programátorům snazší požádat o to, co chtějí, a snižuje množství práce na straně serveru, kterou je třeba provést, když někdo chce trochu jiné API.

Hot: Cloud IDE

Ne: Místní IDE

Před dlouhou dobou lidé používali kompilátor příkazového řádku. Pak to někdo integroval do editoru a dalších nástrojů k vytvoření IDE. Nyní je čas, aby bylo IDE zastíněno (ha) nástroji založenými na prohlížeči, které vám umožní upravit kód, dokonce i kód fungujícího systému. Pokud se vám nelíbí, jak WordPress funguje, přichází s vestavěným editorem, který vám umožní změnit kód hned a tam. Microsoft Azure vám umožňuje psát kód lepidla JavaScript přímo na jeho portálu. Tyto systémy nenabízejí nejlepší ladicí prostředí a úpravy produkčního kódu mají něco nebezpečného, ​​ale tato myšlenka má své nohy.

Můžete začít s AWS Cloud9, Codenvy a Webem Mozilly, ale zkoumat dál. Webové nástroje jsou stále výkonnější. Je možné například vytvořit celý projekt velké analýzy dat na webu Azure společnosti Microsoft. A pokud začínáte zkoumat možnosti bez serveru, rychle zjistíte, že můžete celý svůj kód napsat na webovou stránku ve formě formuláře. Jeden, který není o moc větší než forma, kterou používáte k aktualizaci svých přátel na Facebooku.

Hot: GPU

Ne: CPU

Když byl software jednoduchý a pokyny byly uspořádány v pěkné linii, CPU bylo králem počítače, protože zvládal všechny těžké práce. Nyní, když jsou videohry naplněny rozsáhlými grafickými rutinami, které lze spustit paralelně, spustí grafickou kartu show. Je snadné utratit 500, 600 nebo více dolarů za luxusní grafickou kartu a někteří vážní hráči používají více než jednu. To je více než dvojnásobek ceny mnoha základních desktopů.

Hráči navíc nejsou jediní, kdo se chlubí kartami GPU. Počítačoví vědci nyní převádějí mnoho paralelních aplikací, aby na GPU běžely stokrát rychleji. A datoví vědci používají servery plné GPU k urychlení vývoje svých modelů strojového učení.

Hot: GitHub

Ne: Životopisy

Určitě byste se o kandidátovi mohli dozvědět přečtením nafoukaného seznamu úspěchů, který zahrnuje viceprezidenta juniorského šachového klubu. Čtení něčího skutečného kódu je však mnohem bohatší a poučnější. Píšou dobré komentáře? Ztrácejí příliš mnoho času rozdělováním předmětů do malých tříd, které dělají málo? Existuje skutečná architektura s prostorem pro expanzi? Na všechny tyto otázky lze odpovědět letmým pohledem na jejich kód.

Proto je účast na projektech s otevřeným zdrojovým kódem pro hledání zaměstnání stále důležitější. Sdílení kódu z proprietárního projektu je těžké, ale otevřený zdrojový kód může jít kamkoli.