Programmering: Datorns psykologi

Vi är alla nära relaterade till programmering, vare sig det är som användare, som administratör, som programmerare själv, men i slutändan är det något som kommer att vara mer kopplat till våra liv genom åren.

I den här artikeln (början på en liten serie som jag planerar att skapa), Jag vill dela med dig några koncept om vad jag har upptäckt om programmering genom åren. Jag låtsas inte vara alltför teknisk, jag ska förklara varför senare. Men vad jag tänker är att få dem att se världen med mina ögon, och om de gillar hur det ser ut, låt dem gräva lite i det 🙂

Jag kommer att attackera den enklaste punkten först innan jag går in i detaljer.

Varför ska jag inte göra ett tekniskt inlägg?

Tja, för dem som har läst mitt inlägg om bästa Linux-kommandotkommer du att veta lite om orsaken till detta fokus. Teknik förändras alltid, och om jag skriver något idag, om inlägget tas emot väl, måste jag alltid uppdatera informationen. På dagens vanligaste språk är det enda som är säkert förändring. Med detta menar jag (och programmerarna kan bevisa att jag har rätt) ramar växer och ändras alltid från sina kärnor, detta beror på att fel uppstår, vissa kan betraktas som enkla fel, medan andra kan bli sårbarheter. Det här är anledningen till att skriva ett inlägg om ett visst språk, idag, skulle kunna garantera mig några månaders nytta, i bästa fall ett eller två år, men det är inte tanken

Elektricitet är viktigt

De av er som har gjort lite forskning om de lägsta programmeringsspråken för programvara kommer att veta att allt går tillbaka till el. Tidigare gjordes programmering på hårdvarunivå, vilket innebär att de gamla klockorna, miniräknarna och många andra enheter kunde uppfylla sitt öde genom att programmera med hårdvara.

Problemet

Att ändra hårdvaruprogrammering är dyrt och komplicerat 🙂 (åtminstone det är vad de sa till mig 🙂 ). Detta är anledningen till att processorer uppstod, som faktiskt abstraherar det hårdvarulagret för att ge oss några kommandon för att kunna göra allt som var möjligt genom hårdvara, bara nu i hårdvarulagret. programvara.

Processorer

Dagens processorer har ett begränsat antal funktioner, kallade instrucciones i många böcker. Dessa låter dig utföra de mest grundläggande funktionerna som hårdvara kan utföra och att mobilisera information genom datorns minne.

register

Register är ett utrymme där processorn lagrar information för att kunna utföra arbete på kärnan, beroende på arkitekturen kan de ha en annan storlek och ordning, men på ett enkelt sätt är deras funktion att lagra data som berättar för processorn en av följande typer av arbete: flytta data, aritmetik och logik och kontroll av flöde. Allt kan sammanfattas i dessa typer av funktioner.

Binario

Processorer arbetar på binär nivå, det betyder att de bara förstår 0sy 1ja 🙂. Ett märkligt faktum här 😀kommer du ihåg GNU / Linux-behörigheterna? ja,har du någonsin undrat hur processorn faktiskt känner igen dessa behörigheter?? Enkelt 🙂 binärt. På den lägsta nivån kommer en processor att förstå behörigheterna som en följd av 0s och 1s, och det är anledningen till att oktalen som vi bildar har värdena för utförande, 2 för läsning och 4 för skrivning. För dem som kan läsa binärt kommer de att förstå att:

111100101111

De läser behörigheterna för att läsa, skriva och utföra för gruppen Otros medan du lägger fram prestanda och läser för gruppen grupp och läs endast för filägaren. För de mest nyfikna aktiverar de sista tre 1: erna setguid, setuid och sticky bit. Om du inte vet vad denna binära är kan jag förklara det i ett annat inlägg. Om du inte vet detta om setuid, setgid och den klibbiga biten lämnar jag det åt dig 😉 men jag kan också förklara det någon annanstans om det behövs.

När nyfikenhet ringer ...

Tja, om du har följt mig här, bör din nyfikenhet börja fråga många saker, den första jag vill svara på (och kanske den enda som det här inlägget tillåter mig eftersom jag redan skriver mycket) är: Om samtalen är desamma, varför är programmen så olika?

Psykologi

Programmering är konsten att lära sig läsa tankar 🙂 Jag vill börja det här avsnittet med ett citat jag läste för länge sedan, sa Edsger Dijkstra:

Om felsökning är processen för felsökning måste programmering vara processen för att introducera dem

Och jag kan inte hitta ett bättre sätt att förklara allt detta 🙂 varför programmerar konsten att införa fel? mer än en kommer att undra just nu. Svaret är enkelt, för våra sinnen är mänskliga och människor gör misstag - det ligger i vår natur, och det kommer att vara så länge som människan finns på planeten.

