Programmering

11 forudsigelser for fremtiden for programmering

Det eneste der flyver hurtigere end tiden er teknologiens fremskridt. En gang efter frokost undskyldte en ven, der designede en chip, sig hurtigt med den dygtige forklaring om, at Moores lov betød, at han måtte lave sit chipsæt 0,67 procent hurtigere hver uge, selv mens han var på ferie. Hvis han ikke gjorde det, ville chipsene ikke fordobles i hastighed hvert andet år.

Nu hvor 2017 er her, er det tid til at gøre status over de teknologiske ændringer, der ligger forude, hvis kun for at hjælpe dig med at vide, hvor du kan placere dine indsatser i at opbygge programmeringsevner til fremtiden.

Fra den stigende sikkerhedshovedpine på Internettet for ting til maskinindlæring overalt bliver fremtiden for programmering sværere at forudsige.

Skyen vil besejre Moores lov

Der er nejsejere, der hævder, at chipfirmaerne har ramt en mur. De fordobler ikke længere chiphastigheden hvert andet år, som de gjorde i halcyon-årene i 80'erne og 90'erne. Måske - men det betyder ikke længere, fordi grænserne mellem chips er mindre definerede end nogensinde.

Tidligere var hastigheden på CPU'en i kassen på dit skrivebord vigtig, for du kunne kun gå så hurtigt som siliciumhamsteren indeni kunne dreje hjulet. At købe en større, hurtigere hamster hvert par år fordoblede også din produktivitet.

Men nu viser CPU'en på dit skrivebord knap information på skærmen. Det meste af arbejdet udføres i skyen, hvor det ikke er klart, hvor mange hamstere der arbejder på dit job. Når du søger på Google, kan deres massive sky bruge 10, 20, endda 1.000 hamstere til at finde det rigtige svar til dig.

Udfordringen for programmører er at finde kloge måder til elastisk at udnytte lige nok computerkraft til hver brugers problem, så løsningen kommer hurtigt nok, og brugeren ikke keder sig og vandrer ud til en konkurrents websted. Der er masser af strøm til rådighed. Cloudfirmaerne giver dig mulighed for at håndtere crush af brugere, men du skal finde algoritmer, der fungerer let parallelt og derefter sørge for, at serverne fungerer synkroniseret.

IoT-sikkerhed bliver kun skræmmende

Mirai botnet, der udfoldede sig i dette sidste efterår, var et vækkende opkald til programmører, der skaber den næste generation af tingens internet. Disse smarte små enheder kan inficeres som enhver anden computer, og de kan bruge deres internetforbindelse til at skabe kaos og lade krigshunde glide. Og som alle ved, kan hunde foregive at være nogen på internettet.

Problemet er, at den nuværende forsyningskæde for gadgets ikke har nogen mekanisme til at rette software. En gadgets livscyklus begynder normalt med en lang tur fra et produktionsanlæg til et lager og endelig til brugeren. Det er ikke normalt i op til 10 måneder at udfolde sig mellem montering og første brug. Gadgets sendes halvvejs rundt i verden i løbet af de lange, dvælende måneder. De sidder i kasser og venter i fragtcontainere. Derefter sidder de på paller i store kassebutikker eller i pakhuse. Når de pakkes ud, kunne der være sket noget for dem.

Udfordringen er at holde styr på det hele. Det er svært nok at opdatere batterierne i røgdetektorerne hver gang uret skifter. Men nu bliver vi spekulerede på vores brødristerovn, vores tørretumbler og stort set alt i huset. Er softwaren opdateret? Er alle sikkerhedsrettelser blevet anvendt? Antallet af enheder gør det sværere at gøre noget intelligent ved overvågning af hjemmenetværket. Der er mere end 30 enheder med IP-adresser forbundet til min trådløse router, og jeg kender kun 24 af dem. Hvis jeg ville vedligeholde en smart firewall, ville jeg gå i nød og åbne de rigtige porte til de rigtige smarte ting.

At give disse enheder chancen for at køre vilkårlig kode er en velsignelse og en forbandelse. Hvis programmører vil udføre kloge opgaver og lade brugerne have maksimal fleksibilitet, skal platformene være åbne. Sådan blomstrer producentrevolutionen og open source-kreativitet. Men dette giver også virusforfattere større mulighed end nogensinde før. Alt hvad de skal gøre er at finde et mærke af widget, der ikke har opdateret en bestemt driver - voilà, de har fundet millioner af widgets, der er klar til at være vært for bots.

Video vil dominere internettet på nye måder

Da HTML-standardkomiteen begyndte at integrere videotags i selve HTML, havde de sandsynligvis ikke store planer om at genskabe underholdning. De ville sandsynligvis kun løse fejl fra plugins. Men de grundlæggende videotags reagerer på JavaScript-kommandoer, og det gør dem i det væsentlige programmerbare.

