Eine Sprache, um sie alle zu beherrschen

Unter einer Codeschicht verbirgt sich eine Sprache, die sich danach sehnt, erlernt zu werden.

Eine Sprache, um sie alle zu beherrschen

Zum jetzigen Zeitpunkt liefert die Suchanfrage „Programmieren, welche Sprache man zuerst lernen soll“ 517 Millionen Suchergebnisse. Jede dieser Websites lobt eine bestimmte Sprache und 90 % von ihnen empfehlen am Ende Python oder JavaScript.

Ohne weitere Umschweife möchte ich zu Protokoll geben, dass alle diese 517 Millionen Websites falsch sind und dass die Sprache, die Sie zuerst lernen sollten, falsch ist grundlegende Logik.

Nur zu wissen, wie man programmiert, reicht nicht aus. Der Markt ist mit Absolventen von Instituten und Studiengängen so gesättigt, dass es die Junior-Stelle praktisch nicht mehr gibt*. Um in der heutigen Welt erfolgreich zu sein, müssen Sie sowohl programmieren als auch über fortgeschrittenes grundlegendes logisches Denken verfügen.

*Bitte bedenken Sie im Folgenden, dass es sich hierbei um eine Übersetzung handelt und die Situation auf dem Arbeitsmarkt für den Autor und in Ihrem Land unterschiedlich sein kann (sowie andere Nuancen), was jedoch den Originalartikel an sich nicht schlechter macht - ca. Übersetzung

Meine erste Informatikstunde

Mein erster Kontakt mit Informatik war ein Wahlfach, das ich in der 10. Klasse belegte. Gleich am ersten Tag, als ich das Klassenzimmer betrat, war ich erfreut, eine große Anzahl von Eimern Eis und verschiedenen Belägen vor mir zu sehen. Nachdem alle Platz genommen hatten, verkündete der Lehrer:

„Heute werden wir selbst zubereitetes Eis probieren. Aber mit einer Bedingung: Sie müssen eine Liste mit konkreten Anweisungen für die Zubereitung des Desserts erstellen, und ich werde diese befolgen.“

„Kein Problem“, dachte ich, „diese Lektion wird nicht lange dauern.“ Innerhalb einer Minute hatte ich das perfekte Rezept für das Eis meiner Träume aufgeschrieben:

  1. Drei Kugeln Himbeereis ausschöpfen und in eine Schüssel geben
  2. Öffnen Sie die Schokoladensauce und geben Sie zwei Esslöffel in dieselbe Schüssel
  3. Schlagsahne in die Schüssel geben
  4. Alles mit Zuckerstangen bestreuen und eine Kirsche darauflegen

Mein Lehrer – der „Computer“ in dieser niedlichen Metapher – legte eine sarkastischere, wörtlichere Darbietung hin, als ich jemals zuvor gesehen hatte. Sie begann eifrig mit einem Eislöffel in den Eiskübel zu stechen, ohne den Deckel auch nur zu berühren.

„Okay, okay, aber zuerst musst du es öffnen!“ - rief ich aus und versuchte, so schnell wie möglich an das Leckerli zu kommen.

„Das hast du nicht in der Anleitung geschrieben und ich konnte dir kein Eis machen. NÄCHSTE!"

Lassen Sie uns schnell zu Versuch Nr. 2 vorspulen

  1. Öffnen Sie Himbeereis, indem Sie den Deckel abnehmen
  2. Drei Kugeln Himbeereis ausschöpfen und in eine Schüssel geben
  3. Öffnen Sie die Schokoladensauce und geben Sie zwei Esslöffel in dieselbe Schüssel
  4. Schlagsahne in die Schüssel geben
  5. Alles mit Zuckerstangen bestreuen und eine Kirsche darauf legen

Nun, jetzt sollte es definitiv keine Probleme mehr geben. Für alle Fälle habe ich dafür gesorgt, dass alle Zutaten für die Zubereitung meines kulinarischen Meisterwerks offen waren.

Der Lehrer nahm den Deckel ab, schöpfte aus und legte drei Kugeln Eis in eine Schüssel. „Endlich wird mein wunderschönes Eis wahr!“ Dann öffnete sie die Schokoladensauce und gab zwei Esslöffel in die Schüssel. Sie hat nicht „zwei Esslöffel Schokoladensauce hinzugefügt“ – das glaube ich nicht – sie hat natürlich die Löffel selbst in die Schüssel gegeben. Keine Soße drin. Auch hier habe ich mir nicht die Mühe gemacht, alles genau aufzuschreiben. Nachdem der Rest im gleichen Sinne erledigt war, erhielt ich eine Schüssel Eis und zwei Esslöffel, kaum wahrnehmbar unter dem Meer aus Schlagsahne. Obenauf lag ein Paar Zuckerstangen.

In diesem Moment scheint es mir endlich klar geworden zu sein: Ein Computer ist Logik im luftleeren Raum. Er ist sich der Umstände seiner Umgebung nicht bewusst und trifft keine Annahmen. Er führt nur klar formulierte Anweisungen aus und befolgt diese Wort für Wort.

Mein Endergebnis war das Ergebnis einer langen, aber notwendigen Reihe von Versuchen und Irrtümern:

  1. Falls noch nicht geschehen, öffnen Sie jeweils die folgenden Packungen: Himbeereis, Schokoladensauce, Schlagsahne, Zuckerstangen.
  2. Nehmen Sie eine Schüssel heraus und stellen Sie sie vor sich hin
  3. Nehmen Sie einen Eisportionierer und geben Sie nacheinander drei Kugeln Himbeereis in eine Schüssel. Setzen Sie den Eisportionierer wieder ein.
  4. Nehmen Sie ein Glas Schokoladensauce, löffeln Sie die Sauce aus und gießen Sie den Inhalt eines Esslöffels in eine Schüssel. Wiederholen Sie den Schöpf- und Gießvorgang noch einmal. Setzen Sie den Löffel und das Glas wieder ein.
  5. Nehmen Sie die Packung Schlagsahne verkehrt herum, halten Sie sie über die Schüssel, gießen Sie sie 3 Sekunden lang über das Eis und stellen Sie die Packung dann wieder an ihren Platz.
  6. Nehmen Sie ein Glas Zuckerstangen, geben Sie etwa vierzig Stangen in eine Schüssel und stellen Sie das Glas zurück.
  7. Nehmen Sie eine Kirsche aus der Kirschschale und legen Sie sie auf das Eis.
  8. Geben Sie dem Schüler eine Schüssel mit dem fertigen Eis und einen Löffel.

Der letzte Punkt war besonders wichtig, denn ohne ihn fing der Lehrer beim vorletzten Mal einfach an, mein Eis zu essen.

Aber das ist Programmierung. Der Stress, eine sorgfältige Reihe von Anweisungen für einen Computer zu erstellen. Im Grunde geht es bei jeder Programmiersprache darum, Anweisungen zu schreiben.

Karriere in der Programmierung

Das Programmieren hat einen Punkt erreicht, an dem es schwierig ist, es als einzelne Branche zu diskutieren, ebenso wie es schwierig ist, das einzelne Wort „Programmierer“ als Berufsbeschreibung zu verwenden. Zwei Entwickler können vom Markt gleichermaßen gefragt sein und völlig unterschiedliche Sprachen beherrschen, was bedeutet, dass die Fähigkeit zur Entwicklung wichtiger ist als die Kenntnis einer bestimmten Sprache. Ein universelles Attribut, das allen erfolgreichen Entwicklern gemeinsam ist, ist grundlegende Logik.

Der beste Programmierer ist derjenige, der Code aus einem neuen Blickwinkel betrachten kann. Und das ist von grundlegender Bedeutung, da die meisten Softwareprodukte eine Sammlung undokumentierter Fragmente fehlerhaften Codes sind. Sie müssen ständig zusammengeführt und bei Bedarf Lücken geschlossen werden. Menschen, die nicht in der Lage sind, unterschiedliche Punkte mit einer einzigen Linie zu verbinden, werden für immer an der Seitenlinie bleiben müssen.

All dies bringt mich zu einer weiteren Erklärung, diesmal in Fettdruck: Grundkenntnisse waren und sind für einen Programmierer immer von größter Bedeutung.

Sprachen kommen und gehen. Frameworks werden veraltet und Unternehmen reagieren auf die Nachfrage, indem sie den von ihnen verwendeten Technologie-Stack ändern. Gibt es eine Sache, die sich nie ändern wird? Ja – grundlegendes Wissen, das fundamental genannt wird, weil es allem zugrunde liegt!

Wie man grundlegendes Wissen verbessert

Eine Sprache, um sie alle zu beherrschenFoto von Christopher Jeschke auf Unsplash

Wenn Sie nach einem Ausgangspunkt suchen, um Ihr grundlegendes logisches Denken zu verbessern, beginnen Sie hier:

Kennen Sie die Komplexität Ihres Programms

Auch genannt Big O „Algorithmuskomplexität“ bezieht sich auf die Abhängigkeit der Zeit, die zur Ausführung eines Programms benötigt wird, von der Größe seiner Eingabedaten (n). Es ist ein wichtiger Schritt, immer am Puls der verwendeten Algorithmen zu bleiben.

Kennen Sie Ihre Datenstrukturen

Datenstrukturen sind das Herzstück jedes modernen Programms. Zu wissen, welche Struktur in welchem ​​Fall zu verwenden ist, ist eine Disziplin für sich. Datenstrukturen stehen in direktem Zusammenhang mit der Komplexität der Laufzeit, und die Wahl der falschen Struktur kann zu grundlegenden Leistungsproblemen führen. Ein Element in einem Array zu finden ist O (n), was auf die hohen Kosten der Verwendung von Arrays als Eingabedaten hinweist. Hash-Tabellensuche − O (1), was bedeutet, dass in diesem Fall die Zeit für die Suche nach einem Wert nicht von der Anzahl der Elemente abhängt.

Leute kamen zu einem Interview zu mir und behaupteten, dass die Suche in einem Array schneller sei als die Suche in einer Hash-Tabelle. Dies war das sicherste Zeichen dafür, dass Sie sie nicht einstellen sollten – kennen Sie Ihre Datenstrukturen.

Lesen/sehen/hören

Websites wie UdemyPluralsight и CodeAcademy - Eine ausgezeichnete Wahl zum Erlernen neuer Programmiersprachen. Aber für die Grundlagen konsultieren Sie Bücher zu allgemeinen Codierungsprinzipien, -praktiken und -stilen. Die am meisten empfohlenen Bücher sind „Design Patterns“ und „Refactoring“. Vorhandenen Code verbessern“, „Perfekter Code“, „Sauberer Code“ und „Pragmatistischer Programmierer“. Schließlich sollte jeder Entwickler eine Kopie des „Algorithmen" verfügbar.

Üben!

Man kann kein Rührei kochen, ohne die Eier zu zerbrechen. Websites wie HackerRankCodeWarsCoderByte, TopCoder и LeetCode Bieten Sie Tausende interessanter Rätsel an, um Ihr Wissen über Datenstrukturen und Algorithmen zu testen. Versuchen Sie Ihr Glück bei der Lösung eines Problems, das Ihnen gefällt, veröffentlichen Sie Ihre Lösung auf Github und sehen Sie sich dann an, wie andere daran vorgegangen sind. Was uns zum letzten Punkt bringt:

Lesen Sie den Code anderer Leute

Der größte Fehler, den Sie machen können, wenn Sie den Entwicklungspfad einschlagen, ist, alles alleine zu machen. Softwareentwicklung ist größtenteils eine Teamleistung. Wir schaffen gemeinsam Standards, machen gemeinsam Fehler und werden trotz aller Misserfolge gemeinsam besser. Die Zeit, die Sie damit verbringen, den Code anderer Leute zu lesen, wird sich reichlich auszahlen. Stellen Sie einfach sicher, dass es sich um guten Code handelt.

Nun, der beste Rat, den ich geben kann, ist, sich nie dafür zu schämen, dass man etwas noch nicht weiß. Wie bereits erwähnt, ist unsere Branche riesig und die Menge an Technologie endlos. Es erfordert viel Zeit und Mühe, sich ein Gesamtbild zu machen, noch mehr, um in etwas Bestimmtem ein Profi zu werden, und noch viel mehr, um seine Fähigkeiten in seinem Fachgebiet zu verbessern. Ich gebe Ihnen Bescheid, wenn ich dies selbst erreicht habe.

Source: habr.com

Kommentar hinzufügen