5 neue Programmiersprachen, die Sie kennen sollten

Für manche Menschen ist das Erlernen einer neuen Programmiersprache ein Übermaß, das am besten vermieden wird. Warum, oh warum, argumentieren sie, brauchen wir noch eine andere Sprache??


Haben wir nicht schon genug??

Sind die vorhandenen Tools nicht für die Erledigung der Aufgabe geeignet??

Und dann gibt es diese unermüdlichen Suchenden, die die Gelegenheit nutzen, neue Dinge auszuprobieren und über Edelsteine ​​zu stolpern. Für sie ist Lernen ein Selbstzweck und sie brauchen nicht viel Überzeugungsarbeit, um ihre Wochenenden mit dem Aufbau eines konsolenbasierten Kartenspiels in dieser obskuren, neuen Sprache zu verbrennen.

Egal zu welchem ​​Lager Sie gehören, es gibt etwas, über das nicht diskutiert werden kann: Wir alle möchten Zeit mit etwas verbringen, das eine glänzende Zukunft haben wird.

Für die Menschen im Legacy-Camp hat ihre bevorzugte Lieblingssprache bereits eine Menge Schwung und wird auch weiterhin eine glänzende Zukunft haben. Für sie muss ich daran erinnern, dass ihre mittlerweile ausgereifte bevorzugte Entwicklungs-Toolchain einst „Kool-Aid“ war, die viele nicht trinken wollten. Und so ist es heute; Neue Technologien werden hinzugefügt, um neue Probleme zu lösen oder den Entwicklungsschmerz zu lindern.

Wenn etwas dies radikal genug tut, wird es wahrscheinlich weiterhin Mindshare schnappen und die Spitze erreichen. In diesem Fall möchten Sie nicht zurückgelassen werden. ��

Und für diejenigen, die gerne mit dem glänzenden Zeug laufen, eine Warnung: Spaß zu haben ist als Programmierer unerlässlich, aber wir müssen aufpassen, dass wir unsere Energie nicht ziellos verschwenden.

Sicher, Brainfuck ist eine unglaublich verdrehte, rätselhafte, lustige kleine Sprache, aber es ist unwahrscheinlich, dass Sie davon profitieren, wenn Sie sie ernsthaft verfolgen. Sie wollen etwas Neues, Vernünftiges und Solides.

Wie diese Sprachen ausgewählt wurden

Die Sprachauswahl ist eine einschüchternde Aufgabe, insbesondere wenn neue Sprachen für zukünftige Vorteile in Bezug auf Beschäftigung und Zufriedenheit in Betracht gezogen werden. Jeder Sprachautor ist fest davon überzeugt, dass er die bestmögliche Sprache entwickelt und alle zu lösenden Probleme gelöst hat. Wie schneidest du dann??

In diesem Beitrag habe ich mich auf einige Parameter konzentriert, um meine Suche innerhalb angemessener Grenzen zu halten.

Veröffentlichungsdatum

Ich habe speziell Sprachen vermieden, die sehr, sehr neu sind.

Neu, ich meine Sprachen, die zum Zeitpunkt des Schreibens weniger als 5-6 Jahre alt sind, und insbesondere solche, die noch keine Stabilität erreicht haben (dh Version 1.0). Dies schließt leider einige echte Edelsteine ​​wie aus Kristall, Aber ich hoffe, dass ich eines Tages darauf zurückkommen und über seinen Erfolg schreiben kann. ��

Ein Code-Snippet in Crystal (“Schnell wie C, Slick wie Ruby”)

Für mich sind 5-12 Jahre der Sweet Spot, wenn sich eine Sprache stabilisiert hat und weitere Verfeinerungen ausgearbeitet werden. Nun gibt es natürlich Ausnahmen von dieser Regel, und diese werden gegebenenfalls berücksichtigt.

Starkes Gemeinschaftsinteresse

Dieser ist ein Kinderspiel, wird aber oft ignoriert, wenn wir uns über etwas Neues freuen. Für viele Menschen ist die Unterstützung eines großen Unternehmens ein Präzedenzfall für den Erfolg, aber das stimmt nicht immer.

