Welche Programmiersprache braucht man zum Lernen? Welche Programmiersprache sollte ein Anfänger lernen? Welche Programmiersprache ist besser? Java virtuelle Maschine

💖 Gefällt es dir? Teilen Sie den Link mit Ihren Freunden

Viele unerfahrene Programmierer werden von der Frage gequält:

Welche Programmiersprache soll ich lernen?

Und sie hetzen von Ecke zu Ecke und hören den Empfehlungen „cooler Spezialisten“ zu. Fangen wir an, Pascal zu lernen. Dann wird ihnen jemand sagen, dass Pascal scheiße ist, C++ aber cool. Sie geben Pascal auf und greifen auf C++ zurück. Dann wird ihnen jemand anderes sagen, dass Assembler das Coolste ist. Alle. C++ ist vergessen und sie erreichen neue Höhen – zur Weisheit von Assembler.

Pädagogische Programmiersprachen

Sie haben sich also entschieden, den Beruf zu wechseln und in die Technologiebranche zu wechseln. Jetzt fragen Sie sich wahrscheinlich, welche Programmiersprache Sie zuerst lernen sollten! Viele Sprachen sind objektorientiert, haben aber immer noch einen primitiven Datentyp. Sie werden im Grunde alles als Objekt haben, aber immer noch mit Ausnahmen für ganze Zahlen oder vielleicht Zeichen oder etwas anderes.

Nach dem Grundsatz der geringsten Überraschung spricht Matz darüber, wie Sprachen für Menschen gestaltet werden sollten, denn Menschen sind Herren und Computer Sklaven und nicht umgekehrt. Dies ist ein wichtiger Punkt, da er sich ausdrücklich die Mühe gemacht hat, eine Sprache zu entwickeln, die für den Menschen sehr freundlich ist und nicht für das Verständnis einer Maschine. Das Material klingt eher nach Englisch oder einfacher Sprache als nach Technik oder Codierung. Dies macht es sowohl für Anfänger als auch für Experten sehr unterhaltsam. Ein hoher Wert bedeutet, dass es extrahiert wird Hardware Computer. Sie können in Begriffen sprechen, die menschlicher und weniger computergeneriert sind.

  • Konzentrieren Sie sich auf die Menschen und darauf, wie ihnen das Programmieren am Herzen liegt.
  • Die Art und Weise, wie Sie es tun, sollte nicht überraschend sein.
  • Hohes Niveau, angenehme, gemeinsame Sprache.
  • Es gibt viele Anwendungen.
  • Sehr beliebt bei Startups.
Ben, hast du Ruby zuerst erkannt?

Dabei vergessen sie die Hauptsache:

Es gibt keine schlechten Programmiersprachen – es gibt nur schlechte Programmierer!

SEHR WICHTIG!
Erkunden Programmierung, und nicht Programmiersprache!

Denn als Anfänger haben Sie keine Ahnung, wo Sie arbeiten und welche Programme Sie schreiben sollen. Es ist durchaus möglich, dass Ihr zukünftiger Arbeitgeber Delphi und vielleicht Visual C++ oder FoxPro verwendet. Oder allgemein müssen Sie Programme für Steuerungen oder CNC-Maschinen entwickeln.

Wenn Sie versuchen, diese Vereinbarung durchzusetzen und Ihren eigenen Weg zu gehen, wird es viel schwieriger. Wie Sie sich vorstellen können, war dies in der Startup-Welt, in der Startups ständig auf neue Ideen aus sind und Funktionen schnell bereitstellen müssen, sofort beliebt. Dadurch können Startups ihre Produkte schnell iterieren und ändern. Rapid Prototyping und beliebt bei Startups, die schnell iterieren möchten. Stark stur, befürwortende Konfigurationsvereinbarung. . Philosophisch gesehen hält das jeder für wichtig.

