Vsi smo tesno povezani s programiranjem, najsi bo to kot uporabnik, kot skrbnik, kot programer sam, toda na koncu je to nekaj, kar bo z leti bolj povezano z našim življenjem.
V tem članku (začetek majhne serije, ki jo nameravam ustvariti), Želim z vami deliti nekaj konceptov o tem, kaj sem odkrival o programiranju v preteklih letih. Ne pretvarjam se, da sem preveč tehničen, kasneje bom razložil, zakaj. Ampak to, kar nameravam, je, da jim omogočim, da svet vidijo z mojimi očmi, in če jim je všeč, kako izgleda, naj se malo poglobijo vanj 🙂
Najprej bom napadel najpreprostejšo točko, preden bom šel v podrobnosti.
Zakaj ne grem na tehnično delovno mesto?
No, za tiste, ki so prebrali moj prispevek o tem najboljši ukaz linux, boste malo vedeli o vzroku tega poudarka. Tehnologija se vedno spreminja in če danes kaj napišem, če je objava dobro sprejeta, bom vedno morala posodobiti informacije. V najpogostejših jezikih danes so edina zanesljiva sprememba. S tem mislim (in programerji mi lahko dokažejo prav) okviri vedno rastejo in se spreminjajo iz svojih jeder, to pa zato, ker se pojavijo napake, nekatere lahko štejemo za preproste hrošči, drugi pa lahko postanejo ranljivosti. To je razlog, zakaj bi mi danes pisanje prispevka o določenem jeziku zagotovilo morda nekaj mesecev uporabnosti, v najboljših primerih eno ali dve leti, vendar to ni ideja
Elektrika je pomembna
Tisti, ki ste malo raziskali spodnje programske jezike programske opreme, boste vedeli, da vse izvira iz elektrike. V preteklosti se je programiranje izvajalo na strojni ravni, kar pomeni, da so lahko stare ure, kalkulatorji in številne druge naprave svojo usodo izpolnile s programiranjem strojna oprema.
Problem
Spreminjanje programiranja strojne opreme je drago in zapleteno 🙂 (vsaj tako so mi rekli 🙂 ). Zato so se pojavili procesorji, ki dejansko abstrahirajo to strojno plast, da bi dobili nekaj ukazov, da lahko naredimo vse, kar je bilo mogoče s strojno opremo, šele zdaj v strojni plasti. Programska oprema.
Procesorji
Današnji procesorji imajo omejeno število funkcij, imenovanih navodila v mnogih knjigah. Ti vam omogočajo izvajanje najosnovnejših funkcij, ki jih lahko izvaja strojna oprema, in prenos podatkov prek pomnilnika računalnika.
Registri
Registri so prostor, v katerem procesor shranjuje informacije, da lahko izvaja delo na jedru, odvisno od arhitekture, ki so lahko drugačne velikosti in vrstnega reda, vendar je na preprost način njihova funkcija shranjevanje podatkov, ki sporočajo procesorju eno od naslednjih vrst dela: premikanje podatkov, aritmetika in logika ter nadzor nad pretok. Vse je mogoče povzeti v teh vrstah funkcionalnosti.
Binario
Procesorji delujejo na binarni ravni, kar pomeni, da samo razumejo 0sy 1da 🙂. Nenavadno dejstvo tukaj 😀se spomnite dovoljenj GNU / Linux? no,ste se kdaj vprašali, kako procesor dejansko prepozna ta dovoljenja? Preprosto 🙂 binarno. Na najnižji ravni bo procesor dovoljenja razumel kot zaporedje 0s in 1s, in to je razlog, zakaj ima osmik, ki ga tvorimo, vrednosti 1 za izvedbo, 2 za branje in 4 za pisanje. Tisti, ki znajo brati binarne datoteke, bodo razumeli, da:
111100101111
Skupini dajo dovoljenja za branje, pisanje in izvajanje drugi med izvajanjem predstave in branja za skupino Skupina in samo za lastnike datotek. Za najbolj radovedne zadnje tri enote aktivirajo setguid
, setuid
in sticky bit
. Če ne veste, kaj je to binarno gradivo, lahko to razložim v drugem prispevku, če tega ne veste o setuid, setgid in lepljivem bitu, vam ga prepustim 😉, po potrebi pa ga lahko razložim tudi drugje.
Ko radovednost pokliče ...
No, če ste mi sledili tukaj, bi vas morala radovednost začeti spraševati po mnogih stvareh, prva, na katero želim odgovoriti (in morda edina, ki mi jo ta objava omogoča, ker že veliko pišem), je: Če so klici enaki, zakaj so programi tako različni?
Psihologija
Programiranje je umetnost učenja branja misli this Ta odsek želim začeti s citatom, ki sem ga že davno prebral, je dejal Edsger Dijkstra:
Če je odpravljanje napak postopek odpravljanja napak, mora biti njihovo uvajanje programiranje
In ne najdem boljšega načina, da bi vse to razložil 🙂 zakaj je programiranje umetnost navajanja napak? v tem trenutku se bo spraševalo več ljudi. Odgovor je preprost, kajti naš um je človeški in ljudje delamo napake - to je v naši naravi in bo, dokler človek obstaja na planetu.
Računalniki se ne motijo
Mi smo tisti, ki delamo napake, ekipe se bodo vedno omejile na reprodukcijo tega, kar jim povemo, ničesar ne prevzamejo, ničesar ne razlagajo, ničesar ne ugovarjajo, samo berejo in delujejo. Tako sem v drugi knjigi C kdaj prebral nekaj takega:
C je nesramen jezik, z njim lahko naredite veliko, vendar vam nikoli ne bo preprečilo, da si ne boste ustrelili v nogo, če želite to narediti, ali tako veste.
To je precej radovedna resnica. 🙂 Ker je pri delu na tako nizki ravni možno, da so številne izvedene operacije lahko uničujoče, kar se pri jezikih nekoliko višje ravni ne zgodi, ker so plasti za preprečevanje napak starejše.
Vse je psihologija
Vsak jezik, ogrodje, programer spoštuje in sledi nekakšni filozofiji, in če je ne, nima zelo obetavne prihodnosti. Tisti, ki delamo na Unixu in izpeljanih finančnih instrumentih, bomo verjetno poznali staro besedno zvezo:
Naredite eno stvar in to zelo dobro.
To filozofijo sledijo nekateri projekti, kot je jedro, precej majhne funkcije, ki naredijo samo eno stvar, vendar to storijo po svojih najboljših močeh.
Če gremo v druge jezike, bo imel vsak svojo funkcijo in cilj, nekateri bolj permisivni in drugi bolj restriktivni, vendar vsi sledijo svojemu načinu razmišljanja.
Naučite se brati misli
Med programerji je dokaj pogost rek, da obstaja isti način reševanja istega problema. To je res, vendar je v tem vidiku nekaj globljega. Branje izvorne kode omogoča branje misli - ne le katere koli misli, temveč misli programerja (ali programerjev), ki jo je napisal. Je nekakšen virtualni in globok dnevnik - omogoča vam, da poglobljeno poznate um razvijalca, v primeru obsežnih projektov pa vidite, kako je sčasoma raslo njihovo logično in kritično razmišljanje. Nekaj izjemnega in kar močno hrani misli najmlajših, saj lahko poznate najboljše poti ljudi, ki so jih morali odkriti 🙂
Da bi bili dosledni
Mnogi programerji in strokovnjaki pravijo, da se moramo rešiti svojega comfort zone, in čeprav je res, je tudi več kot potrebno vzdrževati določene procese in formate. To je enostavno razložiti, naš um se ponavlja in spoštuje strukture, če vsak dan pišete kodo na enak način, v kratkem času nehate razmišljati o obliki in se boste lahko osredotočili nanjo. sklad. To vam omogoča, da vidite Logika programa namesto sintaksa jezika. In to je razlog, zakaj menim, da je učenje pojmi bo vedno bolj pomembno kot učenje obrazci. To je osebno mnenje, vendar upam, da boste po branju vsega tega razumeli, zakaj tako mislim 🙂 povedal tudi nekdo, ki je moral programirati na C, Java, Javascript, Python, Ruby, PHP in drugi 🙂 vedeti koncepti olajšajo pisanje kode.
V povzetku
No, to je prvi korak v nizu, za katerega upam, da vam bo pomagal drugače razmišljati o umetnosti programiranja, celo vas vabim, da se poglobite v koncepte, ki vam omogočajo izvajanje kode, ki ste jo napisali morda več stokrat, vendar niso nehali razmišljati o tem, kaj v resnici počne. In za tiste, ki še niso začeli programirati, bi pa želeli, da bi lahko malo razvrstili tisto, kar je zares pomembno vedeti 🙂 Lep pozdrav
Zelo vesten članek, ki govori (v tem primeru) o programiranju morda v novem jeziku, ki poglobljeno programira, podpiram naslednje.
Pozdravljeni, Javier, najlepša hvala. Mislim, da je to zelo pomembno, ker so me vedno želeli naučiti samo reproducirati kodo, znamenite Ctrl + C ... Ctrl + V 🙂, vendar se nisem nikoli pustil vleči zaradi tega, tudi če je to najpreprostejši problem na svetu, ga raje napišem kot kopiram od nekoga drugega, se mi zdi, da je to moja stvaritev.
pozdrav
Ko sem že čakal na naslednje poglavje, sem že zdavnaj nehal s programiranjem in mislim, da v kakšnem kasnejšem poglavju najdem vzrok za svojo odločitev, res, saj si v tem poglavju slečem klobuk.
Pozdravljeni Balua 🙂
No, nekaj bom pa našel za naslednjega. Nekoliko je zapleteno naročiti vse tako, da je nit mogoče spremljati iz katere koli objave, vendar bom to (in še nekaj drugih, ki so me vprašale) poskušal imeti kmalu. Hvala za vaš komentar. Na zdravje
Biser članka! Upam, da naslednji ...