Programación: a psicoloxía dos ordenadores

Todos estamos intimamente relacionados coa programación, xa sexa como usuario, como administrador, como propio programador, pero en definitiva é algo que estará máis conectado coas nosas vidas ao longo dos anos.

Neste artigo (o comezo dunha pequena serie que penso crear), Quero compartir con vós algúns conceptos sobre o que fun descubrindo sobre a programación ao longo dos anos. Non pretendo ser demasiado técnico, explicarei o motivo máis tarde. Pero o que si pretendo é facer que vexan o mundo cos meus ollos e, se lles gusta o seu aspecto, deixalos profundizar un pouco nel it

Atacarei o punto máis sinxelo de todos antes de entrar en detalles.

Por que non vou facer unha publicación técnica?

Ben, para quen leu o meu post sobre mellor comando Linux, saberás un pouco sobre a causa deste foco. A tecnoloxía sempre está a cambiar e se escribo algo hoxe, se a publicación ten unha boa acollida, sempre terei que actualizar a información. Nas linguas máis comúns actuais, o único seguro é o cambio. Con isto quero dicir (e os programadores poden darme a razón) Os frameworks están sempre crecendo e modificándose a partir dos seus núcleos, porque os erros xorden, algúns poden considerarse simples erros, mentres que outros poden converterse en vulnerabilidades. Esta é a razón pola que hoxe escribir un post sobre un idioma específico me garantise uns meses de utilidade, no mellor dos casos un ou dous anos, pero esa non é a idea

A electricidade é importante

Aqueles de vostedes que investigaron un pouco sobre as linguaxes de programación de software máis baixas saberán que todo se remonta á electricidade. No pasado, a programación facíase a nivel de hardware, isto significa que eses vellos reloxos, calculadoras e moitos outros dispositivos podían cumprir o seu destino programando mediante equipo.

O problema

Cambiar a programación de hardware é caro e complicado 🙂 (polo menos iso me dixeron 🙂 ). É por iso que xurdiron os procesadores, que en realidade abstraen esa capa de hardware para darnos algúns comandos para poder facer todo o que era posible a través do hardware, só agora na capa de hardware. software.

Procesadores

Os procesadores actuais teñen un número limitado de funcións, chamadas instrucións en moitos libros. Estes permítenlle realizar as funcións máis básicas que pode realizar o hardware e mobilizar información a través da memoria do ordenador.

Rexistros

Os rexistros son un espazo no que o procesador almacena información para poder realizar traballos no núcleo, dependendo da arquitectura poden ter un tamaño e unha orde diferentes, pero dun xeito sinxelo, a súa función é almacenar datos que indican ao procesador un dos seguintes tipos de traballo: mover datos, aritmética e lóxica, e control de fluxo. Todo pódese resumir neste tipo de funcionalidades.

Binario

Os procesadores traballan a nivel binario, isto significa que só entenden 0sy 1si 🙂. Un dato curioso aquí 😀lembras os permisos GNU / Linux? ben,Preguntácheste algunha vez como o procesador recoñece realmente eses permisos? Binario 🙂 simple. No nivel máis baixo, un procesador entenderá os permisos como unha sucesión de 0s e 1s, e esa é a razón pola que o octal que formamos ten os valores para a execución, 2 para ler e 4 para escribir. Para aqueles que poden ler o binario, entenderán que:

111100101111

Poñen os permisos de lectura, escritura e execución do grupo outros mentres pon a execución e a lectura para o grupo grupo e só de lectura para o propietario do ficheiro. Para os máis curiosos, os últimos tres 1 activan o setguid, setuid e sticky bit. Se non sabes o que é este binario, podo explicalo noutro post, se non sabes isto sobre setuid, setgid e o bit pegajoso, deixareino a ti 😉 pero tamén podo explicalo noutro sitio se é necesario.

Cando a curiosidade chama ...

Ben, se me seguiches aquí, entón a túa curiosidade debería comezar a preguntar moitas cousas, a primeira que quero responder (e quizais a única que me permite esta publicación porque xa escribo moito) é: Se as chamadas son iguais, por que son tan diferentes os programas?

Psicoloxía

A programación é a arte de aprender a ler mentes. Quero comezar esta sección cunha cita que lin hai moito, Edsger Dijkstra dixo:

Se a depuración é o proceso de depuración, a programación debe ser o proceso de introdución das mesmas

E non atopo un xeito mellor de explicar todo isto. ¿Por que a programación é a arte de introducir erros? máis dun preguntarase neste momento. A resposta é sinxela, porque as nosas mentes son humanas e os humanos cometen erros 🙂 está na nosa natureza, e será mentres o home exista no planeta.

Os ordenadores non se equivocan

Somos os que cometemos erros, os equipos limitaranse sempre a reproducir o que lles dicimos, non asumen nada, non interpretan nada, non se opoñen a nada, só len e actúan. Entón, noutro libro C xa lin algo así:

