Programovanie: Psychológia počítačov

Všetci úzko súvisíme s programovaním, či už ako používateľ, ako správca, ako samotný programátor, ale v konečnom dôsledku je to niečo, čo bude v priebehu rokov viac prepojené s našim životom.

V tomto článku (začiatok malej série, ktorú plánujem vytvoriť), Chcem sa s vami podeliť o niekoľko konceptov o tom, čo som v priebehu rokov objavoval o programovaní. Nepredstieram, že som vysoko technický, neskôr vysvetlím prečo. Mám však v úmysle prinútiť ich, aby videli svet mojimi očami, a ak sa im páči, ako vyzerá, potom ich nechaj trochu vŕtať 🙂

Skôr ako zachádzam do podrobností, zaútočím na najjednoduchší bod zo všetkých.

Prečo nejdem robiť technický post?

No pre tých, ktorí si prečítali môj príspevok o najlepší linuxový príkaz, budete vedieť niečo o príčine tohto zamerania. Technológia sa stále mení, a ak dnes niečo napíšem, ak bude príspevok prijatý dobre, budem musieť tieto informácie vždy aktualizovať. V najbežnejších jazykoch súčasnosti je istá iba zmena. Týmto myslím (a programátori mi dajú za pravdu) rámce neustále pribúdajú a modifikujú sa zo svojich jadier, je to preto, že vznikajú chyby, niektoré možno považovať za jednoduché hmyz, zatiaľ čo iní sa môžu stať zraniteľnosti. To je dôvod, prečo by mi dnes napísanie príspevku o konkrétnom jazyku zaručilo možno pár mesiacov užitočnosti, v lepšom prípade jeden alebo dva roky, ale to nie je ten nápad

Elektrická energia je dôležitá

Tí z vás, ktorí sa trochu venovali výskumu najnižších softvérových programovacích jazykov, určite vedia, že všetko siaha až k elektrine. V minulosti sa programovalo na hardvérovej úrovni, to znamená, že tie staré hodiny, kalkulačky a mnoho ďalších zariadení mohli svoj osud naplniť programovaním pomocou technické vybavenie.

Problém

Zmena programovania hardvéru je drahá a komplikovaná 🙂 (aspon tak mi povedali 🙂 ). To je dôvod, prečo sa objavili procesory, ktoré vlastne abstrahujú túto hardvérovú vrstvu, aby doručila niekoľko príkazov, aby dokázala robiť všetko, čo bolo cez hardvér možné, až teraz v hardvérovej vrstve. softvér.

Procesory

Dnešné procesory majú obmedzený počet funkcií, tzv instrucciones v mnohých knihách. Umožňujú vám vykonávať tie najzákladnejšie funkcie, ktoré môže hardvér vykonávať, a mobilizovať informácie prostredníctvom pamäte počítača.

registre

Registre sú priestor, v ktorom procesor ukladá informácie, aby mohol vykonávať prácu na jadre, v závislosti od architektúry môžu mať inú veľkosť a poradie, ale jednoduchým spôsobom je ich funkciou ukladanie údajov, ktoré naznačujú spracovateľ jeden z nasledujúcich typov práce: presunúť dáta, aritmetické a logické a riadenie tok. Všetko sa dá zhrnúť do týchto typov funkcií.

Binario

Procesory pracujú na binárnej úrovni, to znamená, že iba rozumejú 0sy 1ano 🙂. Kuriózna skutočnosť tu 😀pamätáte si povolenia GNU / Linux? no,zamysleli ste sa niekedy nad tým, ako procesor v skutočnosti tieto povolenia rozpozná? Jednoduché 🙂 binárne. Na najnižšej úrovni procesor pochopí povolenia ako postupnosť 0 s a 1 s, a to je dôvod, prečo má osmičkový súbor, ktorý tvoríme, hodnoty na popravu, 2 na čítanie a 4 na písanie. Pre tých, ktorí vedia čítať binárne súbory, pochopia, že:

111100101111

Udeľujú skupine oprávnenie na čítanie, zápis a vykonávanie ďalšie pri predstavovaní a čítaní pre skupinu skupina a čítať iba pre vlastníka súboru. Pre tých najkurióznejších aktivujú posledné tri 1 s setguid, setuid a sticky bit. Ak neviete, čo je táto binárka, môžem to vysvetliť v inom príspevku, ak neviete toto o setuid, setgid a lepkavom bite, nechám to na vás 😉 ale v prípade potreby to viem vysvetliť aj inde.

Keď zvedavosť volá ...

No, ak ste ma tu sledovali, potom by sa vaša zvedavosť mala začať pýtať na veľa vecí, na prvú, na ktorú vám chcem odpovedať (a možno jedinú, ktorú mi tento príspevok umožňuje, pretože už toho veľa píšem) je: Ak sú hovory rovnaké, prečo sú programy také odlišné?

Psychológia

Programovanie je umenie učiť sa čítať myšlienky 🙂 Chcem začať túto časť citátom, ktorý som čítal už dávno, povedal Edsger Dijkstra:

Ak je ladenie procesom ladenia, potom ich zavedením musí byť programovanie

A nemôžem nájsť lepší spôsob, ako to všetko vysvetliť 🙂 prečo je programovanie umenie zavádzať chyby? viacerí sa v tejto chvíli budú čudovať. Odpoveď je jednoduchá, pretože naša myseľ je ľudská a ľudia robia chyby 🙂 je to v našej prirodzenosti a bude to tak dlho, kým človek na planéte bude existovať.