Datorer har inte fel

Det är vi som gör misstag, lagen begränsar sig alltid till att reproducera det vi säger till dem, de antar ingenting, de tolkar ingenting, de invänder inte mot någonting, de läser bara och agerar. Så i en annan C-bok har jag någonsin läst något så här:

C är oförskämt språk, du kan göra mycket med det, men det kommer aldrig att hindra dig från att skjuta dig själv i foten om du vill göra det, eller så säger du det.

Detta är en ganska nyfiken sanning 🙂 Eftersom när man arbetar på en så låg nivå är det möjligt att många operationer som utförs kan vara destruktiva, något som inte händer med lite högre nivånivå, eftersom felförebyggande lager de är äldre.

Allt är psykologi

Varje språk, ramverk, programmerare respekterar och följer någon form av filosofi, och om det inte gör det har det inte en mycket lovande framtid. De av oss som arbetar med UNIX och derivat känner antagligen till den gamla frasen:

Gör en sak och gör det mycket bra.

Den här filosofin följs av vissa projekt som kärnan, ganska små funktioner som bara gör en sak, men gör det så bra de kan.

Om vi ​​går till andra språk kommer var och en att ha en funktion och ett mål, några mer tillåtna och andra mer restriktiva, men alla följer sina egna tankesätt.

Lär dig att läsa tankar

Det finns ett ganska vanligt ordspråk bland programmerare att det finns hundratals sätt att lösa samma problem. Detta är sant, men det finns något mycket djupare med denna aspekt. Att läsa källkod gör att du kan läsa tankar - inte bara något sinne, utan själen hos programmeraren (eller programmerare) som skrev det. Det är en typ av virtuell och djup dagbok 🙂 det låter dig känna djupet hos utvecklaren och när det gäller stora projekt låter den dig se hur deras logiska och kritiska tänkande har vuxit över tiden. Något extraordinärt och som väcker hjärterna hos de yngsta i hög grad, för du kan känna till de bästa vägarna för människor som var tvungna att upptäcka dem 🙂

Att vara konsekvent

Många programmerare och specialister säger att vi måste komma ur vårt komfortzon, och även om det är sant, är det också mer än nödvändigt att behålla vissa processer och format. Det här är enkelt att förklara, våra sinnen är repetitiva och respekterar strukturer, om du skriver kod på samma sätt varje dag kommer du på kort tid att sluta tänka på formen och du kommer att kunna koncentrera sig på den. Fondo. Detta låter dig se logik programmet istället för språksyntax. Och detta är anledningen till att jag anser att lära mig begrepp kommer alltid att vara viktigare än att lära sig formerna. Detta är en personlig åsikt, men jag hoppas att efter att ha läst allt detta kan du förstå varför jag anser det på det sättet told också berättat av någon som har varit tvungen att programmera i C, Java, Javascript, Python, Ruby, PHP och andra 🙂 känner till koncept gör det enkelt att skriva kod.

Sammanfattningsvis

Det här är det första steget i en serie som jag hoppas hjälper dig att tänka annorlunda om konsten att programmera, till och med bjuda in dig att gräva i begreppen som låter dig köra koden du har skrivit kanske hundratals gånger, men de har inte slutat tänka på vad det verkligen gör. Och för dem som inte har börjat programmera, men vill ha, att kunna prioritera lite om vad som verkligen är viktigt att veta 🙂 Hälsningar


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Javier G. Delgado sade

    En mycket samvetsgrann artikel där programmering diskuteras (i detta fall) kanske på ett nytt språk som programmerar djupare, mitt stöd går till följande.

    1.    ChrisADR sade

      Hej Javier, tack så mycket 🙂 Jag tycker att det här är väldigt viktigt för att de alltid har velat lära mig bara att reproducera kod, den berömda Ctrl + C ... Ctrl + V 🙂 men jag har aldrig låtit mig dra av detta, även om det är det enklaste problemet i världen jag skulle hellre skriva det än att kopiera det från någon annan, det får mig att känna att det är min skapelse.
      hälsningar

  2.   flotte sade

    Väntar redan på nästa kapitel, jag slutade programmera för länge sedan och jag tror att jag i ett senare kapitel kan hitta någon anledning till mitt beslut, eftersom jag tar av mig hatten i det här kapitlet.

  3.   ChrisADR sade

    Hej Balua 🙂
    Tja, jag kommer med något för nästa. Det är lite knepigt att ordna allt på ett sådant sätt att tråden kan följas från alla inlägg, men jag ska försöka få den här (och flera andra som har frågat mig) mycket snart. Tack för din kommentar. Skål

  4.   Anders sade

    En pärla i en artikel! Jag hoppas att nästa ...