Wenn Sie die Möglichkeit haben, dorthin zu gehen, sollten Sie auf jeden Fall dorthin gehen. Das liegt zum Teil daran, dass es von einer so kleinen Basis aus wächst. Sie werden sehen, dass alle drei aufgeführt sind. Noch wichtiger ist, dass Sie durch Block einen Mentor haben, der mit Ihnen zusammenarbeitet. Sie können ein Exemplar kaufen oder es kostenlos online lesen. . Das Schöne am Mentorenkurs ist, dass er wirklich auf jedes Erfahrungsniveau abgestimmt werden kann. Wenn Sie an einen völlig neuen Ort kommen, kann der Mentor den Kurs darauf ausrichten.

Denken Sie daran, dass ein erfahrener Programmierer nur wenige Tage braucht, um die Grundlagen einer neuen Programmiersprache zu erlernen. Das heißt, der Wechsel von Delphi zu Visual C++ oder umgekehrt ist nicht so schwierig (und nicht so langwierig). Aber dafür brauchen Sie programmieren können!

Wenn Sie eine Programmiersprache perfekt beherrschen, aber nicht programmieren können, was nützt Ihnen das dann? Das ist dasselbe, als ob man wüsste, wie man Nägel einschlägt, es aber nicht kann. Wozu braucht man dieses Wissen, wenn man sich am Ende trotzdem an einen Profi wendet?

Wenn Sie über zwei bis drei Jahre Erfahrung im Schreiben in einer anderen Sprache verfügen und versuchen, diese zu übertragen, wird Ihr Mentor sich vor diesem Hintergrund neu kalibrieren. Dies sind nur einige Beispiele. Wenn Sie Freiberufler sind, können Sie damit einen Kumpel finden. Dies sind nur Beispiele dafür, was die Schüler im Block gebaut haben. Was war das coolste Projekt, das du während deines Studiums gesehen hast?

Ein Student hat diese Live-Chat-App entwickelt, mit der Sie weiterhin chatten und mit anderen Menschen interagieren können. Unabhängig davon, welche Sprache der Student wählt, waren die Block-Mentoren, die Sie kennengelernt haben, die erfolgreichsten Menschen, die Sie je hatten. Haben sie alle etwas geteilt, das ihnen dabei geholfen hat, den Kurs zu vernichten?

Genau aus diesem Grund sage ich noch einmal meinen Lieblingssatz: Es gibt keine schlechten Programmiersprachen, es gibt nur schlechte Programmierer.

Sie können also mit dem Erlernen des Programmierens in jeder Sprache beginnen – es spielt keine Rolle. Das Wichtigste beim Programmieren ist nicht die Sprache. Die Hauptsache sind Kenntnisse über Algorithmen, die Fähigkeit zum kreativen Denken, die Fähigkeit zur Suche notwendige Informationen usw. Und natürlich Erfahrung.

Das Wichtigste ist, die richtige Motivation zu finden. Kommen Sie mit der Leidenschaft zum Lernen und erwerben Sie eine Fähigkeit, die Ihre Karriere verändert. Das Codieren ist schwierig, besonders am Anfang ist es frustrierend. Sie brauchen ein übergeordnetes Ziel oder eine Leidenschaft, die Sie am Laufen hält. Einige hatten ein Projekt oder eine Startup-Idee, die sie starten wollten. Ein Schüler war von der Tatsache getrieben, dass er seine Kinder unterrichten und an ihrem Lernen und Programmieren beteiligt sein wollte.

Java virtuelle Maschine

Egal, was Sie brauchen, Sie müssen nur etwas vorantreiben und Ihnen diese Leidenschaft vermitteln. Eine Bibliothek ist nur ein in sich geschlossener Code. Es nimmt den gesamten Code, den Sie benötigen, und fügt ihn Ihrer Anwendung hinzu. Was können wir tun, um sicherzustellen, dass wir die Sprache wirklich verstehen, wenn wir sie lernen? Sie können ein paar Zeilen Code schreiben und schon bekommen Sie eine Menge unter die Haube. Sie erhalten vieles, was Ihnen einfach zur Verfügung gestellt wird und das Sie nicht manuell installieren und erledigen müssen. Das ist gut, weil es für den Entwickler weniger Arbeit bedeutet und Sie schneller beeindruckendere Dinge erstellen können.

