Programovanie

21 horúcich programovacích trendov - a 21 chladných

Programátori sa radi uškŕňajú do sveta módy, kde trendy vanú ako vánok. Dĺžka sukne stúpa a klesá, pigmenty prichádzajú a odchádzajú, kravaty sa stávajú tučnejšími, potom tenšími. Ale vo svete technológií vládne prísnosť, prírodoveda, matematika a presnosť.

To neznamená, že programovanie je povolanie bez trendov. Rozdiel je v tom, že trendy v programovaní sú poháňané vyššou efektivitou, zvýšeným prispôsobením a jednoduchým používaním. Nové technológie, ktoré dodávajú jednu alebo viac z nich, zakrývajú predchádzajúcu generáciu. Je to zásluhovosť, nie rozmarná okurácia.

Nasleduje zoznam toho, čo je medzi horúcimi a čo nie medzi dnešnými programátormi. Nie každý bude súhlasiť s tým, čo je na zozname A, čo na zozname D a čo bolo vynechané. To je dôvod, prečo je programovanie nekonečne fascinujúcim povolaním: rýchle zmeny, vášnivé debaty, náhle návraty.

Horúce: Predbežné procesory

Nie: Plné jazykové komíny

Nebolo to dávno, čo ľudia, ktorí vytvorili nový programovací jazyk, museli vybudovať všetko, čo zmenilo kód na bity napájané na kremík. Potom niekto prišiel na to, že môže vziať späť na prácu, ktorá prišla predtým. Ľudia so šikovnou myšlienkou teraz jednoducho napíšu preprocesor, ktorý preloží nový kód do niečoho starého s bohatou sadou knižníc a rozhraní API.

Skriptovacie jazyky ako Python alebo JavaScript sa kedysi obmedzovali na malé projekty, teraz sú však základom pre serióznu prácu. A tí, ktorým sa nepáčil JavaScript, vytvorili CoffeeScript, preprocesor, ktorý im umožňuje opäť kódovať bez nepríjemnej interpunkcie. Existujú desiatky variácií, ktoré vytvárajú predikciu a predikciu syntaxe iným spôsobom.

Ľudia, ktorí milovali dynamické písanie, vytvorili Groovy, jednoduchšiu verziu Java bez príliš nástojčivej interpunkcie. Zdá sa, že existujú desiatky jazykov - Groovy, Scala, Clojure, Kotlin atď. - ktoré bežia na JVM, ale existuje iba jeden JVM. Na VM .Net môžete tiež spustiť veľa jazykov. Prečo znovu objavovať koleso?

Horúce: Bez servera

Nie: Docker

To nie je úplne pravda. Dockerove kontajnery sú všade. Servery sa neustále točia a vypínajú kontajnery. Kontajnery Docker však sú tááák oveľa väčšie, ako musia byť.

Ak sa nad tým zamyslíte, môžete pre túto mikroslužbu, ktorú nasadzujete, napísať iba niekoľko desiatok riadkov skutočného rozhodovacieho kódu, ale na spustenie Node.js a čohokoľvek iného budete musieť hodiť niekoľko miliárd riadkov konfigurácie. správne s Dockerom. Áno, všetko je to variácia, ale to tu chýba.

Nové architektúry bez serverov nám umožňujú nasadiť iba tých pár výrokov typu „ak-potom“, ktoré robia skutočné rozhodnutia. Všetko ostatné je ponechané na ľudí, ktorí si nás prenajímajú bez serverovej platformy.

Áno, o pár rokov si budeme sťažovať na zablokovanie a nedostatok prispôsobenia, ale zatiaľ sa možnosti bez servera javia ako sladká úľava od všetkých zmien a konfigurácie.

Horúce: rámce JavaScript MV *

Nie: súbory JavaScript

Už dávno sa všetci naučili písať JavaScript, aby vyskočili výstražné okno alebo skontrolovali, či e-mailová adresa vo formulári obsahuje znak @. Aplikácie HTML AJAX sú teraz také prepracované, že len málo ľudí začína od nuly. Je jednoduchšie prijať prepracovaný rámec a napísať trochu lepiaceho kódu na implementáciu svojej obchodnej logiky.