Det er en stor ændring. Tidligere er de fleste videoer blevet forbrugt meget passivt. Du sætter dig ned ved sofaen, trykker på afspilningsknappen og ser, hvad videoens editor besluttede, at du skulle se. Alle, der ser den katevideo, ser kattene i den samme rækkefølge, der er bestemt af katvideoens skaber. Sikker på, et par hurtige fremad men videoer går til deres konklusion med lige så regelmæssighed som schweiziske tog.

JavaScript's kontrol med video er begrænset, men de smarteste webdesignere finder kloge måder at integrere video med resten af ​​websiden på et sømløst lærred. Dette åbner brugerens mulighed for at kontrollere, hvordan fortællingen udfolder sig og interagerer med videoen. Ingen kan være sikre på, hvad forfattere, kunstnere og redaktører vil forestille sig, men de kræver programmeringstalenter for at få det til at ske.

Mange af de smukkeste websteder har allerede video, der kører tæt på smarte steder. Snart vil de alle flytte ting. Det er ikke nok at sætte en IMG tag med en JPEG-fil. Du bliver nødt til at få fat i video - og håndtere de standardproblemer, der har fragmenteret browserverdenen.

Konsoller vil fortsat udskifte pc'er

Det er svært at være sur på spilkonsoller. Spillene er gode, og grafikken er fantastisk. De har bygget gode videokort og relativt stabile softwareplatforme, så vi kan slappe af i stuen og drømme om at skyde skurke eller kaste en fodbold.

Stue konsoller er kun begyndelsen. Skaberne af genstande til resten af ​​huset følger den samme vej. De kunne have valgt et open source-økosystem, men producenterne bygger deres egne lukkede platforme.

Dette fragmenterer markedet og gør det sværere for programmører at holde alt lige. Hvad der kører på en lyskontakt, kører ikke på en anden. Hårtørreren taler muligvis den samme protokol som brødristeren, men det gør det sandsynligvis ikke. Det er mere arbejde for programmører at få fart på og færre muligheder for at genbruge vores arbejde.

Data forbliver konge

Efter det amerikanske præsidentvalg i 2016 gjorde ordslingende pundits narr af data-slinging pundits, hvilket tyder på, at al deres statistiske analyse var en øvelse i tåbelighed. Forudsigelser var dramatisk forkerte, og big data-folk så dårlige ud.

Hvordan kom de til denne konklusion? Ved at sammenligne et sæt numre (forudsigelserne) med et andet sæt numre (valgresultatet). De havde stadig brug for dataene.

Data er den måde, vi ser på internettet. Lys bringer os information om den virkelige verden, men tal fortæller os om alt online. Nogle mennesker kan komme med dårlige forudsigelser baseret på ufuldkomne tal, men det betyder ikke, at vi skal stoppe med at samle og fortolke tallene.

Dataindsamling, sortering, kuratering og parsing vil fortsat være et af de vigtigste job for virksomheden. Beslutningstagerne har brug for tallene, og programmørerne vil fortsat have til opgave at levere data på en måde, der er lettere at forstå. Dette betyder ikke, at svarene vil være perfekte. Kontekst og intuition vil fortsat have en rolle, men behovet for at kæmpe data forsvinder ikke bare fordi nogle få mennesker forudsagde, at Donald Trump ikke ville blive valgt. Dette betyder mere arbejde for programmører, da der ikke er nogen ende i syne for vores behov for at opbygge større, hurtigere og mere data-intensiv software.

Maskinindlæring bliver den nye standardfunktion

Når børn på college tager et kursus kaldet "Datastrukturer", får de lære, hvordan livet var, da deres bedsteforældre skrev kode og ikke kunne afhænge af eksistensen af ​​et lag kaldet "databasen". Ægte programmører måtte gemme, sortere og deltage i tabeller fulde af data uden hjælp fra Oracle, MySQL eller MongoDB.

Maskinindlæringsalgoritmer er et par korte år væk fra at springe det. Lige nu er programmører og dataforskere nødt til at skrive meget af deres egen kode for at udføre kompleks analyse. Snart stopper sprog som R og nogle af de smarteste business intelligence-værktøjer med at være specielle og begynder at være en almindelig funktion i de fleste softwarestakke. De går fra at være fire eller fem specielle dias i PowerPoint-salgsbunken til et lille rektangel i arkitekturtegningen, der er taget for givet.

Det sker ikke natten over, og det er ikke klart nøjagtigt, hvilken form det vil have, men det er klart, at flere og flere forretningsplaner afhænger af maskinlæringsalgoritmer, der finder de bedste løsninger.

