Įdomūs faktai apie programinę įrangą ir programas

Paskutiniai pakeitimai: 24 Sausis 2026
Autorius: Alexandra
  • Programinės įrangos kūrimas apjungia logiką, kūrybiškumą ir bendradarbiavimą, toli gražu ne vienišo programuotojo stereotipą.
  • Daugelis mitų apie kompiuteriją paneigiami, kai pamatai vaidmenų įvairovę ir programavimo mokymosi prieinamumą.
  • Tokie įprasti terminai kaip kenkėjiška programa, Trojos arklys ar „WordPress“ turi labai specifinę istorinę ir kultūrinę kilmę.
  • Dirbtinio intelekto, žiniatinklio ir įmonių programinės įrangos evoliucija rodo, kaip kodas formuoja mūsų kasdienį gyvenimą.

Įdomūs faktai apie programinę įrangą ir programas

El programinės įrangos ir programų pasaulis Jame gausu anekdotų, mitų, keistų terminų ir mažų istorijų, kurios beveik niekada nepasakojamos, bet paaiškina, kodėl mes naudojame technologijas taip, kaip jas žinome šiandien. Nuo to, kaip buvo sugalvotas žodis „programinė įranga“, iki to, kodėl daugelis programuotojų mėgsta terminalą ir nekenčia kabliataškių, tiesa ta, kad už kiekvienos kodo eilutės paprastai slypi daugiau nei vien tik logika.

Be to, kompiuterija ir programavimas Jie vystėsi žaibišku greičiu: nuo kelių laboratorijų ekspertų srities iki vaizdo žaidimų, mobiliųjų programėlių, interneto, įmonių programinės įrangos ir net transliuojamos muzikos pagrindo. Suprasti įdomius faktus apie programinę įrangą ir programas ne tik smagu, bet ir padeda suprasti, kad ši visata nėra tokia nepasiekiama ar šalta, kaip dažnai atrodo.

Slapukai, naudotojo patirtis ir kaip svetainė jus atpažįsta

Kai įeinate į puslapį ir pasirodo įprastas pranešimas apie slapukus, tai nėra tik paprasta ir varginanti procedūra: Slapukai yra maži failai Ši informacija saugoma jūsų naršyklėje, kad būtų galima prisiminti, kas jūs esate ir kaip naudojatės svetaine. Remdamasi šia informacija, svetainė gali nustatyti, ar jau esate prisijungę, kokią kalbą pageidaujate arba kurie skyriai lankytojams yra įdomiausi.

Praktiškai tai reiškia, kad žiniatinklis gali „atpažinti tave“, kai grįšiJie pritaiko tam tikrą turinį ir renka anoniminius duomenis, kad komanda žinotų, kurie skyriai veikia geriausiai, o kurie retai lankomi. Jie yra pagrindinis elementas gerinant naudotojų patirtį, nors taip pat kelia diskusijų apie privatumą ir stebėjimą tarp svetainių.

Už šio paprasto teisinio pranešimo slypi visa logika naršyklės saugyklaSeanso valdymas, analizės įrankiai ir nuostatų nustatymai. Visos šios programos veikia tiek jūsų įrenginyje, tiek žiniatinklio serveriuose ir yra suderintos, kad naršymas būtų sklandus ir suasmenintas.

Dirbtinis intelektas ir programinės įrangos naudojimo būdo pokyčiai

La Dirbtinis intelektas (AI) Tai turbūt sparčiausiai besikeičianti programinės įrangos sritis šiomis dienomis. Per kelis mėnesius atsiranda nauji kalbos modeliai (LLM), nuostabūs įrankiai ir skirtingi jų integravimo į įvairias programas būdai – nuo ​​virtualių asistentų iki rekomendacijų sistemų.

Metų metus kasdienė sąveika su dirbtiniu intelektu buvo labai paprasta: klausimas-atsakymasUžduotumėte sistemai klausimą, o ji grąžintų sugeneruotą rezultatą. Tačiau šis metodas pasenęs. Vis dažniau atsiranda multimodalinių sąsajų, kuriose derinamas tekstas, balsas, vaizdai, vaizdo įrašai ir net tiesioginiai veiksmai programose ar įrenginiuose.

Dėl to dirbtinis intelektas nustoja būti tik „Paslėptas programinės įrangos komponentas“ ir tapti matoma patirties dalimi. Modeliai, kurie supranta jūsų veiksmų kontekstą, asistentai, siūlantys kodo pakeitimus jums programuojant, arba sistemos, automatizuojančios užduotis fone, keičia programų kūrimo būdą.

Tuo pačiu metu, dėl dirbtinio intelekto vystymosi greičio daugelis įrankių atrodo nefunkcionalūs. Vieną dieną revoliucinis, kitą – pasenęsPrograminės įrangos kūrėjams tai reiškia nuolatinį darbo eigų pritaikymą, naujų API mokymąsi ir vartotojo sąsajų kūrimo permąstymą.

Mokymasis programuoti: daug daugiau nei tik kodo rašymas

Pradėti programuoti – tai ne tik kalbos mokymasis; tai beveik kaip durų atvėrimas nauja psichinė visataLoginio mąstymo, matematikos, inžinerijos ir kūrybiškumo derinys programavimą paverčia ir galvosūkių sprendimu, ir kažko kūrimu nuo nulio iš savo sugalvotų detalių.

Programavimas yra gana panašus į mokytis kalbosYra žodynas (funkcijos, kintamieji), gramatikos taisyklės (sintaksė) ir būdai išreikšti sudėtingas idėjas naudojant gana paprastas struktūras. Skirtumas tas, kad užuot kalbėjęsi su žmogumi, bendrauji su mašinomis ir įrenginiais, kurie tiksliai vykdo tavo nurodymus.

Kai dalyvaujate praktinių užsiėmimų stovykloje, siekiate diplomo ar mokotės, jūs ne tik įsimenate komandas; Lavinate logiką ir problemų sprendimo įgūdžiusPradedi pastebėti dėsningumus visame kame: kaip struktūrizuota programėlė, kaip atskirti sistemos sluoksniai, ką galima automatizuoti... ir taip pat atrandi, koks priklausomybę sukelia tai, kai pamatai, kaip tavo parašytas tekstas atgyja.

Daugelis žmonių pradeda programuoti manydami, kad reikia būti matematikos genijumi. Iš tikrųjų svarbiausia yra... požiūris ir nuolatinė praktikaSprendžiant mažus iššūkius, darant tūkstantį klaidų, taisant klaidas ir nuolat kartojant. Tobulėjant, įgaunate tą galingą jausmą: „jei tai galima logiškai išreikšti, tikriausiai galiu tai ir užprogramuoti“.

Unix, Mac, Linux ir amžinas kontrastas su Windows

Programuotojų bendruomenėje egzistuoja savotiškas vidinis pokštas: daugeliui programuotojų, Unix ir jos įpėdiniai (pvz., „Linux“, „macOS“ ar BSD) pačios savaime yra beveik integruotos kūrimo aplinkos. Tiesą sakant, dažnai sakoma, kad „Unix yra IDE“ dėl daugybės galingų įrankių, kuriuos ji apima.

Nors „Windows“ sistemoje reikia atskirai įdiegti ir konfigūruoti daugelį programų, „Unix“ pagrindu sukurtose sistemose turite terminalas, kompiliatoriai, paketų tvarkyklės ir itin patobulintas užduočių automatizavimo, procesų stebėjimo ar komandų sujungimo priemones. Tai jas daro ypač patogias kasdieniam kūrimo darbui ir paaiškina, kodėl daugelis jų ieško. „Photoshop“ naudojimas „Linux“ sistemoje ir vietinės alternatyvos.

Programuotojai vertina šią ekosistemą, nes jie gali tinkinkite savo darbo eigą Ir kadangi dauguma atvirojo kodo įrankių iš pradžių buvo sukurti „Unix“ sistemai, nors „Windows“ šiandien gerokai patobulėjo (pvz., atsiradus WSL), kūrimo kultūra išlieka glaudžiai susijusi su „Linux“ ir „Unix“ filosofija kurti mažas, specializuotas ir derinamas programas.

Visa tai nereiškia, kad „Windows“ yra „nenaudinga“, toli gražu ne; ją plačiai naudoja įmonės ir galutiniai vartotojai, bet kai kalbama apie rašyti ir diegti programinę įrangąDidelė dalis svarbiausio darbo vis dar atliekama Unix aplinkose arba aplinkose, kurias jos labai įkvėpė.

Kompiliavimas: kai kompiuteris veikia, o jūs laukiate

Daugelyje kalbų, prieš vykdant programą, reikia atlikti šį procesą: kompiliacijaTai apima šaltinio kodo vertimą į formatą, kurį mašina gali tiesiogiai suprasti. Tokios kalbos kaip C arba C++ reikalauja kompiliavimo, ir tai gali užtrukti nuo kelių sekundžių iki kelių minučių ar ilgiau, priklausomai nuo projekto dydžio.

Per tą laiką komanda gali tapti taip užimta, kad praktiškai programuotojas tuo pasinaudoja, padaryti spontanišką pertraukąIš čia ir kilo klasikinis pokštas „aš dirbu, tai kompiliuoju“, kurį daugelis panaudojo kaip pasiteisinimą atsikelti išgerti kavos, kol progreso juosta lėtai juda į priekį.

Šiuolaikinis žiniatinklio kūrimas naudoja kalbas ir interpretatorius, kuriems nereikia tokio sudėtingo kompiliavimo, tačiau net ir tokių yra statybos procesai (sukurti) kodą pakuoti, failus sumažinti arba optimizuotas versijas generuoti, o tai taip pat gali būti šiek tiek lėta.

Galiausiai, kompiliavimas yra esminė kūrimo ciklo dalis: jis padeda aptikti klaidas, optimizuoti našumą ir užtikrinti, kad Kodas teisingai išverstas į mašininę kalbąNors kartais tai atrodo kaip pertrauka, daugeliui komandų tai yra kasdienybės dalis.

Komandinė eilutė ir galia tiesiogiai bendrauti su sistema

Pradedantiesiems konsolė gali atrodyti kiek archajiška, bet pripratus prie jos, ji tampa priklausomybę sukeliančiu įrankiu. Komandinė eilutė Tai reiškia sąveiką su sistema rašant instrukcijas, o ne spustelint piktogramas ir mygtukus.

Iš esmės, terminalo naudojimas yra dar vienas programavimo būdas: komandos yra sujungiamos, naudojami scenarijai (pvz., „Bash“) ir automatizuojamos pasikartojančios užduotys. Tai suteikia labai tiksli sistemos kontrolėleidžia per kelias sekundes atlikti veiksmus, kurie būtų lėti arba beveik neįmanomi naudojant tradicinę grafinę sąsają.

Daugelis kūrėjų mano, kad pripratę prie konsolės, pelės pagrindu sukurtos sąsajos tampa mažiau patrauklios. Jie tampa nerangūs ir riboti.Būtent terminale jie diegia priklausomybes, diegia programas, tvarko procesus arba valdo nuotolinius serverius.

Komandinė eilutė toli gražu nėra praeities reliktas, ji išlieka daugelio šiuolaikinių įrankių pagrindu ir yra viena iš priežasčių, kodėl Sužinokite Bash arba PowerShell Tai gali labai padidinti bet kurio programuotojo produktyvumą.

Klaidos dėl taškų, kablelių ir skliaustų

Nedaug kas labiau erzina nei valandų valandas tobulinti kodo bloką, jį paleisti ir galiausiai atrasti, kad jis neveikia dėl mažytės detalės. Daugelyje kalbų, a trūksta kabliataškioBlogai uždarytas skliaustas arba laužtinis skliaustas, padėtas ten, kur jam ne vieta, gali viską sprogdinti.

Šios sintaksės klaidos yra ypač erzinančios, nes problema slypi ne logikoje, o... prarastas charakteris tarp šimtų eilučiųKompiliatorius arba interpretatorius paprastai pateikia klaidų pranešimus, bet ne visada tiksliai toje vietoje, kur yra klaida, todėl kodą reikia peržiūrėti labai atidžiai.

Daugelis programuotojų pralaimėjo. darbo valandos ieškant tos klastingos savybės. Laikui bėgant, karkasai, linteriai ir išmanieji redaktoriai padeda jas rasti prieš paleidžiant programą, tačiau realybė tokia, kad jos išlieka viena dažniausių nedidelių klaidų priežasčių.

Ši nuolatinė kova su sintakse moko mus daug labiau vertinti gerus kūrimo įrankius ir taip pat ugdo įprotį rašyti švarų ir gerai įtrauktą kodąkur sunkiau trūkstamam skliaustui įslysti niekam nepastebint.

Tinginystė kaip vystymosi dorybė

Programinės įrangos kultūroje egzistuoja įdomi idėja: „produktyvus tinginystė“ Tai teigiama savybė. Šį požiūrį gana gerai apibendrina Billui Gatesui priskiriama citata, kad jis sunkiam darbui renkasi tinginį, nes šis ras lengviausią būdą jį atlikti.

Programavime nuolat išradinėti dviratį iš naujo yra absurdiška. Štai kodėl yra... atvirojo kodo projektaiBibliotekos ir karkasai leidžia pakartotinai panaudoti patikrintus sprendimus. Geras kūrėjas nebando visko kurti nuo nulio; jis ieško esamų įrankių, juos įvertina ir programuoja tik tai, kas yra būtina.

Šis „tinginystė“ skatina mus kurti Paprastas, daugkartinio naudojimo ir automatizuotas kodasJei užduotis yra pasikartojanti, programuotojo instinktas yra parašyti scenarijų ar įrankį, kuris ateityje ją atliktų automatiškai. Laikui bėgant, toks mąstymas taupo pastangas, sumažina klaidų skaičių ir pagreitina kūrimą.

Tokiu būdu tinginystė virsta efektyvumu: užuot dirbus brutaliai ir agresyviai, stengiamasi dirbk protingiau, remdamasi bendruomene, esamais projektais ir dalijimusi geriausia praktika.

Komentarai kode: dokumentacija ir humoristiniai akcentai

Komentarai kode yra eilutės, kurias programa ignoruoja, bet žmonės jas naudoja pastaboms, paaiškinimams ar įspėjimams palikti. Gerai parašytas komentaras gali taupyti darbo valandas kas vėliau turi prižiūrėti tą kodą (dažnai pats autorius po kelių mėnesių).

Jie padeda išsiaiškinti sudėtingus sprendimus, paaiškinti, kodėl buvo pasirinktas konkretus sprendimas, arba įspėti apie jautrias dalis, kurių nereikėtų liesti prieš tai jų nesuprasiant. Didelėse sistemose komentarai yra beveik esminis elementas. įterptoji dokumentacija kuris lydi kodą jo evoliucijos metu.

Tuo pačiu metu daugelis kūrėjų pasinaudoja komentarais, kad prasmuktų Vidiniai juokeliai ir užuominos apie keistuoliusNuo tokių žinučių kaip „Stop; // Plaktukas!“ iki užrašų, tokių kaip „// Magija. Nelieskite“ arba „// girtas, pataisysiu vėliau“. Tokie mirktelėjimai tapo programavimo folkloro dalimi.

Tas rimtumo ir humoro derinys atspindi, kad kodą rašo ne mašinos, o žmonės, ir kad net ir labai sudėtinguose projektuose yra vietos... humanizuoti techninį darbą per mažus juokelius ir paslėptas žinutes.

Kodas, kuris veikia „kaip magija“

Viena iš dažniausiai pasitaikančių programuotojų patirčių yra susidūrimas su senojo kodo blokai kurio niekas iki galo nesupranta, bet kuris veikia ir niekas nedrįsta jo liesti. Tai gali būti senas modulis, kritinė integracija arba pataisa, kuri prieš daugelį metų ištaisė paslaptingą klaidą.

Laikui bėgant, sistemos yra rašomos, perrašomos ir modifikuojamos tiek kartų, kad normalu, jog atsiranda sričių, kuriose logika susipainiojoKartais likęs kodas yra bandymų ir klaidų, desperatiškų testų, kol kažkas nustojo gesti, rezultatas.

Daugelis komandų dirba mintyse pažymėtomis dalimis kaip „nelieskite“, nes nors niekas tiksliai nežino, kodėl jie daro tai, ką daro, rezultatas yra teisingas. Tai nuolatinis priminimas, kad Tikra programinė įranga toli gražu nėra teorinis tobulumas to mokoma knygose.

Ši situacija taip pat pabrėžia, kaip svarbu gera dokumentacija ir automatizuoti testaikuris gali suteikti saugumo pertvarkant, nebijant nutraukti elgesį, kuris iki tol atrodė beveik magiškas.

„Tiesiog pakeisk vieną mažą dalyką“: greitų pokyčių iliuzija

Iš šalies daugelis žmonių mano, kad funkcijos pridėjimas ar sistemos modifikavimas yra „dviejų eilučių prisilietimas“. Tačiau bet kuris programuotojas žino, kad net ir iš pažiūros nedidelis pokytis Tai gali apimti priklausomybių supratimą, architektūros peržiūrą, duomenų bazių atnaujinimą, sąsajos pritaikymą ir visko testavimą.

Beveik visada funkcionalumas, matomas iš paviršiaus, yra tik ledkalnio viršūnėPo ja yra verslo logika, patvirtinimai, integracijos su kitomis paslaugomis ir taisyklės, kurių negalima pažeisti nesukeliant šalutinio poveikio.

Štai kodėl frazė „greitai pakeisti“ dažnai sukelia tam tikrą įtampą: ji rodo, kad Sudėtingumas nėra vertinamas sistemos, nei laiko, reikalingo patikrinti, ar niekas kitas nepaveiktas. Net ir nedideli pakeitimai turi būti testuojami ir peržiūrimi.

Darant prielaidą, kad programinė įranga yra viduje jautri, galima paaiškinti, kodėl terminai kartais pratęsiami ir kodėl kūrėjai taip atkakliai siekia... gerai suplanuokite ir kruopščiai išbandykite prieš užbaigiant naujos versijos rengimą.

Būti programuotoju: tarp logikos ir magijos

Pradėti programuoti yra šiek tiek panašu į gavimą kvietimas į magijos mokykląIš pradžių visa tai atrodo pernelyg sudėtinga: naujos kalbos, keistos sąvokos, nepažįstami įrankiai. Tačiau po truputį supranti, kaip kelios kodo eilutės gali ekrane atlikti labai konkrečius veiksmus.

Daugeliui žmonių mintis, kad kažkas gali sukurti individualią programą, žaidimą ar įrankį, yra beveik nesuprantama, todėl jie linkę programuotojus laikyti asmeniu, turinčiu Ypatingos galiosTas „technologijų burtininko“ suvokimas dar labiau sustiprėja, kai parodai ką nors savo sukurto, o kitas žmogus nė nenutuokia, kaip tai veikia viduje.

Su patirtimi supranti, kad magija yra tiesiog... gerai pritaikyta logika ir daugybė valandų praktikosTačiau jausmas, kad gali kurti dalykus nuo nulio, išlieka labai realus ir tai yra viena iš priežasčių, kodėl tiek daug žmonių užsikabina už programavimą.

Šiandieninėje visuomenėje programinės įrangos kūrėjai yra daugiausia atsakingi už įrankiai, kuriuos naudojame kasdienNuo bankininkystės programėlių iki socialinių tinklų ir verslo valdymo sistemų – kodą mato labai mažai žmonių, bet mes visi gyvename su jo poveikiu.

Klaidos: maži trūkumai su didžiulėmis pasekmėmis

Garsusis „klaidos“ Programinės įrangos klaidos gali atrodyti kaip smulkios detalės, tačiau jos turi didžiulį potencialą sukelti problemų pačiu netinkamiausiu metu. Kai kurios pasireiškia kaip akivaizdūs gedimai, tačiau daugelis lieka nepastebėtos ir sukeldamos neįprastą elgesį tik labai specifinėse situacijose.

Viena iš priežasčių, kodėl juos taip sunku rasti, yra ta, kad jie ne visada sukelia programos gedimą. Kartais jie tiesiog generuoja neteisingi arba nenuoseklūs rezultataikurie aptinkami tik tada, kai kas nors pastebi nesutampančią sumą arba veiksmą, kuris neturėjo būti leidžiamas.

Kūrėjai gali praleisti savaitės vaikydamiesi klaidosJie atkuria atvejus, peržiūri žurnalus, prideda derinimo pėdsakus, tikrina hipotezes ir atmeta galimas klaidas, kol suranda kaltininką. Neretai siūlomi atlygiai (realūs ar simboliniai) tam, kam pavyksta aptikti ypač sunkiai aptinkamą klaidą.

Šis kruopštus derinimo darbas yra svarbi profesinio tobulėjimo dalis ir paaiškina, kodėl tiek daug projektų tam skiria didžiulę savo laiko dalį. išbandyti, taisyti ir tobulinti užuot rašius naujas funkcijas.

Programavimas kaip didžiausias loginis galvosūkis

Jei mėgstate galvosūkius, programuodami jausitės kaip namie. Kiekviena programinės įrangos problema iš esmės yra loginis galvosūkis kur žinote pradinį tašką (įvestis) ir tai, ko norite gauti pabaigoje (išvestis), bet turite rasti tarpinį kelią.

Kitaip nei tokiuose žaidimuose kaip „Sudoku“, programavime beveik nieko nėra. fiksuotos taisyklės, kaip tai išspręstiGalite suskirstyti problemą į modulius, naudoti skirtingus algoritmus, visiškai pakeisti požiūrį... ir vis tiek rasti galiojančius ir efektyvius sprendimus.

Be to, retai kada yra vienas teisingas atsakymas. Skirtingi programuotojai gali prieiti prie vieno klausimo. labai skirtingi įgyvendinimai kurie veikia vienodai gerai, kiekvienas turi savo privalumų ir trūkumų, susijusių su našumu, įskaitomumu ar priežiūra.

Šis intelektualinio iššūkio ir kūrybinės laisvės derinys programavimą paverčia labai priklausomybę sukeliančiu: visada yra šiek tiek sunkesnė problema, šiek tiek elegantiškesnis sprendimas arba optimizavimas, kurį būtų galima atlikti geriau.

Geekų humoras ir programuotojų subkultūra

Laikui bėgant, kūrėjų bendruomenė sukūrė savo keistuolių subkultūraGausu vidinių juokelių, memų apie klaidas, versijas, madingus karkasus ir, žinoma, klasikinių kalambūrų apie dvejetaines ir skaičių sistemas.

Vienas žinomiausių anekdotų sako, kad „pasaulyje yra 10 tipų žmonių: tie, kurie supranta dvejetainę sistemą, ir tie, kurie jos nesupranta“. Gudrybė ta, kad „10“ dvejetainėje sistemoje reiškia „2“ dešimtainėje sistemoje, taigi iš tikrųjų kalbama apie dvi žmonių kategorijosbet užmaskuoti kaip dvejetainiai skaičiai.

Šios nuorodos pateikiamos forumuose, kodų saugyklose, „Stack Overflow“ temose ir Subredditai, skirti programuotojų humoruiJie yra bendrininkavimo forma tarp tų, kurie kasdien susiduria su tomis pačiomis problemomis su sudarytojais, klientais ir terminais.

Tas humoro jausmas, dažnai ironiškas ir kiek kandus, padeda susidoroti su sudėtingomis dienomis, nepaaiškinamomis klaidomis ir paskutinės minutės reikalavimų pakeitimais. Juokas šiame kontekste taip pat yra darbo įrankių dalis.

Žr. „Matricą“: supraskite, kaip veikia programos

Įgijus patirties, tampama nebegalima naudotis programėle savęs neapklausus kaip jis pastatytas vidujeTai lyg matytum kodą, plūduriuojantį už sąsajos, kaip ir garsiojoje scenoje su žalių personažų lietumi filme „Matrica“.

Kai programuotojas susiduria su nauja programa ar svetaine, jis iš karto pradeda įsivaizduoti, kokios technologijos buvo naudojamos, kaip valdoma būsena, kokia architektūra slypi už jos ar kaip buvo išspręstos tam tikros dizaino ir našumo detalės.

Dėl šios „techninės“ perspektyvos daugelis dalykų nustoja būti magiškais ir tampa... dizaino sprendimai, kodo eilutės ir architektūriniai modeliaiTai keistas jausmas: prarandi dalį paslapties, bet įgyji milžinišką gebėjimą suprasti ir atkartoti sprendimus.

Tuo pačiu metu, gilesnis įžvalgumas gali apsunkinti tam tikrų prastai sukurtų sąsajų naudojimą, nes neįmanoma išvengti naudojimo trūkumų, našumo klaidų ar abejotinų kūrimo sprendimų aptikimo.

Kodėl vaizdo žaidimų išleidimas užtrunka taip ilgai (ir kodėl jie tokie įspūdingi)?

Šiuolaikiniai vaizdo žaidimai tikriausiai yra vieni iš sudėtingesnių programų kurie kuriami šiandien. Net paprastas žaidimas apima grafiką, garsą, žaidimo logiką, fiziką, tinklus, dirbtinį intelektą ir kelių komponentų sinchronizavimą.

Kalbant apie didelius žaidimus su didžiuliais atvirais pasauliais, kelių žaidėjų režimu, kinematografija ir šimtais mechanikų, darbo kiekis, į kurį įdedama daug darbo, staiga išauga. Štai kodėl, nors iš išorės tai gali atrodyti kaip „tik“ pramoga,... įranga ir terminai Jie palyginami su didelių įmonių programinės įrangos projektų rezultatais.

Tie, kurie programuoja, puikiai supranta, kodėl žaidimas gali vėluoti mėnesiais ar metaisStabilizuoti tokią didelę interaktyvią patirtį, ištaisyti klaidas, optimizuoti skirtingoms platformoms ir pritaikyti žaidimo eigą yra milžiniška užduotis.

Žinojimas, kad kiekviena ekrane matoma detalė – nuo ​​veikėjo animacijos iki meniu elgsenos – turėjo būti programuojama, išbandyta ir peržiūrėta, sukuria vaizdo žaidimų įspūdį. techniniai ir kūrybiniai etapai daugiau nei vien laisvalaikio produktai.

Jausmas, kai gali sukurti bet ką naudodamas kodą

Vienas galingiausių programavimo mokymosi padarinių yra atsiradimas nuolatinis galimybių jausmasKiekvienas naujas įrankis ar kalba, kurią įvaldote, atveria duris į kitokio tipo projektą: mobiliąją programėlę, robotą, automatizavimo sistemą, paprastą žaidimą...

Daugelis programuotojų kaupia šalutinius projektus tokiose saugyklose kaip „GitHub“: pusiau užbaigtas idėjas, eksperimentus, mažas programas savo reikmėms. Kiekvienas iš jų kyla iš įsitikinimo, kad jei kažko nėra, galbūt jie gali tai sukurti. statykite patys.

Kartais tai įrankiai kasdienėms problemoms spręsti, o kartais – kūrybinės idėjos, kurias tiesiog norėjosi išbandyti. Bet kokiu atveju, šis nuolatinis noras kurti yra dalis vystymosi kultūra Ir tai yra viena iš priežasčių, kodėl technologijos taip sparčiai tobulėja.

Laikui bėgant, tas jausmas „su tinkamu kodu galiu padaryti beveik viską“ tampa labai stipria motyvacija toliau mokytis ir tobulėti, net ir ne darbo ar akademinėmis valandomis.

Ką iš tikrųjų veikia kompiuterių mokslininkas ir programinės įrangos inžinierius

Yra plačiai paplitęs mitas: kad Kiekvienas, studijuojantis informatiką, yra programuotojasIš tikrųjų kompiuterių mokslas apima daugybę sričių: sistemų administravimą, tinklus, duomenų bazes, sistemų analizę, projektų valdymą, saugumą, techninę pagalbą... ir programinės įrangos kūrimas yra tik viena iš jų.

Kažkas gali profesionaliai atsidėti informatikai, sutelkdamas dėmesį į infrastruktūra, serveriai ar tinklai beveik kasdien nerašant jokio kodo. Panašiai ir programinės įrangos inžinierius gali labai gerai išmanyti logiką, projektavimo šablonus ir architektūrą, bet nebūti maršrutizatorių konfigūravimo ar serverio priežiūros ekspertu.

Programinės įrangos inžinieriai paprastai specializuojasi spręsti problemas naudojant programasTam reikia įvaldyti labai specifines sąvokas: duomenų struktūras, algoritmus, geriausią praktiką, testavimą, API dizainą ir kt. Nėra prasmės tikėtis, kad jie taip pat bus pažengę sistemų administratoriai, jei tai nėra jų kompetencijos sritis.

Supratimas apie šią kompiuterių mokslo įvairovę padeda sugriauti stereotipą, kad „jei esi sistemose, žinai, kaip daryti viską“, ir pabrėžia... techninė specializacija kiekvieno vaidmens technologijų sektoriuje.

Ar programavimas toks sudėtingas, kaip atrodo?

Dar vienas didelis mitas yra tas, kad Programavimas yra be galo sudėtingas. Ir tai tinka ne tik gabiems žmonėms. Realybė tokia, kad išmokti programuoti reikia pastangų, praktikos ir kantrybės, tačiau tai nėra stebuklingas talentas, skirtas tik nedaugeliui išrinktųjų.

Pastaraisiais metais atsirado kalbos ir įrankiai, kurie leidžia lengviau patekti į kodo pasaulį: Python, JavaScript, Kotlin arba net „No Code“ ir „Low Code“ platformos leidžia kurti naudingus dalykus su priimtina mokymosi kreive.

Kaip ir bet kuris profesinis įgūdis, programavimas turi savo sudėtingumo, tačiau jam taip pat labai naudinga... komandinis darbas ir bendruomenėForumai, pamokos, dokumentacija ir atvirojo kodo projektai leidžia lengviau rasti sprendimus problemoms, kurios anksčiau atrodė neįmanomos išspręsti vienam.

Galiausiai skirtumą lemia ne tiek įgimtas talentas, kiek... nuoseklumas, požiūris ir praktikos būdasTie, kurie skiria laiko iššūkių sprendimui, gero kodo skaitymui ir projektų kūrimui, galiausiai įgyja sklandų kalbos mokėjimą, lygiai taip pat, kaip ir tie, kurie išmoksta naują kalbą ją naudodami ir sąveikaudami.

Ar programuotojo gyvenimas vienišas?

Filmuose ir TV serialuose programuotojo įvaizdis išlieka kaip izoliuoto žmogaus, visada esančio tamsoje priešais kelis ekranus. Realiame gyvenime dauguma programinės įrangos inžinierių dirba daugiadisciplininėse komandose ir jie didelę laiko dalį praleidžia kalbėdamiesi su kitais žmonėmis.

Norint sukurti naudingas programas, reikia Klientų ar vartotojų poreikių supratimasKoordinuokite veiksmus su dizaineriais, testuotojais, verslo suinteresuotosiomis šalimis ir kitais kūrėjais. Svarbūs techniniai sprendimai aptariami kartu ir paprastai reikalauja daug bendravimo.

Be to, programinės įrangos sektorius priklauso nuo labai aktyvių bendruomenių: susitikimai, konferencijos, bendradarbiavimo saugyklos ir forumai kur dalijamasi žiniomis ir atsakoma į klausimus. Tai toli gražu ne vieniša aplinka, o gana socialinė ekosistema.

Kasdienėje praktikoje gero kodo rašymas taip pat reikalauja minkštųjų įgūdžių: aiškus bendravimas, bendradarbiavimas ir empatija suprasti, kaip jūsų veiksmai paveiks kitus komandos narius ar galutinius vartotojus. Tiesą sakant, beveik neįmanoma atlikti šio darbo nuolat nebendraujant su kitais žmonėmis.

Įdomūs faktai apie įmonės programinės įrangos evoliuciją

Galvodami apie programinę įrangą, dažniausiai įsivaizduojame vartotojams skirtas programas, bet... verslo valdymo programinė įranga Jis taip pat turi savo istoriją, kupiną įdomių faktų. Nuo pirmųjų sprendimų, kurie veikė dideliuose pagrindiniuose kompiuteriuose, iki šiandieninių debesijos sistemų, evoliucija buvo milžiniška.

Daugelis įmonių pradėjo naudoti novatoriškos individualiai pritaikytos programoskurie laikui bėgant tapo etaloniniais produktais tokiuose sektoriuose kaip apskaita, logistika ir žmogiškieji ištekliai. Kiekviena nauja įrankių karta papildė galimybes: išsamesnes ataskaitas, procesų automatizavimą ir integraciją su kitomis platformomis.

Už šių sistemų slypi istorijos apie svarbiausi techniniai sprendimai, sudėtingos migracijos ir įdomių faktų apie tai, kaip tam tikri moduliai tapo faktiniais rinkos standartais. Programinės įrangos kaip paslaugos (angl. Software as a Service, SaaS) atsiradimas visiškai pakeitė žaidimo taisykles, leisdamas nuolat atnaujinti programas be vietinių diegimų.

Šių sprendimų evoliucijos tyrinėjimas yra puikus būdas suprasti, kaip įmonės perėjo nuo procesų valdymo naudojant popierių krūvas prie jų valdymo naudojant prijungtos programos ir realaus laiko duomenys, remdamasi dešimtmečius trukusia tylia inovacija.

12 įdomių faktų apie programinės įrangos terminus

Laikui bėgant atsirado žodžių ir posakių, kuriuos dabar laikome savaime suprantamais dalykais, bet kurie... gana įdomios kilmėsPateikiame keliolika su kompiuterija ir programine įranga susijusių pavyzdžių, kurie padeda geriau suprasti šią specifinę kalbą.

8 bitų ir pikselių meno estetika: Vadinamieji „8 bitų“ vaizdo žaidimai nebuvo pavadinti nostalgijos vardu, o dėl žodžių pločio, kurį galėjo apdoroti jų procesoriai: 8 bitai. Tokios konsolės kaip NES turėjo šį apribojimą, kuris ribojo spalvų skaičių, skiriamąją gebą ir garso sudėtingumą, tačiau dėl to atsirado... ikoniška pikselių meno estetika kuris ir šiandien įkvepia daugelį kūrėjų.

„Spotify“ ir beveik atsitiktinis pavadinimas: Muzikos transliacijų paslauga „Spotify“ buvo sukurta Švedijoje 2006 m. kaip teisinis atsakas į masinis dainų piratavimasPasak jų, pavadinimas kilo iš netyčia išgirsto žodžio per minčių audros sesiją; vėliau jis buvo perinterpretuotas kaip „pastebėti“ ir „identifikuoti“ derinys, suteikiant jam elegantiškesnę reikšmę.

„Rootkit“, supervartotojo rinkinys: Rootkitas – tai įrankių rinkinys, skirtas gauti ir paslėpti administratoriaus (root) prieigą sistemoje. Šis terminas atsirado 90 m., įkvėptas programinės įrangos „rinkiniai“ teisėtos sistemos, kurias administratoriai naudojo sistemoms valdyti, bet užpuolikai pritaikė, kad paslėptų savo buvimą.

Trojos arklys ir skaitmeninis Trojos arklys: Kompiuterių saugumo srityje Trojos arklys yra programa, kuri apsimeta teisėta programa, skirta apgauti vartotoją ir infiltruotis į jo kompiuterį. Pavadinimas kilęs tiesiai iš... Graikų mitologijos Trojos arklys, kurio viduje buvo paslėpti kareiviai, kad miestas būtų užimtas iš vidaus.

„WordPress“ ir svetainės domenas: „WordPress“ atsirado 2003 m. kaip patobulinta kitos tinklaraščių sistemos, vadinamos „b2/cafelog“, versija. Tai, kas prasidėjo kaip paprasta asmeninių dienoraščių platforma, galiausiai tapo... vienas sėkmingiausių atvirojo kodo projektų per visą istoriją, iki tokio lygio, kad šiandien manoma, jog daugiau nei 40 % visų svetainių yra sukurtos naudojant ją.

Kenkėjiška programa, bendras kenkėjiškos programinės įrangos terminas: Žodis „kenkėjiška programa“ kilęs iš „kenkėjiška programinė įranga“, t. y. kenkėjiškiems tikslams sukurta programinė įrangaŠis terminas apima virusus, Trojos arklius, šnipinėjimo programas, išpirkos reikalaujančias programas ir daugelį kitų kenkėjiškų programų tipų. Nors virusai egzistuoja nuo XX a. 70-ojo dešimtmečio, terminas „kenkėjiška programa“ plačiai nebuvo vartojamas iki XX a. 90-ojo dešimtmečio.

„Second Life“ ir jos virtuali ekonomika: „Second Life“, išleistas 2003 m., nėra klasikinis vaizdo žaidimas: jam trūksta apibrėžtų tikslų ir linijinių misijų. Tai yra nuolatinis virtualus pasaulis kur vartotojai kuria, perka ir parduoda skaitmenines prekes bei bendrauja. Piko metu vidaus ekonomika judėdavo šimtais milijonų realių dolerių.

Autorių teisių įstatymas ir užkrečiama laisvė: Terminas „copyleft“ buvo pasiūlytas kaip alternatyva tradicinėms autorių teisėms. Pagal „copyleft“ licencijas galima kopijuoti, modifikuoti ir platinti kūrinys, su sąlyga, kad išvestiniai kūriniai išlaiko tą pačią laisvę. Ši idėja išpopuliarėjo ypač Richardo Stallmano ir laisvosios programinės įrangos judėjimo dėka.

HTML5 ir jo oficialus skydas: 2011 m. W3C pristatė oficialų HTML5 logotipą, kuris buvo stilizuotas skydasTikslas buvo perteikti tvirtumą ir modernumą, sustiprinant žinią, kad HTML5 yra paruoštas sudėtingoms žiniatinklio programoms ir netgi gali pakeisti daugelį tradicinių darbalaukio programų.

ICQ ir žodžių žaismas „Aš tavęs ieškau“: ICQ buvo viena pirmųjų populiarių momentinių pranešimų programų devintajame dešimtmetyje. Jos pavadinimas tariamas taip: „Aš tavęs ieškau“, pabrėžiant pagrindinę jos funkciją: rasti ir susisiekti su žmonėmis iš bet kurios pasaulio vietos, gerokai anksčiau nei atsirado „WhatsApp“ ar „Messenger“.

HTTP, interneto paštininkas: HTTP yra hiperteksto perdavimo protokolas, kurį kartu su žiniatinkliu sukūrė Timas Bernersas-Lee devintojo dešimtmečio pabaigoje. Šis protokolas veikia kaip tarp jūsų naršyklės ir serverių yra pranešimų siuntimo programa.užklausos puslapiuose ir atsakymų grąžinimas. Vėliau atsirado HTTPS, jo užšifruota versija, siekiant apsaugoti informaciją perdavimo metu.

Žodžio „programinė įranga“ kilmė: Iki šeštojo dešimtmečio pabaigos programos buvo žinomos tiesiog kaip „kodas“ arba „instrukcijos“. Statistikas Johnas Tukey 1958 m. sugalvojo terminą „programinė įranga“, norėdamas atskirti programos (programinė įranga) kompiuterių techninės įrangos (fizinės dalies). Nuo tada šis žodis tapo esminiu bet kuriame technologiniame pokalbyje.

Žvelgiant į šias mažas istorijas, slypinčias už kasdien vartojamų sąvokų, programinės įrangos pasaulį galime suvokti kaip kažką gyvo, kupino... idėjos, sprendimai ir žmonių anekdotaio ne tik kaip abstrakčių terminų rinkinys.

Visi šie įdomūs faktai apie programinę įrangą ir programas rodo, kad už kiekvienos programėlės, kalbos, licencijos ar įrankio slypi istorijos, humoro, bandymų ir klaidų, bendradarbiavimo ir daugybės techninių kūrybiškumo elementų mišinys; jų supratimas leidžia mums labiau mėgautis technologijomis, atsikratyti programavimo baimės ir įvertinti nematomą milijonų žmonių darbą, kurie eilutė po eilutės kūrė skaitmeninę visatą, kurioje judame kiekvieną dieną.

saugumas ir privatumas programose
Susijęs straipsnis:
Saugumas ir privatumas programose, duomenyse ir naršant internete