Programiranje

11 napovedi za prihodnost programiranja

Edino, kar leti hitreje od časa, je napredek tehnologije. Enkrat po kosilu se je prijatelj, ki se je ukvarjal s čipom, hitro opravičil s spretno razlago, da Mooreov zakon pomeni, da mora svoj čip nastaviti na 0,67 odstotka hitreje vsak teden, tudi na dopustu. Če ga ne bi, se žetoni vsaki dve leti ne bi podvojili.

Zdaj, ko je leto 2017, je čas, da si ogledate tehnološke spremembe, ki bodo prišle, če vam bomo le pomagali vedeti, kje lahko stavite pri gradnji programskih veščin za prihodnost.

Od naraščajočega varnostnega glavobola interneta stvari do strojnega učenja povsod je prihodnost programiranja vedno težje napovedati.

Oblak bo premagal Moorejev zakon

Obstajajo nekateri, ki trdijo, da so podjetja s čipi udarila v zid. Hitrosti čipov ne podvajajo več vsaki dve leti, kot so to počeli v letih 80-ih in 90-ih. Morda - vendar ni več pomembno, ker so meje med čipi manj opredeljene kot kdaj koli prej.

V preteklosti je bila hitrost CPU-ja v škatli na vaši mizi pomembna, saj ste lahko šli le tako hitro, kot je silicijski hrček v notranjosti lahko zavrtel svoje kolo. Nakup večjega in hitrejšega hrčka vsakih nekaj let je podvojil tudi vašo produktivnost.

Zdaj pa CPU na vaši mizi komaj prikaže informacije na zaslonu. Večino dela opravimo v oblaku, kjer ni jasno, koliko hrčkov dela na vašem delovnem mestu. Ko iščete po Googlu, bi njihov ogromen oblak lahko namenil 10, 20, celo 1000 hrčkov iskanju pravega odgovora za vas.

Izziv za programerje je najti pametne načine, kako elastično razporediti ravno toliko računalniške moči za vsak uporabnikov problem, da bo rešitev prišla dovolj hitro in se uporabnik ne bo dolgočasil in odšel na stran konkurenta. Na voljo je dovolj moči. Podjetja v oblaku vam bodo omogočila, da se boste spopadli z zaljubljenostjo uporabnikov, vendar morate najti algoritme, ki delujejo vzporedno, nato pa poskrbeti za sinhrono delovanje strežnikov.

Varnost interneta stvari bo postala samo strašnejša

Botnet Mirai, ki se je razvil te pretekle jeseni, je bil poziv programerjem, ki ustvarjajo naslednjo generacijo interneta stvari. Te pametne majhne naprave so lahko okužene kot kateri koli drug računalnik in lahko s svojo internetno povezavo uničijo in pustijo vojaške pse zdrsniti. In kot vsi vedo, se psi na internetu lahko pretvarjajo, da so kdorkoli.

Težava je v tem, da trenutna dobavna veriga za pripomočke nima nobenega mehanizma za popravljanje programske opreme. Življenjski cikel pripomočka se običajno začne z dolgim ​​potovanjem od proizvodnega obrata do skladišča in na koncu do uporabnika. Običajno se med sestavljanjem in prvo uporabo odvije do 10 mesecev. Pripomočki so v teh dolgih, dolgotrajnih mesecih dobavljeni na pol sveta. Sedejo v škatlah in čakajo v zabojnikih. Potem sedijo na paletah v velikih trgovinah s škatlami ali v skladiščih. Ko so razpakirani, bi se jim lahko zgodilo karkoli.

Izziv je vse to spremljati. Dovolj težko je posodobiti baterije v detektorjih dima vsakič, ko se ure spremenijo. Zdaj pa se bomo morali vprašati o toasterju, sušilniku za oblačila in skoraj vsem v hiši. Je programska oprema posodobljena? Ali so bili uporabljeni vsi varnostni popravki? Število naprav otežuje karkoli pametnega pri spremljanju domačega omrežja. Na moj brezžični usmerjevalnik je povezanih več kot 30 naprav z naslovi IP in vem identiteto samo 24 od njih. Če bi hotel ohraniti pametni požarni zid, bi šel na pamet, odpiral prava vrata za prave pametne stvari.