Ja, Apples Objective-C und jetzt Swift blühten auf, weil dies die einzigen Optionen in einem stark kontrollierten Ökosystem waren, aber die von Facebook D. und Hacken (meiner Meinung nach eine hässliche Einstellung zu einer bereits hässlichen Sprache) bleiben kaum mehr als Experimente.

Die ideale Kombination wäre eine Sprache, die von einem großen, stabilen Unternehmen unterstützt wird und an Popularität gewinnt (wie React)..

Aber das Fleisch der Sache ist immer noch die Gemeinschaft. Wenn eine Sprache keine Begeisterung hervorruft und es nicht genügend Entwickler gibt, um sie zu erziehen und bekannt zu machen, wird sie nicht aus ihrem GitHub-Grab herausklettern.

Für mich schließt dies reife, faszinierende Sprachen wie aus Schläger und Erlang, da sie auf der Wachstumskurve flach geblieben sind.

Fokussierter, klar definierter USP

Das dritte, wonach ich suche, ist ein klares Ziel für die Sprache. Zum Beispiel funktioniert eine bessere Version von PHP, die Namensprobleme behebt und auf natives PHP kompiliert, bei mir nicht.

Die Vorteile sind einfach zu gering, um die Risse zu rechtfertigen, die auftreten, wenn alle versuchen, sich darauf einzulassen. An diesem Maßstab kann ich nicht anders, als Versuche wie abzulehnen CoffeeScript, und viele andere ähnliche Kompilierungen in JavaScript.

Ehrlich gesagt bin ich verpflichtet, Verbesserungen nur für die Syntax sofort zu verwerfen. Die Geschichte hat gezeigt, dass Nützlichkeit die Freundlichkeit in Bezug auf Sprachen übertrifft. Wenn sich also alle neuen Sprachen auf eine angenehmere Erfahrung konzentrieren, wird diese Liste leider nicht erstellt.

Klare, konsistente Syntax

Ja, ich weiß. Ich habe nur gesagt, dass die Syntax keine Rolle spielt. Um genau zu sein, sagte ich, dass “Nur-Syntax-Verbesserungen” keine Rolle spielen. Die Syntax bleibt jedoch einer der wesentlichen Faktoren für die Produktivität und Wartbarkeit von Programmierern. Daher muss sie in meinen Berechnungen hier unbedingt berücksichtigt werden.

Mit der Syntax geht die Idee der Konsistenz einher. Funktionsnamen, Modulstrukturierung usw. sind wichtige Dinge, die sich eine Sprache nicht leisten kann, um falsch zu liegen. Es ist 2018, um Gottes willen, und ein anderes PHP-ähnliches Sprachdesign wäre eine Schande für uns alle. Beginnen wir also ohne weiteres mit unseren fünf wichtigsten Empfehlungen.

1. Julia

Für die Leute am MIT waren die für die Datenwissenschaft verfügbaren Sprachen bestenfalls ein Kompromiss. Bei aller Klarheit und Beliebtheit fehlten Python native Konstrukte für den Umgang mit Datenobjekten. Als interpretierte Sprache war Python für sie auch langsam (nicht die Bibliotheken, wohlgemerkt, da sie meistens in C geschrieben sind)..

Aber das vielleicht größte Problem war das klobige Parallelitätsmodell und das Fehlen eines Parallel-Computing-Modells, von dem letzteres eine Grundvoraussetzung für Super-Computing ist.

Als Ergebnis, Julia wurde geboren.

Julia erreichte ihre stabile Veröffentlichung am 29. September 2018, kaum ein paar Tage bevor dieser Artikel geschrieben wurde (sprechen Sie über das Timing!). Folgendes sagt die offizielle Website zu ihren Funktionen:

Julia zeichnet sich durch numerisches Rechnen aus. Die Syntax eignet sich hervorragend für Mathematik, viele numerische Datentypen werden unterstützt und Parallelität ist sofort verfügbar. Julias Mehrfachversand ist eine natürliche Lösung für die Definition von nummer- und arrayähnlichen Datentypen.

In Bezug auf die Syntax kann Julia als eine Kombination aus Python und C angesehen werden. Ja, es ist wahrscheinlich das erste Mal, dass eine Sprache auf diese beiden Eigenschaften abzielt und erfolgreich ist.

