Programování: Psychologie počítačů

Všichni úzce souvisí s programováním, ať už jako uživatel, jako administrátor, jako samotný programátor, ale nakonec je to něco, co bude v průběhu let více propojeno s našimi životy.

V tomto článku (začátek malé série, kterou plánuji vytvořit), Chci se s vámi podělit o několik konceptů o tom, co jsem v průběhu let objevil o programování. Netvrdím, že jsem příliš technický, vysvětlím proč později. Ale to, co mám v úmyslu, je přimět je, aby viděli svět mýma očima, a pokud se jim líbí, jak to vypadá, nechte je trochu se do toho ponořit 🙂

Nejprve zaútočím na nejjednodušší bod ze všech, než půjdu do podrobností.

Proč nebudu dělat technický post?

No pro ty, kteří si přečetli můj příspěvek nejlepší linuxový příkaz, budete vědět něco o příčině tohoto zaměření. Technologie se neustále mění, a pokud dnes něco napíšu, pokud je příspěvek dobře přijat, budu vždy muset informace aktualizovat. V dnešních nejběžnějších jazycích je jedinou jistou věcí změna. Tím myslím (a programátoři mi mohou dát za pravdu) rámce neustále rostou a mění se ze svých jader, je to proto, že vznikají chyby, některé lze považovat za jednoduché hmyz, zatímco jiní se mohou stát zranitelnosti. To je důvod, proč by mi dnes psaní příspěvku o konkrétním jazyce zaručilo možná několik měsíců užitečnosti, nejlépe jeden nebo dva roky, ale to není ten nápad 🙂

Elektřina je důležitá

Ti z vás, kteří provedli malý průzkum dolních softwarových programovacích jazyků, vědí, že to všechno pochází z elektřiny. V minulosti se programování provádělo na hardwarové úrovni, to znamená, že ty staré hodiny, kalkulačky a mnoho dalších zařízení mohly svůj osud naplnit programováním technické vybavení.

Problém

Změna programování hardwaru je nákladná a komplikovaná 🙂 (alespoň mi to řekli 🙂 ). To je důvod, proč se objevily procesory, které ve skutečnosti abstrahují tuto hardwarovou vrstvu, aby nám poskytly několik příkazů, abychom mohli dělat vše, co bylo možné prostřednictvím hardwaru, pouze nyní v hardwarové vrstvě. software.

Procesory

Dnešní procesory mají omezený počet funkcí, tzv instrukce v mnoha knihách. Ty vám umožňují provádět nejzákladnější funkce, které hardware může vykonávat, a mobilizovat informace prostřednictvím paměti počítače.

Rejstříky

Registry jsou prostor, ve kterém procesor ukládá informace, aby mohl provádět práci na jádře, v závislosti na architektuře, kterou mohou mít jinou velikost a pořadí, ale jednoduchým způsobem je jejich funkcí ukládat data, která sdělují procesoru jeden z následujících typů práce: přesouvat data, aritmetiku a logiku a kontrolu nad tok. Všechno lze shrnout do těchto typů funkcí.

Binario

Procesory pracují na binární úrovni, to znamená, že pouze rozumějí 0sy 1ano 🙂. Zajímavý fakt 😀pamatujete si oprávnění GNU / Linux? studna, Přemýšleli jste někdy, jak procesor tato oprávnění skutečně rozpozná? Jednoduché 🙂 binární. Na nejnižší úrovni bude procesor chápat oprávnění jako posloupnost 0 s a 1 s, a to je důvod, proč osmičkový, který tvoříme, má hodnoty k provedení, 2 pro čtení a 4 pro psaní. Pro ty, kdo umí číst binární soubory, pochopí, že:

111100101111

Dali skupině oprávnění pro čtení, zápis a provádění otros při uvádění výkonu a čtení pro skupinu skupina a číst pouze pro vlastníka souboru. Pro ty nejzvědavější aktivují poslední tři 1 s setguid, setuid a sticky bit. Pokud nevíte, co je tato binárka, mohu to vysvětlit v jiném příspěvku, pokud nevíte o setuid, setgid a lepivém bitu, pak to nechám na vás 😉, ale v případě potřeby to můžu vysvětlit i jinde.

Když zvědavost volá ...

Pokud jste mě sledovali zde, pak by se vaše zvědavost měla začít ptát na spoustu věcí, první, na kterou chci odpovědět (a možná jediná, kterou mi tento příspěvek umožní, protože už toho hodně píšu) je: Pokud jsou hovory stejné, proč jsou programy tak odlišné?

Psychologie

Programování je umění naučit se číst myšlenky 🙂 Chci začít tuto sekci citátem, který jsem četl už dávno, řekl Edsger Dijkstra:

Pokud je ladění procesem ladění, musí být jejich zavedením programování

A nemohu najít lepší způsob, jak to všechno vysvětlit 🙂 proč je programování umění zavádění chyb? více než jeden se bude v tuto chvíli divit. Odpověď je jednoduchá, protože naše mysl je lidská a lidé dělají chyby 🙂 je to v naší přirozenosti a bude to tak dlouho, dokud bude člověk na planetě existovat.

