Programmēšana: datoru psiholoģija

Mēs visi esam cieši saistīti ar programmēšanu, vai tas būtu kā lietotājs, kā administrators, kā pats programmētājs, taču galu galā tas ir vairāk saistīts ar mūsu dzīvi, gadiem ejot.

Šajā rakstā (sākums mazai sērijai, kuru plānoju izveidot), Es vēlos dalīties ar jums dažās koncepcijās par to, ko es gadu gaitā esmu atklājis par programmēšanu. Es neizliekos par pārlieku tehnisku, vēlāk paskaidrošu, kāpēc. Bet tas, ko es domāju, ir likt viņiem redzēt pasauli ar manām acīm, un, ja viņiem patīk, kā tas izskatās, tad ļaujiet viņiem mazliet iedziļināties 🙂

Pirms es sīki izklāstīšu, es uzbrukšu visu laiku vienkāršākajam punktam.

Kāpēc es nedarīšu tehnisko pastu?

Nu, tiem, kas ir lasījuši manu ierakstu par labākā Linux komanda, jūs nedaudz uzzināsiet par šīs uzmanības cēloni. Tehnoloģijas vienmēr mainās, un, ja es šodien kaut ko uzrakstīšu, ja ziņa ir labi saņemta, tad man vienmēr būs jāatjaunina informācija. Mūsdienās visizplatītākajās valodās vienīgā drošā lieta ir pārmaiņas. Ar to es domāju (un programmētāji var pierādīt man taisnību) ietvari vienmēr pieaug un mainās no to kodoliem, tāpēc, ka rodas kļūdas, dažus var uzskatīt par vienkāršiem bugs, bet citi var kļūt ievainojamības. Tas ir iemesls, kāpēc ieraksta rakstīšana par noteiktu valodu šodien man garantētu varbūt dažus mēnešus noderīgu, labākajā gadījumā vienu vai divus gadus, bet tā nav ideja

Elektrība ir svarīga

Tie no jums, kas ir mazliet izpētījuši zemākās programmatūras programmēšanas valodas, zinās, ka tas viss ir saistīts ar elektrību. Agrāk programmēšana tika veikta aparatūras līmenī, tas nozīmē, ka šie vecie pulksteņi, kalkulatori un daudzas citas ierīces varēja izpildīt savu likteni, programmējot detaļas.

Problēma

Aparatūras programmēšanas maiņa ir dārga un sarežģīta 🙂 (vismaz tā viņi man teica 🙂 ). Tāpēc parādījās procesori, kas faktiski abstraktēja šo aparatūras slāni, lai dotu mums dažas komandas, lai mēs varētu darīt visu, kas bija iespējams, izmantojot aparatūru, tikai tagad aparatūras slānī. programmatūru.

Procesori

Mūsdienu procesoriem ir ierobežots funkciju skaits, ko sauc instrukcijas daudzās grāmatās. Tie ļauj veikt visvienkāršākās funkcijas, kuras aparatūra var veikt, un mobilizēt informāciju, izmantojot datora atmiņu.

Reģistri

Reģistri ir vieta, kurā procesors glabā informāciju, lai varētu veikt darbu ar kodolu, atkarībā no arhitektūras tiem var būt atšķirīgs lielums un secība, taču vienkāršā veidā to funkcija ir uzglabāt datus, kas norāda procesors vienu no šiem darba veidiem: pārvietot datus, aritmētiku un loģiku, kā arī kontrolēt plūsma. Visu var apkopot šāda veida funkcionalitātēs.

Binario

Procesori strādā binārā līmenī, tas nozīmē, ka viņi tikai saprot 0sy 1jā 🙂. Kuriozs fakts šeit 😀atceraties GNU / Linux atļaujas? labi,vai jūs kādreiz esat domājis, kā procesors faktiski atzīst šīs atļaujas? Vienkāršs 🙂 binārs. Zemākajā līmenī procesors atļaujas sapratīs kā 0s un 1s secību, un tas ir iemesls, kāpēc mūsu veidotajam astotniekam ir vērtības izpildei, 2 lasīšanai un 4 rakstīšanai. Tiem, kas prot lasīt binārus, viņi sapratīs, ka:

111100101111

Viņi ievieto grupas lasīšanas, rakstīšanas un izpildes atļaujas pārējie vienlaikus liekot sniegumu un lasot grupu grupa un lasīt tikai faila īpašniekam. Visinteresantākajiem pēdējie trīs 1 aktivizē setguid, setuid un sticky bit. Ja jūs nezināt, kas tas ir par bināro, es varu to izskaidrot citā ierakstā, ja jūs nezināt par setuid, setgid un lipīgo bitu, es to atstāšu jums kā uzdevumu 😉 bet es varu arī izskaidrot vajadzības gadījumā to citur.

Kad zvana ziņkārība ...

Nu, ja jūs esat sekojis man šeit, tad jūsu zinātkārei vajadzētu sākt jautāt daudz ko, pirmais, uz kuru es gribu atbildēt (un varbūt vienīgais, ko man ļauj šis ieraksts, jo es jau daudz rakstu) ir šāds: Ja zvani ir vienādi, kāpēc programmas ir tik atšķirīgas?

Psiholoģija

Programmēšana ir māksla, kā iemācīties lasīt domas. 🙂 Es vēlos sākt šo sadaļu ar citātu, kuru lasīju jau sen, Edsgers Dijkstra sacīja:

Ja atkļūdošana ir atkļūdošanas process, tad to ieviešanai ir jābūt programmēšanai

Un es nevaru atrast labāku veidu, kā to visu izskaidrot: kāpēc programmēšana ir kļūdu ieviešanas māksla? šajā laikā brīnīsies ne viens vien. Atbilde ir vienkārša, jo mūsu prāts ir cilvēks, un cilvēki pieļauj kļūdas 🙂 tas ir mūsu dabā, un tas notiks tik ilgi, kamēr cilvēks pastāv uz planētas.

Datori nav kļūdījušies

Mēs pieļaujam kļūdas, komandas vienmēr aprobežosies ar to, ka mēs atkārtojam to, ko mēs viņiem sakām, viņi neko neuzņemas, neko neinterpretē, neko neiebilst, vienkārši lasa un rīkojas. Tāpēc citā C grāmatā es kādreiz esmu lasījis kaut ko līdzīgu:

C ir nepieklājīga valoda, ar to var daudz ko izdarīt, taču tas nekad neatturēs jūs nošaut sev kāju, ja vēlaties to darīt, vai arī tā jūs to sakāt.

Tā ir diezgan kurioza patiesība 🙂 Tā kā strādājot tik zemā līmenī, iespējams, ka daudzas veiktās darbības var būt destruktīvas, kaut kas nenotiek ar nedaudz augstāka līmeņa valodām, jo ​​kļūdu novēršanas slāņi ir vecāki.

Viss ir psiholoģija

Katra valoda, ietvars, programmētājs ciena un ievēro kaut kādu filozofiju, un, ja tā nav, tai nav ļoti daudzsološa nākotne. Tie no mums, kas strādā ar UNIX un atvasinājumiem, droši vien zinās veco frāzi:

Dariet vienu lietu un dariet to ļoti labi.

Šī filozofija ir tā, kuru seko daži projekti, piemēram, kodols, diezgan mazas funkcijas, kas veic tikai vienu lietu, bet dara to vislabāk, kā var.

Ja mēs ejam uz citām valodām, katrai no tām būs funkcija un mērķis, dažām visatļautīgāk un citām ierobežojošāk, taču visām būs savs domāšanas veids.

Iemācieties lasīt domas