Um die Sache einfach zu halten, erzwingt Julia keine strenge Eingabe und ist dennoch blitzschnell. Hier einige Benchmarks:

Die offiziellen Julia-Benchmarks

Wie Sie sehen können, ist Julia etwas schlechter als C, bläst aber Java und Python aus dem Wasser. Und welche Art von Augenweide bietet Julia an?

Nun, hier ist die Implementierung einer Funktion zur Berechnung der Hypotenuse eines rechtwinkligen Dreiecks:

Schließlich während die meisten der Julia Ökosystem ist stark auf mathematische Arbeit ausgerichtet, ich glaube, es hat eine glänzende allgemeine Zukunft.

Es ist meines Wissens die erste Sprache, die erstklassige Unterstützung für paralleles Computing bietet. Daher ist es nicht verwunderlich, dass sie in den Bereichen Web und IoT immer beliebter wird.

2. Rost

Wenn Sie die neuen Firefox-Browserversionen ausprobiert haben, wissen Sie, dass sie nach Jahren der Arbeit möglicherweise in der Lage sind, Chrome Marktanteile abzunehmen.

Wenn sich der Browser leicht und bissig anfühlt und schnell rendert, ist dies alles der Sprache zu verdanken, die Mozilla speziell entwickelt hat: Rost.

Zu sagen, dass Rust eine glänzende Zukunft hat, wird eine Lüge sein; Die Sprache ist bereits ein großer Erfolg, und wenn Sie noch nichts davon gehört haben, liegt dies daran, dass ihr Anwendungsbereich spezialisiert ist und ihr Ziel beängstigend ist: C ++ zu ersetzen! Ja, wir haben endlich eine Sprache, die dies nicht nur kann, sondern bereits tut.

Für Leute, die von den überlasteten Design- und Speicherverwaltungsherausforderungen von C ++ frustriert sind, ist Rust ein Hauch frischer Luft.

So sieht ein Rust-Programm aus:

Prägnant und elegant, meiner Meinung nach. Rust folgt dem funktionalen Programmieransatz, der Ihren Code komponierbarer macht und es gibt keine objektorientierten Hierarchien, mit denen Sie sich auseinandersetzen müssen.

Was gibt Rust den Mut, sich für C ++ zu entscheiden? Es ist das neue Speichermodell. Anstatt sich auf den alten neuen () / delete () Tanz zu verlassen, führt Rust die Idee des Eigentums ein.

Anstatt Speicher direkt zuzuweisen und darauf zuzugreifen, „leihen“ sich Rust-Variablen voneinander aus, wobei der Compiler strenge Einschränkungen auferlegt. Das Gesamtkonzept ist zu kompliziert, um es in wenigen Worten zu erklären. Schauen Sie sich das an offizielle Dokumente um mehr zu lernen.

Der Punkt ist, dass dies zu 100% Speichersicherheit führt, ohne dass ein Garbage Collector erforderlich ist, was eine große Sache ist.

Rust hat die Welt der Systemprogrammierung im Sturm erobert. Es wird bereits auf einigen Plattformen unterstützt, unterstützt Browser und Rendering-Engines und ersetzt schnell C / C ++ – Code auf Produktionssystemen. Es wird zum Schreiben von Betriebssystemen verwendet.

Sicher, es ist nicht jedermanns Sache, einen anderen Browser oder Gerätetreiber zu erstellen, aber Rust verbreitet sich bereits auf andere Domains. Wir haben bereits mehrere voll funktionsfähige, lächerlich schnelle Web-Frameworks in Rust, und immer mehr Anwendungsbibliotheken werden entwickelt.

Wenn Sie an einer aufregenden Zukunft interessiert sind, ist Rust die perfekte Sprache und jetzt ist eine perfekte Zeit. Rust ist ein Flugzeug, das gestartet ist, aber es bleibt noch Zeit, an Bord zu gehen, um auf die Sterne zuzugehen!

Lernen Rost von Dmitri Nesteruk.

3. Elixier

Unter den Sprachen, die sich auf das Glück der Entwickler konzentrieren, ist der erste Platz permanent Ruby vorbehalten. Es ist eine Sprache, die sich wie Poesie liest und über genügend Abkürzungen verfügt, um die mentale Reibung um eine Größenordnung zu verringern.