Počítače se nemýlí

My jsme ti, kdo dělají chyby, týmy se vždy omezí na reprodukci toho, co jim řekneme, nic nepřijímají, nic nevykládají, nic nenamítají, jen čte a jednají. Proto jsem v jiné knize C někdy četl něco takového:

C je hrubý jazyk, dá se s ním hodně dělat, ale nikdy vám nezabrání v tom, abyste si stříleli do nohy, pokud to chcete udělat, nebo alespoň to řeknete.

To je docela zvědavá pravda 🙂 Protože při práci na tak nízké úrovni je možné, že mnoho prováděných operací může být destruktivních, což se u jazyků s mírně vyšší úrovní neděje, protože vrstvy prevence chyb jsou starší.

Všechno je psychologie

Každý jazyk, rámec, programátor respektuje a řídí se nějakou filozofií, a pokud ne, nemá příliš slibnou budoucnost. Ti z nás, kteří pracují na UNIXu a derivátech, pravděpodobně znají starou frázi:

Udělejte jednu věc a udělejte to velmi dobře.

Tuto filozofii následují některé projekty, jako je jádro, poměrně malé funkce, které dělají jen jednu věc, ale dělají to nejlépe, jak mohou.

Pokud půjdeme do jiných jazyků, každý z nich bude mít funkci a cíl, některé jsou tolerantnější a jiné restriktivnější, ale všechny se řídí svým vlastním způsobem myšlení.

Naučte se číst myšlenky

Mezi programátory existuje poměrně časté rčení, že existují stovky způsobů, jak vyřešit stejný problém. To je pravda, ale v tomto aspektu je něco mnohem hlubšího. Čtení zdrojového kódu vám umožňuje číst myšlenky - nejen jakoukoli mysl, ale mysl programátora (nebo programátorů), který jej napsal. Je to druh virtuálního a hlubokého deníku 🙂 umožňuje vám hlouběji poznat mysl vývojáře a v případě velkých projektů vám umožňuje vidět, jak jejich logické a kritické myšlení v průběhu času narostlo. Něco mimořádného a to velmi vyživuje mysl nejmladších, protože můžete znát nejlepší cesty lidí, kteří je museli objevit 🙂

Být důsledný

Mnoho programátorů a specialistů říká, že se musíme dostat ze svých comfort zone, a ačkoli je to pravda, je také více než nutné udržovat určité procesy a formáty. To je jednoduché vysvětlit, naše mysli jsou opakující se a respektují struktury, pokud budete psát kód stejným způsobem každý den, za krátkou dobu přestanete na formu myslet a budete se na ni moci soustředit. pozadí. To vám umožní vidět logika programu místo jazyková syntaxe. A to je důvod, proč se domnívám, že učení se koncepty bude vždy důležitější než učení formuláře. Toto je osobní názor, ale doufám, že po přečtení toho všeho pochopíte, proč to tak považuji 🙂 také jim někdo, kdo musel programovat v jazycích C, Java, Javascript, Python, Ruby, PHP a dalších 🙂, zná koncepty usnadňují psaní kódu.

V souhrnu

Toto je první krok v sérii, která, jak doufám, pomůže přemýšlet o umění programování odlišně, dokonce vás vyzve, abyste se ponořili do konceptů, které vám umožňují spustit kód, který jste napsali možná stokrát, ale nepřestali přemýšlet o tom, co to opravdu dělá. A pro ty, kteří nezačali programovat, ale chtěli by mít možnost trochu upřednostnit to, co je opravdu důležité vědět 🙂 Zdravím


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   Javier G. Delgado řekl

    Velmi svědomitý článek, který hovoří (v tomto případě) o programování snad v novém jazyce, který programuje do větší hloubky, má podpora jde k následujícímu.

    1.    ChrisADR řekl

      Ahoj Javieri, moc děkuji 🙂 Myslím, že je to velmi důležité, protože mě vždy chtěli naučit jen reprodukovat kód, slavný Ctrl + C… Ctrl + V 🙂, ale nikdy jsem se tím nenechal táhnout, i když je to nejjednodušší problém na světě, který bych raději napsal, než abych jej zkopíroval od někoho jiného, ​​díky němu mám pocit, že je to můj výtvor.
      pozdravy

  2.   vor řekl

    Již jsem čekal na další kapitolu, programování jsem už dávno ukončil a myslím, že v nějaké pozdější kapitole najdu nějakou příčinu svého rozhodnutí, protože od této kapitoly sundám klobouk.

  3.   ChrisADR řekl

    Ahoj Baluo 🙂
    No, vymyslím něco pro další. Je trochu komplikované objednávat vše tak, aby bylo možné vlákno sledovat z jakéhokoli příspěvku, ale pokusím se tento (a několik dalších, kteří se mě zeptali) velmi brzy. Děkuji za Váš komentář. Na zdraví

  4.   jinak řekl

    Klenot článku!, Doufám, že další ...