UI-design bliver mere kompliceret, når pc'er fortsætter med at falme

Hver dag ser det ud til, at der er en færre grund til, at du bruger en pc. Mellem stigningen i smartphones, stue-konsoller og tabletten er de eneste, der stadig synes at klamre sig til pc'er, kontorarbejdere og studerende, der har brug for at aflevere en opgave.

Dette kan være en udfordring for programmører. Det plejede at være let at antage, at brugere af software eller websteder ville have et tastatur og en mus. Nu har mange brugere heller ikke det. Smartphone-brugere moser fingrene ind i en glasskærm, der næppe har plads til alle 26 bogstaver. Konsolbrugere skubber piletasterne på en fjernbetjening.

At designe websteder bliver sværere, fordi en berøringsbegivenhed er lidt anderledes end en klikbegivenhed. Brugere har forskellige mængder præcision, og skærme varierer meget i størrelse. Det er ikke let at holde det hele lige, og det bliver kun værre i de kommende år.

Slutningen af ​​åbenhed

PC'ens bortgang er ikke kun den langsomme død af en bestemt formfaktor. Det dør af en særligt åben og indbydende markedsplads. PC'ens død vil være en afslutning på mulighederne.

Da pc'erne først blev sendt, kunne en programmør kompilere kode, kopiere den på diske, pope disse diske i lynlåsposer, og verden kunne købe den. Der var ingen mellemmand, ingen portvogter, ingen streng central styrke, der bad os om at sige: "Mor, må jeg?"

Konsoller er tæt låst. Ingen kommer ind på den markedsplads uden en investering i kapital. App-butikkerne er lidt mere åbne, men de er stadig murede haver, der begrænser, hvad vi kan gøre. Sikker på, de er stadig åbne for programmører, der hopper gennem de rigtige bøjler, men enhver, der foretager et falsk træk, kan kastes. (På en eller anden måde forsinker de altid vores apps, mens malware glider igennem. Gå figur.)

Denne skelnen er vigtig for open source. Det handler ikke kun om at sælge disketter i baggies. Vi mister muligheden for at dele kode, fordi vi mister muligheden for at kompilere og køre kode. Slutningen af ​​pc'en er en stor del af slutningen af ​​åbenhed. Indtil videre har de fleste af de mennesker, der læser dette, sandsynligvis et anstændigt skrivebord, der kan kompilere og køre kode, men det ændrer sig langsomt.

Færre mennesker har mulighed for at skrive kode og dele den. For al snak om behovet for at lære den næste generation at programmere, er der færre praktiske vektorer til åben kode, der skal distribueres.

Autonom transport er kommet for at blive

Det er ikke biler alene. Nogle ønsker at fremstille autonome fly, der ikke er behæftet med behovet for veje. Andre ønsker at skabe autonome skateboards til meget lette rejser. Hvis den bevæger sig, har en eller anden hacker drømme om at fortælle den, hvor den skal hen.

Programmører kontrollerer ikke, hvad folk ser på skærmen. De styrer, hvor folk går, og hvordan de interagerer med verden. Og folk er kun en del af spillet. Alle vores ting vil også bevæge sig autonomt.

Hvis du vil have middag fra en berømt kok i centrum, kan et autonomt skateboard med et opvarmet kammer muligvis bringe det til dit hus. Hvis du vil have din plæneklippet, vil en autonom plæneklipper erstatte nabolaget.

Og programmører kan bruge alle de seje ideer, de havde under den første internetrevolution. Hvis du troede, pop-up-annoncer var dårlige på internettet, skal du vente, indtil programmører får betalt for at omdirigere dine autonome rulleskøjter forbi køkkenudluftningen på en ny restaurant. Sulten endnu?

Loven vil finde nye grænser

Blækket var næppe tørt på lov om rettigheder, da debatter om, hvad det betyder at en søgning i vores papirer var rimelige, begyndte. Nu, mere end 200 år senere, argumenterer vi stadig for detaljerne.

Ændringer i teknologi åbner nye muligheder for loven. For et par år siden besluttede højesteret, at køretøjssporingsteknologi kræver en kendelse. Men det er kun når politiet planter trackeren i bilen. Ingen ved rigtigt, hvilke regler der gælder, når nogen udsætter sporingsdata fra Waze, Google Maps eller nogen af ​​de hundredvis af andre apps, der cache vores placeringer.

Hvad med at påvirke, hvordan maskinerne fungerer? Det er en ting at downloade data, men det er også frygteligt fristende at ændre dataene. Er det rimeligt for politiet (eller private aktører) at smede dokumenter, headere eller bits? Betyder det noget, om målene er ægte terrorister eller simpelthen mennesker, der har parkeret for længe et sted uden parkering uden at fodre måleren?