Kein Wunder also, dass das Rails-Framework weiterhin die Full-Stack-Entwicklung für ernsthafte Entwickler und Startups dominiert. Aber nicht alle waren mit Rails zufrieden, insbesondere einer seiner Hauptentwickler – José Valim. Ich denke, der Schöpfer selbst erklärt die Entstehung dieser Sprache am besten in einem Interview::

Es ist eine lange Geschichte, aber ich werde versuchen, sie kurz und bündig zu machen. Im Jahr 2010 arbeitete ich an der Verbesserung der Rails-Leistung bei der Arbeit mit Mehrkernsystemen, da unsere Maschinen und Produktionssysteme mit immer mehr Kernen ausgeliefert werden. Die gesamte Erfahrung war jedoch ziemlich frustrierend, da Ruby nicht das richtige Tool zur Lösung von Parallelitätsproblemen bietet. Zu diesem Zeitpunkt begann ich mich mit anderen Technologien zu beschäftigen und verliebte mich schließlich in die Erlang Virtual Machine.

Ich begann immer mehr, Erlang zu verwenden, und mit der Erfahrung bemerkte ich, dass mir einige Konstrukte fehlten, die in vielen anderen Sprachen verfügbar waren, einschließlich funktionaler. Zu diesem Zeitpunkt habe ich beschlossen, Elixir zu erstellen, um verschiedene Konstrukte und hervorragende Werkzeuge auf die Erlang-VM zu bringen.

Und siehe da, Elixier wurde geboren!

So wie Scala die Java-Sprache verbessert, aber auf dieselbe virtuelle Maschine darunter (die JVM) abzielt, nutzt auch Elixir die jahrzehntealte, kampferprobte virtuelle Erlang-Maschine.

Eine Diskussion über Erlang würde den Rahmen dieses Artikels sprengen, aber das Minimum, das Sie wissen sollten, ist, dass es das bestgehütete Geheimnis der Telekommunikationsbranche ist: Wenn unsere Telefonnetze viel zuverlässiger sind als unsere webbasierten Systeme, ist dies alles dank Erlang.

Noch einfacher ausgedrückt bedeutet dies: Wenn Sie ein Echtzeitsystem wie Chat erstellen, ist Elixir viel, viel weniger RAM-hungrig und stabil als Ruby (oder PHP, Python und Java)..

Ein Computer, auf dem Ruby ausgeführt wird und beispielsweise 10.000 gleichzeitige Verbindungen erreicht, kann bei Verwendung von Elixir problemlos 200.000 verarbeiten und verfügt dennoch über genügend RAM, um 2D-Spiele auszuführen!

Elixier-Code-Snippet

In Bezug auf die Syntax kopiert Elixir Ruby schamlos, und sein dominantes Webframework Phoenix kopiert Rails schamlos. Ich würde sagen, das ist auch gut so, denn zusammen mit Laravel, Grails, Masonite usw. erreichen wir einen Punkt, an dem alle Sprachen Rails-ähnliche Frameworks haben, die den Übergang erleichtern können. Einige mögen sich über den “Mangel an Originalität” lustig machen, aber zumindest beschwere ich mich nicht.

Schließlich, Elixier ist eine dieser Technologien, die erfrischend, angenehm und verdammt praktisch sind. Mehrere Ruby-Läden (und sogar Nicht-Ruby-Läden) ziehen zu Elixir um, und große Unternehmen wie Pinterest verwenden es in der Produktion mit äußerst zufriedenstellenden Ergebnissen.

Viele Leute denken, dass Node.js ein provisorischer Versuch der Parallelität war und bald durch Elixir ersetzt werden würde. Ich muss sagen, dass ich ihnen zustimme. ��

4. Kotlin

Im Jahr 2017 hat I / O Google eine Bombe auf die ahnungslose Menge losgelassen. Das Unternehmen gab offiziell bekannt Kotlin als Hauptsprache für die Android-Entwicklung, die Schockwellen durch die Branche sendet.

Nun, da Google aktiv versucht hat, Java zu ersetzen, ist es keine Überraschung, dass es von einer Oracle-Klage gebissen wurde. Die Einführung von Kotlin war jedoch etwas unerwartet und es besteht immer noch eine gute Chance, dass Google bald seine virtuelle Maschine herausbringt. Vorerst genießt Kotlin jedoch einen Aufschwung.