Teraz existuje niekoľko desiatok rámcov, ako sú Kendo, Sencha, jQuery Mobile, AngularJS, Ember, Backbone, Meteor JS a mnoho ďalších. Všetky sú pripravené na spracovanie udalostí a obsahu vašich webových aplikácií a stránok.

Sú to iba webové aplikácie. Existuje tiež niekoľko produktov naladených na vývoj naprieč platformami pre svet smartfónov / tabletov. Technológie ako NativeScript, PhoneGap, Apache Cordova a React Native sú niektoré z možností na vytváranie aplikácií pomocou technológie HTML5.

Horúce: rámce CSS

Nie: všeobecné CSS

Kedysi bolo pridanie trochu pizzazzu na webovú stránku znamenať otvorenie súboru CSS a zahrnutie nového príkazu ako štýl písma: kurzíva. Potom ste uložili súbor a po náročnej rannej práci išli na obed. Teraz sú webové stránky také prepracované, že je nemožné vyplniť súbor takýmito jednoduchými príkazmi. Jedno doladenie farby a všetko vypadne z miery. Je to ako to, čo hovoria o sprisahaniach a ekológiách: Všetko je prepojené.

Tam si rámce CSS ako SASS a jeho bratranci ako Compass našli pevné základy. Podporujú gramotné a stabilné kódovanie ponúkaním programovacích konštrukcií, ako sú skutočné premenné, vnorené bloky a kombinácie. Možno to v programovej vrstve nebude znieť ako nová novinka, ale pre dizajnovú vrstvu je to veľký skok vpred.

Horúce: SVG na plátne

Nie: Flash

Flash pobláznil ľudí roky, ale umelci vždy milovali výsledky. Vyhlazovacie vykreslenie vyzerá skvele a mnoho talentovaných umelcov vytvorilo hlbokú vrstvu kódu Flash, ktorá ponúka prepracované prechody a animácie. Príležitostné hry sú naďalej veľmi populárne. Flash teda lipne na živote na webe.

Teraz, keď vrstva JavaScriptu dokáže veľa toho istého, tvorcovia a vývojári prehliadačov povzbudzujú koniec Flash. Vidia lepšiu integráciu s vrstvou DOM pochádzajúcou z nových formátov, ako je SVG (Scalable Vector Graphics). SVG a HTML tvoria jednu veľkú hromadu značiek, ktoré je pre vývojárov webu často jednoduchšie. Potom existujú veľké API, ktoré ponúkajú prepracované kreslenie na objekt Canvas, často pomocou grafických kariet. Dajte ich dokopy a zostáva vám len niekoľko dôvodov, prečo ešte používať Flash.

Horúce: Takmer veľké dáta (analýza bez Hadoop)

Nie: Veľké dáta (s Hadoop)

Každý sa rád cíti ako Veľký muž na akademickej pôde, a ak nie, hľadá kampus vhodnej veľkosti, kde by mohol vyniknúť. Nie je potom prekvapením, že keď výkonnou sadou začali prechádzať slová „veľké dáta“, obleky si začali pýtať tie najväčšie a najsilnejšie systémy veľkých dát, akoby si kupovali jachtu alebo mrakodrap.

Zábavné je, že veľa problémov nie je dosť veľkých na to, aby sa dali použiť tie najkomantickejšie riešenia veľkých dát. Spoločnosti ako Google alebo Yahoo určite sledujú všetko naše prehliadanie webu; majú dátové súbory merané v petabajtoch alebo yotabajtoch. Ale väčšina spoločností má súbory dát, ktoré sa ľahko zmestia do pamäte RAM základného počítača. Píšem to na počítači so 16 GB RAM - dosť na miliardu udalostí s hŕstkou bajtov. Vo väčšine algoritmov nie je potrebné údaje načítať do pamäte, pretože ich streamovanie z disku SSD je v poriadku.

Budú existovať prípady, ktoré budú vyžadovať rýchle časy odozvy desiatok strojov v cloudu Hadoop bežiacom paralelne, ale veľa z nich urobí jemné zapojenie na jednom stroji bez problémov s koordináciou alebo komunikáciou.

Horúce: Iskra

Nie: Hadoop

Nie je to tak, že sa Hadoop ochladzuje. Je to viac, že ​​Apache Spark je horúci, vďaka čomu vyzerá model Hadoop trochu staro. Spark si požičiava niektoré z najlepších nápadov prístupu spoločnosti Hadoop k získavaniu významu z veľkého množstva údajov a aktualizuje ich o niekoľko solídnych vylepšení, vďaka ktorým je kód oveľa, oveľa rýchlejší. Tou najväčšou môže byť spôsob, akým Spark uchováva údaje v rýchlej pamäti namiesto toho, aby vyžadoval, aby bolo všetko zapisované a čítané z distribuovaného súborového systému.

Mnoho ľudí samozrejme tieto dva procesy spája pomocou rýchlosti spracovania Sparku na dátach uložených v distribuovanom súborovom systéme Hadoop. Hadoop a Spark sú častejšie partnermi ako konkurenciou.

Horúce: Konfigurácia databázy

Nie: Softvérové ​​programovanie

Už dávno programátori žartovali, že nevedeli, ako bude programovanie vyzerať v nasledujúcom storočí, ale vedeli, že sa bude volať Fortran. Tento vtip bol taký zábavný, že spadli z dinosaurov a zlomili si drevené spodné prádlo. Potom by sa vrátili ku konfigurácii databázy.

A stále ešte budujeme databázy, ale to, čo si myslíme ako „databázu“, je teraz mnohokrát sofistikovanejšie a výkonnejšie. Bežné databázy sa budú synchronizovať naprieč kontinentmi a zároveň ponúknu flexibilný kompromis medzi konzistenciou a rýchlosťou. Niektoré cloudové služby, ako napríklad Firebase, budú úplne tlačiť nové údaje do webových aplikácií bežiacich na mobilných klientoch.

Veľká časť revolúcie bez serverov je založená na uvedomení si, že mnohé z cloudových dátových obchodov sú teraz také výkonné, že na vytvorenie skvelej webovej aplikácie stačí napísať niekoľko klauzúl „if-then-else“.

Horúce: Herné rámce

Nie: Natívny vývoj hier

Kedysi vývoj hier znamenal najatie množstva vývojárov, ktorí písali všetko do jazyka C od začiatku. Iste, stálo to bazilión dolárov, ale vyzeralo to skvele a bežalo to ako vietor. Teraz si nikto nemôže dovoliť luxus vlastného kódu. Väčšina vývojárov hier sa pred rokmi vzdala svojej hrdosti a na zostavenie svojich systémov používa knižnice ako Unity, Corona alebo LibGDX. Nepíšu C kód skôr ako pokyny pre knižnice.

Je to škoda, že naše hry nie sú vyrobené s hrdosťou, ale sú vyškrtnuté pomocou rovnakého enginu? Nie. Väčšine vývojárov sa uľavilo. Pretože sa nemusia zaoberať podrobnosťami, môžu sa sústrediť na hranie hier, oblúk rozprávania, postavy a umenie.

Horúce: Statické generátory webových stránok

Nie: Jednostránkové webové aplikácie

Pamätáte si, keď adresy URL ukazovali na webové stránky vyplnené statickým textom a obrázkami? Potom prišli dynamické jednostránkové webové aplikácie a všetky ich nahradili jednou šikovnou webovou aplikáciou, ktorá by načítala príslušné údaje. Hádaj čo? Kyvadlo sa otáča späť a všetky deti stavajú statické generátory stránok. Sú ich desiatky. Je to ako hybrid. Všetky dáta vložíte na jednu hromadu a potom napíšete kód, ktorý vloží údaje do niektorých šablón, takže pre každú statickú adresu URL bude jeden súbor HTML, ktorý pochádza z každého riadku tabuľky s údajmi.

Deti si myslia, že tieto statické stránky sú superrýchle a sú. Len im nehovorte, že staré dynamické systémy ako WordPress a Drupal fungovali takmer rovnako, a to tak, že si uchovávali pamäte cache, ktoré boli do značnej miery naplnené statickými stránkami generovanými pomocou najnovších údajov.

Horúce: GraphQL

Nie: REST

Nie je to tak, akoby bol REST mŕtvy. Je to len to, že chceme urobiť viac s API, a GraphQL je spôsob, ako to urobiť. GraphQL vráti dáta v JSON, rovnako ako REST. GraphQL začína s HTTP POST, rovnako ako mnoho REST hovorov. Je to len tak, že syntax GraphQL umožňuje zadávať veľmi zložité dotazy iba pomocou niekoľkých stlačení klávesov. To uľahčuje programátorom pýtať si presne to, čo chcú, a znižuje množstvo práce na strane servera, ktoré je potrebné vykonať, keď niekto chce trochu iné API.

Horúce: cloudové IDE

Nie: miestne IDE

Už dávno ľudia používali kompilátor príkazového riadku. Potom to niekto integroval do editora a ďalších nástrojov na vytvorenie IDE. Teraz je čas, aby IDE zatienili (ha) nástroje založené na prehliadači, ktoré vám umožňujú upravovať kód, dokonca aj kód fungujúceho systému. Ak sa vám nepáči, ako funguje WordPress, prichádza s vstavaným editorom, ktorý vám umožní meniť kód kdekoľvek. Microsoft Azure umožňuje písať kód lepidla JavaScript priamo na jeho portáli. Tieto systémy neponúkajú najlepšie ladiace prostredia a pri úprave produkčného kódu je niečo nebezpečné, ale táto myšlienka má nohy.

Môžete začať s programami AWS Cloud9, Codenvy a Mozilla’s WebIDE, ale skúmajte ďalej. Webové nástroje sú čoraz výkonnejšie. Je možné napríklad vytvoriť celý projekt veľkej analýzy údajov na webovej stránke spoločnosti Microsoft Azure. A ak začínate skúmať možnosti bez servera, rýchlo prídete na to, že celý svoj kód môžete napísať vo forme prvku na webovú stránku. Taký, ktorý nie je oveľa väčší ako formulár, ktorý používate na aktualizáciu svojich priateľov na Facebooku.

Horúce: GPU

Nie: CPU

Keď bol softvér jednoduchý a pokyny boli usporiadané do pekných riadkov, CPU bolo kráľom počítača, pretože vykonával všetky ťažké práce. Teraz, keď sú videohry plné rozsiahlych grafických rutín, ktoré môžu bežať paralelne, spustí šou grafická karta. Je ľahké minúť 500, 600 alebo viac dolárov na efektnú grafickú kartu a niektorí vážni hráči používajú viac ako jednu. To je viac ako dvojnásobok ceny mnohých základných počítačov.

Hráči navyše nie sú jediní, ktorí sa chvália svojimi kartami GPU. Počítačoví vedci v súčasnosti prevádzajú mnoho paralelných aplikácií tak, aby na nich bežali stokrát rýchlejšie na GPU. Vedci v oblasti dát používajú servery plné GPU na urýchlenie vývoja svojich modelov strojového učenia.

Horúce: GitHub

Nie: životopisy

Iste by ste sa o kandidátovi mohli dozvedieť prečítaním nafúkaného zoznamu úspechov, medzi ktoré patrí aj viceprezident juniorského šachového klubu. Čítanie niekoho kódu je však oveľa bohatšie a poučnejšie. Píšu dobré komentáre? Strácajú príliš veľa času rozbíjaním predmetov na malé triedy, ktoré robia málo? Existuje skutočná architektúra s priestorom na rozširovanie? Na všetky tieto otázky možno odpovedať letmým pohľadom na ich kód.

Preto je účasť na projektoch otvoreného zdroja pre hľadanie práce čoraz dôležitejšia. Zdieľanie kódu z proprietárneho projektu je náročné, ale otvorený zdrojový kód môže ísť všade.

$config[zx-auto] not found$config[zx-overlay] not found