Programmierung: Die Psychologie der Computer

Wir sind alle eng mit der Programmierung verbunden, sei es als Benutzer, als Administrator, als Programmierer selbst, aber letztendlich ist es etwas, das im Laufe der Jahre mehr mit unserem Leben verbunden sein wird.

In diesem Artikel (der Beginn einer kleinen Serie, die ich erstellen möchte) Möchte ich Ihnen einige Konzepte darüber mitteilen, was ich im Laufe der Jahre über das Programmieren herausgefunden habe. Ich behaupte nicht, übermäßig technisch zu sein, ich werde später erklären, warum. Aber ich habe vor, sie dazu zu bringen, die Welt mit meinen Augen zu sehen, und wenn ihnen das Aussehen gefällt, dann lassen Sie sie sich ein wenig damit beschäftigen 🙂

Ich werde zuerst den einfachsten Punkt angreifen, bevor ich auf Details eingehe.

Warum mache ich keine technische Stelle?

Gut für diejenigen, die meinen Beitrag über gelesen haben bester Linux-BefehlSie werden ein wenig über die Ursache dieses Fokus wissen. Die Technologie ändert sich ständig, und wenn ich heute etwas schreibe und der Beitrag gut ankommt, muss ich die Informationen immer aktualisieren. In den heute gebräuchlichsten Sprachen ist die einzig sichere Sache die Veränderung. Damit meine ich (und die Programmierer können mir Recht geben) Frameworks wachsen ständig und modifizieren sich von ihren Kernen aus. Dies liegt daran, dass Fehler auftreten, einige können als einfach angesehen werden Bugs, während andere werden können Schwachstellen. Dies ist der Grund, warum das Schreiben eines Beitrags über eine bestimmte Sprache heute mir vielleicht ein paar Monate Nützlichkeit garantieren würde, bestenfalls ein oder zwei Jahre, aber das ist nicht die Idee 🙂

Strom ist wichtig

Diejenigen unter Ihnen, die ein wenig über die niedrigsten Software-Programmiersprachen recherchiert haben, werden wissen, dass alles auf Elektrizität zurückgeht. In der Vergangenheit wurde die Programmierung auf Hardwareebene durchgeführt. Dies bedeutet, dass diese alten Uhren, Taschenrechner und viele andere Geräte ihr Schicksal durch Programmieren von erfüllen konnten Hardware.

Das Problem

Das Ändern der Hardwareprogrammierung ist teuer und kompliziert 🙂 (Zumindest haben sie mir das gesagt 🙂 ). Aus diesem Grund entstanden Prozessoren, die diese Hardwareschicht tatsächlich abstrahieren, um uns einige Befehle zu geben, mit denen wir alles tun können, was durch Hardware möglich war, nur jetzt in der Hardwareschicht. Software.

Prozessoren

Heutige Prozessoren haben eine begrenzte Anzahl von Funktionen, die aufgerufen werden Anleitung in vielen Büchern. Mit diesen können Sie die grundlegendsten Funktionen ausführen, die die Hardware ausführen kann, und Informationen über den Arbeitsspeicher des Computers mobilisieren.

Register

Register sind ein Bereich, in dem der Prozessor Informationen speichert, um Arbeiten am Kernel ausführen zu können. Abhängig von der Architektur können sie eine andere Größe und Reihenfolge haben. Auf einfache Weise besteht ihre Funktion jedoch darin, Daten zu speichern, die dem Prozessor eine der folgenden Funktionen mitteilen folgende Arten von Arbeiten: Verschieben von Daten, Arithmetik und Logik sowie Steuerung von fließen. Alles kann in diesen Arten von Funktionen zusammengefasst werden.

binär