C é unha linguaxe maleducada, podes facer moito con ela, pero nunca te impedirá tirarte no pé se queres facelo ou iso dis.

Esta é unha verdade bastante curiosa 🙂 Dado que cando se traballa a un nivel tan baixo, é posible que moitas operacións que se leven a cabo poidan ser destrutivas, algo que non ocorre con linguaxes de nivel lixeiramente superior, xa que as capas de prevención de erros son máis vellos.

Todo é psicoloxía

Toda linguaxe, marco, programador respecta e segue algún tipo de filosofía e, se non o fai, non ten un futuro moi prometedor. Os que traballamos en UNIX e derivados probablemente coñeceremos a vella frase:

Fai unha cousa e faino moi ben.

Esta filosofía é seguida por algúns proxectos como o núcleo, funcións bastante pequenas que só fan unha cousa, pero fan o mellor que poden.

Se imos a outros idiomas, cada un terá unha función e un obxectivo, algúns máis permisivos e outros máis restritivos, pero todos seguen a súa propia forma de pensar.

Aprende a ler mentes

Entre os programadores hai un dito bastante común de que hai centos de formas de resolver o mesmo problema. Isto é certo, pero hai algo moito máis profundo neste aspecto. A lectura do código fonte permítelle ler mentes, non calquera mente, senón a mente do programador (ou programadores) que o escribiu. É unha especie de diario virtual e profundo allows permítelle coñecer en profundidade a mente do desenvolvedor e, no caso de grandes proxectos, permítelle ver como o seu pensamento lóxico e crítico creceu co paso do tempo. Algo extraordinario e que nutre moito a mente dos máis novos, porque podes coñecer os mellores camiños das persoas que os tiveron que descubrir 🙂

Para ser coherente

Moitos programadores e especialistas din que temos que saír do noso zona de confort, e aínda que é certo, tamén é máis que necesario manter certos procesos e formatos. Isto é sinxelo de explicar, as nosas mentes son repetitivas e respectan as estruturas, se escribes código do mesmo xeito todos os días, en pouco tempo deixarás de pensar na forma e poderás concentrarte nela. fondo. Isto permítelle ver o lóxica do programa en lugar do sintaxe da linguaxe. E esta é a razón pola que considero que aprender o conceptos sempre será máis importante que aprender as formas. Esta é unha opinión persoal, pero espero que despois de ler todo isto poida comprender por que o considero así told tamén contado por alguén que tivo que programar en C, Java, Javascript, Python, Ruby, PHP e outros 🙂 coñece o conceptos facilita a escritura de código.

En definitiva

Ben, este é o primeiro paso dunha serie que espero che axude a pensar de xeito diferente sobre a arte da programación, incluso che invite a afondar nos conceptos que che permiten executar o código que escribiches quizais centos de veces, pero non pararon a pensar sobre o que realmente fai. E para os que non comezaron a programar, pero desexan, poder priorizar un pouco o que é realmente importante saber 🙂 Saúdos


O contido do artigo adhírese aos nosos principios de ética editorial. Para informar dun erro faga clic en aquí.

5 comentarios, deixa os teus

Deixa o teu comentario

Enderezo de correo electrónico non será publicado.

*

*

  1. Responsable dos datos: Miguel Ángel Gatón
  2. Finalidade dos datos: controlar SPAM, xestión de comentarios.
  3. Lexitimación: o seu consentimento
  4. Comunicación dos datos: os datos non serán comunicados a terceiros salvo obrigación legal.
  5. Almacenamento de datos: base de datos aloxada por Occentus Networks (UE)
  6. Dereitos: en calquera momento pode limitar, recuperar e eliminar a súa información.

  1.   Javier G. Delgado dixo

    Un artigo moi concienciado no que se discute sobre a programación (neste caso) quizais nunha nova linguaxe que programa con maior profundidade, o meu apoio vai ao seguinte.

    1.    ChrisADR dixo

      Ola Javier, moitas grazas 🙂 Creo que isto é moi importante porque sempre quixeron ensinarme só a reproducir código, o famoso Ctrl + C ... Ctrl + V 🙂 pero nunca me deixei arrastrar por isto, aínda que sexa o problema máis sinxelo do mundo Prefiro escribilo antes que copialo doutra persoa, faime sentir como se fose a miña creación.
      lembranzas

  2.   balsa dixo

    Xa agardando o seguinte capítulo, deixei de programar hai moito tempo, e creo que podo atopar nun capítulo posterior algunha causa para a miña decisión, de verdade, xa que este capítulo me quito o sombreiro.

  3.   ChrisADR dixo

    Ola Balua 🙂
    Ben, vou atopar algo para a próxima. É un pouco complicado organizar todo de tal xeito que se poida seguir o fío desde calquera publicación, pero intentarei que este (e varios outros que me preguntaron) moi pronto. Grazas polo teu comentario. Graciñas

  4.   Anders dixo

    Unha xoia dun artigo! Espero que o seguinte ...

bool (verdadeiro)