Kotlin wurde von JetBrains entwickelt, einem Unternehmen, das besser für seine Suite wahnsinnig guter Code-Editoren bekannt ist. Eine davon, IntelliJ IDEA, bildet das Fundament des Android Studio. Die Designziele von Kotlin sind Sicherheit, Prägnanz und 100% Interoperabilität mit Java.

Vor allem arbeitet der Kotlin-Compiler besonders hart daran, alle in der Java-Welt so häufig vorkommenden Nullzeiger-Ausnahmen zu beseitigen. Es nimmt auch die sprichwörtliche Java-Ausführlichkeit ziemlich stark ab, was für viele eine Erleichterung sein wird.

Hier ist ein wunderbarer Codevergleich zwischen Java und Kotlin:

Bildnachweis: hype.codes

Der Kotlin-Code ist deutlich kürzer und es ist viel weniger kognitive Überlastung zu durchpflügen.

Aber lassen Sie uns eines klarstellen: Kotlin wird Java höchstwahrscheinlich nicht ersetzen, obwohl es schnell zu einem schnellen Favoriten wird. Ich glaube, dass kleine bis mittelgroße Teams in zehn Jahren nicht weiter als Kotlin suchen werden, während große Gruppen Java nur aus alten Gründen weiterhin verwenden werden.

Trotzdem hat Kotlin eine äußerst glänzende Zukunft, da es alles tut, was Java tut, mit Java-Code verschmelzen kann, ohne dass es jemand merkt, und viel angenehmer ist!

5. TypeScript

Gott weiß, ich musste mich für diesen Ort zurückhalten! Alles in mir schrie: „Ulme! Elm! “, Aber egal wie revolutionär seine Ideen sind oder wie göttlich die Syntax ist, Elm muss noch als Mainstream-Alternative für Front-End-Arbeiten angesehen werden. �� Wie auch immer, gehen wir weiter zum Mainstream: TypeScript.

JavaScript ist wie wilde Beeren: hässlich und unangenehm, aber man muss es ertragen, wenn man den Dschungel der Front-End-Entwicklung überleben will. Es wurden viele Versuche unternommen, es zu ersetzen (und höchstwahrscheinlich wird der neue WebAssembly-Standard erfolgreich sein), aber was wirklich die Aufmerksamkeit aller auf sich zog, war die von Microsoft entwickelte Obermenge.

Es gibt hervorragende Chancen, von denen Sie gehört haben Typoskript: Angular war das erste Framework, das es ab Version 2 verwendete, und die Leute nahmen es schnell zur Kenntnis. Dies liegt daran, dass TypeScript der berühmtesten Programmiersprache der Welt einige dringend benötigte und einige fantastische Superkräfte hinzufügt.

Ja, es ist endlich möglich, nativen JavaScript-Code zu schreiben, ohne die Geburt zu leiden und zu verfluchen!

Hier sind die Verbesserungen, die TypeScript in die Tabelle bringt:

✓ Starke Eingabe: Schließlich ist eine Zeichenfolge keine Zahl, und eine Zahl ist kein Objekt, das kein leeres Array ist!

✓ Typprüfung zur Kompilierungszeit: Wenn Ihr Code korrekt kompiliert wird, ist er mehr oder weniger garantiert frei von den Warzen der JavaScript-Laufzeit.

✓ Klassen und Module: Ja, Klassen sind Standard in ES6, aber sie sind neben einem ordentlichen Modulsystem auch in TypeScript enthalten.

✓ Typinferenz: Bei komplexen Typen kann der Compiler den Typ leicht herausfinden, was Ihnen Kopfschmerzen erspart.

✓ Async / warten: Die asynchronen / wartenden Schlüsselwörter und Muster sind von grundlegender Bedeutung, sodass Sie nicht mehr mit Versprechungen und Rückrufen herumspielen müssen!

Namespaces, Generika, Tupel. . . Ich könnte weiter und weiter machen, aber es sollte ausreichen zu sagen, dass TypeScript eine der schlechtesten Entwicklungserfahrungen in eine der besten umwandelt.

TypeScript-Code-Snippet

Die Auswirkungen von TypeScript können nicht geleugnet werden. Es hat ähnliche Versuche wie Googles Dart aus dem Feld gedrängt (obwohl es ein Comeback durch Flutter, ein Framework für die mobile Entwicklung, versucht) und den JS-Entwicklern die Augen für die Vorteile stärkerer Typen geöffnet.

Infolgedessen verfügen wichtige Bibliotheken wie React, D3, Vue (sogar jQuery!) Jetzt über eine TypeScript-Version, und in den besten Software-Shops der Welt wird der gesamte JavaScript-Code als TypeScript-Code geschrieben. TypeScript-Header sind jetzt auch für Node.js verfügbar (ehrlich gesagt, wenn ein Knoten seine Parallelitätsgeschichte verbessern und seine miese Speicherverwaltung patchen kann, hält er für immer).

Sie könnten überrascht sein, dass der Schöpfer von Node.js nach öffentlich Bedauern seine Schöpfung arbeitet an einem neue Laufzeit (Derzeit gibt es keine offizielle Website; nur das GitHub-Repo), dessen Hauptsprache TypeScript ist.

Die besten Nachrichten? TypeScript ist ein kleines Sprache zu lernen mit erheblichen Vorteilen in der Zukunft. Wenn Sie ein fortgeschrittener JavaScript-Entwickler sind, erhalten Sie innerhalb von zwei Tagen genügend TypeScript, um den gesamten vorhandenen Code zu portieren!

Schlussfolgerung und Haftungsausschluss

Bestimmte Sprachen erfreuen sich ebenso großer Beliebtheit wie die in diesem Artikel genannten, wurden jedoch aus verschiedenen Gründen nicht in die Liste aufgenommen. Hier ein kurzer Blick:

  • Golang: Bereits als Mainstream-Sprache etabliert, wenn auch nicht sehr populär. Ich glaube zu diesem Zeitpunkt, dass Golang mehrere Wettbewerber hat, die seinen Marktanteil niedrig halten werden.
  • R: R ist unter Datenwissenschaftlern bereits sehr beliebt und es ist unwahrscheinlich, dass Anwendungsentwickler viel anziehen. Außerdem dürfen wir nicht vergessen, dass Bibliotheken für maschinelles Lernen langsam ihren Weg in alle wichtigen Sprachen finden (um Gottes willen, sogar PHP hat sie jetzt!). Sie müssen also nur einige Zeit warten. ��
  • Swift: Apple hat sein Ökosystem fest im Griff, und Swift ist die einzige Sprache, die dort verfügbar ist. Kein Zweifel, früheres Ziel C war der letzte Schrei, genau wie Swift jetzt. Ich halte es für Betrug und lehne es daher ab, es hier aufzunehmen. ��

Die Zukunft ist immer ungewiss, und eine Möglichkeit, Ihre Karriere fortzusetzen, besteht darin, sich an das zu halten, was bereits funktioniert, und sich zu weigern, „abgelenkt“ zu werden. Wenn Sie das tun, sind Java, PHP, Python, Ruby usw. ausgezeichnete Sprachen, bei denen Sie bleiben können. Für einige von uns reicht die Norm jedoch nicht aus. Sie wollen ausgehen und die Zukunft erkunden und groß wetten. Wenn Sie in das letztere Lager fallen, sollte eine dieser fünf Sprachen ganz oben auf Ihrer To-Do-Liste stehen.

Wenn Sie versuchen, eine Sprache zu bewerten, lassen Sie sich nicht von den damit verbundenen Anstrengungen überwältigen, denn es ist nicht so viel. Wenn Sie bereits einige Programmiersprachen kennen, können Sie diese innerhalb von maximal zwei Monaten lernen, indem Sie 5-6 Stunden pro Woche verbringen. Während das Glück und die monetären Renditen, die in Zukunft generiert werden können, um ein Vielfaches höher sein werden.

Habe ich hier eine kritische Sprache vermisst? Oder habe ich etwas falsches an den hier aufgeführten Sprachen? Wenn ja, bitte, bitte hinterlasse einen Kommentar und hilf mir, mich zu verbessern. ��

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map