Dati tem napravam priložnost, da zaženejo poljubno kodo, je blagoslov in prekletstvo. Če želijo programerji izvajati pametna opravila in uporabnikom omogočiti največjo prilagodljivost, morajo biti platforme odprte. Tako cvetijo revolucija proizvajalcev in odprtokodna ustvarjalnost. Toda to tudi daje virusom več priložnosti kot kdaj koli prej. Vse, kar morajo storiti, je najti eno blagovno znamko pripomočka, ki ni posodobila določenega gonilnika - voilà, našli so milijone pripomočkov, pripravljenih za gostovanje botov.

Video bo na nove načine prevladoval v spletu

Ko je odbor za standarde HTML začel vdelati videooznake v sam HTML, verjetno niso imeli velikih načrtov za predelavo zabave. Verjetno so želeli rešiti napake samo z vtičniki. Toda osnovne video oznake se odzivajo na ukaze JavaScript, zato jih je v bistvu mogoče programirati.

To je velika sprememba. V preteklosti se je večina video posnetkov uporabljala zelo pasivno. Usedete se na kavč, pritisnete gumb za predvajanje in vidite, kaj se je urednik videoposnetka odločil, da bi morali videti. Vsi, ki gledajo videoposnetek o mačkah, vidijo mačke v istem zaporedju, ki ga je določil ustvarjalec videa o mačkah. Seveda se nekaj posnetkov naprej, a videoposnetki zaključijo enako redno kot švicarski vlaki.

Nadzor JavaScript nad videoposnetki v JavaScript je omejen, toda najslabši spletni oblikovalci iščejo pametne načine za integracijo videoposnetkov s preostalo spletno stranjo v brezšivno platno. To uporabniku odpira možnost, da nadzira, kako se pripoved odvija in komunicira z videoposnetkom. Nihče ne more biti prepričan, kaj si bodo pisatelji, umetniki in uredniki predstavljali, vendar bodo za to potrebovali programski talent.

Številna spletna spletna mesta že imajo videoposnetke, ki se tesno izvajajo na pametnih mestih. Kmalu bodo vsi zaželeli premikajoče se stvari. Ne bo dovolj, če postavite IMG z datoteko JPEG. Zagrabiti boste morali video - in se spoprijeti s standardi, ki so razdrobili svet brskalnikov.

Konzole bodo še naprej nadomeščale osebne računalnike

Težko je biti jezen na igralne konzole. Igre so odlične, grafika pa neverjetna. Zgradili so nam odlične grafične kartice in razmeroma stabilne programske platforme, da se lahko sprostimo v dnevni sobi in sanjamo o streljanju slabih ali metanju nogometa.

Konzole za dnevno sobo so šele začetek. Izdelovalci predmetov za preostalo hišo gredo po isti poti. Lahko bi izbrali odprtokodni ekosistem, vendar proizvajalci gradijo svoje zaprte platforme.

To drobi trg in programerjem otežuje, da vse držijo pošteno. Kar deluje na enem stikalu luči, ne bo delovalo na drugem. Sušilec za lase morda govori isti protokol kot opekač kruha, vendar verjetno ne bo. Za programerje je več dela pri pospeševanju in manj priložnosti za ponovno uporabo našega dela.

Podatki bodo še naprej kralji

Po ameriških predsedniških volitvah leta 2016 so se strokovnjaki, ki so se spoprijeli z besedami, norčevali iz strokovnjakov, ki kažejo na podatke, kar kaže na to, da je bila vsa njihova statistična analiza vaja neumnosti. Napovedi so bile dramatično napačne in ljudje z velikimi podatki so bili videti slabo.