Programmētāju vidū ir diezgan izplatīts teiciens, ka ir simtiem veidu, kā atrisināt vienu un to pašu problēmu. Tā ir taisnība, taču šajā aspektā ir kaut kas daudz dziļāks. Avota koda lasīšana ļauj lasīt domas - ne tikai jebkuru prātu, bet arī programmētāja (vai programmētāju) prātu, kurš to uzrakstījis. Tā ir sava veida virtuāla un dziļa dienasgrāmata, kas ļauj padziļināti iepazīt izstrādātāja prātu un lielu projektu gadījumā ļauj redzēt, kā viņu loģiskā un kritiskā domāšana laika gaitā ir augusi. Kaut kas ārkārtējs un tas ļoti baro jaunāko prātu, jo jūs varat uzzināt labākos cilvēku ceļus, kuriem tie bija jāatklāj 🙂

Lai būtu konsekvents

Daudzi programmētāji un speciālisti saka, ka mums ir jāiziet no mūsu komforta zona, un, lai arī tā ir taisnība, ir arī vairāk nekā nepieciešams uzturēt noteiktus procesus un formātus. To ir vienkārši izskaidrot, mūsu prāti ir atkārtoti un ciena struktūras. Ja katru dienu rakstāt kodu vienādi, īsā laikā jūs pārtrauksit domāt par formu un varēsiet tam koncentrēties. fons. Tas ļauj jums redzēt loģika programmas vietā valodas sintakse. Un tas ir iemesls, kāpēc es uzskatu, ka mācīties jēdzieni vienmēr būs svarīgāka par mācīšanos veidlapas. Tas ir personīgs viedoklis, bet es ceru, ka, izlasot visu to, jūs varat saprast, kāpēc es to tā uzskatu, to teica arī kāds, kuram nācās programmēt C, Java, Javascript, Python, Ruby, PHP un citos. jēdzieni atvieglo koda rakstīšanu.

Kopumā

Nu, tas ir pirmais solis sērijā, kas, cerams, palīdzēs jums domāt savādāk par programmēšanas mākslu, pat aicinās iedziļināties jēdzienos, kas ļauj izpildīt kodu, kuru esat uzrakstījis varbūt simtiem reižu, bet viņi nav apstājušies domāt par to, ko tas īsti dara. Un tiem, kas vēl nav sākuši programmēt, bet vēlas, lai viņi varētu nedaudz noteikt prioritātes par to, kas patiešām ir svarīgi zināt 🙂 Sveicieni


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   Havjers G. Delgado teica

    Ļoti apzinīgs raksts, kurā (šajā gadījumā) tiek runāts par programmēšanu, iespējams, jaunā valodā, kas programmē dziļāk, es atbalstu šādu.

    1.    KrissADR teica

      Sveiks, Havjer, liels paldies 🙂 Es domāju, ka tas ir ļoti svarīgi, jo viņi vienmēr ir vēlējušies mani iemācīt tikai reproducēt kodu, slaveno Ctrl + C ... Ctrl + V 🙂, bet es nekad neesmu ļāvis sevi pavilkt, pat ja tā ir vienkāršākā problēma pasaulē, es labāk to uzrakstīšu, nevis kopēšu no kāda cita, tas man liek justies kā manai radībai.
      Sveicieni

  2.   plosts teica

    Jau gaidot nākamo nodaļu, es jau sen pārtraucu programmēt, un es domāju, ka dažās nākamajās nodaļās es tiešām varu atrast dažus iemeslus savam lēmumam, jo ​​šī nodaļa man noņem cepuri.

  3.   KrissADR teica

    Labdien, Balua 🙂
    Nu, es izdomāšu kaut ko nākamajam. Ir mazliet sarežģīti visu pasūtīt tā, lai pavedienu varētu sekot no jebkura ieraksta, taču es drīz mēģināšu iegūt šo (un vairākus citus, kuri man ir lūguši). Paldies par komentāru. Priekā

  4.   Anders teica

    Raksta pērle! Es ceru, ka nākamais ...