Eine Sprache, um sie alle zu regieren

Unter der Schicht von Code schlĂ€gt eine Sprache, die danach dĂŒrstet, erlernt zu werden.

Eine Sprache, um sie alle zu regieren

Zum Zeitpunkt des Schreibens dieses Artikels bringt die Suche nach «welche Programmiersprache sollte man als erstes lernen» 517 Millionen Suchergebnisse. Jede dieser Webseiten lobt eine bestimmte Sprache, und 90 % von ihnen empfehlen letztendlich Python oder JavaScript.

Ohne lange Umschweife möchte ich offiziell erklĂ€ren, dass alle 517 Millionen Webseiten falsch liegen und verkĂŒnden, dass die Sprache, die man zuerst lernen sollte — fundamentale Logik.

Es reicht nicht aus, nur zu wissen, wie man codiert. Der Markt ist so gesĂ€ttigt mit Absolventen von UniversitĂ€ten und Kursen, dass die Position eines Junior Entwicklers praktisch nicht mehr existiert. Um in der heutigen Welt erfolgreich zu sein, mĂŒssen Sie sowohl codieren als auch ĂŒber fortgeschrittenes fundamentales logisches Denken verfĂŒgen.

* Hier und weiterhin beachten Sie bitte, dass dies eine Übersetzung ist und die Situation auf dem Arbeitsmarkt fĂŒr den Autor und in Ihrem Land unterschiedlich sein kann (wie auch andere Nuancen), was jedoch den Originalartikel nicht schlechter macht — Anm. d. Ü.

Meine erste Informatikstunde

Mein erstes Treffen mit der Informatik war ein Wahlfach, das ich in der 10. Klasse belegte. Am ersten Tag, als ich den Klassenraum betrat, war ich begeistert, eine große Menge Eiscreme-Eimer und verschiedene Toppings vor mir zu sehen. Nachdem sich alle gesetzt hatten, verkĂŒndete die Lehrerin:

„Heute werden wir selbstgemachte Cremespeisen probieren. Aber unter einer Bedingung: Sie mĂŒssen eine Liste konkreter Anweisungen erstellen, wie man das Dessert zubereitet, und ich werde diesen folgen“

„Kein Problem“, dachte ich, „diese Stunde wird nicht lange dauern“. Nach etwa einer Minute hatte ich ein großartiges Rezept fĂŒr mein Traumeis skizziert:

  1. Drei Kugeln Himbeereis in eine SchĂŒssel schöpfen und legen
  2. Die Schokoladensauce öffnen und zwei Esslöffel in dieselbe SchĂŒssel hinzufĂŒgen
  3. Schlagsahne in die SchĂŒssel geben
  4. Alles mit ZuckerstÀbchen bestreuen und eine Kirsche oben drauf legen

Meine Lehrerin — der „Computer“ in dieser netten Metapher — gab eine sarkastischere, wörtlichere Darstellung, als ich je zuvor gesehen hatte. Sie stach begeistert mit einem Eislöffel in den Eimer Eis, ohne auch nur den Deckel zu berĂŒhren.

„Gut, gut, aber zuerst muss man ihn öffnen!“, rief ich, wĂ€hrend ich versuchte, die Leckerei schneller zu bekommen.

„Du hast das nicht in die Anleitung geschrieben, und ich konnte dir kein Eis zubereiten. NÄCHSTER!“

Lass uns die Zeit bis Versuch Nr. 2 ĂŒberbrĂŒcken

  1. Öffne das himbeereis, indem du den Deckel abnimmst
  2. Drei Kugeln Himbeereis in eine SchĂŒssel schöpfen und legen
  3. Die Schokoladensauce öffnen und zwei Esslöffel in dieselbe SchĂŒssel hinzufĂŒgen
  4. Schlagsahne in die SchĂŒssel geben
  5. Bestreue das Ganze mit Zuckerstangen und lege eine Kirsche oben drauf

Nun sollte es wirklich keine Probleme mehr geben. Ich habe sogar vorsichtshalber sichergestellt, dass alle Zutaten fĂŒr mein kulinarisches Meisterwerk bereitliegen.