Kako so prišli do tega zaključka? S primerjavo enega niza številk (napovedi) z drugim nizom številk (rezultati volitev). Podatke so še vedno potrebovali.

Podatki so takšni, kot jih vidimo v internetu. Svetloba nam prinaša informacije o resničnem svetu, številke pa nam o vsem govorijo na spletu. Nekateri morda dajejo slabe napovedi na podlagi nepopolnih številk, vendar to ne pomeni, da bi morali nehati zbirati in razlagati številke.

Zbiranje, razvrščanje, urejanje in razčlenjevanje podatkov bo še naprej eno najpomembnejših delovnih mest v podjetju. Odločevalci potrebujejo številke, programerji pa bodo še naprej zadolženi za dostavo podatkov na način, ki ga je lažje razumeti. To ne pomeni, da bodo odgovori popolni. Kontekst in intuicija bosta še naprej imela vlogo, vendar potreba po prepiranju podatkov ne bo izginila preprosto zato, ker je nekaj ljudi napovedovalo, da Donald Trump ne bo izvoljen. To pomeni več dela za programerje, saj se nam ne vidi konca, da bi morali zgraditi večjo, hitrejšo in podatkovno intenzivnejšo programsko opremo.

Strojno učenje bo postalo nova standardna funkcija

Ko se otroci na fakulteti udeležijo tečaja, imenovanega »Strukture podatkov«, se naučijo, kakšno je bilo življenje, ko so njihovi stari starši pisali kodo in niso mogli biti odvisni od obstoja plasti, imenovane »baza podatkov«. Pravi programerji so morali shraniti, razvrstiti in združiti tabele, polne podatkov, brez pomoči Oracle, MySQL ali MongoDB.

Algoritmi strojnega učenja so oddaljeni nekaj kratkih let od tega skoka. Trenutno morajo programerji in podatkovni znanstveniki napisati večino lastne kode za izvajanje zapletene analize. Kmalu jeziki, kot sta R in nekatera najpametnejša orodja za poslovno inteligenco, ne bodo več posebni in bodo postali običajna funkcija v večini programov. Od štirih ali petih posebnih diapozitivov v prodajnem krovu PowerPointa bodo prešli na majhen pravokotnik na arhitekturni risbi, ki je samoumevna.

Ne bo se zgodilo čez noč in ni natančno jasno, kakšne oblike bo, je pa jasno, da je vse več poslovnih načrtov odvisno od algoritmov strojnega učenja, ki najdejo najboljše rešitve.

Oblika uporabniškega vmesnika se bo zapletala, saj bodo osebni računalniki še naprej bledeli

Vsak dan se zdi, da obstaja en razlog manj za uporabo računalnika. Med porastom pametnih telefonov, konzol za dnevno sobo in tabličnega računalnika so edini, ki se še vedno držijo osebnih računalnikov, pisarniški delavci in študentje, ki morajo predati nalogo.

To je lahko izziv za programerje. Včasih je bilo enostavno domnevati, da bi imeli uporabniki programske opreme ali spletnega mesta tipkovnico in miško. Zdaj jih veliko uporabnikov nima. Uporabniki pametnih telefonov stiskajo prste v stekleni zaslon, na katerem je komaj prostora za vseh 26 črk. Uporabniki konzole pritiskajo puščične tipke na daljinskem upravljalniku.

Oblikovanje spletnih mest je vse bolj zapleteno, ker se dogodek z dotikom nekoliko razlikuje od dogodka s klikom. Uporabniki imajo različno natančnost, zasloni pa se zelo razlikujejo. Ni lahko vse držati naravnost, v prihodnjih letih pa se bo še poslabšalo.

Konec odprtosti

Prehod osebnega računalnika ni le počasna smrt določenega dejavnika oblike. Umiranje posebej odprtega in prijetnega trga. Smrt osebnega računalnika bo zaprela možnosti.

Ko so bili osebni računalniki prvič poslani, je programer lahko sestavil kodo, jo kopiral na diske, jih spravil v vrečke ziplock in svet ga je lahko kupil. Nobenega srednjega človeka, nobenega vratarja, nobene stroge centralne sile ni prosilo, naj rečemo: "Mati, lahko?"

Konzole so tesno zaklenjene. Nihče ne pride na ta trg brez naložbe kapitala. Trgovine z aplikacijami so nekoliko bolj odprte, vendar so še vedno obzidani vrtovi, ki omejujejo, kaj lahko storimo. Seveda so še vedno odprti za programerje, ki skočijo skozi prave obroče, toda vsakogar, ki naredi napačno potezo, lahko vržemo. (Nekako vedno zamujajo z našimi aplikacijami, medtem ko zlonamerna programska oprema zdrsne. Pojdi na sliko.)

To razlikovanje je pomembno za odprtokodno kodo. Ne gre zgolj za prodajo disket v vrečkah. Izgubljamo zmožnost skupne rabe kode, ker izgubljamo sposobnost prevajanja in zagona kode. Konec računalnika je velik del konca odprtosti. Za zdaj ima večina ljudi, ki to berejo, dostojno namizje, ki lahko prevaja in zažene kodo, vendar se to počasi spreminja.

Manj ljudi ima priložnost pisati kodo in jo deliti. Med vsemi govori o potrebi po učenju naslednje generacije programiranja je manj praktičnih vektorjev za razširjanje odprte kode.

Samostojni prevoz je tu, da ostane

Niso samo avtomobili. Nekateri želijo izdelati avtonomna letala, ki niso obremenjena s potrebo po cestah. Drugi želijo ustvariti avtonomne rolke za zelo lahka potovanja. Če se premakne, ima kak heker sanje, da mu pove, kam naj gre.

Programerji ne bodo nadzorovali, kaj ljudje vidijo na zaslonu. Nadzirali bodo, kam ljudje hodijo in kako komunicirajo s svetom. In ljudje so le del igre. Vse naše stvari se bodo premikale tudi samostojno.

Če želite večerjo slavnega kuharja v središču mesta, jo lahko avtonomna rolka z ogrevano komoro pripelje do vaše hiše. Če želite, da je vaša trata pokošena, bo avtonomna kosilnica nadomestila sosedskega otroka.

In programerji lahko uporabijo vse kul ideje, ki so jih imeli med prvo internetno revolucijo. Če se vam zdi, da so pojavni oglasi v internetu slabi, počakajte, da bodo programerji plačani, da bodo vaše avtonomne drsalke preusmerili mimo kuhinjskih odprtin nove restavracije. Ste že lačni?

Zakon bo našel nove meje

Črnilo je bilo na Billu o pravicah komaj suho, ko so se začele razprave o tem, kaj pomeni, da je iskanje naših časopisov razumno. Zdaj, več kot 200 let kasneje, se še vedno prepiramo o podrobnostih.

Spremembe v tehnologiji odpirajo nove možnosti za zakon. Pred nekaj leti je vrhovno sodišče odločilo, da tehnologija sledenja vozil zahteva nalog. A to je šele, ko policija sledilnik posadi v avto. Nihče v resnici ne ve, katera pravila veljajo, ko nekdo podatke o sledenju iz Wazea, Google Zemljevidov ali katere koli od sto drugih aplikacij, ki predpomnijo naše lokacije, prikliče na sodišče.

Kaj pa vplivanje na delovanje strojev? Eno je prenašati podatke, vendar je strašno skušnjava tudi spremeniti podatke. Ali je pravično, da policija (ali zasebni akterji) ponarejajo dokumente, glave ali koščke? Ali je pomembno, ali so tarče resnični teroristi ali preprosto ljudje, ki so predolgo parkirali na mestu brez parkiranja, ne da bi napolnili števec?

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