Ohjelmointi

21 kuumaa ohjelmointitrendiä ja 21 menossa kylmäksi

Ohjelmoijat rakastavat pilkata muotimaailmaa, jossa trendit puhaltavat kuin tuulet. Hameiden pituudet nousevat ja laskevat, pigmentit tulevat ja menevät, siteet paksummat, sitten ohuemmat. Mutta tekniikan maailmassa tarkkuus, tiede, matematiikka ja tarkkuus hallitsevat villitystä.

Tämä ei tarkoita sitä, että ohjelmointi on ammatti, josta puuttuu suuntauksia. Erona on, että ohjelmointitrendejä ohjaa parempi tehokkuus, lisääntynyt räätälöinti ja helppokäyttöisyys. Uudet tekniikat, jotka tuottavat yhden tai useamman näistä, peittävät edellisen sukupolven. Se on meritokratiaa, ei mielikuvitusta.

Seuraavassa on luettelo nykypäivän ohjelmoijista. Kaikki eivät ole samaa mieltä siitä, mikä on A-luettelossa, mikä on D-luettelossa ja mikä on jätetty pois. Se tekee ohjelmoinnista loputtoman kiehtovan ammatin: nopeat muutokset, kiihkeä keskustelu, äkilliset paluut.

Kuuma: Esiprosessorit

Ei: Koko kielipinot

Ei ollut kauan sitten, että uuden ohjelmointikielen luoneet ihmiset joutuivat rakentamaan kaiken, mikä muutti koodin piille syötetyiksi biteiksi. Sitten joku tajusi, että he voisivat kiinnittää itsensä aikaisempaan työhön. Nyt älykkään idean omaavat ihmiset kirjoittavat yksinkertaisesti esiprosessorin, joka muuntaa uuden koodin vanhaksi ja sisältää runsaasti kirjastoja ja sovellusliittymiä.

Komentosarjakielet, kuten Python tai JavaScript, rajoitettiin aikoinaan pieniin projekteihin, mutta nyt ne ovat perusta vakavalle työlle. Ja ne, jotka eivät pitäneet Javascriptista, loivat CoffeeScriptin, esiprosessorin, jonka avulla he voivat koodata uudelleen ilman raskaita välimerkkejä. On olemassa kymmeniä muunnelmia, jotka ennakoivat ja ennustavat syntaksin eri tavalla.

Dynaamista konekirjoitusta rakastaneet ihmiset loivat Groovyn, yksinkertaisemman Java-version ilman liian vaativia välimerkkejä. JVM: ssä näyttää olevan kymmeniä kieliä - Groovy, Scala, Clojure, Kotlin jne., Mutta JVM: ää on vain yksi. Voit käyttää useita kieliä myös .Netin virtuaalikoneessa. Miksi pyörä keksitään uudelleen?

Kuuma: Palvelimeton

Ei: Docker

Tämä ei ole totta. Docker-kontteja on kaikkialla. Palvelimet pyörivät ja sulkevat kontteja koko ajan. Docker-kontit ovat kuitenkin soooo paljon suurempia kuin heidän pitäisi olla.

Jos ajattelet sitä, voit kirjoittaa vain muutama tusina riviä oikeaa päätöksentekokoodia käyttämällesi mikropalvelulle, mutta sinun on heitettävä basillionin kokoonpanorivejä, jotta Node.js ja mikä tahansa muu alkaa oikein Dockerin kanssa. Kyllä, kaikki on kattilalevy, mutta siitä puuttuu asia.

Uusien palvelimettomien arkkitehtuurien avulla voimme ottaa käyttöön vain ne muutamat jos-sitten-muut-lauseet, jotka tekevät todelliset päätökset. Kaikki muu jätetään palvelimettoman alustan vuokraavien ihmisten tehtäväksi.

Kyllä, valitamme lukituksesta ja räätälöinnin puutteesta muutaman vuoden kuluttua, mutta toistaiseksi palvelimettomat vaihtoehdot näyttävät hyvältä helpotukselta kaikilta devopeilta ja kokoonpanolta.

Hot: JavaScript MV * -kehykset

Ei: JavaScript-tiedostot

Kauan sitten kaikki oppivat kirjoittamaan JavaScriptiä ponnahdusikkunan avaamiseksi tai tarkistamaan, että lomakkeen sähköpostiosoite sisälsi @ -merkin. Nyt HTML AJAX -sovellukset ovat niin hienostuneita, että harvat ihmiset aloittavat tyhjästä. On yksinkertaisempaa ottaa käyttöön monimutkainen kehys ja kirjoittaa hieman liimakoodia liiketoimintalogiikan toteuttamiseksi.

Nyt on olemassa kymmeniä kehyksiä, kuten Kendo, Sencha, jQuery Mobile, AngularJS, Ember, Backbone, Meteor JS ja monia muita, jotka kaikki ovat valmiita käsittelemään tapahtumia ja sisältöä verkkosovelluksillesi ja sivuillesi.

Ne ovat vain verkkosovelluksia. On myös useita viritetty tarjoamaan älykäs älypuhelin / tabletti -ympäristön välinen kehitystyö. Teknologiat, kuten NativeScript, PhoneGap, Apache Cordova ja React Native, ovat muutamia vaihtoehdoista luoda sovelluksia HTML5-tekniikasta.

Suosittu: CSS-kehykset

Ei: yleinen CSS

Aikaisemmin vähän pizzazzin lisääminen verkkosivulle tarkoitti CSS-tiedoston avaamista ja uuden komennon, kuten kirjasintyyli: kursiivi. Sitten tallensit tiedoston ja menit lounaalle kovan aamutyön jälkeen. Verkkosivut ovat nyt niin kehittyneitä, että tiedostoa on mahdotonta täyttää niin yksinkertaisilla komennoilla. Yksi värin säätö ja kaikki menee irti. Se on kuin mitä he sanovat salaliitoista ja ekologiasta: Kaikki on yhteydessä toisiinsa.

Siellä CSS-kehykset, kuten SASS ja sen serkut, kuten Compass, ovat löytäneet vankan pohjan. Ne kannustavat lukutaitoiseen, vakaaseen koodaukseen tarjoamalla ohjelmointirakenteita, kuten todellisia muuttujia, sisäkkäisiä lohkoja ja lisäosia. Se ei ehkä kuulosta paljon uudelta ohjelmointikerrokselta, mutta se on iso harppaus eteenpäin suunnittelutasolle.

Kuuma: SVG kankaalle

Ei: Salama

Flash on ajanut ihmisiä hulluksi vuosien ajan, mutta taiteilijat ovat aina rakastaneet tuloksia. Anti-alias-renderointi näyttää hyvältä, ja monet lahjakkaat taiteilijat ovat rakentaneet syvällisen pinon Flash-koodia tarjoamaan hienostuneita siirtymiä ja animaatioita. Rennot pelit ovat edelleen erittäin suosittuja. Joten Flash tarttuu elämään verkossa.

Nyt kun JavaScript-kerroksella on kyky tehdä paljon samaa, selaimen valmistajat ja kehittäjät kannustavat Flashin loppumista. He näkevät paremman integraation DOM-kerrokseen, joka tulee uusista muodoista, kuten SVG (Scalable Vector Graphics). SVG ja HTML muodostavat yhden suuren kasan tunnisteita, joita verkkokehittäjillä on usein helpompi käyttää. Sitten on olemassa suuria sovellusliittymiä, jotka tarjoavat monimutkaisen piirustuksen Canvas-objektiin, usein videokorttien avulla. Yhdistä ne yhteen ja sinulla on muutama syy käyttää Flashia enää.

Kuuma: Lähes iso data (analyysi ilman Hadoopia)

Ei: Suuret tiedot (Hadoopin kanssa)

Jokainen haluaa tuntea olevansa kampuksen iso mies, ja jos ei, he etsivät sopivan kokoista kampusta, josta he voivat erottua. Silloin ei ole mikään yllätys, että kun sanat "big data" alkoivat virrata executive-paketin läpi, puvut alkoivat pyytää suurimpia, tehokkaimpia big data -järjestelmiä ikään kuin he olisivat ostaneet jahdin tai pilvenpiirtäjän.

Hauska on, että monet ongelmat eivät ole riittävän suuria faneimpien big data -ratkaisujen käyttämiseen. Toki yritykset, kuten Google tai Yahoo, seuraavat kaikkea web-selaamistamme; heillä on datatiedostoja mitattuna petatavuina tai yatavuina. Mutta useimmilla yrityksillä on tietojoukot, jotka sopivat helposti perustietokoneen RAM-muistiin. Kirjoitan tämän tietokoneelle, jossa on 16 Gt RAM-muistia - riittää miljardiin tapahtumaan kourallisella tavulla. Useimmissa algoritmeissa tietoja ei tarvitse lukea muistiin, koska niiden suoratoisto SSD: ltä on hienoa.

