„Priya Rose ir jos draugė Irena Wang sukūrė telefono programėlę „BabyTime“, kad jų maži vaikai galėtų skambinti, bakstelėdami šeimos narių veidų nuotraukas. Wang teigimu, paprasta sąsaja yra sukurta: kitaip nei „FaceTime“, negalite netyčia paskambinti netinkamam asmeniui. Nenorime programėlių, pilnų reklamų ir nereikalingų dalykų.“
Nors „BabyTime“ yra išradinga idėja, jos nerasite „App Store“. Rose ir Wang, gyvenančios Niujorke, sukūrė ją per vieną popietę, kol Rose devynių mėnesių kūdikis gyveno su aukle. Jos nukopijavo ir įklijavo kodą, sugeneruotą nemokamos „Claude“, „Anthropic“ dirbtinio intelekto pokalbių roboto, versijos. Kadangi „BabyTime“ nereikia naudoti jokioms kitoms šeimoms, jos „užkodavo“ kontaktų sąrašą, įkeldamos nuotraukas ir telefono numerius tiesiai į programėlę. O dabar Wang trejų metų sūnus yra aktyvus naudotojas kiekvieną savaitę. (Rose kūdikis dar per mažas, nors ji netrukus bandys dar kartą.)
Daugumai iš mūsų programinė įranga visada buvo tai, ką vartojame, o ne tai, ką galime kurti. Tačiau per pastaruosius dvejus metus dirbtinio intelekto kodo generavimo produktai pradėjo tai keisti. Bendrosios paskirties pokalbių robotai, tokie, kaip „Claude“ ir „ChatGPT“, akimirksniu išverčia paprastą anglų kalbą į tinkamą naudoti kodą, nors jums reikės jį sukompiliuoti [1] ir įdiegti [2] patiems. Yra dirbtinio intelekto valdomų kodo redaktorių, tokių, kaip „Cursor“ – sparčiausiai auganti programinės įrangos, kaip paslaugos bendrovė, kuri programinės įrangos inžinieriams yra tarsi automatinis teksto užbaigimas ant steroidų.
Galiausiai, prieinamiausias variantas yra „be kodo“ produktai, tokie, kaip „Replit“ ir „Lovable“, kurie yra žiniatinklio naršyklėje ir yra optimizuoti ne inžinieriams. Galite sugalvoti greitą užduotį, pvz., „Sukurkite man svetainę, kurioje būtų rodomi nauji albumai, kurių klausausi kiekvieną mėnesį“, ir per kelias minutes gausite veikiančią svetainę ir URL.
Šį metodą Andrejus Karpathy, dirbtinio intelekto tyrėjas, kuris buvo „OpenAI“ įkūrėjų komandoje ir vadovavo dirbtiniam intelektui „Tesla“, pavadino „vibe kodavimu“. Dirbtinio intelekto kodavimo programos „tampa per geros“. „Vos paliečiu klaviatūrą“, – rašė jis „X“.
Daug spėliojama, kaip DI kodavimas padės įmonėms kurti programinę įrangą efektyviau ir greičiau – ir kaip tai gali kelti grėsmę jaunesniųjų inžinierių darbo vietoms. Balandžio mėnesį „Microsoft“ generalinis direktorius Satya Nadella teigė, kad iki 30 % „Microsoft“ kodo jau parašė DI. „Meta“ generalinis direktorius Markas Zuckerbergas tikisi, kad iki metų pabaigos DI koduos „vidutinio lygio inžinieriaus“ lygiu.
Tačiau svarbiausias nebrangių DI kodavimo įrankių poveikis gali būti programinės įrangos kūrimo pasiekimas plačiajai visuomenei, nereikalaujant jokio informatikos diplomo ar milijardo dolerių pajamų plano. Pasiskolinant analogiją iš autoriaus ir programuotojo Robino Sloano, DI gali leisti daugiau žmonių programuoti, kaip „namų virėjui“ – smagiai kurti programas savo namams ir bendruomenei – užuot pasikliaujant greito maisto restoranais, kurie pramoniniu mastu gamina bendrines programas.
Michaelas Keatingas, elektrinių dviračių įkūrėjas San Franciske, teigia, kad DI išsprendė „ikoninę netechninę įkūrėjo problemą“: įtikinti inžinierių sukurti jūsų beprotišką idėją. Jis panaudojo savo 25 dolerių per mėnesį „Replit“ prenumeratą, skirtą sukurti 20 klausimų žaidimą savo 7 metų sūnui – „jis žais su tavimi „20 klausimų“, kol tau pritrūks jėgų“. Keatingas pažymi: „Man nereikėjo nieko įtikinėti, kad 20 klausimų žaidimo kūrimas vertas mano ar jų laiko.“ „Aš tiesiog nusprendžiau, kad verta tai padaryti, ir aš tai padariau.“
Xavieras Maieris, Vaterlo universiteto aplinkosaugos studijų studentas, vasaras leidžia sodindamas tūkstančius medžių Kanados miškų atsodinimo įmonei. Draugas pasiūlė jam padėti sukurti svetainę, kurioje būtų galima stebėti jo sodinimą. „Nenorėjau versti savo draugo atlikti viso šio darbo nemokamai, bet jis tvirtino, kad tai labai lengva“, – sakė Maieris. Po „kelių valandų“ darbo su dirbtinio intelekto kodavimo įrankiais svetainė veikia ir rodo daugiau, nei 15 000 medžių, kuriuos jis pasodino šį mėnesį.
Hudhayfa Nazoordeenas, Maierio draugas ir buvęs klasiokas, yra produktyvus vibracijų programuotojas: „Turbūt, kasdien kuriu po programėlę“, – sakė jis. Kai prisijungėme prie „Zoom“, jis man parodė keletą specialiai sukurtų programėlių, skirtų padėti jam ruoštis egzaminams: standartinių aktuarinių formulių vadovėlį ir skaičiuotuvą, „Dangaus mechanikos tyrinėtoją“, kuris padėjo jam suprasti Lagranžo taškus ir juodąsias skyles per interaktyvius vaizdus, o ne tankius tekstus.
Nazoordeenas taip pat užsiima tradiciniu programavimu – jis pradėjo kurti programas nuo nulio, kai jam buvo 10 metų – ir sako, kad „programavimas ir programinės įrangos inžinerija atrodo kaip dvi skirtingos sritys“. Jis kuria programas su dirbtiniu intelektu, kad sukurtų „vienkartines“ programas, kurių atsikratytų, kai jos nebebūtų naudingos, pavyzdžiui, pasibaigus paskaitoms kolegijoje.
Dabartiniai tokie programuotojai negali patys kurti tokios programinės įrangos, kuria galėtų naudotis milijonai žmonių stabiliai ir saugiai. Komercinės programinės įrangos kūrimui kompetencija vis dar svarbi. Net ir norint būti „vibe“ koduotoju, naudinga turėti tam tikrų žinių apie tai, kaip veikia programinė įranga. „Pašaliniams tai nėra taip prieinama, kaip gali atrodyti. Net bandymas gauti „GitHub“ paskyrą buvo tikras vargas“, – pripažino Maier. „Turiu pranašumą, nes mano draugai mokosi kompiuterių specialybės.“
Tada iškyla iššūkis – žinoti, ką iš viso kurti. Dauguma mūsų savo gyvenimą sukūrėme, naudodami, kitų žmonių sukurtus, objektus ir įrankius. Reikia pakeisti mąstyseną, kad pereitume nuo „Norėčiau turėti tam skirtą programėlę“ prie „Kodėl gi nesukūrus to pačiam?“.
Rizikos kapitalistas Nikunj Kothari, 34 metų, savo San Francisko įlankos rajono namų ūkiui kuria „vibe“ kodą, kurdamas individualias spalvinimo knygelių svetaines ir valgiaraščio planavimo programėles. Tačiau jis nėra tikras, ar „vibe“ kodavimas bus populiarus: „Dauguma žmonių nenori prižiūrėti programinės įrangos. Jei jie nori papildomų funkcijų, verčiau moka.“
Daugeliui tikslų puikiai tiks ir standartinės programėlės. Tačiau pastarasis dešimtmetis atskleidė didžiųjų technologijų bendrovių universalaus modelio apribojimus. Vartotojai skundžiasi, kad jų mėgstamos svetainės „išvaizdos sušūdiškėja“, nes savininkai kelia kainas ir užpildo sklaidos kanalus skelbimais. O grupėms, kuriose yra mažiau vartotojų arba mažiau perkamosios galios – pavyzdžiui, silpnaregiams, ne angliškai kalbantiems, ar, žinoma, kūdikiams – sunkiau rasti komercinę programinę įrangą, kuri atitiktų jų poreikius.
Todėl negaliu nesidžiaugti išplėstomis galimybėmis, kurias sukuria vibracijų kodavimas. Savo programėlėje „Notes“ nuolat tvarkau programų idėjų, kurias noriu įgyvendinti naudodama dirbtinį intelektą, sąrašą. Kai kurios yra mechaniškos tyrimų užduotys, kurias norėčiau automatizuoti. Kitos egzistuoja kažkur tarp kūrybinio projekto ir įmantraus pokšto, pavyzdžiui, „masalų antraščių generatorius“ ir „lažybų rinkos mano grupiniams pokalbiams“.
Nė viena iš jų nėra milijardo dolerių vertės galimybė. Laimei, man, aš esu vienintelė vartotojų bazė, kurios man reikia.
---
Jasmine Sun yra rašytoja ir technologė, gyvenanti San Franciske. Ji leidžia naujienlaiškį ir tinklalaidę svetainėje jasmi.news.” [3]
1. Kodo kompiliavimas apima kompiliatoriaus naudojimą, kad žmogaus skaitomas šaltinio kodas būtų paverstas kompiuterio skaitomu kodu, paprastai dvejetainiu failu, kurį gali vykdyti kompiuteris. Šis procesas paprastai apima kelis veiksmus, įskaitant išankstinį apdorojimą, kompiliavimą, surinkimą ir susiejimą.
Štai bendra kompiliavimo proceso apžvalga:
A. Išankstinis apdorojimas:
Išankstinis procesorius atlieka tokias užduotis, kaip komentarų, įskaitant antraštės failus, pašalinimas ir makrokomandų išplėtimas.
B. Kompiliavimas:
Kompiliatorius iš anksto apdorotą kodą verčia į asemblerio kodą, kuris yra žemesnio lygio kalba, artimesnė kompiuterio instrukcijų rinkiniui.
C. Asembleris:
Asembleris konvertuoja asemblerio kodą į objektinį kodą, dvejetainį failą, kuriame yra kompiuterio skaitomos instrukcijos.
D. Susiejimas:
Susiejimas sujungia objektinį kodą su visais reikalingais bibliotekos failais, kad sukurtų galutinį vykdomąjį failą.
Paprastai tariant, procesą galima apibendrinti taip:
A. Parašykite savo kodą:
Tai apima programos rašymą programavimo kalba, pvz., C, C++, Java arba Python.
B. Sukompiliuokite kodą:
Norėdami išversti kodą į kompiuterio skaitomas instrukcijas, naudojate savo kalbai skirtą kompiliatorių (pvz., GCC C, „Java“ kompiliatorių).
C. Paleiskite sukompiliuotą kodą:
Gautą vykdomąjį failą galima paleisti, o programos instrukcijas vykdys kompiuteris.
Kompiliavimo pavyzdžiai:
C++ kompiliavimas:
Naudodami kompiliatorių, pvz., GCC arba Clang, galite sukompiliuoti C++ program, naudodami tokią komandą, kaip g++ myprogram.cpp -o myprogram.
Ši komanda nurodo kompiliatoriui sukompiliuoti failą myprogram.cpp ir sukurti vykdomąjį failą pavadinimu myprogram.
Java kompiliavimas:
Java programos kompiliuojamos, naudojant komandą javac.
Pavyzdžiui, norėdami sukompiliuoti Java failą pavadinimu MyClass.java, turėtumėte naudoti komandą javac MyClass.java.
Python kompiliavimas:
A.Python daugiausia yra interpretuojamas, bet jį galite kompiliuoti naudodami tokius įrankius kaip Nuitka, kad sukurtumėte atskiros vykdomąsias programas. (Atskira vykdomoji programa yra kompiuterinė programa, kurią galima paleisti be jokių išorinių priklausomybių, pvz., bibliotekų ar vykdymo aplinkos. Tai reiškia, kad programą galite paleisti tiesiai iš vykdomojo failo, nereikėdami diegti jokios papildomos programinės įrangos ar konfigūruoti sistemos. Atskiros vykdomosios programos dažnai naudojamos programinės įrangos programoms platinti arba nešiojamai programinei įrangai, kurią galima paleisti skirtinguose kompiuteriuose, nereikalaujant specialių programinės įrangos diegimų, kurti.)
B. Norėdami diegti programinę įrangą, paprastai vadovaujatės struktūrizuotu procesu, apimančiu planavimą, kūrimą / konfigūravimą, testavimą, diegimą ir nuolatinį stebėjimą bei priežiūrą. Šį procesą galima supaprastinti, naudojant tokias priemones, kaip „Configuration Manager“ arba „DevOps“ metodikas.
Štai išsamesnis programinės įrangos diegimo proceso aprašymas:
A. Planavimas ir vertinimas:
Tai apima supratimą atsižvelgiant į jūsų organizacijos poreikius, tikslus ir konkrečią diegiamą programinę įrangą.
B. Kūrimas / konfigūravimas:
Šiame etape daugiausia dėmesio skiriama programinės įrangos kūrimui arba konfigūravimui, įskaitant kompiliavimą, pakavimą ir testavimą.
C. Testavimas ir kokybės užtikrinimas:
Tai užtikrina, kad programinė įranga veiktų taip, kaip tikėtasi, ir atitiktų kokybės standartus prieš diegimą.
D. Diegimas:
Tai etapas, kai programinė įranga perkeliama į tikslinę aplinką (pvz., gamybos serverius).
E. Stebėjimas ir priežiūra:
Tai apima diegiamos programinės įrangos našumo ir būklės stebėjimą, problemų sprendimą ir nuolatinės pagalbos teikimą.
Programinės įrangos diegimo įrankiai ir metodai:
Konfigūracijos tvarkyklė:
Ši „Microsoft“ priemonė leidžia valdyti ir diegti programinę įrangą, atnaujinimus ir programas visame tinkle.
DevOps:
Ši metodika pabrėžia kūrimo ir operacijų komandų bendradarbiavimą, siekiant automatizuoti ir supaprastinti programinės įrangos diegimo procesą.
CI/CD (nuolatinė integracija / nuolatinis teikimas):
Šis metodas automatizuoja programinės įrangos kūrimą, testavimą ir diegimą, todėl leidžia greičiau ir dažniau išleisti programas.
Diegimo scenarijai:
Jie gali būti naudojami programinės įrangos diegimui ir konfigūravimui automatizuoti, užtikrinant nuoseklumą ir kartojamumą.
Automatinis atšaukimas:
Ši funkcija leidžia greitai grįžti prie ankstesnės programinės įrangos versijos, jei kyla diegimo problemų.
Žurnalų stebėjimas:
Stebėjimo žurnalai suteikia vertingų įžvalgų apie programinės įrangos veikimą ir padeda nustatyti galimas problemas.
Pavyzdys: programos diegimas, naudojant konfigūracijos tvarkyklę:
Konfigūracijos tvarkyklės konsolėje eikite į programinės įrangos bibliotekos darbo sritį ir pasirinkite programą, kurią norite diegti.
Juostoje pasirinkite „Diegti“.
Puslapyje „Bendra“ nurodykite programą ir tikslinę kolekciją (pvz., kompiuterių grupę).
Puslapyje „Turinys“ patikrinkite platinimo tašką, iš kurio norite įdiegti programą.
Puslapyje „Diegimo nustatymai“ sukonfigūruokite diegimo veiksmą (pvz., įdiegti) ir tikslą (pvz., būtina).
Planavimo puslapyje apibrėžkite, kada programa turėtų būti įdiegta.
Užbaikite vedlį, kad užbaigtumėte diegimą.
3. REVIEW --- Your Next Favorite App? The One You Make Yourself. --- 'Vibe coding' with new AI tools makes it possible for just about anyone to create personalized apps -- no programming required. Sun, Jasmine. Wall Street Journal, Eastern edition; New York, N.Y. 24 May 2025: C3.
Komentarų nėra:
Rašyti komentarą