Ich möchte meinen eigenen Technologie-Stack aufbauen. Zu den Sprachen, die ich derzeit in Betracht ziehe, gehören PHP, Javascript, Python, C++, Ruby Go
Bitte sagen Sie mir, wenn Sie gute Empfehlungen haben, danke.
Bitte analysieren Sie es aus einer langfristigen Perspektive und erläutern Sie die Gründe, vielen Dank!
Antwortinhalt:
1. Programmiersprachen sind nur Werkzeuge. Wählen Sie zunächst eine Sprache aus, die Sie beherrschen möchten (Python, PHP, Java usw.).
2. Für die Webentwicklung ist JavaScript ein Muss. Voraussetzung ist, dass Sie eines davon beherrschen: 1. JavaScript ist kein Problem und Sie können es schnell beherrschen.
3. Webentwicklung, einschließlich Front-End- und Back-End-Routen. Es sei denn, Sie möchten ein Full-Stack-Ingenieur werden.
4. Wenn Sie Back-End verwenden, müssen Sie viel mehr lernen, z. B. Verteilung, hohe Parallelität, Datenbank-Master-Slave und Lesetrennung und Schreiben. Nosql, Caching, API-Entwicklung, Volltextabruf, Betrieb und Wartung usw.
Wählen Sie zunächst eine Programmiersprache aus, die Sie beherrschen möchten. Sie können auf Go achten. Derzeit ist die Wahl von Python eine der besseren Möglichkeiten.
Lassen Sie sich nicht auf einen Sprachkrieg ein!
Wenn mich jemand fragt, welche Sprache ich lernen soll, antworte ich immer so:
Wenn es jemanden in deiner Nähe gibt, der JAVA beherrscht, lerne einfach JAVA kennt JAVA. Wenn Sie PHP kennen, sollten Sie lernen, was die Leute um Sie herum nicht wissen.
Er ignoriert dich?
Laden Sie ihn zum Abendessen ein!
Er wird dir auch sagen, was du als nächstes lernen solltest.
Folgen Sie den Menschen, nicht der Technologie.
Was sollten Sie tun, wenn Sie niemanden in Ihrer Nähe haben, der programmieren kann?
Hast du mich nicht getroffen?
Folgen Sie mir und lernen Sie Frontend!
Wer auf der Suche nach Studium, Projekt oder Job ist, dem empfehle ich Java! Nachdem ich Python ein Jahr lang verwendet habe, habe ich das Gefühl, dass es keine Fortschritte gibt, abgesehen davon, dass ich mit dem Aufrufen verschiedener Methoden, Bibliotheken und Frameworks vertraut bin. Wechseln Sie entschieden zu Java.
Wie wird Python-Speicher recycelt?
Referenzzählung.
Was dann?
Ich weiß nicht...
Werden Python-Parameter als Wert oder als Referenz übergeben?
Was?
Können Sie über Parallelität in Python sprechen?
Nein, ich weiß nur, dass es GIL gibt, aber sonst weiß ich nichts...
Wie recycelt Java Speicher?
Zuallererst unterteilt Java den Speicher in den Heap-Bereich und den Stapelbereich der virtuellen Maschine...
Verwenden Sie die Erreichbarkeitsanalyse... Sicherer Punkt... seriell, parNeu, paralleles Scavenge-CMS... Speichergarantie.. .
Lassen Sie uns über Parallelität sprechen
Nun, versetzte Sperren, leichte Sperren, schwere Sperren ... Die Semantik des volatilen Schlüsselworts ...
Können Sie über Überladung und Umschreiben sprechen? Java?
Die unterste Ebene der Überladung verwendet den statischen Multiversand. Abhängig vom statischen Parametertyp der Methode wird zur Kompilierzeit entschieden, welche Version der Methode dynamisch, aber einzeln zugewiesen wird, und die entsprechende Methode wird entsprechend ausgewählt je nach Art des Empfängers...
Das soll nicht heißen, dass das Erlernen von Python nicht gut ist, denn es gibt keine gute oder schlechte Sprache, sondern nur passende und passendere. Stattdessen denke ich, dass Sie über eine relativ starke Grundlage in statisch typisierten Sprachen wie C/C++, Java, C# usw. verfügen und dann Skriptsprachen wie Python verwenden sollten, um mit halbem Aufwand das Doppelte des Ergebnisses zu erzielen. Das erste Mal eine Skriptsprache zu lernen, fühlt sich sehr leer an.
Da wir Web betreiben, empfehlen wir Java. Der Vorteil des Erlernens von Java besteht darin, dass es von vielen Unternehmen verwendet wird und Sie bei Bedarf mehr lernen können. Die Skriptsprache ist kein Top-Experte und kann nur die API anpassen. Für den zugrunde liegenden Mechanismus gibt es nur sehr wenige relevante Informationen, die Sie Schritt für Schritt lernen können. Sagen Sie mir nicht, ich solle mir den Quellcode direkt ansehen, wir sind alle normale Menschen. Kein großer Gott.
Das Obige ist nur meine bescheidene Meinung.
Englisch.
Die Webentwicklung ist eine sehr komplexe und mühsame Aufgabe und erfordert in den meisten Fällen den Umgang mit verschiedenen Regeln, wie z. B. HTTP-Protokoll, Datenbank-Link-String, CSS, HTML, JavaScript-Syntax und Entwicklungs-Workflow-Tool-Konfiguration, Angular, jQuery-Framework. ..
Ich kann es nicht zu Ende lernen, es zu lernen, aber etwas anderes hat das Original verdrängt, so wie es6 jQuery verdrängt hat und Typescript verdrängt hat. Wie NodeJS kämpfen PHP, Elixir, F#, Ruby, Julia und Python auf demselben Gebiet.
Als jemand mit etwas Erfahrung möchte ich folgenden Rat geben:
Stellen Sie den Computer auf ein Linux-System um, verwenden Sie die Sprache C, um einen statischen Dateiserver zu implementieren, und verwenden Sie dann JavaScript Versuchen Sie, nicht auf Dritte zu verweisen. Erstellen Sie im Falle einer Bibliothek eine kleine Website, auf der Sie sich anmelden und dynamisch mit Kommentaren aktualisieren können. Kaufen Sie dann einen Cloud-Server und stellen Sie ihn in Echtzeit bereit.
Versuchen Sie, die originellste Methode zu verwenden und kein Framework zu verwenden. Wenn dieser Vorgang abgeschlossen ist, ist mindestens ein Skelett vorhanden, das vollständig sein kann.
Warum Linux-System? Es erklärt Ihnen einfacher, wie das Betriebssystem funktioniert.
Warum ist es C-Sprache? Es zeigt Ihnen direkter, wie Dinge erledigt werden.
Warum JavaScript, sein umfangreicher Open-Source-Code und die einfache Philosophie von nodeJS Ihnen die Regeln und das Spielen dieser Spiele besser zeigen können.
(Bitte achten Sie zunächst auf die Großschreibung und Betreuung von Patienten mit Zwangsstörungen...)
Beginnen wir mit den Sprachen, die Sie in Betracht ziehen:
PHP
: Backend Diese optionale Route eignet sich für kleine Internetunternehmen. Sie hat eine niedrige Lernschwelle und ist für eine schnelle Entwicklung geeignet. Die Leistung ist jedoch mittelmäßig (PHP7 wurde erheblich verbessert). In den letzten Jahren gab es viel Bewegung, und es ist nicht so gut wie bei JS und Python. Glücklicherweise ist der Marktanteil hoch und die Nachfrage ist relativ groß Lernen und Wettbewerb nehmen allmählich zu.(Bei der Beantwortung der Frage empfehle ich nicht, PHP eingehend zu erlernen)
JavaScript: Die Front-End- und Back-End-Routen sind derzeit obligatorisch und erfreuen sich großer Beliebtheit Wenn Sie sich mit dem Front-End beschäftigen, können Sie nicht zu tief in die Materie eintauchen, um finanzielle Freiheit zu erlangen. Der Nachteil ist jedoch, dass das Wissenssystem immer größer wird und mehr Zweige und unzählige Frameworks aufweist es fast unmöglich, es gut zu lernen. JS muss auch im Backend beherrscht werden. Andernfalls wird es in der heutigen Welt, in der JS so beliebt ist, schwierig, mit dem Frontend zu kommunizieren, wenn Sie JS im Backend nicht verstehen. JS hat sich von einer einfachen Web-Skriptsprache zu einer Full-Stack-Webentwicklungssprache entwickelt. Heutzutage gibt es so viele Dinge, die JS tun kann, und sogar Unternehmen aus dem Silicon Valley wie Facebook sind daran interessiert, Open-Source-Beiträge zu JS zu leisten. Darüber hinaus wird jede Open-Source-Technologie, wie Node.js, das für die asynchrone Entwicklung entwickelt wurde, und sogar React, das in den Bereich der nativen App-Entwicklung eingestiegen ist, eine Art Web-Black-Technologie sein ? (Empfohlen für Entwickler mit dem größten Lerngeist, um sich eingehend zu befassen)
Python: Backend- und Betriebs- und Wartungswahlfächer, obwohl sie als Wahlfächer bezeichnet werden, sind sie ohne Belegung grundsätzlich unmöglich Heutige Startups bevorzugen Python, in gewisser Hinsicht ist es PHP sehr ähnlich, aber Python kann so viele Dinge, ich vergleiche Python gerne mit einem Schweizer Taschenmesser! PHP ist bei weitem nicht so weit. Effizienz ergibt sich aus zwei Aspekten: Die Sprache selbst weist eine durchschnittliche Leistung auf, aber als Leimsprache wissen Sie, dass sie hocheffizient ist, was auch ein wichtiger Grund für ihre Beliebtheit ist. Für WEB gibt es auch eine Betriebs- und Wartungsrichtung, und Python ist ihnen besonders wichtig ... Natürlich möchten Sie wahrscheinlich keinen Betrieb und keine Wartung durchführen. Durch das gründliche Erlernen von Python werden Sie geekiger und Ihre Arbeit automatischer. Ausgezeichnete Python-Jobs werden Ihnen auch viel Gehalt einbringen (es wird auch empfohlen, dass jeder Ingenieur gründlich lernt, sich aber nicht unbedingt nur auf diesen konzentriert). (
2016.11.15 Hinzugefügt: Eine hervorragende Leistungslösung für Python ist die PyPy-Implementierung. Sie muss zwar an die offizielle Version angepasst werden, Sie interessieren sich jedoch für Python und seine Leistung. Wenn Sie die zugrunde liegende Implementierung verstehen möchten, Schauen Sie sich PyPy genau an . In meinem Bachelor-Abschluss in EE geht es um Hardware, und C++ steht uns zur Verfügung. Wenn Sie eine Low-Level-Entwicklung wie Webserver verfolgen, können Sie C++ eingehend studieren, und C++ für Server ist im Wesentlichen der Bereich der Spiele. . und C++ ist schwierig. Selbst wenn Sie sich ein paar Jahre lang intensiv damit befassen, werden Sie nichts herausfinden können. Wenn Sie das Herz dazu haben, sollten Sie etwas anderes lernen Dinge. (Nicht empfohlen) Ruby
: Wahlfach für einzelne Entwickler Haben Sie von „Hotel California“ von den Eagles gehört? Das Lied war so berühmt, dass die anderen großartigen Lieder der Eagles dadurch ihren Glanz verloren. Wenn es um Ruby geht, muss das RoR-Framework so berühmt sein, dass es für die Leute schwierig ist, andere Erwartungen an Ruby zu stellen. Aber was hat Ruby außer RoR noch? Ja, und diese rubinrote Grammatik. Das Schreiben von Ruby macht sehr viel Spaß und Sie können tun und lassen, was Sie wollen, aber es tut mir leid, manchmal ist zu viel Freiheit nicht das, was das Team für die Entwicklung braucht. Sie können Ruby lernen. Ich definiere es als Wahlfach für einzelne Entwickler. Vielleicht ist diese Sprache besser für Unternehmertum geeignet ... Natürlich werden Sie sagen, dass Ruby im Silicon Valley sehr beliebt ist, aber das ist CHINA. Ein weiterer Punkt ist, dass Ruby schließlich in einem Inselstaat geboren wurde. Wenn Sie nicht zwei Achsen auf Japanisch haben, möchten Sie sich trotzdem in ihre Gemeinschaft integrieren? (Nicht empfohlen) Golang
: Wahlfach für Low-Level-Ingenieure. Dies ist immer noch eine Sprache für die unterste Ebene des Webs. Die korrekte Klassifizierung ist dieselbe wie C/C++, genannt „Systemprogrammierung“. Sprache". Verstehen Sie? ? Schließlich wurde er in der neuen Ära geboren und verfügt über hervorragende parallele Programmierfähigkeiten. Im TIOBE-Ranking im Oktober 2016 zeigte Go eine starke Dynamik, und Menschen, die Go lernen, möchten im Allgemeinen den Schoß von Google umarmen ... Go Like Swift. Das nimmt ebenfalls Fahrt auf, man muss abwarten und sich keine Sorgen machen. (Keine Anleitung) (2016.11.15 Hinzugefügt: Derzeit umfassen die ausgereiften Web-Frameworks in Go Gorilla und Domestic Beego, Sie können selbst suchen und herausfinden.
)
Oh, danach Bei der Suche stellte sich heraus, dass ich Java, die erste Sprache der Netzwerkprogrammierung, nicht erwähnt hatte. Dies ist eine der wichtigen Möglichkeiten, den Höhepunkt des Lebens zu erreichen.
Lerne die Sprache nicht.
Lernen Sie Frameworks, Tools und vor allem Prinzipien.
Das Ding ist einfach Geschmackssache. Der Status von js Python Ruby Go wird erhöht, PHP wird verringert und Java bleibt unverändert.
Man kann alles lernen.
Die Einfachheit von JS ist wunderschön
Das Lernen kennt kein Ende! Mehrere Technologien und mehrere Wege!