Unter einer Schicht von Code verbirgt sich eine Sprache, die darauf wartet, erlernt zu werden.

Zum Zeitpunkt der Erstellung dieses Artikels liefert die Suche nach "welche Programmiersprache sollte man zuerst lernen" 517 Millionen Ergebnisse. Jede dieser Seiten preist eine bestimmte Sprache an, und 90 % von ihnen empfehlen letztendlich Python oder JavaScript.
Ohne lange Umschweife möchte ich offiziell erklären, dass all diese 517 Millionen Seiten falsch liegen und sagen, dass die Sprache, die man zuerst lernen sollte, — fundamentale Logik.
Nur zu wissen, wie man programmiert, ist nicht genug. Der Markt ist so gesättigt mit Absolventen von Hochschulen und Kursen, dass die Position eines Junior-Entwicklers praktisch nicht mehr existiert. Um in der heutigen Welt erfolgreich zu sein, müssen Sie sowohl programmieren als auch über ausgeprägtes, grundlegendes logisches Denken verfügen.
* Hier und im Folgenden, 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 die Originalartikel nicht schlechter macht — Anm. des Übersetzers.
Meine erste Informatikstunde
Mein erstes Kennenlernen mit 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 an Eiskübeln und verschiedenen Toppings vor mir zu sehen. Nachdem sich alle gesetzt hatten, verkündete die Lehrerin:
„Heute werden wir selbstgemachtes Speiseeis verkosten. Aber mit einer Bedingung: Ihr müsst eine Liste mit konkreten Anweisungen erstellen, wie man das Dessert zubereitet, und ich werde mich daran halten.“
„Kein Problem“, dachte ich, „der Unterricht wird nicht lange dauern.“ Nach etwa einer Minute skizzierte ich ein fantastisches Rezept für das Eis meiner Träume:
- Drei Kugeln Himbeereis in eine Schüssel schöpfen und legen.
- Schokoladensauce öffnen und zwei Esslöffel in die gleiche Schüssel hinzufügen.
- Schlagsahne in die Schüssel geben.
- Alles mit Zuckerstangen bestreuen und eine Kirsche oben drauflegen.
Meine Lehrerin – die „Computerin“ in dieser netten Metapher – führte eine sarkastisch-literalere Darbietung auf, als ich je zuvor gesehen hatte. Sie begann heftig mit einem Eisportionierer in den Eiskübel zu stechen, ohne auch nur den Deckel zu berühren.
„In Ordnung, in Ordnung, aber zuerst muss ich es öffnen!“ – rief ich aus und versuchte, die Leckerei schneller zu bekommen.
„Du hast das nicht in die Anleitung geschrieben, und ich konnte dir kein Eis zubereiten. NÄCHSTE!“
Lass uns die Zeit bis zum Versuch Nr. 2 überbrücken.
- Öffne das Himbeereis, indem du den Deckel abnimmst.
- Drei Kugeln Himbeereis in eine Schüssel schöpfen und legen.
- Schokoladensauce öffnen und zwei Esslöffel in die gleiche Schüssel hinzufügen.
- Schlagsahne in die Schüssel geben.
- Bestreue das Ganze mit Zuckerstäbchen und lege eine Kirsche oben drauf.
Jetzt sollte es definitiv keine Probleme mehr geben. Ich habe sogar zur Sicherheit sichergestellt, dass alle Zutaten für mein kulinarisches Meisterwerk geöffnet sind.
Die Lehrerin nahm den Deckel ab, schöpfte und legte drei Kugeln Eis in eine Schüssel. „Endlich wird mein wunderschönes Speiseeis Wirklichkeit!“ Dann öffnete sie die Schokoladensoße und fügte zwei Esslöffel in die Schüssel hinzu. Sie „fügte zwei Esslöffel Schokoladensoße hinzu“ – damit ihr nicht denkt – sie legte natürlich die Löffel selbst in die Schüssel. Ohne die Soße darin. Wieder einmal habe ich es versäumt, alles genau zu beschreiben. Nachdem der Rest im gleichen Sinne ausgeführt wurde, hielt ich eine Schüssel mit Eis und zwei Löffeln in den Händen, die kaum unter einem Meer von Schlagsahne zu erkennen waren. Oben drauf lagen ein paar Zuckerstäbchen.
Es scheint, dass ich in diesem Moment endlich verstanden habe: Ein Computer ist Logik im Vakuum. Er kennt die Umstände nicht und trifft keine Annahmen. Er führt nur klar formulierte Anweisungen aus und folgt ihnen Wort für Wort.
Mein Endergebnis war das Resultat einer langen, aber notwendigen Reihe von Versuch und Irrtum:
- Öffne, falls noch nicht geschehen, jede der folgenden Verpackungen: Himbeereis, Schokoladensoße, Schlagsahne, Zuckerstangen.
- Nimm eine Schüssel und stelle sie vor dich.
- Nimm einen Eislöffel und lege nacheinander drei Kugeln Himbeereis in die Schüssel. Lege den Eislöffel zurück an seinen Platz.
- Nimm das Glas mit der Schokoladensoße, schöpfe eine Esslöffel voll und gieße den Inhalt in die Schüssel. Wiederhole den Vorgang des Schöpfens und Gießens einmal mehr. Lege den Löffel und das Glas zurück an ihren Platz.
- Nimm die Verpackung mit der Schlagsahne, drehe sie um und halte sie über die Schüssel, gieße drei Sekunden lang die Sahne über das Eis, bevor du die Verpackung zurück an ihren Platz stellst.
- Nimm das Glas mit den Zuckerstangen, schütte etwa vierzig Stangen in die Schüssel und stelle das Glas zurück an seinen Platz.
- Nehmen Sie eine Kirsche aus der Schüssel und legen Sie sie auf das Eis.
- Übergeben Sie dem Schüler die Schüssel mit dem fertigen Speiseeis und einen Löffel.
Der letzte Punkt war besonders wichtig, denn ohne ihn begann die Lehrerin einfach, mein Eis zu essen.
Das ist Programmierung. Es ist die anspruchsvolle Erstellung eines präzisen Satzes von Anweisungen für den Computer. Im Grunde genommen läuft jede Programmiersprache darauf hinaus, Anweisungen zu formulieren.
Karriere in der Programmierung
Die Programmierung hat einen Punkt erreicht, an dem es schwierig ist, sie als eine einzige Branche zu diskutieren, genauso wie es schwierig ist, das Wort "Programmierer" als Beschreibung für eine Stelle zu verwenden. Zwei Entwickler können vom Markt genauso stark nachgefragt werden, obwohl sie völlig unterschiedliche Sprachen beherrschen. Daher ist die Fähigkeit zu entwickeln wichtiger als das Wissen über eine bestimmte Sprache. Ein universelles Merkmal, das allen erfolgreichen Entwicklern eigen ist - fundamentale Logik.
Ein guter Programmierer ist in der Lage, den Code aus einer neuen Perspektive zu betrachten. Das ist entscheidend, da die meisten Softwareprodukte aus einer Sammlung von undocumented Bruchstücken schlechten Codes bestehen. Diese müssen ständig zusammengesetzt werden, wobei Lücken nach Bedarf geschlossen werden. Menschen, die nicht in der Lage sind, verstreute Punkte zu einer durchgehenden Linie zu verbinden, werden für immer in der zweiten Reihe bleiben.
Das führt mich zu einer weiteren Aussage, diesmal fett hervorgehoben: Fundamentale Kenntnisse waren immer und werden immer von höchster Bedeutung für Programmierer sein..
Programmiersprachen kommen und gehen. Frameworks veralten, und Unternehmen reagieren auf die Nachfrage, indem sie ihren Technologie-Stack ändern. Gibt es etwas, das sich niemals ändern wird? Ja – fundamentale Kenntnisse, die so genannt werden, weil sie die Grundlage von allem bilden!
Wie man die fundamentalen Kenntnisse verbessert
Foto von Christopher findet man
Wenn Sie nach einem Ausgangspunkt suchen, um Ihr grundlegendes logisches Denken zu verbessern, versuchen Sie es hiermit:
Kennen Sie die Komplexität Ihres Programms
Auch bekannt als Big O Die „Komplexität eines Algorithmus“ bezeichnet die Abhängigkeit der Ausführungszeit eines Programms von der Größe seiner Eingabedaten. (n). Den aktuellen Stand der verwendeten Algorithmen zu kennen, ist ein wichtiger Schritt.
Kennen Sie Ihre Datenstrukturen
Datenstrukturen bilden die Grundlage jedes modernen Programms. Zu wissen, welche Struktur in welchem Fall zu verwenden ist, ist eine eigene Disziplin. Datenstrukturen sind direkt mit der Laufzeitkomplexität verbunden und die Wahl einer falschen Struktur kann zu grundlegendem Leistungsproblemen führen. Die Suche nach einem Element in einem Array beträgt O(n), was auf die Kosten hinweist, Arrays als Eingabedaten zu verwenden. Die Suche in einer Hash-Tabelle beträgt O(1), was bedeutet, dass die Suchzeit in diesem Fall nicht von der Anzahl der Elemente abhängt.
In Vorstellungsgesprächen kamen Leute zu mir, die behaupteten, die Suche in einem Array sei schneller als in einer Hash-Tabelle. Das war ein sicheres Zeichen, dass man sie nicht einstellen sollte – kennen Sie Ihre Datenstrukturen.
Lese / sehe / höre
Seiten wie , und — eine hervorragende Wahl, um neue Programmiersprachen zu lernen. Für die Grundlagen sollten Sie auf Bücher zu allgemeinen Prinzipien, Praktiken und Programmierstilen zurückgreifen. Zu den am häufigsten empfohlenen Büchern gehören „Design Patterns“, „Refactoring. Verbesserung bestehenden Codes“, „Das perfekte Programm“, „Sauberer Code“ und „Der pragmatische Programmierer“. Schließlich sollte jeder Entwickler eine Kopie von „“ griffbereit haben.
Üben Sie!
Man kann kein Rührei zubereiten, ohne die Eier zu zerbrechen. Seiten wie , , , und bieten Tausende interessanter Herausforderungen, um Ihr Wissen über Datenstrukturen und Algorithmen zu testen. Versuchen Sie, ein interessantes Problem zu lösen, laden Sie Ihre Lösung auf GitHub hoch und sehen Sie sich an, wie andere es angegangen sind. Und damit sind wir bei dem letzten Punkt:
Lesen Sie fremden Code.
Der größte Fehler, den man auf dem Weg der Softwareentwicklung machen kann, ist, diesen Weg alleine zu gehen. Softwareentwicklung ist vor allem Teamarbeit. Gemeinsam schaffen wir Standards, machen Fehler und werden trotz aller Rückschläge immer besser. Die Zeit, die man mit dem Lesen fremden Codes verbringt, wird sich vielfach auszahlen. Achten Sie nur darauf, dass es sich um guten Code handelt.
Der beste Rat, den ich Ihnen geben kann, ist: Schämen Sie sich niemals, etwas nicht zu wissen. Wie bereits erwähnt, ist unsere Branche enorm und die Anzahl der Technologien schier unendlich. Es erfordert viel Zeit und Mühe, um ein Gesamtbild zu entwickeln, noch mehr, um in einem bestimmten Bereich zum Experten zu werden, und umso mehr, um seine Fähigkeiten in diesem Bereich zu verfeinern. Ich lasse Sie wissen, wenn ich dieses Ziel selbst erreicht habe.
Quelle: habr.com