On tapauksia, jotka vaativat kymmenien koneiden nopeaa vasteaikaa samanaikaisesti kulkevassa Hadoop-pilvessä, mutta monet tekevät hienoja kytkentöjä yhteen koneeseen ilman koordinaation tai viestinnän vaivaa.

Kuuma: Spark

Ei: Hadoop

Ei ole niin paljon, että Hadoop jäähtyy. Apache Spark on enemmän kuumaa, jolloin Hadoop-malli näyttää hieman vanhalta. Spark lainaa joitain parhaita ideoita Hadoopin lähestymistavasta merkityksen poimimiseksi suurista tietomääristä ja päivittää ne muutamalla vankalla parannuksella, jotka saavat koodin toimimaan paljon, paljon nopeammin. Suurin voi olla tapa, jolla Spark pitää tiedot nopeassa muistissa sen sijaan, että vaatisi kaiken kirjoittamista ja lukemista hajautetusta tiedostojärjestelmästä.

Tietysti monet ihmiset yhdistävät nämä kaksi käyttämällä Sparkin käsittelynopeutta Hadoopin hajautettuun tiedostojärjestelmään tallennettuihin tietoihin. Hadoop ja Spark ovat useammin kumppaneita kuin kilpailijoita.

Hot: Tietokannan kokoonpano

Ei: Ohjelmistojen ohjelmointi

Kauan sitten ohjelmoijilla oli tapana vitsailla, etteivät he tienneet, miltä ohjelmointi näyttää tulevalta vuosisadalta, mutta tiesivät, että sitä kutsutaan Fortraniksi. Tämä vitsi oli niin hauska, että he putosivat dinosauruksiltaan ja rikkoisivat puiset alusvaatteet. Sitten he palaisivat tietokannan määritykseen.

Ja rakennamme edelleen tietokantoja tänään, mutta mitä ajattelemme "tietokannaksi", on nyt monta kertaa kehittyneempi ja tehokkaampi. Valmiit varastotietokannat synkronoivat itsensä mantereiden välillä tarjoten joustavan kompromissin johdonmukaisuuden ja nopeuden välillä. Jotkut pilvipalvelut, kuten Firebase, työntävät uutta dataa ulos mobiilisovelluksissa toimivista verkkosovelluksista.

Suuri osa palvelimettomasta vallankumouksesta perustuu oivallukseen, että monet pilvitietovarastoista ovat nyt niin voimakkaita, että meidän on kirjoitettava vain muutama jos-sitten-muu lauseke, jotta voimme rakentaa melko viileän verkkosovelluksen.

Kuuma: Pelikehykset

Ei: Natiivi pelikehitys

Aikaisemmin pelikehitys tarkoitti palkata paljon kehittäjiä, jotka kirjoittivat kaiken C: ssä tyhjästä. Toki se maksoi miljoona dollaria, mutta se näytti hyvältä ja juoksi kuin tuuli. Kenelläkään ei ole varaa mukautetun koodin ylellisyyteen. Useimmat pelikehittäjät luopuivat ylpeydestään vuosia sitten ja käyttävät kirjastoja, kuten Unity, Corona tai LibGDX järjestelmiensä rakentamiseen. He eivät kirjoita C-koodia niin paljon kuin ohjeet kirjastoille.

Onko häpeää, että pelimme eivät ole käsityönä ylpeitä, mutta ne on leimattu samalla moottorilla? Ei. Suurin osa kehittäjistä on helpottunut. Koska heidän ei tarvitse käsitellä yksityiskohtia, he voivat keskittyä peliin, kerrontakaareen, hahmoihin ja taiteeseen.

Hot: Staattiset verkkosivustogeneraattorit

Ei: Yhden sivun verkkosovellukset

Muistatko, kun URL-osoitteet osoittivat verkkosivuille, jotka olivat täynnä staattista tekstiä ja kuvia? Sitten tulivat dynaamiset, yhden sivun verkkosovellukset, jotka korvasivat kaikki yhdellä älykkäällä verkkosovelluksella, joka noutaa kyseiset tiedot. Arvaa mitä? Heiluri heiluu taaksepäin, ja kaikki lapset rakentavat staattisia generaattoreita. Niitä on kymmeniä. Se on kuin hybridi. Laitat kaikki tiedot yhteen kasaan ja sitten kirjoitat koodin, joka kiinnittää tiedot joihinkin malleihin siten, että jokaiselle staattiselle URL-osoitteelle on yksi HTML-tiedosto, ja se tuli tietotaulukon jokaisesta rivistä.

Lapset ajattelevat, että nämä staattiset sivustot ovat erittäin nopeita ja ovat. Älä vain kerro heille, että vanhat dynaamiset järjestelmät, kuten WordPress ja Drupal, toimivat paljon samalla tavalla pitämällä välimuistit, jotka olivat melko täynnä uusimmilla tiedoilla luotuja staattisia sivuja.

Kuuma: GraphQL

Ei: REST

Ei ole kuin REST olisi kuollut. Haluamme vain tehdä enemmän API: n kanssa, ja GraphQL on tapa tehdä se. GraphQL palauttaa tiedot JSON: ssä, aivan kuten REST. GraphQL alkaa HTTP POST -palvelulla, aivan kuten monet REST-puhelut. GraphQL-syntaksin avulla voit määrittää hyvin monimutkaisia ​​kyselyjä vain muutamalla näppäimen painalluksella. Tämä tekee ohjelmoijista yksinkertaisempaa kysyä mitä he haluavat, ja se vähentää palvelinpuolen työn määrää, joka on tehtävä, kun joku haluaa hieman erilaisen sovellusliittymän.

Hot: Cloud IDE: t

Ei: paikalliset IDE: t

Kauan sitten ihmiset käyttivät komentorivin kääntäjää. Sitten joku integroi sen editoriin ja muihin työkaluihin IDE: n luomiseksi. Nyt on aika peittää IDE (ha) selainpohjaisilla työkaluilla, joiden avulla voit muokata koodia, jopa toimivan järjestelmän koodia. Jos et pidä siitä, miten WordPress toimii, siinä on sisäänrakennettu editori, jonka avulla voit muuttaa koodia silloin tällöin. Microsoftin Azure antaa sinun kirjoittaa JavaScript-liimakoodin suoraan sen portaaliin. Nämä järjestelmät eivät tarjoa parhaita virheenkorjausympäristöjä, ja tuotantokoodin muokkaamisessa on jotain vaarallista, mutta idealla on jalat.

Voit aloittaa AWS Cloud9, Codenvy ja Mozilla's WebIDE, mutta jatka tutkimista. Verkkopohjaiset työkalut ovat yhä tehokkaampia. On esimerkiksi mahdollista rakentaa koko isojen tietojen analysointiprojekti Microsoftin Azure-verkkosivustolle. Ja jos alat tutkia palvelimettomia vaihtoehtoja, huomaat nopeasti, että voit kirjoittaa kaiken koodisi verkkosivun lomake-elementtiin. Yksi, joka ei ole paljon suurempi kuin lomake, jota käytät päivittääksesi ystäviäsi Facebookissa.

Kuuma: GPU

Ei: CPU

Kun ohjelmisto oli yksinkertainen ja ohjeet oli järjestetty mukavalle riville, CPU oli tietokoneen kuningas, koska se teki kaiken raskaan nostamisen. Nyt kun videopelit ovat täynnä laajoja graafisia rutiineja, jotka voivat toimia rinnakkain, näytönohjain suorittaa näyttelyn. 500 dollaria, 600 dollaria tai enemmän on helppo käyttää hienoon videokorttiin, ja jotkut vakavat pelaajat käyttävät enemmän kuin yhtä. Se on yli kaksinkertainen monien peruskoneiden hintaan.

Lisäksi pelaajat eivät ole ainoita, jotka kerskailevat GPU-kortillaan. Tietokonetieteilijät muuntavat nyt monia rinnakkaisia ​​sovelluksia toimimaan satoja kertoja nopeammin GPU: lla. Ja datatutkijat käyttävät GPU: illa pakattuja palvelimia nopeuttaakseen koneoppimismalliensa kehittämistä.

Kuuma: GitHub

Ei: Résumés

Toki voit oppia ehdokkaasta lukemalla paisutetun luettelon saavutuksista, johon kuuluu juniorikakkaklubin varapresidentti. Mutta jonkun todellisen koodin lukeminen on niin rikkaampaa ja opettavampaa. Kirjoittaako he hyviä kommentteja? Tuhlaavatko he liikaa aikaa jakamalla esineitä pieniin luokkiin, jotka tekevät vähän? Onko olemassa todellista arkkitehtuuria, jossa on tilaa laajentumiselle? Kaikkiin näihin kysymyksiin voidaan vastata vilkaisemalla niiden koodia.

Siksi osallistuminen avoimen lähdekoodin projekteihin on yhä tärkeämpää työn löytämisen kannalta. Koodin jakaminen omasta projektista on vaikeaa, mutta avoimen lähdekoodin voi viedä kaikkialle.