Unter einer Codeebene versteckt sich eine Sprache, die unbedingt erlernt werden möchte.
Zum Zeitpunkt dieses Schreibens führt die Abfrage „Programmieren, welche Sprache zuerst gelernt werden soll“ zu 517 Millionen Suchergebnissen. Jede dieser Websites wird eine bestimmte Sprache loben, und 90% von ihnen werden schließlich Python oder JavaScript empfehlen.
Ohne lange Vorspiele möchte ich offiziell erklären, dass all diese 517 Millionen Websites falsch sind, und erklären, dass die Sprache, die zuerst studiert werden muss, eine grundlegende Logik ist .
Nur zu wissen, wie man codiert, reicht nicht aus. Der Markt ist so gesättigt mit Absolventen von Instituten und Kursen, dass die Position eines Junior fast nicht mehr existiert *. Um in der heutigen Welt erfolgreich zu sein, müssen Sie sowohl programmieren als auch grundlegendes logisches Denken vorantreiben.
* Bitte beachten Sie im Folgenden, dass es sich um eine Übersetzung handelt und dass die Situation auf dem Arbeitsmarkt für den Autor und in Ihrem Land unterschiedlich sein kann (wie bei anderen Nuancen), was den Originalartikel jedoch an sich nicht verschlechtert. perev.
Meine erste Informatikstunde
Meine erste Bekanntschaft mit Informatik war ein Wahlfach, das ich in der 10. Klasse belegte. Am ersten Tag, als ich ins Publikum ging, freute ich mich, eine große Anzahl von Eiskübeln und verschiedenen Belägen vor mir zu sehen. Nachdem alle Platz genommen hatten, verkündete der Lehrer:
„Heute werden wir das selbst zubereitete Eis probieren. Aber mit einer Bedingung: Sie müssen eine Liste mit spezifischen Anweisungen zur Zubereitung eines Desserts erstellen, und ich werde ihnen folgen. “
Kein Problem, dachte ich, diese Lektion wird nicht lange dauern. Ungefähr eine Minute später entwarf ich ein großartiges Rezept für das Eis meiner Träume:
- Schaufeln Sie und legen Sie drei Kugeln Himbeereis in eine Schüssel
- Öffnen Sie die Schokoladensauce und geben Sie zwei Esslöffel in dieselbe Schüssel.
- Schlagsahne in eine Schüssel geben
- Alles mit Zuckerstangen bestreuen und die Kirsche darauf legen
Mein Lehrer, der „Computer“ in dieser schönen Metapher, spielte eine sarkastischere wörtliche Darbietung als jemals zuvor. Sie fing eifrig an, einen Eimer Eis mit einem Löffel für Bälle zu stupsen, ohne den Deckel zu berühren.
"Gut, gut, aber zuerst musst du es öffnen!" - rief ich aus und versuchte so schnell wie möglich eine Belohnung zu bekommen.
„Du hast das nicht in die Anleitung geschrieben, aber ich konnte dir kein Eis machen. NÄCHSTER! "
Wir überspringen die Zeit vor Versuch Nr. 2
- Öffnen Sie das Himbeereis, indem Sie den Deckel abnehmen.
- Schaufeln Sie und legen Sie drei Kugeln Himbeereis in eine Schüssel
- Öffnen Sie die Schokoladensauce und geben Sie zwei Esslöffel in dieselbe Schüssel.
- Schlagsahne in eine Schüssel geben
- Alles mit Zuckerstangen bestreuen und die Kirsche darüber streuen
Nun, jetzt sollte es sicher keine Probleme geben. Für alle Fälle habe ich dafür gesorgt, dass alle Zutaten für mein kulinarisches Meisterwerk offen sind.
Der Lehrer nahm den Deckel ab, hob auf und legte drei Kugeln Eis in eine Schüssel. "Endlich begann mein wunderschönes Eis in der Realität zu verkörpern!" Dann öffnete sie die Schokoladensauce und fügte zwei Esslöffel in die Schüssel. Sie haben nicht "Schokoladensauce von zwei Esslöffeln hinzugefügt" - Sie glauben nicht - sie hat die Löffel natürlich selbst in eine Schüssel gegeben. Keine Sauce in ihnen. Auch hier habe ich mich nicht die Mühe gemacht, alles mit Sicherheit zu malen. Nachdem der Rest in der gleichen Stimmung erledigt war, bekam ich eine Schüssel mit Eis und zwei Esslöffeln, die unter dem Meer von Schlagsahne kaum wahrnehmbar waren. Oben war ein Paar Zuckerstangen.
Es scheint, dass mir in diesem Moment endlich klar wurde: Der Computer ist Logik im luftleeren Raum. Er kennt die Umstände nicht und macht keine Annahmen. Er folgt nur klar formulierten Anweisungen und folgt ihnen Wort für Wort.
Mein Endergebnis war das Ergebnis einer langen, aber notwendigen Reihe von Versuchen und Irrtümern:
- Öffnen Sie, falls noch nicht geschehen, jede der folgenden Packungen: Himbeereis, Schokoladensauce, Schlagsahne, Zuckerstangen.
- Nehmen Sie die Schüssel heraus und stellen Sie sie vor sich ab
- Nehmen Sie einen Löffel Eis und geben Sie nacheinander drei Kugeln Himbeereis in eine Schüssel. Setzen Sie den Eislöffel ein.
- Nehmen Sie ein Glas Schokoladensauce, schöpfen Sie die Sauce auf und gießen Sie den Inhalt eines Esslöffels in eine Schüssel. Wiederholen Sie dies mit dem Schöpfen und Gießen der Sauce noch einmal. Setzen Sie den Löffel und das Glas auf.
- Nehmen Sie die Packung Schlagsahne und drehen Sie sie um. Gießen Sie sie über die Schüssel, gießen Sie das Eis 3 Sekunden lang darauf und bringen Sie die Packung dann wieder an ihren Platz zurück.
- Nehmen Sie eine Dose Zuckerstangen, streuen Sie etwa vierzig Stangen in eine Schüssel und stellen Sie die Dose auf.
- Nehmen Sie eine Kirsche aus einer Schüssel Kirschen und legen Sie sie auf das Eis.
- Geben Sie dem Schüler eine Schüssel mit vorbereitetem Eis und einem Löffel.
Der letzte Punkt war besonders wichtig, da der Lehrer ohne ihn zum vorletzten Mal einfach anfing, mein Eis zu essen.
Aber das ist Programmierung. Erstellen Sie stressig eine gründliche Anleitung für den Computer. Im Wesentlichen läuft jede Programmiersprache darauf hinaus, Anweisungen zu schreiben.
Karriereprogrammierung
Die Programmierung hat einen Punkt erreicht, an dem es schwierig ist, sie als einzelne Branche zu diskutieren, ebenso wie es schwierig ist, ein einzelnes Wort „Programmierer“ als Stellenbeschreibung zu verwenden. Der Markt kann zwei Entwickler gleichermaßen fordern, die völlig unterschiedliche Sprachen beherrschen. Daher ist die Fähigkeit zur Entwicklung wichtiger als die Kenntnis einer bestimmten Sprache. Ein universelles Attribut, das allen erfolgreichen Entwicklern gemeinsam ist, ist die grundlegende Logik .
Der beste Programmierer kann den Code aus einem neuen Blickwinkel betrachten. Dies ist von grundlegender Bedeutung, da es sich bei den meisten Softwareprodukten um eine Sammlung von undokumentierten fehlerhaften Codeteilen handelt. Sie müssen ständig zusammengebracht werden, um die Lücken nach Bedarf zu schließen. Menschen, die nicht in der Lage sind, verstreute Punkte in einer einzigen Linie zu verbinden, müssen für immer am Rande stehen.
All dies führt mich zu einer weiteren Erklärung, diesmal zu einem Bolde: Grundkenntnisse waren und sind für den Programmierer von größter Bedeutung .
Sprachen kommen und gehen. Frameworks sind veraltet und Unternehmen reagieren auf die Nachfrage, indem sie den Stapel der verwendeten Technologien ändern. Gibt es etwas, das sich nie ändern wird? Ja - Grundwissen, weshalb es Grundwissen genannt wird, das allem zugrunde liegt!
Wie man das Grundwissen verbessert
Foto von Christopher Yeshke auf UnsplashWenn Sie nach einem Ausgangspunkt suchen, um Ihr grundlegendes logisches Denken zu verbessern, beginnen Sie hier:
Kennen Sie die Komplexität Ihres Programms
Auch als Big O bezeichnet, bezieht sich „die Komplexität des Algorithmus“ auf die Abhängigkeit der Zeit, die zum Ausführen eines Programms benötigt wird, von der Größe seiner Eingabedaten (n) . Es ist ein wichtiger Schritt, sich über die verwendeten Algorithmen auf dem Laufenden zu halten.
Kennen Sie Ihre Datenstrukturen
Datenstrukturen bilden den Kern jedes modernen Programms. Zu wissen, welche Struktur in welchem Fall verwendet werden soll, ist eine unabhängige Disziplin. Datenstrukturen stehen in direktem Zusammenhang mit der Komplexität der Laufzeit, und die Auswahl der falschen Struktur kann zu grundlegenden Leistungsproblemen führen. Die Suche nach einem Element in einem Array ist O (n) , was die hohen Kosten für die Verwendung von Arrays als Eingabe anzeigt. Die Suche in der Hash-Tabelle ist O (1) , was bedeutet, dass in diesem Fall die Suchzeit für den Wert nicht von der Anzahl der Elemente abhängt.
Leute kamen zu mir für ein Interview, das behauptete, es sei schneller, nach Arrays zu suchen als nach Hash-Tabellen. Es war das sicherste Zeichen, dass Sie sie nicht einstellen sollten - kennen Sie Ihre Datenstrukturen.
Lesen / Anschauen / Hören
Websites wie Udemy , Pluralsight und CodeAcademy eignen sich hervorragend zum Erlernen neuer Programmiersprachen. Die Grundlagen finden Sie in den Büchern zu allgemeinen Prinzipien, Praktiken und Codierungsstilen. Die am meisten empfohlenen Bücher sind Design Patterns, Refactoring. Verbesserung des vorhandenen Codes “,„ Perfekter Code “,„ Sauberer Code “und„ Programmierer Pragmatiker “. Schließlich muss jeder Entwickler eine Kopie der " Algorithmen " bereithalten.
Übe!
Sie können keine Spiegeleier kochen, ohne Eier zu zerbrechen. Websites wie HackerRank , CodeWars , CoderByte , TopCoder und LeetCode bieten Tausende interessanter Aufgaben, um Ihr Wissen über Datenstrukturen und Algorithmen zu testen. Versuchen Sie Ihr Glück, das gewünschte Problem zu lösen, veröffentlichen Sie Ihre Version auf Github und sehen Sie dann, wie andere es angehen. Was uns zum letzten Punkt bringt:
Lesen Sie den Code eines anderen
Der größte Fehler, der nur gemacht werden kann, wenn man dem Entwicklungspfad folgt, besteht darin, diesen Pfad alleine zu machen. Softwareentwicklung ist größtenteils Teamarbeit. Gemeinsam schaffen wir Standards, machen gemeinsam Fehler und werden trotz aller Misserfolge gemeinsam besser. Die Zeit, die Sie mit dem Lesen des Codes eines anderen verbringen, zahlt sich gut aus. Stellen Sie einfach sicher, dass dies ein guter Code ist.
Der beste Rat, den ich geben kann, ist, sich niemals zu schämen, dass Sie noch nichts wissen. Wie bereits erwähnt, ist unsere Branche riesig und die Anzahl der Technologien immens. Es braucht viel Zeit und Mühe, um ein Gesamtbild zu erstellen, noch mehr, um ein Profi in etwas Bestimmtem zu werden, und eine Größenordnung mehr, um die Fähigkeiten in Ihrem Bereich zu verbessern. Ich werde Sie wissen lassen, wann ich dies selbst erreichen werde.