Wie man eine Programmiersprache auswählt, um heute zu lernen und in 2 Jahren einen tollen Job zu erzielen
Das Codieren ist nicht einfach. oder zumindest ist das Erlernen von Code nicht der Fall, besonders wenn man bei Null anfängt. Es kann Jahre dauern, engagiert zu arbeiten, um ein wirklich guter Programmierer zu werden. Gibt es eine Möglichkeit, die richtige Sprache für den heutigen Tag zu wählen, um in einigen Jahren eingestellt zu werden?
Um dies herauszufinden, habe ich diese Frage an unser Expertengremium weitergegeben: Während wir alle schreiben, haben einige von uns auch Codiererfahrung. Was folgte, war eine interessante Diskussion, die Sie lesen möchten, bevor Sie sich auf die Reise zu einem Programmierer machen.
Eine Methode für den Wahnsinn?
Es ist nicht das erste Mal, dass wir über die Wahl einer Programmiersprache sprechen: Wir haben bereits 2011 diskutiert, welche Programmiersprache Sie für die Softwareentwicklung lernen sollten. Welche Programmiersprache sollten Sie für die Softwareentwicklung lernen? Welche Programmiersprache sollten Sie für die Softwareentwicklung lernen? Wenn Sie auf dem Weg des Programmierens beginnen, ist es wichtig, dass Sie Ihre Zeit sinnvoll einsetzen, um etwas zu lernen, von dem Sie in naher Zukunft mit sichtbaren Ergebnissen auf Ihrer Plattform von… Read More profitieren können und welche Sie für das Web lernen sollten Programmieren, welche Programmiersprache erlernt werden soll - Webprogrammierung Welche Programmiersprache muss erlernt werden - Webprogrammierung Heute werfen wir einen Blick auf die verschiedenen Webprogrammiersprachen, die das Internet unterstützen. Dies ist der vierte Teil einer Programmierserie für Anfänger. In Teil 1 haben wir die Grundlagen von… Read More .
Aber hier geht es nicht um einen Ratschlag (wie “geh mit JavaScript”) aber eine Methodik - etwas, das die Menschen heute in zwei Jahren gebrauchen könnten, theoretisch. Wie kann man eigentlich herausfinden, welche Sprachen auf dem Vormarsch sind? Welche Kennziffern für die Beliebtheit von Code sind zu vertrauen und welche misstrauen (und warum)? Was sind die besten Gehaltsprojektions-Websites? Ist GitHub ein Hinweis oder nicht??
Zum Beispiel werden Sie heutzutage niemanden mehr über PHP schwärmen - aber viele, viele Entwickler machen es gut, PHP zu programmieren, und es ist immer noch der größte Teil des Webs. Ist es jetzt eine schlechte Idee, PHP zu lernen? (Wahrscheinlich…)
Es gibt keine Sprache
Hier kam James, unser ansässiger Webentwickler und Techniker, dazu, dies zu sagen:
Programmierer lernen im Allgemeinen sowieso keine Sprache. Jeder, der sich der klassischen CompSci-Route verschrieben hat, wird mit viel Java, etwas Haskell, einigen Prologs, wenn sie an einem AI-Kurs teilnehmen, und einem Node, wenn sie an einem Startup-Engineering-Kurs teilnehmen, einige PHP, wenn sie traditionell lernen CMSes, einige .NET, wenn sie in einer wertlosen Unternehmenszentrale interniert sind, einige JavaScript, wenn sie Webdesign betreiben, einige C ++, wenn sie Spieldesign betreiben, und schließlich etwas Ruby, wenn sie ihr Leben mit obskuren Sprachen verschwenden möchten, die niemandem schuld ist verwendet tatsächlich.
Es gibt kein “Methodik”?? und Sie wählen keine Sprache zum Lernen: es wählt dich aus!
Eine einzige Sprache zu lernen bedeutet, nur ein einziges Jahr lang Verdauungsprodukte zu essen, wenn es einen ganzen Gang Kekse gibt. Und im Ernst, wer wählt Jobs nach dem geplanten Gehalt?
Was aber, wenn Sie CompSci nicht lernen?
Ich antwortete James und sagte:
Hier ist die Sache: Dies ist nichts für jemanden, der die klassische CompSci-Route nimmt. Der MOOC-Explosion und der Anzahl der Online-Programmierkurse zufolge beurteilen viele Menschen die Kodierung von Grund auf. Und wenn Sie so anfangen, brauchen Sie eine Sprache, um damit zu beginnen. Vielleicht entfernen Sie sich später davon, aber diese erste Sprache wird eine kritische Investition von Zeit und Aufwand sein - also lohnt es sich.
Was mich am meisten beeindruckt hat, ist das letzte bisschen, das er gesagt hat - wer wählt Jobs nach dem geplanten Gehalt. Ich denke, einige Leute tun das, aber ich denke auch, dass dies kein guter Weg ist.
Wenn es darauf ankommt, Leute sind Versuchen Sie herauszufinden, mit welcher Sprache Sie beginnen möchten, und der Gebrauch, den diese Sprache in der realen Welt hat, ist wichtig für diese Entscheidung (nicht nur wie einfach es ist, zu lernen - Pascal ...).
Wählen Sie zuerst ein Projekt und dann eine Sprache aus
James kam mit diesem zurück:
In Ordnung, vielleicht sollte einer der Punkte dieser Methodik sein: keine Methodik. Als ich zum ersten Mal auf PHP stieß, war es WordPress. Ich hatte einen CompSci-Hintergrund in der Programmierung und etwas Erfahrung im Webdesign, aber ich hatte noch nie zuvor PHP gesehen. Ich habe es gelernt, weil WordPress einfach genug aussah und ich mich mit WordPress herumschlagen wollte. Nicht, weil ich mir eine Liste von Trend-Technologien angesehen hatte oder einen Karriereschritt in Erwägung zog, sondern weil etwas Cooles, von dem ich etwas wissen wollte, es benutzt hat.
Wenn jemand die Programmierung nur für die Zwecke eines Jobs erlernen wollte, würde er scheitern. Wenn sie nur deshalb schauten, weil sie das Lernen lieben, etwas zu programmieren, ist es egal, welche Sprache sie wählen, solange sie ihre Leidenschaft wecken kann.
Ein weiterer Grund, zuerst ein Projekt auszuwählen
An diesem Punkt trat Simon mit einem pragmatischen Rat ein:
In erster Linie hängt es davon ab, ob Sie für das Web entwickeln möchten oder “Standard” Software.
Für letzteres ist Java ziemlich gut:
- Einfaches OO
- Multiplattform (Linux, Windows, Mac, Android)
- Eine ähnliche Syntax wie bei vielen anderen Programmiersprachen (JS, C #)..
Ich kann nicht viel über Webentwicklung sagen, obwohl HTML / JS / CSS / PHP / MySQL für viele Leute zu funktionieren scheint. Python auch.
Aber ja, das “um in 2 Jahren einen tollen Job zu bekommen” bisschen ärgert mich auch. Betont den falschen Aspekt des Programmierens. Sobald Sie programmieren können, ist es ziemlich einfach, eine andere Sprache zu beherrschen.
Die Einstellung einer bestimmten Sprache ist vergleichbar mit der Einstellung als PA, wenn Sie wissen, wie sie mit MS Excel umgehen. Wenn dies die Hauptqualifikation ist, wird es wahrscheinlich ein schlechter Job sein.
Lernen Sie keine Sprache: Lernen Sie Software-Design
Ein Konsens begann sich zu bilden. Bruce Epper von MakeUseOf Answers Berühmtheit hatte folgendes zu sagen:
Die Sprache selbst spielt keine Rolle. Bei der Programmierung von Jobs sind die wichtigsten Aspekte das grundlegende Verständnis des grundlegenden Softwaredesigns und der grundlegenden Architektur, des Kodierungsprozesses im Allgemeinen, des Wissens über Entwurfsmuster, des Verwendungszeitpunkts und der Anwendung eines bestimmten Musters auf die jeweilige Aufgabe. alle sind sprachunabhängig. Sobald ein Programmierer diese kennt, ist das Auffinden einer völlig neuen Sprache ein Kinderspiel.
Es gibt sogar Projektmanagement-, Dokumentations- und Schreibfähigkeiten, die für Programmierer wichtiger sind als das Erlernen einer bestimmten Sprache.
Die Basis, auf der Sie bauen, ist wichtig: Englisch oder Latein?
Dies war, als Guy hereinkam, um uns alle an die Sprache zu erinnern tut in einem gewissen Umfang:
Die Sprache selbst ist nicht das Wichtigste, um einen Job zu finden, stimme ich zu. Die Basis, auf der Sie bauen, funktioniert jedoch. Seit ich beide Routen gemacht habe, vergleiche ich Programmiersprachen mit menschlichen Sprachen.
Python scheint das Englische von heute zu sein. Ich sehe immer mehr Intro CompSci und Programmierkurse beginnen mit Python statt mit Java, das seit etwa 10 Jahren am beliebtesten war. Sie können viel mit Python machen.
C ++ ist das Latein der Programmierwelt. Wenn Sie es lernen, können Sie die zugrunde liegenden Prinzipien einer Vielzahl von Sprachen erlernen und leichter erlernen. Python wäre ein Cakewalk, wenn man in C gut begründet ist++.
Was ist ein “Programmierauftrag,” Sowieso?
Jetzt war Matthew an der Reihe, uns alle daran zu erinnern, dass das Programmieren eines Codierers für verschiedene Menschen sehr unterschiedliche Dinge bedeuten kann:
Eine Sache, über die bisher nicht viel geredet wurde, ist die Art von Programmierjob, den Sie möchten.
Sind Sie nicht zu sehr auf die Vorteile der Startup-Mitarbeiter eingestellt? Wünschen Sie Stabilität und ein anständiges Vergütungspaket, aber kein Eigenkapital? Tragen Sie gerne Geschäftskleidung? Lernen Sie C #, Java oder COBOL. COBOL hat auch den Vorteil, dass jede einzelne Bankanwendung (Hyperbole, aber Sie haben die Idee) bereits geschrieben wurden. Da die meisten COBOL-Entwickler im Ruhestand sind oder tot sind, besteht bei COBOL-Entwicklern mit einigen sechsstelligen Gehältern eine große Nachfrage! Sie arbeiten jedoch an riesigen, schlecht geschriebenen Codebasen, die über mehrere Jahrzehnte hinweg erstellt wurden. Das ist nicht lustig.
Aber was ist, wenn Arbeitssicherheit nicht Ihr Ding ist? Möchten Sie an interessanten Produkten arbeiten, sind Sie jedoch bereit, aus dem Job herauszukommen, wenn das Geschäftsmodell nicht funktioniert? Ich habe herausgefunden, dass das Weitergehen (Hacker News) eine todsichere Methode ist, um herauszufinden, welche Sprachen von Startups verwendet werden. Als ich bei einem frühen Job interniert wurde, haben wir eine Mischung aus Go, Python und CoffeeScript verwendet. Andere Startups verwenden Rails und Groovy und alle Arten von obskuren Frameworks und Sprachen. Wählen Sie einfach einen aus und Sie werden irgendwo einen interessanten Job finden.
Neuer Code oder Alter?
Das Schreiben von neuem Code ist eine ganz andere Erfahrung als die Pflege einer vorhandenen Anwendung. Bruce fügte hinzu:
Mit Ihren Kommentaren zu COBOL treffen Sie eine andere Überlegung: Möchten Sie an neuem Code arbeiten oder den Code einer anderen Person beibehalten? Dies kann ein großer Punkt sein, wenn Sie entscheiden, in welche Richtung Sie sich bewegen möchten. Bei kleineren Projekten ist die Pflege einer Codebase, die von einer anderen Person geschrieben wurde, möglicherweise nicht so schlimm, aber ich habe einige Codeabschnitte gesehen, in denen mehrere Personen stundenlang nach ihnen starren, “Was hat dieser Kerl gedacht??”, oder wenn der ursprüngliche Programmierer eine bestimmte Funktion oder einen Fehler im Compiler (der möglicherweise im aktuellen Compiler behoben wurde) ausnutzte, um etwas zu erreichen.
Was ist, wenn Sie keine Wahl haben?
Guy kam zurück, um uns alle daran zu erinnern, dass nicht jeder eine große Auswahl hat:
Matthew wirft eine gute Frage mit, “Welche Art von Programmierjob möchten Sie??”
Seltsamerweise hätte ich nie gedacht, dass ich in dieser Sache eine große Auswahl hätte. Ich wusste, dass ich Web-Entwicklung machen wollte, als ich anfing, andere Freizeitprogramme zu machen. Aber ich dachte mir, dass ich besser darauf vorbereitet sein sollte, jeden Job anzunehmen, den ich bekommen könnte, und bereit sein zu lernen, während ich ging. Jetzt bin ich ein Mann für alle Branchen, der mehrere Technologien beherrscht - ein Meister von keiner.
Um herauszufinden, wo Sie arbeiten möchten, ist es wichtig, den gewünschten Lebensstil zu bestimmen. Sehen Sie sich dann die Beiträge der Unternehmen an, die Ihren Kriterien zu entsprechen scheinen, und sehen Sie, wonach sie suchen. Das Zusammenstellen eines Portfolios von Dingen, die dem ähneln, was sie tun, kann ebenfalls sehr hilfreich sein, insbesondere wenn Sie keine formale Ausbildung in den von ihnen verwendeten Technologien haben. Vielleicht haben Sie in der Schule Java gelernt, aber sie verwenden C #. Sie lernen sich also C # und führen ein paar Programme damit aus, um zu beweisen, dass Sie wissen, was Sie tun und dass Sie fließende Intelligenz haben.
Keine einfache Antwort
Wenn diese Diskussion etwas zeigt, haben einfache Fragen nicht immer einfache Antworten. Nachdem ich die Meinungen aller gelesen hatte, fühlte ich mich viel informierter - sie änderten meine Meinung.
Ich bin mir sicher, dass wir hier nicht alle möglichen Gesichtspunkte erfasst haben - dafür gibt es den Kommentarbereich. Ich wäre sehr daran interessiert, Ihre Meinung zu dieser Frage zu hören, ob Sie nun ein Verfasser sind oder nicht. Wie würden Sie sich eine Programmiersprache aussuchen, um in zwei Jahren einen guten Job zu bekommen? Ist das überhaupt eine gute Möglichkeit, eine Sprache auszuwählen? Teilen Sie unten Ihre Gedanken mit.
Erfahren Sie mehr über: Jobsuche, Programmierung.