Ohjelmointi

11 ennustetta ohjelmoinnin tulevaisuudesta

Ainoa asia, joka lentää nopeammin kuin aika, on tekniikan kehitys. Kerran lounaan jälkeen sirun suunnitteleva ystävä anteeksi itsensä nopeasti selittävällä selityksellä, jonka mukaan Mooren lain mukaan hänen täytyi saada siru asetettua 0,67 prosenttia nopeammin joka viikko, vaikka lomalla olisikin. Jos hän ei, pelimerkkien nopeus ei kaksinkertaistu kahden vuoden välein.

Nyt, kun vuosi 2017 on täällä, on aika tehdä katsaus tuleviin teknologisiin muutoksiin, vain auttaaksemme sinua tietämään, mihin panoksesi asetat tulevaisuuden ohjelmointitaitojen rakentamiseksi.

Ohjelmoinnin tulevaisuutta on yhä vaikeampaa ennustaa esineiden internetin lisääntyvästä turvallisuuspäänsärystä koneoppimiseen kaikkialla.

Pilvi voittaa Mooren lain

On naysay väittää siru yritykset ovat osuneet seinään. He eivät enää kaksinkertaista sirunopeutta joka toinen vuosi, kuten 80- ja 90-luvun halcyon-vuosina. Ehkä - mutta sillä ei ole enää väliä, koska pelimerkkien rajat on määritelty vähemmän kuin koskaan.

Aiemmin työpöydän laatikossa olevan CPU: n nopeudella oli merkitystä, koska voit nousta vain niin nopeasti kuin sisällä oleva piin hamsteri pystyi pyörimään pyörää. Isomman, nopeamman hamsterin ostaminen muutaman vuoden välein kaksinkertaisti myös tuottavuutesi.

Mutta nyt työpöydän CPU tuskin näyttää tietoja näytöllä. Suurin osa työstä tehdään pilvessä, jossa ei ole selvää, kuinka monta hamsteria työskentelee työsi parissa. Kun haet Googlesta, heidän massiivinen pilvi voi omistaa 10, 20 tai jopa 1000 hamsteria oikean vastauksen löytämiseen.

Ohjelmoijien haasteena on löytää älykkäitä tapoja käyttää joustavasti tarpeeksi laskentatehoa kunkin käyttäjän ongelmaan niin, että ratkaisu tulee tarpeeksi nopeasti eikä käyttäjä kyllästy ja kulkeudu kilpailijan sivustolle. Virtaa on paljon. Pilvialan yritykset antavat sinun hoitaa käyttäjien murskaamisen, mutta sinun on löydettävä algoritmit, jotka toimivat helposti rinnakkain, ja järjestettävä palvelimet toimimaan synkronisesti.

IoT-turvallisuus vain pelottaa

Mirai-botnet, joka paljastui viime syksynä, oli herätyssoitto ohjelmoijille, jotka luovat seuraavan sukupolven esineiden Internetiä. Nämä älykkäät pienet laitteet voivat saada tartunnan kuten kaikki muut tietokoneet, ja he voivat käyttää Internet-yhteyttäan tuhoon ja päästää sotakoiria liukastumaan. Ja kuten kaikki tietävät, koirat voivat teeskennellä olevansa kuka tahansa Internetissä.

Ongelmana on, että nykyisellä gadgetien toimitusketjulla ei ole mekanismia ohjelmistojen korjaamiseen. Gadgetin elinkaari alkaa yleensä pitkällä matkalla tuotantolaitokselta varastoon ja lopulta käyttäjälle. Enintään 10 kuukautta ei ole tavallista avautua kokoonpanon ja ensimmäisen käytön välillä. Gadgetit lähetetään puolivälissä ympäri maailmaa noiden pitkien, viipyvien kuukausien aikana. He istuvat laatikoissa ja odottavat lähetyskontteissa. Sitten he istuvat lavoilla isoissa laatikkokaupoissa tai varastoissa. Siihen mennessä, kun he ovat purettu pakkauksestaan, heille olisi voinut tapahtua mitä tahansa.

Haasteena on kaiken seuraaminen. Savunilmaisimien paristojen päivittäminen on tarpeeksi vaikeaa aina, kun kellot vaihtuvat. Mutta nyt meidän täytyy miettiä leivänpaahdinta, kuivausrumpua ja melkein kaikkea talossa. Onko ohjelmisto ajan tasalla? Onko kaikki tietoturvakorjaukset asennettu? Laitteiden lukumäärä vaikeuttaa älykkään tekemistä kotiverkon valvonnassa. Langattomaan reitittimeen on kytketty yli 30 laitetta, joiden IP-osoitteet ovat tiedossa, ja tiedän vain 24 niistä. Jos halusin ylläpitää älykästä palomuuria, haluaisin avata oikeat portit oikeille älykkäille asioille.

Antaa näille laitteille mahdollisuus suorittaa mielivaltainen koodi on siunaus ja kirous. Jos ohjelmoijat haluavat suorittaa älykkäitä tehtäviä ja antaa käyttäjien olla mahdollisimman joustavia, alustojen tulisi olla avoimia. Näin kukoistaa valmistajien vallankumous ja avoimen lähdekoodin luovuus. Mutta tämä antaa myös viruksen kirjoittajille enemmän mahdollisuuksia kuin koskaan ennen. Heidän on vain löydettävä yksi tuotemerkki widgetistä, joka ei ole päivittänyt tiettyä ohjainta - voilà, he ovat löytäneet miljoonia widgettejä, jotka on tarkoitettu isännöimään botteja.

Video hallitsee verkkoa uusilla tavoilla

Kun HTML-standardikomitea alkoi upottaa videotunnisteita itse HTML-muotoon, heillä ei todennäköisesti ollut suuria suunnitelmia viihteen uusimiseksi. He todennäköisesti halusivat ratkaista vain laajennusten häiriöt. Mutta perusvideotunnisteet reagoivat JavaScript-komentoihin, mikä tekee niistä olennaisesti ohjelmoitavat.

Se on iso muutos. Aikaisemmin useimpia videoita on käytetty erittäin passiivisesti. Istut sohvalle, painat toistopainiketta ja näet, mitä videon toimittaja päätti sinun pitäisi nähdä. Jokainen kissavideota katsoja näkee kissat samassa järjestyksessä, jonka kissavideon luoja päättää. Toki muutama pikakelaus eteenpäin, mutta videot päätyvät lopputulokseen yhtä säännöllisesti kuin sveitsiläiset junat.

JavaScriptien videoiden hallinta on rajoitettua, mutta ohuimmat verkkosuunnittelijat keksivät fiksuja tapoja integroida video muuhun verkkosivuun saumattomassa kankaassa. Tämä avaa käyttäjälle mahdollisuuden hallita kertomuksen etenemistä ja vuorovaikutusta videon kanssa. Kukaan ei voi olla varma, mitä kirjailijat, taiteilijat ja toimittajat kuvittelevat, mutta he tarvitsevat ohjelmointikykyjä sen toteuttamiseksi.

Monilla slickest-sivustoilla video on jo tiukasti näppärissä paikoissa. Pian he kaikki haluavat liikkuvia asioita. Se ei riitä asettamaan IMG -tunniste JPEG-tiedostolla. Sinun on tartuttava videoihin ja käsiteltävä selainmaailmaa pirstaloituneita standardikysymyksiä.

Konsolit jatkavat tietokoneiden korvaamista

Pelikonsoleista on vaikea olla vihainen. Pelit ovat upeita, ja grafiikka on mahtavaa. He ovat rakentaneet upeita näytönohjaimia ja suhteellisen vakaita ohjelmistoalustoja, jotta voimme rentoutua olohuoneessa ja haaveilla pahoien pojista tai heittää jalkapalloa.

Olohuoneen konsolit ovat vasta alkua. Muiden talojen esineiden valmistajat seuraavat samaa polkua. He olisivat voineet valita avoimen lähdekoodin ekosysteemin, mutta valmistajat rakentavat omia suljettuja alustojaan.

Tämä pirstelee markkinapaikkaa ja vaikeuttaa ohjelmoijien pitämistä kaikessa suorana. Se, mikä toimii yhdellä valokytkimellä, ei toimi toisella. Hiustenkuivaaja voi puhua samaa protokollaa kuin leivänpaahdin, mutta se todennäköisesti ei. Se on enemmän työtä ohjelmoijille nopeuden saavuttamiseksi ja vähemmän mahdollisuuksia käyttää työtämme uudelleen.

Tiedot pysyvät kuninkaana

Yhdysvaltain vuoden 2016 presidentinvaalien jälkeen sananvastaavat asiantuntijat pilkkasivat tietojen lyömisestä vastaavia asiantuntijoita, mikä viittaa siihen, että kaikki heidän tilastolliset analyysinsä olivat tyhmyyttä. Ennusteet olivat dramaattisesti vääriä, ja big data-ihmiset näyttivät huonolta.

Kuinka he tekivät tämän johtopäätöksen? Vertaamalla yhtä numerosarjaa (ennusteita) toiseen numerosarjaan (vaalien tulokset). He tarvitsivat edelleen tietoja.

Data on tapa, jolla näemme Internetissä. Valo tuo meille tietoja todellisesta maailmasta, mutta numerot kertovat kaikesta verkossa. Jotkut ihmiset saattavat tehdä huonoja ennusteita epätäydellisten numeroiden perusteella, mutta se ei tarkoita, että meidän pitäisi lopettaa lukujen kerääminen ja tulkitseminen.

Tiedonkeruu, lajittelu, kuratointi ja jäsentäminen ovat edelleen yksi yrityksen tärkeimmistä tehtävistä. Päättäjät tarvitsevat numerot, ja ohjelmoijien tehtävänä on edelleen toimittaa tietoja helpommin ymmärrettävällä tavalla. Tämä ei tarkoita, että vastaukset ovat täydellisiä. Kontekstilla ja intuitiolla on jatkossakin rooli, mutta tarve ryöstää tietoja ei häviä yksinkertaisesti siksi, että muutamat ihmiset ennustivat, että Donald Trumpia ei valita. Tämä merkitsee enemmän työtä ohjelmoijille, koska tarvetta rakentaa isompia, nopeammia ja enemmän tietoa vaativia ohjelmistoja ei ole loppu.

Koneoppimisesta tulee uusi vakio-ominaisuus

Kun oppilaitoksessa olevat lapset käyvät tietorakenteiden kurssilla, he oppivat, millaista elämä oli, kun heidän isovanhempansa kirjoittivat koodin eivätkä voineet riippua tietokannaksi kutsutun kerroksen olemassaolosta. Todellisten ohjelmoijien oli tallennettava, lajiteltava ja liitettävä taulukoita täynnä tietoja ilman Oraclen, MySQL: n tai MongoDB: n apua.

Koneoppimisalgoritmit ovat muutaman vuoden päässä hypyn tekemisestä. Tällä hetkellä ohjelmoijien ja datatieteilijöiden on kirjoitettava suuri osa omasta koodistaan ​​monimutkaisen analyysin suorittamiseksi. Pian kielet, kuten R ja jotkut älykkäimmistä liiketoimintatiedon työkaluista, lakkaavat olemasta erityisiä ja alkavat olla säännöllinen ominaisuus useimmissa ohjelmistopinoissa. He siirtyvät neljästä tai viidestä erityisestä diosta PowerPoint-myyntikansiossa pieneen suorakulmioon itsestäänselvyytenä olevassa piirustuksessa.

Se ei tapahdu yhdessä yössä, eikä ole selvää, minkä muotoinen se on, mutta on selvää, että yhä useammat liiketoimintasuunnitelmat riippuvat koneoppimisalgoritmeista, jotka löytävät parhaat ratkaisut.

Käyttöliittymäsuunnittelu monimutkaistuu, kun tietokoneet haalistuvat edelleen

Joka päivä näyttää siltä, ​​että sinulla on yksi vähemmän syytä käyttää tietokonetta. Älypuhelinten, olohuoneen konsolien ja taulutietokoneiden nousun välillä ainoat ihmiset, jotka näyttävät edelleen kiinnittyvän tietokoneisiin, ovat toimistotyöntekijät ja opiskelijat, joiden on vaihdettava tehtävä.

Tämä voi olla haaste ohjelmoijille. Aikaisemmin oli helppo olettaa, että ohjelmistojen tai verkkosivustojen käyttäjillä olisi näppäimistö ja hiiri. Nyt monilla käyttäjillä ei ole kumpaakaan. Älypuhelinten käyttäjät murskaavat sormiaan lasinäyttöön, jossa on tuskin tilaa kaikille 26 kirjaimelle. Konsolin käyttäjät painavat nuolinäppäimiä kaukosäätimessä.

Sivustojen suunnittelu on entistä hankalampaa, koska kosketustapahtuma eroaa hieman napsautustapahtumasta. Käyttäjillä on erilainen tarkkuus ja näyttöjen koko vaihtelee suuresti. Ei ole helppoa pitää kaikki suorana, ja se vain pahenee tulevina vuosina.

Avoimuuden loppu

PC: n ohi ei ole vain tietyn muodon hidas kuolema. Se on erityisen avoimen ja vieraanvaraisen markkinapaikan kuolema. PC: n kuolema sulkee mahdollisuudet.

Kun tietokoneet lähetettiin ensimmäisen kerran, ohjelmoija pystyi kääntämään koodin, kopioimaan sen levyille, asettamaan levyt ziplock-pusseihin ja maailma voisi ostaa sen. Ei ollut keskimmäistä miestä, ei portinvartijaa, eikä ankara keskivoima pyytänyt meitä sanomaan: "Äiti, saanko?"

Konsolit on lukittu tiukasti. Kukaan ei pääse tälle markkinapaikkaan ilman pääomasijoitusta. Sovelluskaupat ovat hieman avoimempia, mutta ne ovat edelleen aidattuja puutarhoja, jotka rajoittavat sitä, mitä voimme tehdä. Toki he ovat edelleen avoimia ohjelmoijille, jotka hyppäävät oikeiden vanteiden läpi, mutta jokainen, joka tekee väärän liikkeen, voidaan heittää. (Jotenkin he viivästyttävät aina sovelluksiamme, kun haittaohjelma liukuu läpi. Mene kuvaan.)

Tämä ero on tärkeä avoimen lähdekoodin kannalta. Kyse ei ole pelkästään levykkeiden myynnistä pusseissa. Menetämme mahdollisuuden jakaa koodia, koska menetämme kyvyn kerätä ja käyttää koodia. Tietokoneen loppu on iso osa avoimuuden loppua. Toistaiseksi useimmilla tätä lukevista ihmisistä on todennäköisesti kunnollinen työpöytä, joka pystyy kääntämään ja suorittamaan koodia, mutta se muuttuu hitaasti.

Harvemmilla ihmisillä on mahdollisuus kirjoittaa koodi ja jakaa se. Kaiken puheen tarpeesta opettaa seuraava sukupolvi ohjelmoimaan, on vähemmän käytännön vektoreita avoimen koodin jakamiseksi.

Autonominen kuljetus on täällä pysyä

Se ei ole vain autoja. Jotkut haluavat tehdä itsenäisiä lentokoneita, joita ei tarvitse liikennöidä. Toiset haluavat luoda itsenäiset rullalaudat erittäin kevyille matkoille. Jos se liikkuu, joku hakkeri unelmoi kertoa sille, minne mennä.

Ohjelmoijat eivät hallitse sitä, mitä ihmiset näkevät ruudulla. He hallitsevat minne ihmiset menevät ja miten he ovat vuorovaikutuksessa maailman kanssa. Ja ihmiset ovat vain osa peliä. Kaikki tavaramme liikkuvat myös itsenäisesti.

Jos haluat illallisen kuuluisalta kokilta keskustassa, autonominen rullalauta, jossa on lämmitetty kammio, voi tuoda sen kotiisi. Jos haluat nurmikon leikkaamisen, autonominen ruohonleikkuri korvaa naapuruston lapsen.

Ja ohjelmoijat voivat käyttää kaikkia hienoja ideoita, joita heillä oli ensimmäisen Internet-vallankumouksen aikana. Jos luulet ponnahdusikkunamainosten olevan huono Internetissä, odota, kunnes ohjelmoijille maksetaan, jotta autonomiset rullaluistimet ohjataan uuden ravintolan keittiön tuuletusaukon ohi. Nälkäinen vielä?

Laki löytää uudet rajat

Muste oli tuskin kuiva Bill of Rights -sivustolla, kun keskustelut siitä, mitä tarkoittaa, että paperiemme etsiminen on kohtuullista. Nyt, yli 200 vuotta myöhemmin, väitämme edelleen yksityiskohtia.

Teknologian muutokset avaavat uusia keinoja laille. Muutama vuosi sitten korkein oikeus päätti, että ajoneuvojen seurantatekniikka vaatii optiota. Mutta vasta, kun poliisi istuttaa seurantalaitteen autoon. Kukaan ei todellakaan tiedä, mitä sääntöjä sovelletaan, kun joku haastaa Wazen, Google Mapsin tai minkä tahansa sadan muun sijaintimme välimuistiin tallennetun sovelluksen seurantatiedot.

Entä miten vaikuttaa koneiden toimintaan? Tietojen lataaminen on yksi asia, mutta on myös pelottavaa houkutusta muuttaa tietoja. Onko poliisin (tai yksityisten toimijoiden) oikeudenmukaista väärentää asiakirjoja, otsikoita tai bittiä? Onko merkitystä, ovatko kohteet todellisia terroristeja vai yksinkertaisesti ihmisiä, jotka ovat pysäköineet liian kauan pysäköintialueelle syöttämättä mittaria?