Software garapenaren etorkizuna: ordenagailuen etorkizuna P2

IRUDIAREN KREDITUA: Quantumrun

Software garapenaren etorkizuna: ordenagailuen etorkizuna P2

    1969an, Neil Armstrong eta Buzz Aldrin nazioarteko heroi bihurtu ziren Ilargia zapaldu zuten lehen gizakiak izan ostean. Baina astronauta hauek kameraren heroiak ziren bitartean, milaka heroi ezezagun daude, haien inplikaziorik gabe, lehen tripulatutako Ilargi lurreratzea ezinezkoa izango ez zena. Heroi horietako batzuk hegaldia kodetu zuten software garatzaileak izan ziren. Zergatik?

    Bada, garai hartan zeuden ordenagailuak gaur egun baino askoz sinpleagoak ziren. Izan ere, pertsona baten batez besteko telefono adimenduna Apollo 11 espazio-ontzian (eta 1960ko hamarkadako NASA guztia, kasurako) baino hainbat magnitude-ordena handiagoa da. Gainera, garai hartako ordenagailuak makina-lengoaia oinarrizkoenetan programatzen zuten software-garatzaile espezializatuek kodetzen zuten: AGC Assembly Code edo besterik gabe, 1 eta 0etan.

    Testuinguruari dagokionez, heroi ezezagun horietako bat, Apollo espazio programako Software Ingeniaritza Dibisioko zuzendaria, Margaret Hamilton, eta bere taldeak kode mendi bat idatzi behar izan zuen (beheko irudian), egungo programazio-lengoaiak erabiliz ahaleginaren zati bat erabiliz idatzi zitekeena.

    (Goiko irudian Margaret Hamilton dago Apollo 11 softwarea duen paper-pila baten ondoan zutik.)

    Eta gaur egun ez bezala, non software garatzaileek agertoki posibleen ehuneko 80-90 inguru kodetzen dutenean, Apollo misioetarako, haien kodeak dena kontuan hartu behar zuen. Hau perspektiban jartzeko, Margaretek berak esan zuen:

    "Kontrol-zerrenden eskuliburuan akats bat zela eta, hitzordurako radar etengailua posizio okerrean jarri zen. Horrek okerreko seinaleak bidaltzen zizkion ordenagailuari. Ondorioz, ordenagailuari lurreratzeko ohiko funtzio guztiak betetzeko eskatu zitzaion. denboraren % 15 erabiltzen zuen datu faltsuen karga gehigarria jasotzen zuen bitartean. Ordenagailua (edo, hobeto esanda, bertan dagoen softwarea) nahikoa adimentsu zen, egin behar baino zeregin gehiago eskatzen zizkiola antzemateko. Orduan bidali zuen. alarma bat atera, eta horrek esan nahi zuen astronautarentzat, une honetan egin beharko nituzkeen baino zeregin gehiagoz gainkargatuta nago, eta zeregin garrantzitsuenak bakarrik gordeko ditut, hau da, lurreratzeko beharrezkoak direnak... Egia esan. , ordenagailua errore-baldintzak ezagutzea baino gehiago egiteko programatu zen. Softwarean berreskuratzeko programa multzo osoa sartu zen. Softwarearen ekintza, kasu honetan, lehentasun txikiagoko zereginak ezabatzea eta garrantzitsuenak berriro ezartzea izan zen... Ordenagailuak ez baluarazo hau aitortu eta berreskuratzeko neurriak hartu zituen, zalantza dut Apollo 11 izan zen ilargi lurreratzea arrakastatsua izango zen".

    - Margaret Hamilton, Apollo Flight Computer Programming-eko zuzendaria MIT Draper Laboratory, Cambridge, Massachusetts, "Computer Got Loaded", gutuna. Datamation, Martxoa 1, 1971

    Lehen esan bezala, softwarearen garapena eboluzionatu egin da Apollo garai haietatik. Goi-mailako programazio-lengoaia berriek 1 eta 0-ekin kodetzeko prozesu neketsua ordezkatu zuten hitz eta sinboloekin kodetzeko. Kodeketa egunak eskatzen zituen ausazko zenbaki bat sortzea bezalako funtzioak orain komando-lerro bakarra idatziz ordezkatzen dira.

    Beste era batera esanda, softwarearen kodeketa gero eta automatizatuagoa, intuitiboagoa eta gizatiarragoa bihurtu da hamarkada bakoitzean. Ezaugarri hauek etorkizunean bakarrik jarraituko dute, softwarearen garapena gure eguneroko bizitzan eragin handia izango duten moduetan gidatuz. Hau da kapitulu hau Ordenagailuen etorkizuna serieak aztertuko ditu.

    Masentzat software garapena

    1ak eta 0ak (makina-lengoaia) kodetu beharra hitz eta sinboloekin (giza-lengoaia) ordezkatzeko prozesuari abstrakzio-geruzak gehitzeko prozesuari esaten zaio. Abstrakzio hauek diseinatu ziren eremurako funtzio konplexuak edo komunak automatizatzen dituzten programazio-lengoaia berrien moduan etorri dira. Baina 2000ko hamarkadaren hasieran, enpresa berriak sortu ziren (Caspio, QuickBase eta Mendi bezalakoak), koderik gabeko edo kode baxuko plataformak eskaintzen hasi zirenak.

    Lineako panel erabilerrazak dira, teknikoak ez diren profesionalek beren negozioaren beharretara egokitutako aplikazio pertsonalizatuak sortzea ahalbidetzen duten kode-bloke bisualak (ikurrak/grafikoak) elkartuz. Beste era batera esanda, zuhaitz bat moztu eta jantzi-armairu batean moldatu beharrean, Ikea-ren aurrez moldatutako piezak erabiliz eraikitzen duzu.

    Zerbitzu hau erabiltzeak informatika-maila jakin bat eskatzen duen arren, jada ez duzu informatika-titulua erabili behar. Ondorioz, abstrakzio modu honek milioika "software garatzaile" berriren gorakada ahalbidetzen du korporazio munduan, eta haur askok adin goiztiarrean kodetzen ikasteko aukera ematen du.

    Software garatzaile izateak zer esan nahi duen birdefinitzea

    Garai batean paisaia bat edo pertsona baten aurpegia mihise batean bakarrik harrapatzen zen. Margolari batek urtetan ikasi eta praktikatu beharko luke aprendiz gisa, pinturaren lanbidea ikasiz: koloreak nola nahasi, zein tresna diren egokienak, ikus-entzunezko zehatz bat exekutatzeko teknika egokiak. Merkataritzaren kostuak eta ondo egiteko behar zen urte askotako esperientziak ere margolariak gutxi zirela esan nahi zuen.

    Orduan kamera asmatu zen. Eta botoi bat sakatzean, paisaiak eta erretratuak segundo batean atera ziren, bestela egunak edo asteak beharko lirateke margotzeko. Eta kamerak hobetu ahala, merkeagoak eta ugariak bihurtu zirenean, orain smartphone oinarrizkoenean ere sartzen diren punturaino, gure inguruko mundua harrapatzea ohiko eta kasualitateko jarduera bihurtu zen denek parte hartzen duten.

    Abstrakzioek aurrera egiten duten heinean eta software-lengoaia berriek software-garapeneko lan gero eta ohikoagoa automatizatzen duten heinean, zer esan nahi du 10 eta 20 urte barru software garatzaile izateak? Galdera honi erantzuteko, ikus dezagun etorkizuneko software garatzaileek biharko aplikazioak eraikitzeko nola egingo duten:

    *Lehenik eta behin, kodeketa lan estandarizatu eta errepikakor guztiak desagertuko dira. Horren ordez, aurrez definitutako osagaien jokabideen, interfazearen eta datu-fluxuen manipulazioen liburutegi zabala egongo da (Ikea zatiak).

    *Gaur bezala, enpresaburuek edo ekintzaileek helburu eta entrega zehatzak definituko dituzte software garatzaileek software-aplikazio edo plataforma espezializatuen bidez exekutatzeko.

    *Garatzaile hauek beren exekuzio-estrategia markatuko dute eta beren softwarearen lehen zirriborroak prototipatzen hasiko dira osagaien liburutegian sartuz eta elkarrekin lotzeko bisual interfazeak erabiliz: errealitate areagotuaren (AR) edo errealitate birtualaren (VR) bidez atzitzen diren bisual interfazeak.

    * Adimen artifizialaren (AI) sistema espezializatuek garatzaileen hasierako zirriborroek inplikatzen dituzten helburuak eta entregak ulertzeko diseinatutako sistemak, ondoren, zirriborroaren softwarearen diseinua hobetuko dute eta kalitatea bermatzeko proba guztiak automatizatuko dituzte.

    *Emaitzetan oinarrituta, AIak galdera ugari egingo dizkio garatzaileari (adibidez, ahozko komunikazioaren bidez, Alexa moduko komunikazioaren bidez), proiektuaren helburuak eta entregagarriak hobeto ulertu eta definitu eta softwareak hainbat eszenatokitan nola jokatu behar duen eztabaidatu nahian. eta inguruneak.

    *Garatzailearen iritzietan oinarrituta, AIak pixkanaka bere asmoa ikasiko du eta kodea sortuko du proiektuaren helburuak islatzeko.

    *Aitzinetik aurrera, giza-makinen lankidetza honek softwarearen bertsioz ​​bertsio errepikatuko du, bertsio amaitu eta merkaturatzeko prest egon arte barne inplementatzeko edo publikoari saltzeko.

    *Izan ere, lankidetza honek softwarea mundu errealeko erabilera jasan ondoren jarraituko du. Akats sinpleak jakinarazi diren heinean, AIak automatikoki konponduko ditu softwarearen garapen prozesuan zehaztutako jatorrizko helburuak islatzen dituen moduan. Bien bitartean, akats larriagoek giza-AI lankidetza eskatuko dute arazoa konpontzeko.

    Oro har, etorkizuneko software garatzaileek gutxiago zentratuko dute "nola" eta gehiago "zer" eta "zergatik". Artisau gutxiago eta arkitekto gehiago izango dira. Programazioa ariketa intelektual bat izango da, AI batek ulertu ahal izateko asmoa eta emaitzak metodikoki komunikatzeko eta, ondoren, amaitutako aplikazio edo plataforma digital bat automatikoki kodetu ditzaketen pertsonak eskatuko dituena.

    Adimen artifiziala bultzatutako software garapena

    Goiko atala ikusita, argi dago AI softwarearen garapenaren alorrean gero eta paper zentralagoa izango dela uste dugula, baina bere hartzea ez da soilik software garatzaileak eraginkorragoak izan daitezen, joera honen atzean negozio indarrak ere badaude.

    Software garatzeko enpresen arteko lehia gero eta gogorragoa da urtez urte. Enpresa batzuk lehiatzen dira lehiakideak erosiz. Beste batzuk software desberdintzearen inguruan lehiatzen dira. Azken estrategia honen erronka da ez dela erraz defendatzen. Enpresa batek bezeroei eskaintzen dien edozein software eginbide edo hobekuntza, bere lehiakideek erraz kopiatu ditzakete.

    Hori dela eta, desagertu egin dira enpresek software berria hiru urtean behin kaleratzen zuten garaia. Egun, bereizkuntzan zentratzen diren enpresek pizgarri ekonomikoa dute software berriak, software konponketak eta software-eginbide berriak gero eta erregularagoak askatzeko. Zenbat eta azkarrago berritzen duten enpresek, orduan eta gehiago sustatzen dute bezeroen leialtasuna eta lehiakideetara aldatzearen kostua handitzen dute. Software-eguneratze gehigarrien ohiko entregaren aldeko aldaketa hau "etengabeko entrega" izeneko joera da.

    Zoritxarrez, etengabeko entrega ez da erraza. Gaur egungo software-enpresen laurdenak apenas exekutatu dezake joera honek eskatzen duen kaleratze-egutegia. Eta horregatik dago hainbeste interes AI erabiltzeak gauzak azkartzeko.

    Lehen adierazi bezala, AI softwarearen zirriborroan eta garapenean gero eta lankidetza-eginkizun handiagoa izango du azkenean. Baina epe laburrean, enpresek softwarearen kalitatea ziurtatzeko (probak) prozesuak gero eta gehiago automatizatzeko erabiltzen dute. Eta beste konpainia batzuk AI erabiltzen ari dira softwarearen dokumentazioa automatizatzeko, funtzio eta osagai berrien askapenaren jarraipena egiteko prozesua eta kode mailaraino nola sortu ziren.

    Oro har, IAk gero eta rol nagusia izango du softwarearen garapenean. Bere erabilera goiz menderatzen duten software-enpresa horiek, azkenean, hazkunde esponentziala izango dute lehiakideekiko. Baina AIren irabazi horiez jabetzeko, industriak hardwarearen alorrean aurrerapenak ere ikusi beharko ditu; hurrengo atalean puntu honi buruz landuko da.

    Software gisa zerbitzu gisa

    Sormen-profesional guztiek Adobe softwarea erabiltzen dute arte digitala edo diseinu-lanak sortzerakoan. Ia hiru hamarkadaz, Adoberen softwarea CD gisa erosi zenuen eta bere erabileraren jabe izan zinen betirako, etorkizuneko bertsio berrituak behar bezala erosiz. Baina 2010eko hamarkadaren erdialdean, Adobek bere estrategia aldatu zuen.

    Jabetza-gako gogaikarri landuak dituzten software-CDak erosi beharrean, Adobe-ren bezeroek hileroko harpidetza ordaindu beharko lukete Adobe-ren gailu informatikoetan deskargatzeko eskubideagatik, Adobe zerbitzarietarako ohiko eta etengabeko Interneteko konexio batekin bakarrik funtzionatuko lukeen softwarea. .

    Aldaketa honekin, bezeroek jada ez zuten Adobe softwarearen jabe; behar bezala alokatu zuten. Horren truke, bezeroek jada ez dute Adobe softwarearen bertsio berrituak etengabe erosi beharrik; betiere, Adobe zerbitzura harpidetuta egonez gero, azken eguneraketak gailura kargatuko zituzten beti kaleratu eta berehala (askotan urtean hainbat aldiz).

    Hau azken urteotan ikusi dugun software joera handienetako baten adibide bat baino ez da: softwarea produktu autonomo baten ordez zerbitzura nola trantsitzen den. Eta software txikiago eta espezializatua ez ezik, sistema eragile osoak baizik, Microsoft-en Windows 10 eguneraketa kaleratzean ikusi dugun bezala. Beste era batera esanda, software gisa zerbitzu gisa (SaaS).

    Autoikaskuntzako softwarea (SLS)

    SaaS alderako industriaren aldaketan oinarrituta, softwarearen esparruan SaaS eta AI uztartzen dituen joera berri bat ari da sortzen. Amazon, Google, Microsoft eta IBMko enpresa nagusiak beren AI azpiegiturak bezeroei zerbitzu gisa eskaintzen hasi dira.

    Beste era batera esanda, jada ez dira AI eta ikaskuntza automatikoa software erraldoientzat soilik eskuragarri; orain, edozein konpainiak eta garatzaileek lineako AI baliabideak atzi ditzake autoikaskuntzako softwarea (SLS) eraikitzeko.

    Inteligentzia Artifizialaren Etorkizuna seriean AI-aren potentziala zehatz-mehatz eztabaidatuko dugu, baina kapitulu honen testuinguruan, esango dugu egungo eta etorkizuneko software garatzaileek SLS sortuko dutela egin beharreko zereginak aurreikusten dituzten sistema berriak sortzeko. besterik gabe, automatikoki bete itzazu.

    Horrek esan nahi du etorkizuneko AI laguntzaile batek zure lan-estiloa ikasiko duela bulegoan eta zuretzako oinarrizko zereginak betetzen hasiko direla, hala nola dokumentuak nahi duzun bezala formateatzea, mezu elektronikoak zure ahots-tonuan idaztea, lan-egutegia kudeatzea eta abar.

    Etxean, horrek SLS sistema batek zure etorkizuneko etxe adimenduna kudeatzea suposa dezake, zure etxea aurrez berotzea iritsi aurretik edo erosi behar dituzun janarien jarraipena egitea bezalako zereginak barne.

    2020ko hamarkadan eta 2030eko hamarkadan, SLS sistema hauek ezinbesteko zeregina izango dute korporazio, gobernu, militar eta kontsumo merkatuetan, pixkanaka bakoitzak bere produktibitatea hobetzen eta mota guztietako hondakinak murrizten lagunduz. SLS teknologia zehatzago azalduko dugu serie honetan aurrerago.

    Hala ere, horrek guztiak badu harrapaketa bat.

    SaaS eta SLS ereduek funtzionatzen duten modu bakarra Internetek (edo haren azpiegiturak) hazten eta hobetzen jarraitzen badu, SaaS/SLS sistema hauek "hodeia" exekutatzen duten informatika eta biltegiratze hardwarearekin batera. Zorionez, jarraipena egiten ari garen joerak itxaropentsuak dirudite.

    Internet nola hazi eta eboluzionatuko den jakiteko, irakurri gure Interneten etorkizuna seriea. Ordenagailuaren hardwarea nola aurreratuko den jakiteko, irakurri beheko estekak erabiliz!

    Future of Computers seriea

    Erabiltzaile-interfazeak sortzen ari dira gizatasuna birdefinitzeko: ordenagailuen etorkizuna P1

    Biltegiratze digitalaren iraultza: ordenagailuen etorkizuna P3

    Desagertzen den Mooreren legea mikrotxipen oinarrizko birpentsaketa pizteko: Computers of Future P4

    Hodeiko informatika deszentralizatu egiten da: ordenagailuen etorkizuna P5

    Zergatik ari dira herrialdeak lehian superordenagailu handienak eraikitzeko? Ordenagailuen Etorkizuna P6

    Nola aldatuko duten ordenagailu kuantikoek mundua: ordenagailuen etorkizuna P7    

    Iragarpen honen hurrengo programatutako eguneratzea

    2023-02-08

    Iragarpen erreferentziak

    Iragarpen honetarako honako esteka ezagun eta instituzional hauei erreferentzia egin zaie:

    Iragarpen honetarako Quantumrun esteka hauei erreferentzia egin zaie: