Pravartu paskaityti apie programavimo kompiuteriams palyginimą su kitais realaus gyvenimo aprašais
>>>>>
Kaip norite būti vadinamas, kai pagrindinis darbas (o gal kartu ir hobis) yra kurti programinę įrangą?
Inžinieriumi, mokslininku, hakeriu o kodėl ne tiesiog programuotoju? Kodėl šis terminas kai kuriems žmonėms atrodo kiek žeminantis?
Programavimas yra keista profesija (jei tai išvis profesija), kurios pagrindinė ypatybė ta, kad ji labai
jauna. Jei sakai, kad užsiimi programavimu, vadinasi esi iki 60-ies, nes anksčiau tebuvo vos keli programuotojai.
Problema dėl programavimo ta, kad šis procesas susideda iš dviejų dalių: a) gilesnio mąstymo ir b)
paties kodo rašymo. Pirmosiomis programavimo dienomis buvo aišku, kad programavimas kažkiek susijęs su
matematika. Kodo rašymas buvo tarsi lygčių užrašymas (nors ir ne visai taip pat). Jį supo intelektualumo aura.
Laikas bėgo, programų reikėjo vis daugiau, o galvočių nepakako. Be to tie galvočiai pastebėjo, kad ima perrašinėti tuos pačius dalykus vėl ir vėl.
Pamažu programų rašymas ėmė atrodyti mažesne verte. Aukštesnis lygis buvo gudrių algoritmų
sumąstymas. Įvyko skilimas į smegeningus, kurie sugalvoja, kaip tai turi būti, ir ne tokius
smegeningus, kurie atlieka patį kodo užrašymą. Padėtis tapo panaši į statybas, kai architektas sukuria
pastato viziją, o daugybė darbininkų ją realizuoja. Tad neatsitiktinai daugelis programuotojų linkę savwe
vadinti architektais ar panašiai. Nedaugelis linkę būti mūrininkais ar stogdengiais.
Ilgai netruko, ir programavimu imtas vadinti kodavimo procesas ir galvočiai ėmė vengti
programuotojo vardo. O kaip tada juos vadinti? Atsirado keletas terminų, atspindinčių atskirus
programavimo aspektus. Programinių sistemų inžinierius atspindi programų konstravimo aspektą tarsi ta
veikla būtų inžinerijos dalimi. Sistemų analitikas atspindi susidomėjimą tuo, kaip turi funkcionuoti sistemos.
O rašantys kodą imti vadinti koduotojais , o vėliau tiesiog kodo beždžionėmis.
Matyt, didžiausią paklausą turi vykdytojas (angl. developer), atėjęs, matyt, iš statybų srities (iš
kurios atėjo ir patys pagrindiniai projektų valdymo principai), kur darbų vykdytojas reguliuoja ir prižiūri
atliekamus darbus. Tačiau ir čia yra skirtumas. Darbų vykdytojas gauna pinigus ir kitiems palieka daryti
juodą darbą. Kuriant programinę įrangą nėra tokios aiškios ribos. Dabar developeriu linkstama vadinti asmenį,
kuris rūpinasi visu pradinės idėjos apmąstymu ir jos įkūnijimu galutiniame produkte. Tai vėl suartina su tuo, ką išreiškia programavimo sąvoka.
Verta paminėti ir kompiuterijos mokslininką, kas sukelia prieštaravimą tarp mokslo ir meno. Jei nesi
mokslininkas, tada turi būti menininku. Tačiau ne viskas taip paprasta. Kompiuterija nėra vien programavimas
tai matematikos pritaikymas kompiuteriams. Tad šiuo terminu turėtų būti vadinamas teoretikas.
O sunkiausia dėl hakerio, turinčiu romantišką stereotipą. Tai tarsi būti poetu ar džiazistu. Tai reiškia
ignoruoti visas taisykles ir padaryti kažką iš to, kas pasitaiko po ranka. Tai įkvepia ir blizga.
Algoritminis mąstymas
Neretai užmirštama, kaip skirtingai reikia mąstyti, norint parašyti programas. Paprastas žmogus retai
sąryšio tarp pradinio taško ir tikslo. Tuo tarpu programuotojas gana greitai pamato, kaip iš A nusigauti į B.
Tai nėra matematika, nors ir panašu į tai, akip įrodinėjamos teoremos. Taigi programuotojas
yra algoritminio mąstymo meistras ir savo mintis gali išreikšti algoritmine kalba. Ir būtent tai geriausiai jį apibūdina.
Koks gyvenimas laukia nemokančių programuoti?!
Uf... jų gyvenimas nepaprastai sunkus.
Jie prabunda suskambus išmaniajam telefonui niekada nesusimąstę, kiek eilučių turi žadintuvo apsas;
Kai jie po to įjungia kavinuką, jie negalvoja, pagal kokį algoritmą matuojama vandens temperatūra ir pagal kokį įvykį jis išsijungia;
Duše jiems (greičiausiai) nekyla noras testuoti savo galvą, joje ieškant dar nežinomų vabzdžių (bugs) ir
aplamai, apie ką jie gali galvoti duše, jei nekyla mintys, ar vakar parašytoje klasėje visos priklausomybės sudėliotos teisingai. Koks nuobodus gyvenimas!?
Ir kai pakeliui į darbą įstringa kamštyje, greičiausiai nesižvalgo į aplinkinius automobilius besistebint, kad jei kiekviena
eismo juosta yra atskira gija (thread), o automobiliai turi duomenis, kaip jiems reiktų teisingai organizuoti I/O ir
kokius duomenis apdoroti pirmiausia;
Ir galiausiai pasiekę kontorą, jie, tikėtina, skaito nuobodžius el. laiškus, pranešančius kažką apie keistus dalykus,
tokius, kaip vakar dienos pardavimai, marketingo tikslai ar pavadinti dar kitokiu archajišku žargonu, kuris yra painus,
sudėtingas, miglotas ir visai neturi didelės prasmės!
Jie iš darbo išeina tiksliai 17:00 (ar kitu darbo pabaigos laiku) ir vyksta į namus, kad ten išmiegotų 8-10 val. nes jie
tai gali ir jiems nereikia ieškoti klaidų jų pačių asmeniniame programavimo projekte.
Iš tikro, sunku net įsivaizduoti, koks pilkas gali būti gyvenimas nežinant džiaugsmo, kai programa pagaliau ima veikti,
ir širdies virpesio, kai kodas nesikompiliuoja dėl neaiškios priežasties, ir pergalės prieš paskutinę klaidą akimirkos
(klaidos, kuri niekad nebūna paskutine...).
Kiti HOT.LT straipsniai:
Kobolo motina
.Net palydėtuvės
Kompiuterių ištakos
Programavimo paradigmos
Programuotojų kertelė
Pirmasis interneto ryšys
Programavimo kalbų klegesys
Kompiuterių istorija: VT100
Atskleistoji istorija: SKIE-MUO
Ištraukos iš C kalbos Biblijos
Kitoniškumas: dygios eilutės
Optimali stulpelių eilės tvarka
Lambda išraiškos Java į naują lygį
MS SQL užklausų rezultatų puslapiavimas
Pirmasis Java įskiepis Lietuvoje
Danas Briklinas: skaičiuoklės autorius
Liūdna pasaka apie Unix
Algebra akimirksniu
Tikroji Interneto pabaiga
Unix ir C kalbos kiltis ir ... šachmatai
Ar mašina kada nors mąstys?
Pirmoji programuotoja: Ada Lovelace
Programuotojo evoliucija: "Labas, pasauli!"
P-NP: Ant sveiko proto svarstyklių
AWK kalba - sena ir nuolat aktuali
Programavimo kalbų evoliucija
Mūšis kibernetiniame pasaulyje
Visata kaip kompiuteris
Kompiuterių istorija
Haketonai
|