Počítače sa nemýlia

My sme tí, ktorí robia chyby, tímy sa vždy obmedzia na reprodukciu toho, čo im hovoríme, nič nepredpokladajú, nič nevykladajú, nič nenamietajú, iba čítajú a konajú. Takže v inej knihe C som niekedy čítal niečo také:

C je hrubý jazyk, dá sa s ním veľa urobiť, ale nikdy vám nezabráni v tom, aby ste si strelili do nohy, ak to chcete urobiť, alebo tak to aspoň poviete.

Toto je dosť zvláštna pravda 🙂 Pretože pri práci na tak nízkej úrovni je možné, že veľa operácií môže byť deštruktívnych, čo sa u jazykov mierne vyššej úrovne nestane, pretože vrstvy na prevenciu chýb sú starší.

Všetko je psychológia

Každý jazyk, framework, programátor rešpektuje a riadi sa určitou filozofiou, a ak sa tak nestane, nemá veľmi sľubnú budúcnosť. Tí z nás, ktorí pracujú na systéme UNIX a jeho derivátoch, pravdepodobne poznajú starú frázu:

Urobte jednu vec a urobte ju veľmi dobre.

Na túto filozofiu nadväzujú niektoré projekty ako jadro, celkom malé funkcie, ktoré robia iba jednu vec, ale robia to najlepšie, čo vedia.

Ak pôjdeme do iných jazykov, každý z nich bude mať funkciu a objektív, niektoré budú tolerantnejšie a iné budú obmedzujúcejšie, ale všetky budú vychádzať zo svojho vlastného myslenia.

Naučte sa čítať myšlienky

Medzi programátormi sa hovorí pomerne často, že existujú stovky spôsobov, ako vyriešiť rovnaký problém. To je pravda, ale v tomto aspekte je niečo oveľa hlbšie. Čítanie zdrojového kódu vám umožňuje čítať mysle - nielen hocijakú, ale myseľ programátora (alebo programátorov), ktorý ho napísal. Je to druh virtuálneho a hlbokého denníka 🙂 umožňuje vám hlboko poznať myseľ vývojára a v prípade veľkých projektov vám umožňuje vidieť, ako ich logické a kritické myslenie v priebehu času narástlo. Niečo mimoriadne a to veľmi vyživuje mysle najmenších, pretože môžete poznať najlepšie cesty ľudí, ktorí ich museli objavovať 🙂

Aby sme boli dôslední

Mnoho programátorov a špecialistov tvrdí, že sa musíme dostať zo svojich comfort zone, a hoci je to pravda, je tiež viac než potrebné udržiavať určité procesy a formáty. To sa dá ľahko vysvetliť, naša myseľ sa opakuje a rešpektuje štruktúry, ak píšete kód každý deň rovnakým spôsobom, v krátkom čase prestanete myslieť na formu a budete sa na ňu môcť sústrediť. pozadie. Toto vám umožní vidieť logika programu namiesto jazyková syntax. A to je dôvod, prečo si myslím, že učenie sa koncepty bude vždy dôležitejšie ako učenie formuláre. Toto je osobný názor, ale dúfam, že po prečítaní všetkého pochopíte, prečo to tak považujem 🙂 hovorí im to aj niekto, kto musel programovať v jazykoch C, Java, Javascript, Python, Ruby, PHP a ďalších 🙂 vedieť tieto koncepty uľahčujú písanie kódu.

V súhrne

Toto je prvý krok v sérii, ktorá, dúfam, pomôže vám premýšľať inak o umení programovania, dokonca vás vyzve, aby ste sa ponorili do konceptov, ktoré vám umožňujú vykonať kód, ktorý ste napísali možno stokrát, ale neprestali premýšľať o tom, čo to v skutočnosti robí. A pre tých, ktorí s programovaním nezačali, ale chceli by, aby sa mohli trochu uprednostniť pred tým, čo je skutočne dôležité vedieť 🙂 Zdravím vás


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   Javier G. Delgado dijo

    Veľmi svedomitý článok, v ktorom sa diskutuje o programovaní (v tomto prípade), možno v novom jazyku, ktorý programuje do väčšej hĺbky, moja podpora smeruje k nasledujúcemu.

    1.    ChrisADR dijo

      Ahoj Javier, ďakujem pekne 🙂 Myslím si, že je to veľmi dôležité, pretože ma vždy chceli naučiť iba reprodukovať kód, slávny Ctrl + C ... Ctrl + V 🙂, ale nikdy som sa tým nenechal vláčiť, aj keď je to najjednoduchší problém na svete Radšej to napíšem, ako budem kopírovať od niekoho iného, ​​dá mi to pocit, že je to môj výtvor.
      pozdravy

  2.   balu dijo

    Už som čakal na nasledujúcu kapitolu, programovanie som už dávno ukončil a myslím si, že v neskoršej kapitole nájdem nejakú príčinu môjho rozhodnutia, naozaj, pretože od tejto kapitoly snímam klobúk.

  3.   ChrisADR dijo

    Ahoj Balua 🙂
    No na ďalší prídem s niečím. Je trochu komplikované objednávať všetko tak, aby sa dalo sledovať vlákno z ktoréhokoľvek príspevku, ale tento (a niekoľko ďalších, ktoré sa ma pýtali) sa budem snažiť mať veľmi skoro. Ďakujeme za váš komentár. Na zdravie

  4.   Anders dijo

    Klenot článku! Dúfam, že budúci ...