Achten Sie also nicht auf die Vorlieben anderer. Wenn jemand C++ oder C# mag, dann ist das sein gutes Recht. Dies bedeutet jedoch nicht, dass ein C++-Programmierer besser ist als ein Visual Basic-Programmierer. Es bedeutet lediglich, dass es verschiedene Programmiersprachen gibt. So wie es ist verschiedene Wege Essen: Asiaten essen mit Stäbchen, Europäer essen mit Gabel und Löffel. Was ist schlimmer, was ist besser? Ja, weder das eine noch das andere. Es ist nur so, dass einige an Essstäbchen gewöhnt sind, während andere an Löffel und Gabeln gewöhnt sind.

Es kann schlimm sein, wenn man nicht versteht, was vor sich geht, und es einfach tut. Das ist eine interessante Beschwerde, denn es fühlt sich fast so an, als wäre es zu stark oder zu gut. Es wurde der Community übergeben und jeder hat die gleiche Meinung darüber, in welche Richtung die Sprache gehen und wie sie sich weiterentwickeln soll. Als Anerkennung für alles, was er getan hatte, wurde Guido zum Diktator von Pythons Leben gewählt.

Explizit ist besser als implizit. Einfach ist besser als komplex. Komplex ist besser als komplex. . Dies ist eine Hierarchie von Fragen zur Sprachentwicklung. Das Leerzeichen macht tatsächlich Sinn, was bei den meisten anderen Sprachen eigentlich nicht der Fall ist. Wenn man sich anders zurückzieht, hat das im Programm eine andere Bedeutung. In der Startup-Welt wird es weniger stark genutzt, hat aber auch in Unternehmensangelegenheiten einen Vorteil. Dazwischen gibt es eine sehr lebendige Crossover-Community. . Wie wäre es mit Big Data und Data Science?

Ihre Aufgabe besteht nicht darin, das Essen mit Stäbchen zu lernen. Und es geht nicht darum zu lernen, mit der Gabel zu essen.

Ihre Aufgabe ist es, nicht hungrig zu bleiben!

Daher können Sie in manchen Fällen mit den Händen essen.

Ich erinnere Sie noch einmal daran. Die Hauptsache ist das Ergebnis. Und mit welchen Mitteln dieses Ergebnis erzielt werden kann, ist eine Frage der Vorlieben und Gewohnheiten. Wenn Sie gerade erst anfangen, Programmieren zu lernen, dann haben Sie noch keine Gewohnheiten oder Vorlieben. Daher können Sie mit jeder Programmiersprache und allen Entwicklungstools beginnen. Da das Erlernen der Sprache und der Entwicklungstools am einfachsten ist. Und im Rahmen der Fortbildung müssen Sie sich noch mehrmals umschulen. Weil sich Technologien ändern, neue Sprachen auftauchen usw.

Sind diese Statistikbibliotheken der Grund dafür, dass die Leute sagen, dass es schneller ist? Wenn man sich die Geschwindigkeit ansieht, ist dies eine andere Kategorie, die eher der Sprachoptimierung ähnelt, die mit beginnt mit unterschiedlichen Geschwindigkeiten. Ihre schnellste Sprache wird immer eine sein, die direkt auf dem Computer bis auf Bytecode oder Objektcode kompiliert wird. Dadurch wird der Entwicklungszyklus viel schneller, aber es handelt sich um langsamere Sprachen. Sie werden sie nicht in Materialien finden, die schnell geschrien werden müssen. Abgesehen von den Unterschieden gibt es viele Gemeinsamkeiten.

Das Gleiche passiert auch in die andere Richtung. Hast du es dir selbst beigebracht oder wie hast du es gemacht? Auch hier können Sie sehen, warum beide Sprachen einen wohlverdienten Ruf für ihre Lesbarkeit und saubere Syntax haben und für Entwickler einfach ein Vergnügen sind. Es ist fortgeschrittener und daher etwas komplizierter.

Schlussfolgerungen:

  • Ihre Aufgabe besteht darin, das Programmieren zu lernen, nicht darin, eine Programmiersprache zu lernen (obwohl dies auch erforderlich sein wird, aber das ist nicht die Hauptsache).
  • Je einfacher Ihre erste Programmiersprache ist, desto schneller lernen Sie das Programmieren.
  • Basierend auf den Schlussfolgerungen 1 und 2 können wir sagen, dass es besser ist, mit Sprachen zu beginnen, die ursprünglich sehr leicht zu erlernen waren. Daher empfehle ich Ihnen, mit Pascal oder Visual Basic zu beginnen.
Und wenn Sie den Newsletter „Programming Fundamentals“ noch nicht abonniert haben, dann ist es jetzt an der Zeit, dies zu tun: .

Aufmerksamkeit! Die Meinung der Personen, die die Frage beantworten
stimmt möglicherweise nicht mit der Meinung der Herausgeber überein.

Welche Programmiersprachen sind rentabler zu lernen?

Dies ist eine schwierigere Basis für Anfänger, da Sie mehr Material abdecken müssen, bevor Sie sich wohl fühlen. Eine weitere Schwierigkeit dabei besteht darin, dass die Ressourcen für Neulinge nicht so gut entwickelt sind. Es ist nicht so, dass die Community massiv fragmentiert ist oder neue Frameworks entstehen.

Es ist immer eine Begegnung mit diesem Zeug wert. Für beide Gemeinschaften gibt es auf der ganzen Welt Treffen. Wenn sie hier in Boise gefunden werden, sind sie wahrscheinlich dort, wo Menschen sind. Am Anfang kann es sehr einschüchternd sein, weil es beängstigend ist und man denkt, man wüsste nicht genug. Du würdest dorthin gehen und die Leute wären glücklich. Sie freuen sich sehr, dass sich die Leute darauf einlassen.



CARTER-SEITE

Technischer Leiter von Google

„KURZE ANTWORT: LERNEN SIE C ODER C++.

Möglicherweise müssen Sie es nie verwenden
bei der Arbeit, aber Sie werden eine Menge lernen, wenn Sie es beherrschen. Die schwierigsten Probleme, mit denen die besten Programmierer konfrontiert sind, erfordern auf die eine oder andere Weise Kenntnisse in C.
Hier sind einige Dinge, die auf C basieren:

Sie werden über Ressourcen und Ratschläge verfügen. Dies ähnelt dem, was ein Mentor für Sie tut. Welche Sprache ist interessanter zu lernen oder zu lernen? Das liegt vor allem daran, dass es für Leute, die vom Anfänger zum Sprachwähler werden, bei weitem eines der benutzerfreundlichsten ist. Es ist einfach zu verstehen, wie das passiert auf Englisch zum Code. Oftmals ist es ein komplexer und schwieriger Prozess, die Denkweise von Menschen auf die Denkweise von Computern zu übertragen.

Aufmerksamkeit! Die Meinung der Personen, die die Frage beantworten, stimmt möglicherweise nicht mit der Meinung der Herausgeber überein

Man muss sich selbst beibringen, anders zu denken. Es gibt wirklich nichts, was der eine oder andere nicht kann. Sie sind beide so vielseitig, dass sie jedes Problem bewältigen können. Es gibt Dinge, auf die sich beide Gemeinschaften stärker konzentrieren wollten. Insgesamt sind beide so allgemein gehalten, dass man mit ihnen fast alles machen kann. Nächste Schritte für einen Neuling, was sollte jemand tun?

JAVA VIRTUELLE MASCHINE

DIE MEISTEN LINUX

MAC OS X KERNEL

WINDOWS (C UND C++)

ORACLE-DATENBANK

CISCO-ROUTER

Alles, was zugrunde liegt Computertechnologie, komplex im Design und beeinträchtigt die Leistung stark, sobald es in C erstellt wurde – mit einer kleinen Einbindung von Assembler.

C wird Ihre Java-Kenntnisse verbessern. Sie werden verstehen, wann eine virtuelle Maschine den Stack und wann den Heap verwendet und was das bedeutet. Sie werden intuitiv verstehen, wie die Speicherbereinigung funktioniert. Sie werden besser verstehen, wie Sie primitive Datentypen und Objekte verwenden.

Sie können sich auch Blockkurse ansehen, um zu sehen, was dort verfügbar ist. Hierzu bieten wir Informationsveranstaltungen an. Sie liebt Frühstückstacos und verbringt Zeit damit, Bootcamp-Alumni und Gründer auf der ganzen Welt kennenzulernen. Allerdings ist das zunächst einmal die falsche Frage. Die meisten Syntaxen der Sprache sind sehr ähnlich, führen jedoch je nach Problemdomäne unterschiedliche Dinge aus.

Sobald Sie das Problem identifiziert haben, können Sie mit dem Erlernen verschiedener Sprachen beginnen, die Ihnen bei der Lösung des Problems helfen können. Für viele angehende Softwareentwickler ist dies ein wichtiger Punkt: „Finden Sie das richtige Tool für den Job.“ Bevor wir beginnen, sagen einige vielleicht: „Steigen Sie einfach ein.“

C wird Ihre Python-Kenntnisse verbessern. Sein Klassensystem basiert größtenteils auf C++. Sie lernen, kompetenten und gut organisierten Code zu schreiben, der Ihnen die zukünftige Arbeit damit erleichtert. Sie lernen, mit globalen Variablen vorsichtiger umzugehen.

C wird Ihre Objective-C-Kenntnisse verbessern. Sie erfahren, wie Sie die Referenzzählung verwalten und verstehen, welcher Teil des Codes ein Objekt „besitzen“ soll. Sie können Speicherlecks vermeiden.

Sie sollten sich mit der Bedienung des Betriebssystems Ihrer Wahl sehr wohl fühlen. Sie müssen die Grundlagen der Dateistruktur verstehen Dateisystem. Sie sollten in der Lage sein, Anwendungen zu installieren Betriebssystem und beheben Sie, warum diese App nicht funktioniert.

Sie sollten die Grundlagen der Befehlszeile kennen und sich auch darin zurechtfinden Befehlszeile. Wenn Ihnen so etwas nicht gefällt, kann der Einstieg frustrierend sein. Manchmal funktionieren Dinge einfach nicht! Es gibt Zeiten, in denen einfache Dinge wie die einfache Installation von Paketen für eine Sprache möglicherweise nicht funktionieren. Sie müssen sich mit dem Betriebssystem befassen, um herauszufinden, was vor sich geht, während Sie versuchen, die kryptische Fehlermeldung zu verstehen. Wenn das nicht nach etwas klingt, mit dem Sie sich wohlfühlen, dann sollten Sie wahrscheinlich jetzt damit aufhören!

Was ist also besser – C oder C++? Ich bevorzuge C++, denn obwohl sie sehr ähnlich sind, unterstützt C++ die objektorientierte Programmierung. Selbst wenn Sie nur mit funktionalen Sprachen arbeiten, lernen Sie durch objektorientierte Programmierung, wie Sie Code so organisieren, dass Sie große Projekte erstellen und verwalten können.

Programmiersprachen und ihre Anwendungsgebiete

Sie haben sich also entschieden, weiterzumachen, großartig! Es gibt einige Beispiele, bei denen Sie möglicherweise nicht einmal das Programmieren lernen müssen. Dies sind in der Regel Personen, die einfach nur einen Blog oder eine E-Commerce-Website erstellen möchten, oder Unternehmer, die etwas erstellen möchten neue Idee Start. Die Beherrschung einer Sprache garantiert nicht, dass Sie überhaupt eine Website in der Sprache erstellen können. Wenn Sie eine Website erstellen möchten, nutzen Sie bereits vorhandene Technologien.

Welche Programmiersprache soll ich lernen?

Zeit ist das wichtigste Gut, und eine frühe und schnelle Markteinführung ist wichtiger als das Erlernen des Programmierens. Für Unternehmer ist dieser Punkt besonders wichtig. Wenn Sie ein nicht-technischer Gründer sind, sollte Ihr Fachgebiet die Domäne und nicht technische Implementierungsdetails sein. Zwar gibt es Geschichten von Gründern, die das Programmieren lernen und Milliardäre werden, aber das sind nur Ausreißer. In den meisten Fällen ist es besser und effizienter, einen kooperierenden Ingenieur oder Lieferanten zu finden, der Sie bei der Umsetzung Ihrer Idee unterstützt.

Möglicherweise verdienen Sie nicht so viel
als COBOL-Experten (Ein von älteste Sprachen Programmierung. - Ca. Hrsg.), was plötzlich erforderlich sein kann. Aber nach C kann man jede andere Sprache lernen. Wenn in der Computertechnologiebranche
Und es gibt eine Beständigkeit, sie liegt in folgendem: Was heute neu ist, kann sich in ein paar Jahren als altmodisch erweisen. Lernen Sie Fähigkeiten, die es Ihnen ermöglichen, neue Fähigkeiten zu erwerben, und es wird Ihnen gut gehen.“



STEFAN ZUCKERMAN

Programmierer

„Wenn Sie wissen, wie man Daten richtig organisiert, spielt es keine Rolle, welche Sprache Sie sprechen. Es gibt drei eng miteinander verbundene Dinge, die Sie wissen müssen:

Grundlegende Datenstrukturen und Algorithmen (verknüpfte Listen, Hash-Tabellen, ausgeglichene und andere Suchbäume, Warteschlangen und Heaps);

Simulation von Daten aus der realen Welt (Verständnis der Logik bereits erstellter Modelle, Fähigkeit, mit Standard- und Drittanbieterbibliotheken zu arbeiten);

Jede Programmiersprache, mit der Sie vertraut sind. Wenn Sie die Sprache gut beherrschen und sie in der Praxis zeigen können, können Sie damit viel verdienen. Schreiben Sie etwas Nützliches oder einfach nur Cooles, und wenn Sie keine Angst vor Kritik haben (manchmal hart) Veröffentlichen Sie den Code auf demselben GitHub. Wenn
Wenn Sie eine Sprache gut beherrschen, können Sie jede andere lernen.

Generell würde ich empfehlen, mehrere Sprachen zu lernen
mit unterschiedlichen Merkmalen und Abstraktionsebenen,
denn die Kenntnis nur einer Sprache schränkt Sie stark ein
in Lösungsansätzen für jedes Problem.

Wenn wir das höchste Niveau belegen, würde ich eine der folgenden drei Sprachen empfehlen: Perl, Python, Ruby (und als Variante von Lua). Sie verfügen über viele integrierte Datenstrukturen: Hash-Tabellen, dynamische Arrays und andere. Sie erleichtern auch die Arbeit
mit I/O-Geräten und Angebotsmodulen
und Bibliotheken, die es Ihnen ermöglichen, direkt mit der Lösung des Problems fortzufahren, anstatt dafür Zwischencode zu schreiben
und sollte daher in jedem enthalten sein moderne Sprache Programmierung;

Imperativ/prozedurale Sprache nicht auch niedriges Niveau: C, Los, Fortran (meine Wahl ist C);

Imperativ/objektorientierte Sprache: C++, C#, Java, Ada (Ich würde C# bevorzugen, da es unter Berücksichtigung der Java-Fehler erstellt wurde.)

Funktionale/multiparadigmatische Sprache: Objective Caml, Clojure, Common LISP, Erlang, F#, Haskell, Scala, Scheme. Ich neige zu OCaml und Scala, weil
Ihre Syntax ist einfacher als die der anderen, obwohl dies natürlich subjektiv ist.

Für welche Sprache Sie sich auch entscheiden, lernen Sie sie wirklich gut und sammeln Sie Erfahrungen damit. Zu wissen, wie man eine Klasse in Java implementiert, ist großartig, aber wenn Sie lernen, wie die Garbage Collection in Java funktioniert (oder welche Nachteile sie hat), werden Sie ein besserer Programmierer. Es ist gut zu wissen, dass Sie Module in Perl verwenden können,
Aber es ist eine andere Sache, wenn man bedenkt, dass es sich lediglich um Schnittstellen zu C-Code handelt: Das bedeutet, dass der Interpreter den Speicher nicht automatisch verwaltet. Usw".



Freunden erzählen