Prozessoren arbeiten auf binärer Ebene, das heißt, sie verstehen nur 0sy 1ja 🙂. Eine merkwürdige Tatsache hier 😀Erinnern Sie sich an GNU / Linux-Berechtigungen? Gut, Haben Sie sich jemals gefragt, wie der Prozessor diese Berechtigungen tatsächlich erkennt?? Einfach 🙂 binär. Auf der untersten Ebene versteht ein Prozessor die Berechtigungen als eine Folge von Nullen und Einsen, und dies ist der Grund, warum das von uns gebildete Oktal die Werte hat zur Ausführung, 2 zum Lesen und 4 zum Schreiben. Für diejenigen, die Binärdateien lesen können, werden sie verstehen, dass:

111100101111

Sie legen die Lese-, Schreib- und Ausführungsberechtigungen für die Gruppe fest andere während Leistung und Lesen für die Gruppe setzen Gruppe und schreibgeschützt für den Dateibesitzer. Für die Neugierigsten aktivieren die letzten drei Einsen die setguid, setuid und sticky bit. Wenn Sie nicht wissen, was diese Binärdatei ist, kann ich sie in einem anderen Beitrag erklären. Wenn Sie nicht über setuid, setgid und das Sticky-Bit Bescheid wissen, überlasse ich es Ihnen, aber ich kann es bei Bedarf auch an anderer Stelle erklären.

Wenn Neugier ruft ...

Nun, wenn Sie mir hierher gefolgt sind, sollte Ihre Neugierde anfangen, viele Dinge zu fragen. Die erste, die ich beantworten möchte (und vielleicht die einzige, die mir dieser Beitrag erlaubt, weil ich bereits viel schreibe), ist: Wenn die Aufrufe gleich sind, warum sind die Programme so unterschiedlich?

Psychologie

Programmieren ist die Kunst, Gedanken lesen zu lernen. 🙂 Ich möchte diesen Abschnitt mit einem Zitat beginnen, das ich vor langer Zeit gelesen habe, sagte Edsger Dijkstra:

Wenn das Debuggen der Prozess des Debuggens ist, muss das Programmieren der Prozess des Einführens dieser Prozesse sein

Und ich kann keinen besseren Weg finden, um all dies zu erklären. Warum programmiert man die Kunst, Fehler einzuführen? mehr als einer wird sich an dieser Stelle wundern. Die Antwort ist einfach, weil unser Geist menschlich ist und Menschen Fehler machen - es liegt in unserer Natur und es wird so lange sein, wie der Mensch auf dem Planeten existiert.

Computer sind nicht falsch

Wir sind diejenigen, die Fehler machen, die Teams werden sich immer darauf beschränken, das zu reproduzieren, was wir ihnen sagen, sie nehmen nichts an, sie interpretieren nichts, sie protestieren gegen nichts, sie lesen und handeln einfach. In einem anderen C-Buch habe ich jemals so etwas gelesen:

C ist eine raue Sprache, man kann viel damit anfangen, aber es wird Sie nie davon abhalten, sich in den Fuß zu schießen, wenn Sie das wollen, oder so sagen Sie es.

Dies ist eine ziemlich merkwürdige Wahrheit. 🙂 Da es möglich ist, dass viele Operationen, die ausgeführt werden, destruktiv sein können, was bei Sprachen auf einer etwas höheren Ebene nicht der Fall ist, da die Fehlervermeidungsebenen nicht auftreten Sie sind älter.

Alles ist Psychologie

Jede Sprache, jedes Framework, jeder Programmierer respektiert und folgt einer Art Philosophie, und wenn dies nicht der Fall ist, hat sie keine vielversprechende Zukunft. Diejenigen von uns, die an UNIX und Derivaten arbeiten, werden wahrscheinlich den alten Satz kennen:

Mach eine Sache und mach es sehr gut.

Dieser Philosophie folgen einige Projekte wie der Kernel, recht kleine Funktionen, die nur eines tun, aber das Beste tun, was sie können.

Wenn wir in andere Sprachen gehen, wird jede eine Funktion und ein Ziel haben, einige freizügiger und andere restriktiver, aber alle folgen ihrer eigenen Denkweise.

Lerne Gedanken zu lesen

Programmierer sagen ziemlich häufig, dass es Hunderte von Möglichkeiten gibt, dasselbe Problem zu lösen. Dies ist wahr, aber dieser Aspekt hat etwas viel Tieferes. Durch das Lesen des Quellcodes können Sie Gedanken lesen - nicht nur Gedanken, sondern die Gedanken des Programmierers (oder der Programmierer), der sie geschrieben hat. Es ist eine Art virtuelles und tiefes Tagebuch. Es ermöglicht Ihnen, den Verstand des Entwicklers genau zu kennen, und bei großen Projekten können Sie sehen, wie sein logisches und kritisches Denken im Laufe der Zeit gewachsen ist. Etwas Außergewöhnliches, das den Geist der Jüngsten sehr nährt, weil man die besten Wege der Menschen kennt, die sie entdecken mussten 🙂

Konsequent sein

Viele Programmierer und Spezialisten sagen, dass wir aus unserem herauskommen müssen Komfortzoneund obwohl es wahr ist, ist es auch mehr als notwendig, bestimmte Prozesse und Formate beizubehalten. Dies ist einfach zu erklären, unser Geist wiederholt sich und respektiert Strukturen. Wenn Sie jeden Tag auf die gleiche Weise Code schreiben, werden Sie in kurzer Zeit aufhören, über das Formular nachzudenken, und Sie werden sich darauf konzentrieren können. fondo. Dies ermöglicht es Ihnen, die zu sehen Logik des Programms anstelle der Sprachsyntax. Und das ist der Grund, warum ich das Lernen der Konzepte wird immer wichtiger sein als lernen Formen. Dies ist eine persönliche Meinung, aber ich hoffe, dass Sie nach dem Lesen verstehen können, warum ich das so betrachte - auch von jemandem erzählt, der in C, Java, Javascript, Python, Ruby, PHP und anderen programmieren musste - Konzepte machen es einfach, Code zu schreiben.

Zusammenfassend

Nun, dies ist der erste Schritt in einer Reihe, von der ich hoffe, dass sie Ihnen helfen wird, anders über die Kunst des Programmierens nachzudenken, und Sie sogar einladen, sich mit den Konzepten zu befassen, mit denen Sie den Code ausführen können, den Sie vielleicht hunderte Male geschrieben haben. aber sie haben nicht aufgehört darüber nachzudenken, was es wirklich tut. Und für diejenigen, die noch nicht mit dem Programmieren begonnen haben, aber gerne ein wenig Prioritäten setzen möchten, was wirklich wichtig ist, um zu wissen 🙂 Grüße


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   Javier G. Delgado sagte

    Ein sehr gewissenhafter Artikel, in dem die Programmierung (in diesem Fall) möglicherweise in einer neuen Sprache behandelt wird, die ausführlicher programmiert. Meine Unterstützung gilt dem Folgenden.

    1.    ChrisADR sagte

      Hallo Javier, vielen Dank. Ich denke, das ist sehr wichtig, weil sie mir schon immer nur das Reproduzieren von Code beibringen wollten, das berühmte Strg + C ... Strg + V, aber ich habe mich nie davon ziehen lassen, auch wenn es das einfachste Problem der Welt ist Ich schreibe es lieber, als es von jemand anderem zu kopieren. Ich habe das Gefühl, es ist meine Schöpfung.
      Grüße

  2.   Floß sagte

    Ich habe bereits auf das nächste Kapitel gewartet und vor langer Zeit aufgehört zu programmieren. Ich glaube, ich kann in einem späteren Kapitel einen Grund für meine Entscheidung finden, da ich in diesem Kapitel meinen Hut abgenommen habe.

  3.   ChrisADR sagte

    Hallo Balua 🙂
    Nun, ich werde mir etwas für das nächste einfallen lassen. Es ist etwas kompliziert, alles so zu bestellen, dass der Thread von jedem Beitrag aus verfolgt werden kann, aber ich werde versuchen, diesen (und mehrere andere, die mich gefragt haben) sehr bald zu haben. Vielen Dank für Ihren Kommentar. Prost

  4.   Lars sagte

    Ein Juwel eines Artikels! Ich hoffe der nächste ...