Die Lehrerin nahm den Deckel ab, schöpfte und legte drei Kugeln Eis in die SchĂŒssel. „Endlich beginnt mein wunderbarer Rahmeis, RealitĂ€t zu werden!“ Dann öffnete sie die Schokoladensauce und fĂŒgte zwei Esslöffel in die SchĂŒssel hinzu. Sie „fĂŒgte zwei Esslöffel Schokoladensauce hinzu“ – denkt nicht falsch – sie legte natĂŒrlich die Löffel selbst in die SchĂŒssel. Ohne Sauce in ihnen. Wieder einmal habe ich es versĂ€umt, alles genau zu beschreiben. Nachdem alles im gleichen Geiste erledigt war, hielt ich eine SchĂŒssel mit Eis und zwei Löffeln in der Hand, die kaum unter einem Meer von Schlagsahne sichtbar waren. Obenauf lagen ein paar Zuckerstangen.

Es scheint, dass ich in diesem Moment endlich begriffen habe: Der Computer ist Logik im Vakuum. Er kennt die UmstĂ€nde nicht und zieht keine Schlussfolgerungen. Er befolgt nur klar formulierte Anweisungen und folgt ihnen Wort fĂŒr Wort.

Mein Endergebnis war das Resultat einer langen, aber notwendigen Reihe von Versuch und Irrtum:

  1. Öffne, falls dies noch nicht geschehen ist, jede der folgenden Verpackungen: Himbeereis, Schokoladensauce, Schlagsahne, Zuckerstangen.
  2. Nimm eine SchĂŒssel und stelle sie vor dich
  3. Nimm einen Eisportionierer und lege nacheinander drei Kugeln Himbeereis in die SchĂŒssel. Lege den Eisportionierer zurĂŒck an seinen Platz.
  4. Nimm die Flasche mit der Schokoladensauce, schöpfe Sauce und gieße den Inhalt eines Esslöffels in die SchĂŒssel. Wiederhole das Schöpfen und Gießen mit der Sauce noch einmal. Lege den Löffel und die Flasche zurĂŒck an ihren Platz.
  5. Nimm die Verpackung mit der Schlagsahne und halte sie kopfĂŒber ĂŒber die SchĂŒssel, und gieße sie fĂŒr 3 Sekunden ĂŒber das Eis, bevor du die Verpackung wieder an ihren Platz zurĂŒcklegst.
  6. Nimm die Flasche mit den Zuckerstangen, schĂŒtte etwa vierzig Stangen in die SchĂŒssel und lege die Flasche zurĂŒck an ihren Platz.
  7. Nimm eine Kirsche aus der Kirschen-SchĂŒssel und lege sie oben auf das Eis.
  8. Übergib dem SchĂŒler die SchĂŒssel mit dem fertigen Rahmeis und den Löffel.

Der letzte Punkt war besonders wichtig, denn ohne ihn begann die Lehrerin beim vorletzten Mal einfach, mein Eis zu essen.

Aber das ist Programmierung. Eine angespannte Erstellung eines sorgfĂ€ltigen Satzes von Anweisungen fĂŒr den Computer. Im Grunde genommen ist das, worauf es bei jeder Programmiersprache ankommt — das Verfassen von Anweisungen.

Karriere in der Programmierung

Programmierung hat einen Punkt erreicht, an dem es schwierig ist, sie als einzelne Branche zu besprechen, genauso wie es schwierig ist, das Wort „Programmierer“ als Beschreibung fĂŒr eine Stelle zu verwenden. Zwei Entwickler können vom Markt gleich gefragt sein, obwohl sie völlig unterschiedliche Sprachen beherrschen, und das bedeutet, dass die FĂ€higkeit, zu entwickeln, wichtiger ist als das Wissen ĂŒber eine bestimmte Sprache. Ein universelles Attribut, das allen erfolgreichen Entwicklern gemeinsam ist — fundamentale Logik.

Der beste Programmierer ist derjenige, der in der Lage ist, den Code aus einem neuen Blickwinkel zu betrachten. Und das ist grundlegend wichtig, denn die meisten Softwareprodukte sind eine Ansammlung von undokumentierten Fragmenten schlechten Codes. Sie mĂŒssen stĂ€ndig wieder zusammengefĂŒgt werden, wĂ€hrend man die LĂŒcken nach Bedarf schließt. Menschen, die nicht in der Lage sind, unzusammenhĂ€ngende Punkte mit einer einzigen Linie zu verbinden, werden fĂŒr immer in der zweiten Reihe stehen mĂŒssen.

All dies fĂŒhrt mich zu einer weiteren Deklaration, diesmal fettgedruckt: Fundamentale Kenntnisse waren immer und werden immer von höchster Bedeutung fĂŒr Programmierer sein..

Sprachen kommen und gehen. Frameworks veralten, und Unternehmen reagieren auf die Nachfrage, indem sie den Technologie-Stack Ă€ndern. Gibt es etwas, das sich nie Ă€ndern wird? Ja — fundamentale Kenntnisse, die so genannt werden, weil sie die Basis fĂŒr alles bilden!

Wie man fundamentale Kenntnisse verbessert

Eine Sprache, um sie alle zu regierenFoto von Christopher Yeshke auf Unsplash

Wenn Sie einen Ausgangspunkt zur Verbesserung des fundamentalen logischen Denkens suchen, versuchen Sie, hier zu beginnen:

Kennen Sie die KomplexitÀt Ihres Programms

auch bezeichnet als Big O Die „AlgorithmuskomplexitĂ€t“ bezieht sich auf die AbhĂ€ngigkeit der Zeit, die fĂŒr die AusfĂŒhrung eines Programms benötigt wird, von der GrĂ¶ĂŸe seiner Eingabedaten. (n). Es ist ein wichtiger Schritt, die verwendeten Algorithmen im Auge zu behalten.

Kennen Sie Ihre Datenstrukturen

Datenstrukturen sind das Fundament jeder modernen Software. Zu wissen, welche Struktur in welchem Fall verwendet werden sollte, ist eine eigenstĂ€ndige Disziplin. Datenstrukturen stehen in direktem Zusammenhang mit der KomplexitĂ€t zur Laufzeit, und die Wahl der falschen Struktur kann zu grundlegenden Leistungsproblemen fĂŒhren. Die Suche nach einem Element in einem Array ist gleich O(n), was auf die Kosten der Verwendung von Arrays als Eingabedaten hinweist. Die Suche in einer Hash-Tabelle ist O(1), was bedeutet, dass in diesem Fall die Suchzeit fĂŒr einen Wert unabhĂ€ngig von der Anzahl der Elemente ist.

Zu meinen VorstellungsgesprĂ€chen kamen Menschen, die behaupteten, die Suche in einem Array sei schneller als in einer Hash-Tabelle. Das war ein sicheres Zeichen dafĂŒr, dass man sie nicht einstellen sollte – kenne deine Datenstrukturen.

Lies / Schau / Höre

Solche Seiten wie Udemy, Pluralsight und CodeAcademy sind eine ausgezeichnete Wahl, um neue Programmiersprachen zu lernen. Aber fĂŒr die Grundlagen greife auf BĂŒcher ĂŒber allgemeine Prinzipien, Praktiken und Kodierungsstile zurĂŒck. Die am hĂ€ufigsten empfohlenen BĂŒcher sind „Entwurfsmuster“, „Refactoring: Verbesserung bestehender Codes“, „Code komplett“, „Sauberer Code“ und „Der pragmatische Programmierer“. Schließlich sollte jeder Entwickler eine Kopie der „Algorithmen“ zur Hand haben.

Übung macht den Meister!

Du kannst kein Spiegelei braten, ohne Eier zu brechen. Solche Seiten wie HackerRank, CodeWars, CoderByte, TopCoder und LeetCode bieten Tausende interessanter Aufgaben zur ÜberprĂŒfung deiner Kenntnisse ĂŒber Datenstrukturen und Algorithmen. Versuche dein GlĂŒck bei der Lösung eines Problems, das dich anspricht, lade deine Version auf Github hoch und schaue dir danach an, wie andere dazu gekommen sind. Das bringt uns zum letzten Punkt:

Lies den Code anderer

Der grĂ¶ĂŸte Fehler, den man auf dem Weg der Softwareentwicklung machen kann, ist, diesen Weg allein zu gehen. Softwareentwicklung ist zu einem großen Teil Teamarbeit. Wir erstellen zusammen Standards, machen zusammen Fehler und trotz aller RĂŒckschlĂ€ge werden wir gemeinsam besser. Die Zeit, die du mit dem Lesen des Codes anderer verbringst, wird sich vielfach auszahlen. Stelle nur sicher, dass es sich um guten Code handelt.

Der beste Rat, den ich Ihnen geben kann, ist, sich niemals dafĂŒr zu schĂ€men, etwas noch nicht zu wissen. Wie bereits erwĂ€hnt, ist unsere Branche riesig und die Anzahl der Technologien ist ĂŒberwĂ€ltigend. Es erfordert viel Zeit und MĂŒhe, um ein Gesamtbild zu entwickeln, noch mehr, um in etwas Bestimmtem ein Profi zu werden, und um ein Meister in seinem Bereich zu werden, benötigt man noch viel mehr. Ich werde Sie wissen lassen, wenn ich es selbst erreicht habe.

Quelle: habr.com

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster