In welcher Sprache wird gerade programmiert? Fünf vielversprechende Programmiersprachen mit glänzender Zukunft

Antipyretika für Kinder werden von einem Kinderarzt verschrieben. Aber es gibt Notfallsituationen für Fieber, wenn das Kind sofort Medikamente erhalten muss. Dann übernehmen die Eltern die Verantwortung und nehmen fiebersenkende Medikamente. Was darf Säuglingen gegeben werden? Wie kann man bei älteren Kindern die Temperatur senken? Welche Medikamente sind am sichersten?

  • Übersetzung

Wenn wir Programmiersprachen nach Beliebtheit unterteilen, werden sie in drei Stufen unterteilt. Die erste Stufe umfasst Mainstream-Sprachen wie Java, JavaScript, Python, Ruby, PHP, C#, C++ und Objective-C. Obwohl einige der führenden Sprachen möglicherweise verblassen, sollten Sie besser eine oder mehrere davon beherrschen, wenn Sie in der Lage sein möchten, leicht einen Job zu finden.


Zweitrangige Sprachen versuchen, in den Mainstream einzudringen, haben dies aber noch nicht geschafft. Sie haben sich bewährt, indem sie starke Gemeinschaften geschaffen haben, aber sie werden von den meisten konservativen IT-Unternehmen immer noch nicht verwendet. Scala, Go, Swift, Clojure und Haskell sind die Sprachen, die ich als zweitrangig einstufen würde. Einige Unternehmen verwenden diese Sprachen für einzelne Dienste, aber eine weit verbreitete Akzeptanz ist selten (mit Ausnahme von Swift, das damit beginnt, Objective-C als Hauptsprache für iOS zu überholen). Go und Swift haben gute Chancen, innerhalb der nächsten zwei bis drei Jahre von der zweiten in die erste Liga aufzusteigen.


Die meisten Sprachen der ersten Stufe sind fest in ihren Positionen verwurzelt. Daher nimmt der Verlust einer Sprache aus einer führenden Position viel Zeit in Anspruch, und es ist sehr schwierig für eine Sprache der zweiten Ebene, in die erste einzudringen.


Die vielversprechenden Sprachen in diesem Artikel gehören zur dritten Stufe und beginnen gerade erst ihren Aufstieg. Einige Sprachen bleiben viele Jahre in der dritten Reihe, ohne an Popularität zu gewinnen, während andere in nur wenigen Jahren auf die Bühne platzen. Wie zum Beispiel die Sprachen, die in dem Artikel besprochen werden.

Vielversprechende Sprachen: Warum diese fünf?

Die fünf Programmiersprachen, die besprochen werden, sind sehr neu (es ist möglich, dass Sie von einigen zum ersten Mal hören werden), und sie haben eindeutig hervorragende Chancen, in den nächsten 2-3 Jahren in die zweite Stufe vorzudringen. Vielleicht kann eine dieser Sprachen eines Tages die Sprachen der ersten Staffel drücken.


Deshalb wurden diese fünf Sprachen für diese Liste ausgewählt:


Elm gewinnt in der JavaScript-Community an Popularität, vor allem bei denen, die funktionale Programmierung bevorzugen, die auf dem Vormarsch ist. Wie TypeScript oder Dart wird Elm in JavaScript transpiliert.


Rust ist eine Systemprogrammiersprache, die hauptsächlich für Nischen gedacht ist, die C und C++ verwenden. Daher ist es überraschend zu sehen, dass die Popularität dieser Sprache unter Webentwicklern schneller wächst. Diese Tatsache macht mehr Sinn, wenn man herausfindet, dass die Sprache von Mozilla entwickelt wurde, der Webentwicklern, die Low-Level-Code schreiben müssen, eine bessere Option bieten und gleichzeitig leistungsfähiger sein wollte als PHP, Ruby, Python oder Javascript. Rust wurde auch in der StackOverflow-Entwicklerumfrage 2016 zur besten „beliebtesten Technologie“ gewählt (was bedeutet, dass die meisten Benutzer die Sprache gerne weiter verwenden würden).


Kotlin gibt es seit ungefähr fünf Jahren, aber erst in diesem Jahr erreichte es die produktionsreife Version 1.0. Obwohl es noch nicht die Popularität von Scala, Groovy oder Clojure erreicht hat – den drei beliebtesten und ausgereiftesten (ohne Java) Sprachen unter der JVM – hebt es sich von vielen anderen JVM-Sprachen ab und scheint bereit zu sein, seinen Platz einzunehmen unter den Führern dieser Gruppe. . Die Sprache hat ihren Ursprung in JetBrains (Schöpfer der beliebten IntelliJ IDEA IDE). Es ist also mit einem Fokus auf Entwicklerproduktivität konzipiert.


Crystal ist eine weitere Sprache, die hofft, Programmleistung auf C-Niveau in die High-Level-Welt der Webentwickler zu bringen. Crystal richtet sich an die Ruby-Community, weil seine Syntax ist ähnlich und manchmal identisch mit Ruby. Die bereits große Anzahl von Ruby-Startups wächst weiter, und Crystal kann eine Schlüsselrolle dabei spielen, die Leistung dieser Anwendungen auf die nächste Stufe zu heben.


Elixir ließ sich auch vom Ruby-Ökosystem inspirieren, aber anstatt zu versuchen, C-ähnliche Vorteile zu bringen, konzentriert es sich auf den Aufbau von hochgradig zugänglichen, reaktionsschnellen Systemen, d.h. was Kritiker sagen, damit hat Rails Probleme. Elixir erreicht diese Vorteile mit Erlang VM, das einen soliden Ruf genießt, der auf über 25 Jahren Erfolg in der Telekommunikationsbranche basiert. Phoenix (das Web-Framework für Elixir) verleiht dieser Sprache zusammen mit einem großen und florierenden Ökosystem einen zusätzlichen Reiz.


Schauen Sie sich nun an, wie vier dieser fünf Sprachen die Beliebtheitsleiter erklimmen (basierend auf StackOverflow- und GitHub-Daten):




Jede dieser Sprachen verfügt über eine leidenschaftliche Community und einen eigenen wöchentlichen Newsletter. Wenn Sie darüber nachdenken, eine junge Sprache mit aufregenden Möglichkeiten für die Zukunft zu lernen, lesen Sie die kurzen Präsentationen für jede dieser fünf Sprachen, die von erfahrenen Enthusiasten und Führungskräften in ihren jeweiligen Ökosystemen geschrieben wurden.

Ulme

Elm ist eine auf Benutzerfreundlichkeit ausgerichtete funktionale Programmiersprache, die zu leistungsstarkem JavaScript-Code kompiliert wird. Sie können es verwenden, auch in Verbindung mit JavaScript, um Benutzeroberflächen im Web zu erstellen. Die Hauptvorteile von Elm gegenüber JavaScript sind Zuverlässigkeit, Wartungsfreundlichkeit und ein Fokus auf unterhaltsames Programmieren. Spezifischer:

  • Keine Laufzeitausnahmen: Elm Code hat einen guten Ruf niemals Ausnahmen zur Laufzeit auslösen. Überhaupt nicht wie "undefiniert ist keine Funktion".
  • Der legendäre gnädige Compiler: Elm-Compiler oft loben für die hilfreichsten Fehlerberichte unter den Mitbewerbern. "Wenn es kompiliert, funktioniert es normalerweise einfach" ist eine weit verbreitete Meinung, selbst nach umfangreichen Refactorings. Dadurch sind große Elm-Projekte viel einfacher zu warten als vergleichbare JS-Projekte.
  • Semantische Versionierung: elm-package erzwingt semantische Versionen automatisch. Wenn der Paketautor versucht, API Breaking Changes vorzunehmen, ohne die Hauptversionsnummer zu erhöhen, erkennt elm-package dies und verweigert die Veröffentlichung neue Version Paket. Kein anderer bekannter Paketmanager erzwingt so zuverlässig semantische Versionierung.
  • Schnell und funktional: Elm ist eine rein funktionale Sprache, die garantiert keine Mutationen oder Nebenwirkungen hat. Dies bietet nicht nur eine hervorragende Skalierbarkeit für Elm-Code, sondern trägt auch dazu bei, dass die Benutzeroberfläche der Anwendung schneller gerendert wird als React, Angular oder Ember .
  • Leistungsstarke Werkzeuge: elm-format formatiert den Quellcode nach dem Community-Standard. Kein Streit mehr über Codierungskonventionen. Klicken Sie einfach auf die Schaltfläche "Speichern" in Ihrem Editor und Ihr Code wird schön. elm-test wird mit Batterien geliefert, um sowohl Komponententests als auch zufällige Tests zu unterstützen. Mit elm-css können Sie Elm-Code schreiben, der in eine CSS-Datei kompiliert wird, sodass Sie Code zwischen Ihrer Anwendung und Stylesheets austauschen können, um sicherzustellen, dass Ihre Konstanten nie aus der Synchronisierung geraten.

Elm-Code kann auch mit JavaScript interagieren. Das heißt, Sie können es in kleinen Dosen in Ihren JS-Code injizieren und trotzdem das riesige JS-Ökosystem nutzen, ohne das Rad neu zu erfinden.

Kotlin

Kotlin ist eine statisch typisierte Sprache, die sich auf die JVM und JavaScript konzentriert. Kotlin entstand aus der Notwendigkeit von JetBrains heraus, das nach einer neuen Sprache suchte, um sein Toolkit (das hauptsächlich in Java geschrieben war) zu entwickeln. Etwas, das es ihnen ermöglichen würde, die vorhandene Codebasis zu verwenden und gleichzeitig einige der Probleme zu lösen, die Java hatte. Und es sind die Lösungen für diese häufigen Fallstricke, die beim Schreiben von Software auftreten, die viele der Eigenschaften von Kotlin definiert haben.

  • Prägnanz: Reduzieren Sie die Menge an Boilerplate-Code, der zum Ausdrücken bestimmter Konstrukte erforderlich ist.
  • Vielseitigkeit: Erstellen Sie eine Sprache, die für jede Art von industrieller Anwendung geeignet ist, sei es Web, mobile Entwicklung, Desktop- oder Serveranwendungen.
  • Sicherheit: Lassen Sie die Sprache einige der häufigsten Fallstricke im Zusammenhang mit Problemen wie Nullreferenzausnahmen behandeln.
  • Interaktion: Erlauben Sie der Sprache, mit bestehenden Java-Codebasen, -Bibliotheken und -Frameworks zu interagieren, was eine schrittweise Einführung ermöglicht und von bereits getätigten Investitionen profitiert.
  • Werkzeug: JetBrains stellt Tools her und stellt sie auf der Grundlage der Überzeugung her, dass viele Routineaufgaben automatisiert werden können und zu einer effizienteren und produktiveren Entwicklung führen. Daher sollte die Sprache die Verwendung von Hilfswerkzeugen problemlos ermöglichen.

Kotlin war und wird sich immer auf Pragmatismus konzentrieren - auf der Suche nach häufigen Problemen, auf die wir beim Schreiben von Code häufig stoßen, und dem Versuch, sie zu lösen. Dieser zieht sich wie ein roter Faden durch diverse Sprachfeatures, wie zum Beispiel:

  • Standardmäßig nullsicher: Kotlin-Typen sind standardmäßig nicht nullfähig, wodurch lästige Nullverweis-/Zeigerausnahmen vermieden werden.
  • Erstklassige Delegation: die Fähigkeit, die Funktionalität eines Klassenmitglieds an eine externe Funktion zu delegieren, was die Wiederverwendung erleichtert und die Zusammensetzung verbessert.
  • Vereinbarungen: eine Reihe von Konventionen, die es Ihnen ermöglichen, ausdrucksstarken Code zu schreiben, was den Weg für eine stark typisierte DSL ebnet, die die Lesbarkeit verbessert und das Refactoring vereinfacht.
    html ( head ( title (+"XML-Kodierung mit Kotlin") ) body ( p ( + "This is some HTML") ) )

Kotlin 1.0 wurde im Februar 2016 nach mehr als fünf Jahren Entwicklung und umfangreichen Tests in realen Projekten veröffentlicht. Derzeit verwenden über zehn JetBrains-Produkte Kotlin. Es wird auch von Unternehmen wie Amex, NBC Digital, Expedia und Gradle verwendet.


Weitere Informationen finden Sie unter kotlinlang.org


Dieser Abschnitt wurde geschrieben

1. Bei der Auswahl einer Programmiersprache für ein Projekt hat man die Wahl zwischen zwei Seiten – ein altes bewährtes Tool zu wählen oder eine neue, schöne, funktionale, aber wenig erprobte und daher unzuverlässige Sprache. Was ist das Klügste, was man in dieser Situation tun kann? Was sind die Risiken jeder Entscheidung und wie geht man damit um?

Igor Silberg, SmartHead
Es ist notwendig, Werkzeuge entsprechend der Angemessenheit der Aufgabe und der Anwesenheit eines erfahrenen Teams auszuwählen, das mit den ausgewählten Werkzeugen vertraut ist. Risiken bei der Arbeit mit neuen Tools werden durch Recherche, die Erstellung von Proof of Concepts und die Einbindung erfahrener Berater minimiert. Neue Technologien sollten ständig erforscht, aber nur dann angewendet werden, wenn sie für eine bestimmte Aufgabe besser geeignet sind.

Alexander Makarchuk, qb
Für die Wirtschaft existiert das Konzept einer „schönen Sprache“ nicht. Auf eine neue ungetestete Sprache können Sie nur dann setzen, wenn sie dem Projekt garantiert einen besonderen USP verleiht, den Kunden spüren und vor allem dafür bezahlen wollen. Wenn diese Bedingung erfüllt ist, können Sie eine neue Sprache wählen, müssen aber alle damit verbundenen Risiken in Kauf nehmen.

Grigori Nikonow, Actis Wundermann
Natürlich hängt es vom Projekt und der Reife der Sprache selbst ab. Wenn es das Projekt zulässt oder die Verwendung der Sprache eine notwendige Bedingung ist und die notwendigen Fachbibliotheken vorhanden sind, dann ist es durchaus möglich, das Experiment zuzulassen. Die Risiken liegen auf der Hand: „Fallstricke“, über die man auf halber Strecke stolpern kann. Auch die Minimierung dieser Risiken liegt auf der Hand: Recherchieren Sie nach Möglichkeit vor Projektstart und sorgen Sie zumindest für aktive Unterstützung der Sprache in den Foren oder beim Hersteller.

, ADV
In dieser Angelegenheit hängt alles vom Zeitplan und Budget des Projekts ab. Wenn beide sehr begrenzt sind, dann ist jede Forschung nicht gerechtfertigt und kann große Probleme bringen, bis hin zum völligen Scheitern des Projekts.

Alexej Fjodorow, "Klassenkameraden"
Die Antwort hängt stark davon ab, wie lange das Projekt dauern wird. Wenn es sich um ein kleines individuelles Projekt handelt, das schnell erledigt, übergeben und vergessen werden muss, dann können Sie wählen, was Sie wollen. Wenn es sich um ein jahrelanges Großprojekt handelt, ist es besser, bewährte Technologien zu wählen, für die Sie die Anzahl an Spezialisten einstellen können, die Sie benötigen. Um abzuschätzen, wie viele Spezialisten für eine bestimmte Technologie in Ihrer Region sind, reicht es aus, einen vernünftigen Dienst zu nutzen, zum Beispiel LinkedIn oder HeadHunter. Und dann müssen Sie sich die nicht-funktionalen Anforderungen ansehen: Auslastung, Sicherheit, Fehlertoleranz usw.

2. Was sind die wesentlichen Faktoren, die garantieren, dass die Sprache in der Produktion verwendet werden kann und soll?

Igor Silberg, SmartHead
Niemand und nichts gibt Garantien in dieser Welt. Wir verlassen uns auf unsere Erfahrung und gemeinsame Best Practices.

Alexander Makarchuk, qb
Es gibt drei Hauptmerkmale, die darauf hinweisen, dass die Verwendung einer bestimmten Sprache profitabel und sicher ist. Erstens das Vorhandensein einer "lebenden" Community in dieser Sprache, zweitens das Vorhandensein erfolgreicher Fälle und drittens die Unterstützung der Sprache durch große Anbieter.

Grigori Nikonow, Actis Wundermann
Das Vorhandensein von "ausgereiften" Fachbibliotheken und Frameworks, eine aktive Online-Community, die Ratschläge zur Lösung von Problemen anbietet, das Fehlen negativer Bewertungen über die Stabilität und Leistung der endgültigen Anwendung.

Alexey Persianov, Mikhail Parfenyuk, ADV
Faktoren sind die Community einer bestimmten Sprache, die Anzahl der implementierten Projekte, die Anzahl der Entwickler und so weiter. Die Produktionsfreigabe eines Produkts in einer neuen und rohen Sprache verbirgt große Probleme mit dem Support.

Alexej Fjodorow, "Klassenkameraden"
Eine formelle Garantie kann nur durch einen Vertrag unterstützt werden. Wenn es einen seriösen Anbieter gibt (z. B. Oracle, SAP, IBM), der z. B. den Support seiner Technologie für die nächsten 10 Jahre garantiert und mit diesem Anbieter ein entsprechender Supportvertrag abgeschlossen wurde, dann grundsätzlich , können Sie dies als eine Art Garantie betrachten . Das Problem ist, dass es normalerweise sehr teuer ist und die Qualität des Supports von großen Anbietern normalerweise ekelhaft ist.

Daher in der Welt letzten Jahrenübernahm eine andere Praxis - Open Source. Wenn Sie ein Open-Source-Tool (Sprache, Framework, Datenbank oder was auch immer) mit Open-Source-Code haben, dann gibt Ihnen dies eine gewisse Garantie, dass Sie, wenn plötzlich ein Fehler in diesem Tool gefunden wird, diesen Fehler im Extremfall mit Ihrem beheben können Eigene Ressourcen Hände. Diese Eigenschaft von Open-Source-Lösungen betrachte ich als den Schlüssel zum heutigen Geschäft.

3. Wie soll man sich verhalten, wenn ein Entwickler oder sogar mehrere Entwickler eine Änderung der Programmiersprache vorschlagen, aber die Situation zeigt, dass ihre Begeisterung nicht durch angemessene Geschäftsanforderungen für die Technologie unterstützt wird?

Igor Silberg, SmartHead
Entwickler stellen keine geschäftlichen Anforderungen. Unternehmen bieten sie an. Das Geschäft hängt jedoch von der Qualität des Codes ab, den die Entwickler schreiben. Wenn also Entwickler eine Technologie einsetzen wollen, die eindeutig nicht zur Lösung eines Geschäftsproblems geeignet ist, dann müssen die Entwickler entweder überzeugt oder gewechselt werden. Ein angemessener und erfahrener Entwickler ist in der Lage, Geschäftsanforderungen zu verstehen und die am besten geeignete Lösung darauf anzuwenden. Solche Probleme hatten wir nicht. In unserer Praxis passiert häufiger das Gegenteil: Der Kunde beeinflusst die Wahl der Technologie, anstatt Geschäftsanforderungen zu formulieren (oft zu Lasten der Umsetzung eigener Anforderungen).

Alexander Makarchuk, qb
Wenn der Übergang zu einer neuen Sprache nicht durch handfeste Argumente unterstützt wird und keine ernsthaften Vorteile für das Projekt verspricht, ist er nicht erforderlich. Aber das muss den Entwicklern natürlich erklärt werden, damit das Team nicht den Eindruck bekommt, dass sie nicht darauf hören.

Grigori Nikonow, Actis Wundermann
Halten Sie an einer konservativen Politik fest und ändern Sie die Sprache nicht ohne guten Grund. Es wird immer ein anderes Projekt geben, um eine neue Sprache auszuprobieren.

Alexey Persianov, Mikhail Parfenyuk, ADV
Sie können den Entwicklern nur bei einem internen Projekt entgegenkommen oder wenn es darum geht, das Team zu schulen. In diesem Fall sind die Risiken eines Scheiterns gering, und im Falle eines Scheiterns werden nützliche Erfahrungen an die Zukunft weitergegeben. Andernfalls wird das Unternehmen den Perfektionismus der Entwickler nicht zu schätzen wissen.

Alexej Fjodorow, "Klassenkameraden"
Zunächst sollte man sich fragen, was die Begründung für die Idee ist, die Sprache zu ändern. Was wird es geben? Was sind die Vor- und was die Nachteile? Wie hoch sind die Kosten für einen solchen Übergang und wie ist der Zeitrahmen? Was sind die Risiken?

Wenn die Antworten, die Sie erhalten, aus geschäftlicher Sicht zu Ihnen passen, fahren Sie fort. Wenn Sie nicht zufrieden sind, müssen Sie versuchen, den Entwicklern die Gründe für die Ablehnung mitzuteilen.

4. Wann lohnt sich der Wechsel von einer Sprache in eine andere?

Igor Silberg, SmartHead
Die Kosten für den Plattformwechsel und der damit verbundene Nutzen sind außerhalb des Projektkontextes nicht abschätzbar. Eine solche Entscheidung kann nur auf der Grundlage einer bewussten Herangehensweise innerhalb eines bestimmten Projekts getroffen werden und nicht auf der Grundlage irgendwelcher "allgemeinen" Meinungen oder Regeln.

Alexander Makarchuk, qb
Wenn dies zu einem greifbaren Gewinn führt, sowohl direkt als auch indirekt, da ein neuer USP im Projekt entsteht, der das Produkt wettbewerbsfähiger macht.

Grigori Nikonow, Actis Wundermann
Für den Fall, dass die Verwendung einer neuen Sprache es Ihnen ermöglicht, die gesamte Lebenskette des Fachgebiets erheblich zu optimieren: vom Entwurf, der Entwicklung und dem Testen einer Anwendung bis zur Implementierung und anschließenden Aktualisierungen und Verbesserungen aufgrund der Eigenschaften der Sprache und des umgebenden Ökosystems es.

Alexey Persianov, Mikhail Parfenyuk, ADV
Wenn die Sprachförderung eingestellt wird und gleichzeitig die Zahl der Spezialisten auf dem Markt gegen Null tendiert. Oder wenn Sie das alte Team ohne die Fähigkeit, Technologie zu speichern, vollständig verlieren. Wenn der Gewinn aus der Sprache größer sein wird als die Kosten ihres Übergangs.

Alexej Fjodorow, "Klassenkameraden"
Wenn Sie und Ihre Kollegen klare Antworten auf die obigen Fragen haben.

5. Glauben Sie, dass es eine etablierte Trennung der Verwendung von Sprachen für bestimmte Aufgaben gibt? Wenn ja, wie genau siehst du das? Kann eine Sprache erscheinen oder bereits existieren, die die Situation ändert und die meisten Entwickler überwältigt?

Igor Silberg, SmartHead
Natürlich gibt es einige typische Anwendungen für verschiedene Plattformen (nicht Sprachen). Zum Beispiel Java und .NET für relativ große Geschäftsanwendungen oder -dienste. Node.js für Multithreading und Messaging. Nicht alles auflisten. Allerdings sind diese Grenzen sehr, sehr fließend und auch von der Region abhängig. In den USA zum Beispiel ein etwas anderes Nutzungserlebnis, „Mode“ und typische Einsatzgebiete von Plattformen als bei uns.

Alexander Makarchuk, qb
Einerseits gibt es eine etablierte Sprachaufteilung nach Anwendung, andererseits sind regionale und preisliche Faktoren durchaus wichtig: die Kosten für den Einstieg in die Technologie, den Support usw. Im Hinblick auf das Aufkommen neuer Sprachen muss hier auf so etwas hingewiesen werden. In den letzten Jahren ist das Kommunikationsniveau erheblich gewachsen, und die Programmiersprachen sind eigentlich immer noch dieselben. Vielleicht ist es die nächste Revolution im Kommunikationsbereich, die völlig neue Entwicklungstechnologien mit sich bringt.

Grigori Nikonow, Actis Wundermann
Grundsätzlich gibt es eine solche Aufteilung: C und C++ werden traditionell für Low-Level-Entwicklung verwendet, Java und C# gelten als Allzwecksprachen, die sich für ein breites Aufgabenspektrum von Geschäftslogik bis hin zu mobilen Anwendungen eignen. Python, Ruby und PHP zielen hauptsächlich auf die Webentwicklung ab, JavaScript auf Browseranwendungen. Ich glaube nicht, dass es in diesem Bereich drastische Änderungen geben wird, obwohl sich die Mode für Sprachen und Frameworks manchmal ändert – jetzt beginnt beispielsweise die Go-Sprache an Popularität zu gewinnen.

Alexey Persianov, Mikhail Parfenyuk, ADV
Ja. Einige Dinge sind aufgrund der Arbeitsgeschwindigkeit und Benutzerfreundlichkeit in verschiedenen Sprachen besser implementiert, z. B. in PHP-Projekten, aufgrund der "Langsamkeit" der Sprache, können Sie einen Chat in Node oder einen Aggregator in Java implementieren - Das Ergebnis wird besser sein.

Jedes Jahr erhält jede neue Sprache die Lorbeeren der „Besten“ und zieht Entwickler an, aber bisher sind die Positionen bewährter Sprachen wohl unerschütterlich. In Zukunft ist alles möglich.

Alexej Fjodorow, "Klassenkameraden"
Die meisten uns bekannten modernen Programmiersprachen sind multifunktional, das heißt, sie können sehr unterschiedliche Entscheidungen treffen.

Was eine neue Sprache betrifft - ja, eine solche Sprache kann erscheinen, aber aufgrund der ziemlich starken Trägheit der Branche glaube ich nicht, dass in den nächsten 5 Jahren jemand Java und C / C ++ vom Sockel stoßen wird. Wenn Sie sich für eine Art „Pferd“ entscheiden, würde ich auf JavaScript setzen. Heute sehen wir ein enormes Wachstum in der Branche in allem, was mit JavaScript zu tun hat. Gerüste werden wie Pilze nach dem Regen geboren. Der Hype im Internet um diese Technologie ist riesig. Mal sehen, wohin das alles führt.

6. Muss ein Programmierer DevOps sein (die Fähigkeiten eines Programmierers und Systemadministrators besitzen)? Was tun damit, dass die meisten Programmierer sich weigern, in diesem Bereich Kompetenzen aufzubauen und Verantwortung zu tragen?

Alexey Persianov, Mikhail Parfenyuk, ADV
Um die Umgebung zu konfigurieren, nutzen sie normalerweise die Dienste eines Systemadministrators. Aber wahrscheinlich ist es sinnvoll, dass die Person, die den Code schreibt, in der Lage sein sollte, die Site für die optimale Ausführung dieses Codes einzurichten. Das spart Zeit und Kosten.

7. Sollten Sie Microservices in Ihren Projekten verwenden?

Alexey Persianov, Mikhail Parfenyuk, ADV
Es gibt keine endgültige Antwort, aber unsere Antwort ist ja. Natürlich können sie viele Probleme hinzufügen, aber sie werden auch helfen, viele zu lösen. Dank Microservices können beispielsweise verschiedene Teile der Anwendung in verschiedenen Programmiersprachen geschrieben werden, es ist möglich, die geladenen Teile der Anwendung zu skalieren usw.

8. Sollte ein Entwickler in der Lage sein, mit einer breiten Palette moderner Webtechnologien und -sprachen zu arbeiten?

Alexey Persianov, Mikhail Parfenyuk, ADV
In den letzten Jahren hat das Frontend einen riesigen Durchbruch geschafft, während die Entwicklung bei serverseitigen Sprachen nicht so auffällig ist. Der Entwickler muss natürlich die Grundlagen verwandter Bereiche kennen, aber es ist unmöglich, ein Guru in Serversprachen und Clientsprachen zu sein, jeder muss sein eigenes Ding machen und ein echter Profi darin sein.

Titel des Berichts

Moderne Programmiersprachen und ihre Verwendung

Projektautor

Projektstruktur

● Klassifizierungsschema der Programmiersprache

● Klassifizierung von Programmiersprachen

● Übersicht Programmiersprachen

● Nützliche Ressourcen

Klassifizierungsschema für Programmiersprachen

Klassifizierung von Programmiersprachen

Verfahrensprogrammierung- spiegelt die von-Neumann-Architektur des Computers wider. Ein in einer prozeduralen Sprache geschriebenes Programm ist eine Folge von Befehlen, die einen Algorithmus zur Lösung eines Problems definieren. Die Grundidee der prozeduralen Programmierung ist die Verwendung von Arbeitsspeicher zum Speichern von Daten. Der Hauptbefehl ist die Zuweisung, mit deren Hilfe der Speicher des Computers ermittelt und verändert wird. Das Programm konvertiert den Inhalt des Speichers und ändert ihn vom Anfangszustand in den resultierenden.

Es gibt solche Sprachen der prozeduralen Programmierung:

 Die Fortran-Sprache wurde in den frühen 50er Jahren des 20. Jahrhunderts zur Programmierung wissenschaftlicher und technischer Probleme entwickelt;

 Cobol – gegründet in den späten 60er Jahren des 20. Jahrhunderts, um die Probleme bei der Verarbeitung großer Datenmengen zu lösen, die auf verschiedenen Datenträgern gespeichert sind;

 Algol (1960) ist eine fortgeschrittene Mehrzweck-Programmiersprache. Es führte zum ersten Mal die Konzepte "Programmblockstruktur" und "dynamische Speicherzuordnung" ein;

 Mitte der 60er Jahre des 20. Jahrhunderts wurde eine spezialisierte Programmiersprache für Anfänger geschaffen - BASIC. Es zeichnet sich durch eine einfache Entwicklung und die Verfügbarkeit universeller Werkzeuge zur Lösung wissenschaftlicher, technischer und wirtschaftlicher Probleme sowie von Aufgaben, z. B. Spielen, aus.

Alle oben aufgeführten Sprachen konzentrierten sich auf verschiedene Klassen von Problemen, waren jedoch bis zu einem gewissen Grad an eine bestimmte Computerarchitektur gebunden.

 1963-1966 wurde die universelle Mehrzwecksprache PL-1 entwickelt. Diese Sprache eignet sich gut für das Studium und die Planung von Rechenprozessen, die Modellierung, das Lösen logischer Probleme und die Entwicklung von Softwaresystemen.

 Die Pascal-Sprache (PASCAL) (1968-1971) ist die beliebteste prozedurale Programmiersprache für PCs, die immer noch erfolgreich verwendet wird. Die Pascal-Sprache basiert auf der Herangehensweise von der allgemeinen Aufgabe an die spezifische (einfacher und kleiner). Zu den Hauptprinzipien von Pascal gehören: a) Strukturelle Programmierung, die auf der Verwendung von Subroutinen und unabhängigen Datenstrukturen basiert; b) Top-down-Programmierung, wenn die Aufgabe in einfache, unabhängig voneinander zu lösende Aufgaben aufgeteilt wird. Dann wird die Lösung des ursprünglichen Problems vollständig von oben nach unten aufgebaut.

 Zu den prozeduralen Programmiersprachen gehört die Sprache ADA (1979), benannt nach der ersten Programmiererin, Ada Lovelace, Byrons Tochter. Es zeichnet sich durch Modularität der Designs aus.

 Die Sprache C (Anfang 70er Jahre) gehört ebenfalls zu den prozeduralen Programmiersprachen. Seine ursprüngliche Version war als Sprache für die Implementierung geplant Betriebssystem Unix statt Assemblersprache. Eines der Merkmale der Sprache C ist, dass die Unterschiede zwischen Ausdrücken und Anweisungen geglättet werden, was sie funktionalen Programmiersprachen näher bringt. Außerdem hat die C-Sprache kein Konzept einer Prozedur, und die Verwendung von Unterprogrammen basiert auf dem Konzept einer Funktion, die die Fähigkeiten einer Prozedur kombinieren kann. Einerseits ist sie nach der Menge der Kontrollstrukturen und Datenstrukturen als Hochsprache einzustufen, andererseits verfügt sie über eine Reihe von Werkzeugen für den direkten Zugriff auf die Funktionseinheiten eines Computers, was bedeutet, dass es als Betriebssprache verwendet werden kann.

Objektorientierte Programmierung (OOP) ist eine Programmiermethode, bei der die Hauptelemente von Programmen Objekte sind. In Programmiersprachen wird das Konzept eines Objekts als eine Reihe von Eigenschaften (Datenstrukturen, die für ein bestimmtes Objekt spezifisch sind), Methoden zu ihrer Verarbeitung (Unterroutinen zum Ändern ihrer Eigenschaften) und Ereignissen implementiert, auf die ein bestimmtes Objekt reagieren kann und die z in der Regel zu einer Änderung der Eigenschaften des Objekts führen. Die Zusammenfassung von Daten und deren Verarbeitungsprozessen in einem Objekt wird als Kapselung bezeichnet und ist eines der wichtigsten Prinzipien von OOP.

Ein weiteres grundlegendes Konzept ist die Klasse. Eine Klasse ist eine Vorlage, aus der ein bestimmtes Programmobjekt erstellt werden kann, sie beschreibt die Eigenschaften und Methoden, die das Verhalten von Objekten dieser Klasse bestimmen. Jedes spezifische Objekt, das die Struktur dieser Klasse hat, wird als Instanz der Klasse bezeichnet.

Die zweitwichtigsten Prinzipien von OOP sind Vererbung und Polymorphismus. Die Vererbung sorgt für die Erstellung neuer Klassen auf der Grundlage bestehender Klassen und ermöglicht es der Nachkommenklasse, alle Eigenschaften der Elternklasse zu haben (zu erben).

Polymorphismus bedeutet, dass geborene Objekte Informationen darüber haben, welche Methoden sie verwenden sollten, je nachdem, wo sie sich in der Kette befinden.

Ein weiteres wichtiges Prinzip von OOP ist die Modularität – Objekte enthalten eine vollständige Definition ihrer Eigenschaften, keine Definitionen von Methoden und Eigenschaften sollten sich außerhalb davon befinden, dies ermöglicht es, ein Objekt frei zu kopieren und in andere zu implementieren.

Die modernsten Programmiersprachen sind C++ und Java. Seit Mitte der 1990er Jahre wurden viele objektorientierte Sprachen als visuelle Designsysteme implementiert, bei denen der Schnittstellenteil eines Softwareprodukts interaktiv erstellt wird, mit wenig oder keinem Schreiben von Programmanweisungen. Zu den objektorientierten visuellen Designsystemen gehören Visual Basic, Delphi, C++ Builder, Visual C++. Die VBA-Sprache (Visual Basic for Application) ist die Sprache der Microsoft Office-Anwendungen (Excel, Word, Power Point usw.). VBA folgt der grundlegenden Syntax der Sprache und den Regeln der Programmiersprachen Basic - Dialekte, ermöglicht es Ihnen, Makros zu erstellen, um die Ausführung bestimmter Operationen zu automatisieren und GUI Benutzer, Integration zwischen verschiedenen Softwareprodukten.

Deklarative Programmiersprachen

Dazu gehören funktionale und logische Programmiersprachen. Funktionale Programmierung ist eine Art, Programme zu schreiben, bei denen die einzige Aktion darin besteht, eine Funktion aufzurufen. Die funktionale Programmierung verwendet keinen Speicher als Ort zum Speichern von Daten und verwendet daher keine Zwischenvariablen, Zuweisungsanweisungen und Schleifen. Das Schlüsselkonzept in funktionalen Sprachen ist der Ausdruck. Ein in einer funktionalen Sprache geschriebenes Programm ist eine Folge von Beschreibungen von Funktionen und Ausdrücken. Der Ausdruck wird berechnet, indem das Komplexe auf das Einfache reduziert wird. Alle Ausdrücke werden als Listen geschrieben. Lisp (LISP, LIST Processing) wurde 1959 als erste Sprache geschaffen. Mit dieser Sprache können Sie große Mengen an Textinformationen verarbeiten. Logikprogrammierung ist Programmierung in Bezug auf Logik. 1973 wurde die künstliche Intelligenzsprache Prolog (PROLOG) (Programming in Logic) geschaffen. Ein Prolog-Programm wird aus einer Folge von Fakten und Regeln aufgebaut, dann wird eine Aussage formuliert, die Prolog mit Hilfe der Regeln zu beweisen versucht. Die Sprache selbst sucht mit den darin eingebetteten Such- und Matching-Methoden nach einer Lösung. Logikprogramme sind nicht sehr schnell, da der Prozess ihrer Ausführung auf die Konstruktion direkter und umgekehrter Argumentationsketten durch verschiedene Suchmethoden reduziert wird.

Übersicht Programmiersprachen

Monteur

Computerprogrammiersprachen werden in 2 Hauptgruppen unterteilt:

1) Low-Level-Sprachen;

2) Hochsprachen.

Assemblersprachen sind Low-Level-Sprachen. Sie haben ihren Namen vom Namen des Assembler-Systemprogramms, das in solchen Sprachen geschriebene Quellprogramme direkt in Maschinenbefehlscodes umwandelt. Die Teile sind hier Anweisungen, und das Ergebnis der Assemblierung stellt eine Folge von Maschinenbefehlen dar. Die Assemblersprache kombiniert die Vorteile einer Maschinenbefehlssprache und einige Merkmale von Hochsprachen. Der Assembler bietet die Möglichkeit, symbolische Namen im Quellprogramm zu verwenden und erspart dem Programmierer die mühsame Arbeit (die beim Programmieren in der Sprache der Maschinenbefehle unvermeidlich ist) beim Zuordnen von Computerspeicher für Befehle, Variablen und Konstanten.

Der Assembler ermöglicht die gleiche Flexibilität und volle Nutzung der technischen Möglichkeiten des Computers sowie der Sprache der Maschinenbefehle. Der Assembler-Quellübersetzer ist einfacher als der Compiler, der für eine höhere Programmiersprache erforderlich ist. Es ist möglich, ein Programm in Assemblersprache zu schreiben, das in Bezug auf Größe und Ausführungszeit so effizient ist wie ein Programm in Maschinensprache. Dieser Vorteil fehlt in Hochsprachen. Diese Sprache wird häufig zur Programmierung von Echtzeitsystemen, technologischen Prozessen und Geräten verwendet, um den Betrieb von Informations- und Messsystemen sicherzustellen. Solche Systeme haben normalerweise hohe Anforderungen an den belegten Maschinenspeicher. Häufig wird die Assemblersprache durch die Bildung von Makros ergänzt, die jeweils einer ganzen Gruppe von Maschinenbefehlen entsprechen. Eine solche Sprache wird Makro-Assembler-Sprache genannt. Die Verwendung von poppigen „Bausteinen“ bringt die Assemblersprache näher an eine Hochsprache heran. Assembler ist eine maschinenabhängige Sprache, d. h. sie spiegelt die Architekturmerkmale eines bestimmten Computertyps wider

Paskal

Die Programmiersprache Pascal wurde 1968 von Nicholas Wirth, Professor am Departement Informatik der Eidgenössischen Technischen Hochschule, als Alternative zu bestehenden und immer komplexer werdenden Programmiersprachen wie PL/1, Algol, Fortran entwickelt. Die intensive Entwicklung von Pascal führte bereits 1973 zum Erscheinen seines Standards in Form einer überarbeiteten Nachricht, und die Zahl der Übersetzer aus dieser Sprache im Jahr 1979 überstieg 80. In den frühen 80er Jahren stärkte Pascal seine Position weiter mit dem Aufkommen von MS-Pascal und Turbo-Übersetzer -Pascal für PC. Seitdem hat sich Pascal zu einer der wichtigsten und am weitesten verbreiteten Programmiersprachen entwickelt. Wesentlich ist, dass die Sprache längst den Rahmen des akademischen und eng beruflichen Interesses überschritten hat und an den meisten Universitäten hochentwickelter Länder nicht nur als Arbeitsmittel für den Benutzer verwendet wird. Das wichtigste Merkmal von Pascal ist die verkörperte Idee der strukturierten Programmierung. Ein weiteres wesentliches Merkmal ist das Konzept der Datenstruktur als eines der grundlegenden Konzepte.

Die Hauptgründe für die Popularität von Pascal sind folgende:

Die Einfachheit der Sprache ermöglicht es Ihnen, sie schnell zu beherrschen und algorithmisch komplexe Programme zu erstellen.

Entwickelte Mittel zum Darstellen von Datenstrukturen bieten die Bequemlichkeit, sowohl mit numerischen als auch symbolischen und Bit-Informationen zu arbeiten

Das Vorhandensein spezieller Methoden zum Erstellen von Compilern aus Pascal vereinfachte ihre Entwicklung und trug zur weiten Verbreitung der Sprache bei

Die optimierenden Eigenschaften der Compiler von Pascal ermöglichen Ihnen die Erstellung effizienter Programme. Dies war einer der Gründe, warum Pascal als Systemprogrammiersprache verwendet wurde.

Die Pascal-Sprache implementiert die Ideen der strukturierten Programmierung, die das Programm visuell macht und gute Entwicklungs- und Debugging-Möglichkeiten bietet.

Der Mitarbeiter von Bell Labs, Denis Ritchie, entwickelte die Sprache C 1972, als er mit Ken Thompson als Werkzeug zur Implementierung des Unix-Betriebssystems zusammenarbeitete, aber die Popularität dieser Sprache überstieg schnell die Grenzen eines bestimmten Betriebssystems und spezifischer Systemprogrammieraufgaben. Derzeit kann kein Tool und Betriebssystem als vollständig angesehen werden, wenn es keinen C-Compiler enthält. Ritchie erfand C nicht einfach aus dem Kopf – die von Thompson entwickelte B-Sprache diente als Prototyp. Die Programmiersprache C wurde als Werkzeug für praktische Programmierer entwickelt. Dementsprechend war das Hauptziel seines Autors, eine in jeder Hinsicht bequeme und nützliche Sprache zu schaffen.

C ist ein Werkzeug für Systemprogrammierer und ermöglicht es Ihnen, tief in die subtilsten Mechanismen der Informationsverarbeitung auf einem Computer einzudringen. Obwohl die Sprache vom Programmierer ein hohes Maß an Disziplin verlangt, ist sie formal nicht streng und erlaubt prägnante Formulierungen.

C ist eine moderne Sprache. Es enthält diejenigen Kontrollstrukturen, die von Theorie und Praxis der Programmierung empfohlen werden. Seine Struktur ermutigt den Programmierer, Top-Down-Design, strukturierte Programmierung und schrittweise Modulentwicklung in seiner Arbeit zu verwenden.

C ist eine mächtige und flexible Sprache. Die meisten Unix-Betriebssysteme, Compiler und Interpreter für Fortran, Pascal, Lisp und BASIC sind damit geschrieben.

C ist eine bequeme Sprache. Es ist strukturiert genug, um einen guten Programmierstil zu unterstützen, ohne an harte Grenzen gebunden zu sein. In gewisser Weise ist die C-Sprache die vielseitigste, weil Neben einer Reihe von Werkzeugen, die modernen höheren Programmiersprachen innewohnen (Strukturalität, Modularität, bestimmte Datentypen), enthält es Werkzeuge zum Programmieren fast auf Assembler-Ebene. Eine große Anzahl von Operatoren und Einrichtungen erfordern vom Programmierer Sorgfalt, Genauigkeit und gute Kenntnisse der Sprache mit all ihren Vor- und Nachteilen.

Die Sprache C++ erschien Anfang der 80er Jahre. Erstellt von Bjarne Stroustrup mit dem ursprünglichen Ziel, sich und seinen Freunden das Programmieren in Assembler, C oder verschiedenen anderen Hochsprachen zu ersparen.

Laut dem Autor der Sprache ist der Unterschied zwischen der Ideologie von C und C++ ungefähr wie folgt: Ein C-Programm spiegelt die „Denkweise“ des Prozessors wider, während C++ die Denkweise des Programmierers widerspiegelt. Als Reaktion auf die Anforderungen moderner Programmierung konzentriert sich C++ auf die Entwicklung neuer Datentypen, die den Konzepten des gewählten Wissensgebiets und den Aufgaben der Anwendung am besten entsprechen. Klasse ist ein Schlüsselkonzept in C++. Die Klassenbeschreibung enthält eine Beschreibung der Daten, die erforderlich sind, um Objekte dieses Typs darzustellen, und eine Reihe von Operationen zum Arbeiten mit ähnlichen Objekten.

Im Gegensatz zu traditionellen C- und Pascal-Strukturen sind Klassenmitglieder nicht nur Daten, sondern auch Funktionen. Mitgliedsfunktionen einer Klasse haben privilegierten Zugriff auf Daten innerhalb von Objekten dieser Klasse und stellen eine Schnittstelle zwischen diesen Objekten und dem Rest des Programms bereit. Bei der weiteren Arbeit ist es absolut nicht erforderlich, sich an den internen Aufbau der Klasse und den Mechanismus der eingebauten Funktionen zu erinnern. In diesem Sinne ist das Klassenzimmer wie ein elektrisches Gerät – nur wenige kennen sein Gerät, aber jeder weiß, wie man es benutzt.

Die Sprache C++ ist eine Objektprogrammiersprache, die neueste Technik zum Entwerfen und Implementieren von Programmen, die im laufenden Jahrzehnt wahrscheinlich die traditionelle prozedurale Programmierung ersetzen wird. Das Hauptziel des Schöpfers der Sprache, Dr. Bjorn Stroustrap, war es, die Sprache C++ mit Konstrukten auszustatten, die es ermöglichen, die Produktivität von Programmierern zu steigern und den Prozess der Beherrschung großer Softwareprodukte zu erleichtern.

Abstraktion, Implementierung, Vererbung und Polymorphismus sind wesentliche Eigenschaften von C++, die es nicht nur universell wie C, sondern auch zu einer Objektsprache machen. Fortran Fortran ist eine weit verbreitete Sprache, insbesondere unter Benutzern, die mit numerischer Modellierung arbeiten. Dies hat mehrere Gründe:

Die Existenz riesiger Mittel für angewandte Fortran-Programme, die sich im Laufe der Jahre angesammelt haben, sowie die Anwesenheit einer großen Anzahl von Programmierern, die diese Sprache effektiv verwenden;

Das Vorhandensein effektiver Fortran-Übersetzer auf allen Arten von Computern, und die Versionen für verschiedene Maschinen sind ziemlich standardisiert, und das Übertragen von Programmen von Maschine zu Maschine bereitet normalerweise keine großen Schwierigkeiten;

Der ursprüngliche Fokus von Fortran lag auf physikalischen, mathematischen und technischen Anwendungen; Dies äußerte sich insbesondere darin, dass es lange Zeit die einzige Sprache mit einem eingebauten komplexen Variablentyp und einer großen Menge eingebauter Funktionen zum Arbeiten mit solchen Variablen blieb.

In der vergangenen Zeit wurde eine neue Programmiermethodik und -philosophie entwickelt. Fortran ist seit Anfang der 70er Jahre wohlverdienter Kritik ausgesetzt. 1977 wurde ein neuer Sprachstandard, Fortran-77, eingeführt. Es hat viel Zeit gekostet, einen neuen Standard zu erstellen, aber jetzt können wir bereits davon ausgehen, dass seine Entwicklung abgeschlossen ist und der neue Fortran-90-Standard begonnen hat, in die Praxis der Fortran-Benutzer einzutreten. Nur auf Maschinen wie dem IBM-PC gibt es mehrere Übersetzer wie Watfor, Lap-Fortran usw. Am weitesten verbreitet auf Maschinen dieser Art sind jedoch verschiedene Versionen des Fortran-77-Übersetzers. Der 1990 veröffentlichte MS-Fortran 5.0-Übersetzer ist fast vollständig kompatibel mit dem Fortran-90-Standard. Die meisten wichtigen wissenschaftlichen und technischen Anwendungen sind wegen seiner Portabilität und Stabilität und auch wegen der eingebauten mathematischen und trigonometrischen Funktionen in Fortran geschrieben. Ein zusätzlicher, fester Bestandteil jedes Fortran-Anwendungsprogramms ist eine erweiterte Grafikbibliothek, die es Ihnen ermöglicht, verschiedene Grafikdaten und Bilder zu verwenden.

Die Sprache wurde hauptsächlich in den Jahren 1975 - 1980 als Ergebnis eines grandiosen Projekts des US-Verteidigungsministeriums zur Entwicklung einer einzigen Programmiersprache für sogenannte eingebettete Systeme (dh Echtzeit-Steuerungssysteme für automatisierte Komplexe) erstellt. Zunächst dachten sie an Bordsteuerungssysteme für militärische Einrichtungen (Schiffe, Flugzeuge, Panzer, Raketen, Granaten usw.). Daher sollten die von den Autoren von Ada getroffenen Entscheidungen nicht als universell angesehen werden. Sie müssen im Kontext der Besonderheiten des gewählten Fachgebiets wahrgenommen werden. Die Sprache Ada entstand als Ergebnis eines internationalen Wettbewerbs für Sprachprojekte, der 1978-1979 stattfand. Die Teilnehmer mussten ziemlich strenge, detaillierte Anforderungen erfüllen, die unter der Schirmherrschaft des US-Verteidigungsministeriums entwickelt wurden. Interessanterweise basierten alle Sprachen, die die letzten Runden dieses Wettbewerbs erreichten, auf Pascal. In dieser Hinsicht kann Ada vorläufig als Pascal charakterisiert werden, das unter Berücksichtigung der oben genannten fünf grundlegenden Anforderungen entwickelt wurde. Dabei gingen die Autoren vor allem den Weg, Pascal um neue Elemente zu erweitern. Das Ergebnis ist eine viel komplexere Sprache.

Kobold

Cobol ist eine relativ alte Sprache, die hauptsächlich für die Wirtschaftsforschung entwickelt wurde. Die Sprache ermöglicht es Ihnen, effektiv mit einer großen Datenmenge zu arbeiten, sie ist voll von verschiedenen Such-, Sortier- und Verteilungsfunktionen. Über Cobol-Programme, die auf weit verbreiteter Verwendung basieren der englischen Sprache, sollen sie auch für Nicht-Cobol-Kenner verständlich sein, da die Texte in dieser Programmiersprache keiner besonderen Kommentare bedürfen. Solche Programme werden als selbstdokumentierend bezeichnet. Andere Vorteile von Cobol werden normalerweise seiner Strukturiertheit zugeschrieben. Ziemlich leistungsfähige Compiler dieser Sprache werden für PCs entwickelt. Einige von ihnen sind so effektiv, dass ein Programm, das auf einem PC debuggt wurde, leicht auf Mainframe-Computer übertragen werden kann.

Bei der Auflistung der Nachteile kommt man nicht umhin, sich daran zu erinnern, dass auf Cobol nur die einfachsten algebraischen Berechnungen programmiert werden können. Für technische Berechnungen ist diese Sprache nicht geeignet. Ein weiterer Grund, der die Entwicklung der Sprache bis zu einem gewissen Grad behindert, ist die Präsenz eines eigens geschaffenen Industriekomitees in den Vereinigten Staaten, das Standards entwickelt, die von einer Regierungskommission überwacht werden. Wie immer in solchen Fällen haben es Softwareentwicklungsfirmen nicht eilig, ihre Werkstücke an die starren Vorgaben der Kommission anzupassen, es gibt keinen Versionswettbewerb und verliert am Ende die Verbreitung der Sprache

PL/1 wurde 1964-1965 von IBM entwickelt. PL/1 ist eine der universellen Sprachen, das heißt, sie ermöglicht die Lösung von Problemen aus verschiedenen Bereichen: numerische Berechnungen, Textverarbeitung, wirtschaftliche Probleme usw. In Bezug auf ihre Fähigkeiten überschneidet sie sich mit Sprachen wie Fortran, Algol-60 (erstellt für numerische Berechnungen), Kobol (für wirtschaftliche Probleme), obwohl PL/1 diese Sprachen aus einer Reihe von Gründen nicht verdrängen konnte.

PL/1 enthält alle Grundkonstruktionen, die für sogenannte Hochsprachen charakteristisch sind, sowie eine Reihe spezifischer Werkzeuge, die für die praktische Programmierung geeignet sind. Die Sprache gleicht einem Konstruktor mit vielen Details – der Benutzer muss nur die Teile der Sprache beherrschen, die für ihn praktisch notwendig sind. Seine Anweisungen sind recht umfangreich, was es oft ermöglicht, ein Programm kompakter zu schreiben als in anderen Sprachen. Ein Programmierer, der PL/1 kennt, kann problemlos jede andere Sprache der gleichen oder ähnlichen Klasse beherrschen.

Gleichzeitig weist PL/1 auch eine Reihe von Mängeln auf, die das Erlernen und Anwenden der Sprache erschweren. Die wichtigsten sind wie folgt. Erstens gibt es viele Mittel, die sich gegenseitig duplizieren; Zweitens sind die Programme nicht völlig maschinenunabhängig.

Module

Man kann davon ausgehen, dass die Geschichte der Modula-Sprache im Jahr 1980 beginnt, als Niklaus Wirth, einer der führenden Informationstheoretiker, den meisten Informatikern vor allem als Schöpfer der Pascal-Sprache bekannt, eine Beschreibung einer neuen Programmiersprache veröffentlichte, die er rief Modula an. Im Gegensatz zu Pascal, das als Programmiersprache gedacht war, war Modula von Anfang an eine Sprache für professionelle Systemprogrammierer, die die besten Traditionen ihres Vorgängers fortsetzte und sie mit neuen Ideen bereicherte, die solche Anforderungen an Programmiersprachen als Struktur erfüllen , Modularität und Erweiterbarkeit. Wie viele andere Programmiersprachen hat auch Modula eine Evolution durchlaufen, bei der sein ursprünglicher Name in Modula-2 geändert wurde. Gleichzeitig mit der Entwicklung der Modula-Sprache wurden neue Compiler dafür erstellt, aber keiner von ihnen konnte mit den besten Implementierungen der Sprachen Pascal und C mithalten, die beispielsweise von Borland entwickelt wurden. In dieser Übergangszeit für die Modula-Sprache galten die Implementierungen von Logitech als die besten, die aufgrund ihrer Eigenschaften gegen Turbo Pascal und Turbo C verloren. Erst 1988, nachdem das Top Speed-System auf dem amerikanischen Markt erschienen war, nahm Modula-2 seinen rechtmäßigen Platz unter den prozeduralen Sprachen ein, die für die Systemprogrammierung bestimmt sind. Mehrere Faktoren trugen zur wachsenden Popularität des Top-Speed-Systems bei: eine komfortable und zudem leicht änderbare Betriebsumgebung, ein schneller Compiler und ein selektiver Linker. Das Wichtigste war jedoch, dass sich die erstellten Programme durch hohe Geschwindigkeit auszeichneten und nicht viel Speicherplatz beanspruchten.

BASIC

BASIC (Basic – Symbolischer Allzweck-Anweisungscode für Anfänger – „universeller symbolischer Anweisungscode für Anfänger“). Ein direkter Nachkomme von Fortran und immer noch die beliebteste Programmiersprache für PCs. BASIC erschien 1963 (es wäre schwierig, den Autor zu nennen, aber das Hauptverdienst seines Erscheinens gehört zweifellos den Amerikanern John Kemeny und Thomas Kurtz). Wie jeder Vorteil ging die Einfachheit von BASIC auf Kosten der Strukturierung, insbesondere in frühen Versionen; außerdem erlaubte BASIC keine Rekursion - ein interessanter Trick, mit dem Sie effektive und gleichzeitig kurze Programme schreiben können.

Es wurden leistungsfähige BASIC-Compiler entwickelt, die nicht nur ein reichhaltiges Vokabular und eine hohe Leistung bieten, sondern auch die Möglichkeit einer strukturierten Programmierung. Laut einigen Programmierern sind die interessantesten Versionen GWBASIC, Turbo-Basic und Quick Basic.

Das Erscheinen von Quick Basic markierte einst die Geburtsstunde der zweiten Generation von BASIC-Programmiersystemen. Es bot die Möglichkeit, modular und prozedural zu programmieren, Bibliotheken zu erstellen, vorgefertigte Programme zu kompilieren usw., was es auf das Niveau solcher klassischer Programmiersprachen wie C, Pascal, Fortran usw. brachte. Darüber hinaus aufgrund des Mangels eines offiziellen BASIC-Sprachstandards ist in Form von Quick Basic zum De-facto-Standard geworden. Die unangefochtenen Spitzenreiter unter den verschiedenen Versionen von BASIC waren Quick Basic 4.5 und PDS 7.1 von Microsoft, die Ende der 80er Jahre erschienen.

Lispeln

Die Lisp-Sprache wurde 1960 von J. McCarthy vorgeschlagen und konzentriert sich auf die Entwicklung von Programmen zur Lösung nicht-numerischer Probleme. Der englische Name dieser Sprache – LISP – ist eine Abkürzung für den Ausdruck LISt Processing (Listenverarbeitung) und unterstreicht gut den Hauptbereich ihrer Anwendung. Das Konzept der „Liste“ erwies sich als sehr umfangreich. In Form von Listen ist es praktisch, algebraische Ausdrücke, Graphen, Elemente endlicher Gruppen, Mengen, Inferenzregeln und viele andere komplexe Objekte darzustellen. Listen sind die flexibelste Form der Informationsdarstellung im Computerspeicher. Kein Wunder also, dass sich eine handliche Sprache, die speziell für den Umgang mit Listen entwickelt wurde, schnell durchsetzte.

Nach dem Aufkommen von Lisp haben verschiedene Autoren eine Reihe anderer algorithmischer Sprachen vorgeschlagen, die sich auf die Lösung von Problemen im Bereich der künstlichen Intelligenz konzentrieren, darunter Planner, Snobol, Refal, Prolog. Dies hinderte Lisp jedoch nicht daran, die beliebteste Sprache zur Lösung solcher Probleme zu bleiben. Im Laufe der fast vierzig Jahre ihres Bestehens sind eine Reihe von Dialekten dieser Sprache aufgetaucht: Common LISP, Mac LISP, Inter LISP, Standard LISP usw. Die Unterschiede zwischen ihnen sind nicht grundlegend und beruhen hauptsächlich auf einem geringfügigen Unterschied Reihe von eingebauten Funktionen und einige Unterschiede in Form von Notationsprogrammen. Daher kann ein Programmierer, der gelernt hat, an einem von ihnen zu arbeiten, leicht jeden anderen beherrschen. Der große Vorteil von Lisp ist die funktionale Orientierung, d.h. die Programmierung erfolgt über Funktionen. Außerdem wird unter einer Funktion in der Regel eine Regel verstanden, die die Elemente einer bestimmten Klasse mit den entsprechenden Elementen einer anderen Klasse abgleicht. Der Matching-Prozess selbst hat keinen Einfluss auf den Betrieb des Programms, nur sein Ergebnis ist wichtig – der Wert der Funktion. Dies macht es relativ einfach, große Softwaresysteme zu schreiben und zu debuggen. Eindeutigkeit von Programmen, eine klare Abgrenzung ihrer Funktionen, das Fehlen kniffliger Nebeneffekte bei ihrer Ausführung sind zwingende Voraussetzungen für die Programmierung solch logisch komplexer Aufgaben wie Aufgaben der künstlichen Intelligenz. Die Disziplin beim Programmieren wird besonders wichtig, wenn nicht eine Person, sondern eine ganze Gruppe von Programmierern an dem Programm arbeitet.

Die Programmiersprache Lisp ist hauptsächlich für die Verarbeitung symbolischer Informationen konzipiert. Daher ist es selbstverständlich, dass Zahlen in der Welt des Lisp weit davon entfernt sind, die Hauptrolle zu spielen. Die wichtigsten Datentypen in Lisp heißen "Atom" und "Punktpaar".

Prolog

Eine logische Programmiersprache dient dazu, Wissen über ein bestimmtes Fachgebiet darzustellen und zu nutzen. Programme in dieser Sprache bestehen aus einer bestimmten Menge von Relationen, und ihre Ausführung reduziert sich auf die Ableitung einer neuen Relation basierend auf den gegebenen. Prolog implementiert einen deklarativen Ansatz, bei dem es genügt, das Problem mit Hilfe von Regeln und Aussagen über gegebene Objekte zu beschreiben. Wenn diese Beschreibung genau genug ist, kann der Computer selbstständig die erforderliche Lösung finden.

Objekt PAL

Object PAL ist eine mächtige Programmiersprache. Object PAL ist eine objektorientierte, ereignisgesteuerte, visuelle Programmiersprache. Auf der anfänglichen Ebene der Object PAL-Funktionalität können Sie Datenoperationen ausführen, spezielle Menüs erstellen und die Dateneingabesitzung verwalten. Ereignisse in Object PAL generieren Befehle, die den Effekt der interaktiven Verwendung von Paradox nachahmen. Es ist möglich, häufig ausgeführte Aufgaben zu automatisieren sowie Aktionen an Tabellen, Formularen und Berichten auszuführen, die während der interaktiven Arbeit nicht verfügbar waren. Außerdem bietet Object PAL alle Funktionen einer Programmiersprache mit vollem Funktionsumfang in der Windows-Umgebung. Sie können Object PAL verwenden, um komplette Systeme zu erstellen, die ein benutzerdefiniertes Menüsystem, ein Hilfesystem und alle Arten von Datenvalidierung implementieren. In Object PAL können Sie Ihre Arbeit in einer Dynamic Link Library speichern, auf die von mehreren Formularen aus zugegriffen werden kann. Darüber hinaus ist es möglich, Verknüpfungen mit anderen dynamischen Bibliotheken herzustellen, die Programme enthalten, die in Sprachen wie C, C++ oder Pascal geschrieben sind.

Object PAL kann als Werkzeug zum Erstellen eigenständiger Programme verwendet werden. Sie können eine vollständige Windows-Anwendung schreiben und sie unter Paradox ausführen.

Object PAL unterstützt den dynamischen Datenaustausch sowohl als Client als auch als Server. Darüber hinaus unterstützt Object PAL die Compound Document Engine als Client. Darüber hinaus ist es möglich, Multimedia-Tools in Ihre Anwendung einzubinden, indem Sie die laufende Anwendung mit Sound- und Animationseffekten ausstatten.

Borlands Implementierung der dBase-Sprache ist eine glückliche Mischung aus Objektorientierung und traditioneller Programmierung. Es ermöglichte die Erstellung von Systemen unter Verwendung von Objektdesign und der Verwendung herkömmlicher Aufzeichnungsverarbeitungstechniken. Die große Errungenschaft der Firma Borland bestand darin, dass sie Objekt- und prozedurale Programmiertechniken sehr erfolgreich kombinierte. Die erste Version für Windows bot dem Benutzer das leistungsstärkste Objektwerkzeug auf dem Markt für Datenbanksoftware. Es ermöglicht Ihnen, neue Klassen von Objekten zu erstellen, die die Eigenschaften Vererbung, Kapselung und Polymorphismus aufweisen. Außerdem können diese Objekte mit herkömmlichen dBase-Befehlen programmiert werden, was ideal für die Verwaltung einfacher tabellarischer Datenbanken ist. All dies bietet einen unbestreitbaren Vorteil - um den Übergang zu Objektprogrammiertechniken ohne große Schwierigkeiten durchzuführen, ist der Übergang beispielsweise so kompliziert wie in Paradox DBMS.

Die Java-Sprache entstand im Rahmen eines Projekts zur Entwicklung fortschrittlicher Software für verschiedene Haushaltsgeräte. Die Implementierung des Projekts wurde in der Sprache C++ begonnen, aber bald traten eine Reihe von Problemen auf, die am besten gelöst werden konnten, indem das Tool selbst - die Programmiersprache - geändert wurde. Es wurde offensichtlich, dass eine plattformunabhängige Programmiersprache benötigt wird, die es ermöglicht, Programme zu erstellen, die nicht für jede Architektur separat kompiliert werden müssen und auf verschiedenen Prozessoren unter verschiedenen Betriebssystemen verwendet werden können. Die Java-Sprache wurde benötigt, um interaktive Produkte für das Internet zu erstellen. Tatsächlich wurden die meisten architektonischen Entscheidungen, die bei der Erstellung von Java getroffen wurden, von dem Wunsch getrieben, eine C- und C++-ähnliche Syntax bereitzustellen. Java verwendet fast identische Konventionen zum Deklarieren von Variablen, Übergeben von Parametern, Übergeben von Operatoren und Steuern des Codeflusses. Java fügt alle guten Eigenschaften von C++ hinzu.

Drei Schlüsselelemente, die in der Java-Sprachtechnologie zusammenkommen

Java stellt seine Applets für den allgemeinen Gebrauch zur Verfügung - kleine, robuste, dynamische, plattformunabhängige aktive Netzwerkanwendungen, die darin eingebettet sind Webseiten. Java-Applets können so einfach wie jedes HTML-Dokument angepasst und an Verbraucher verteilt werden.

Java setzt die Kraft der objektorientierten Anwendungsentwicklung frei, indem es eine einfache und vertraute Syntax mit einer robusten und benutzerfreundlichen Entwicklungsumgebung kombiniert. Dadurch können viele Programmierer schnell neue Programme und neue Applets erstellen.

Java stellt dem Programmierer einen reichhaltigen Satz von Objektklassen zur Verfügung, um viele der Systemfunktionen klar zu abstrahieren, die bei Windowing, Networking und I/O verwendet werden. Das Hauptmerkmal dieser Klassen besteht darin, dass sie plattformunabhängige Abstraktionen für eine Vielzahl von Systemschnittstellen bereitstellen.

Programmiersprachen für Computernetzwerke

Programmiersprachen für Computernetzwerke werden interpretiert. Interpreter für sie werden kostenlos verteilt, und die Programme selbst liegen im Quellcode vor. Solche Sprachen werden Skriptsprachen genannt.

Perl ist eine interpretierte Sprache des Programmierers Larry Wall zur Verarbeitung großer Texte und Dateien und steht für Practical Extraction and Report Language (Sprache für praktische Datenextraktion und Berichterstellung). Mit Perl können Sie beispielsweise ein Skript erstellen, das eine oder mehrere Dateien öffnet, die Informationen verarbeitet und die Ergebnisse schreibt.

Perl ist eine Sprache, die geeignet ist, beliebige Textdateien zu verarbeiten, die notwendigen Informationen daraus zu extrahieren und Nachrichten auszugeben. Perl ist auch praktisch, um verschiedene Systemprogramme zu schreiben. Diese Sprache ist einfach zu bedienen, effizient, aber es ist schwer zu sagen, dass sie elegant und kompakt ist. Die Syntax von Perl-Ausdrücken ähnelt der von C. Die Rekursion kann von beliebiger Tiefe sein. Obwohl Perl Textdateien scannen kann, kann es auch mit Binärdaten umgehen. Mit Perl können Sie reguläre Ausdrücke verwenden, Objekte erstellen, Teile von Perl-Code in ein C- oder C++-Programm einfügen und auch auf Datenbanken, einschließlich Oracle, zugreifen.

Mit der Erfindung des World Wide Web erwies sich Perl als großartige Möglichkeit, mit Webservern über das Common Gateway Interface (CGI) zu kommunizieren – eine gemeinsame Kommunikationsschnittstelle. Perl-Befehle können leicht Daten aus einem HTML-Formular oder einer anderen Quelle abrufen und einige Aktionen darauf ausführen.

Sprache PHP(1995-1997) hat Zugriff auf die Datenbank und wird von den Erstellern dynamischer Websites auf der ganzen Welt verwendet.

Sprache tcl/tk(späte 80er) besteht aus leistungsstarken Befehlen, die für die Arbeit mit abstrakten, nicht typisierten Objekten entwickelt wurden, und ermöglicht es Ihnen, Programme mit einer grafischen Oberfläche zu erstellen.

Sprache VRML(1994) wurde geschaffen, um virtuelle dreidimensionale Schnittstellen im Internet zu organisieren.

Sprache XML. Seit 1996 wird daran gearbeitet, eine universelle Dokumentstruktursprache zu schaffen. Es kann ein Ersatz für die HTML-Sprache werden.

Fazit

Nützliche Ressourcen

Isilis Rezension

Wo ist der Bericht?

Bewertet von Ranifka

Re: Wo ist der Bericht?
Alles wird sein :D

Feedback von Shamagulova Elite

Bewertet von Alexander Mischin

Ausgezeichneter Bericht. Viel über Programmiersprachen gelernt.

Feedback von Alexander Morozov

Natürlich würde ich gerne einen Bericht oder zumindest eine Präsentation in irgendeiner Form sehen.

In einer sich dynamisch verändernden Welt, in der erst gestern angesehene Berufe zu nichts werden, suchen viele Menschen nach einer Beschäftigung im Leben, die sowohl interessant und aktuell als auch gewinnbringend ist. Sehr oft führen solche Suchen zum Programmieren: Gute Programmierer verdienen sogar in der GUS Tausende von Dollar, haben viel Freizeit, die Möglichkeit, aus der Ferne zu arbeiten, und haben Chancen auf Karrierewachstum.

Neben diesen Vorteilen unterscheidet sich das Programmieren auch dadurch, dass man sich nicht jahrelang an Universitäten die Hosen putzen muss, um es zu beherrschen. Hier entscheidet sich alles im Selbststudium, das Internet hält alle notwendigen Materialien für ein erfolgreiches Selbststudium in jeder Programmiersprache bereit: Textbasierter Unterricht, Videounterricht, Anleitungen, Ratschläge von erfahrenen Profis und weitere Unterrichtsmaterialien. Auf diese Weise können Sie moderne Programmiertechnologien leicht beherrschen und einen wirklich anständigen Job finden.

Aber bevor Sie zur Sache kommen, müssen Sie eine wichtige Frage für sich selbst beantworten: Welche modernen Programmiersprachen werden 2017 relevant sein, für welche davon sollten Sie Ihre Zeit und Mühe aufwenden? Von der richtigen Antwort hängt hier viel ab - die Komplexität und Geschwindigkeit des Lernprozesses, die Mindestschwelle für den Einstieg in die reale Tätigkeit und die weiteren Berufsaussichten.

Vielversprechende Bereiche der Programmierung und Sprachen für 2017

Um sich für eine bestimmte zu studierende Programmiersprache (eine oder mehrere) zu entscheiden, müssen Sie zunächst die Frage beantworten: In welchem ​​Bereich der Programmierung möchte eine Person arbeiten. Die beliebtesten und sich am schnellsten entwickelnden Bereiche sind jetzt:

Technologien der Webprogrammierung. Erstellung von Websites, Online-Diensten und -Banking, Online-Shops, Landing Pages für Unternehmen und dergleichen - all dies ist Teil der Webprogrammierung. Immer mehr Menschen auf dem Planeten werden Internetbenutzer, es wird schneller und billiger, sogar Menschen im reifen und fortgeschrittenen Alter werden aktive Benutzer des Netzwerks. 2017 verstärkt sich dieser Trend nur noch und die Obergrenze seiner Entwicklung ist noch nicht sichtbar. Daher ist es sehr vorteilhaft, Programmiersprachen mit Bezug zum Internet zu lernen. Eine Liste der beliebtesten von ihnen wird unten präsentiert;

Programmierung für Gadgets: Smartphones, Tablets, Smartwatches, Virtual-Reality-Brillen und mehr. Auch das ist ein sehr interessantes und sich schnell entwickelndes Betätigungsfeld. Milliarden von Menschen auf der ganzen Welt verwenden Gadgets, lesen Nachrichten, sehen sich Videos an, hören Musik und machen viele andere Dinge damit. All diese Elektronikfunktionen sind dank eines gut geschriebenen möglich Software. Es kostet oft viel mehr als das physische Gerät selbst. Die Programmierung in diesem Bereich ist mittlerweile sehr profitabel. Es ist erwähnenswert, dass hier am häufigsten Programmiersprachen auf hoher Ebene verwendet werden.

Welche Sprache zu wählen

Es ist unmöglich zu sagen, welche Sprache die modernste ist. Viele von ihnen werden sehr breit und aktiv genutzt. Aber wenn wir über vielversprechende Programmiersprachen sprechen, dann können die folgenden als die besten bezeichnet werden:

  • Java. Die vielseitigste und beliebteste Programmiersprache, mit der Sie sowohl Anwendungen für Computer als auch für Gadgets entwickeln können, insbesondere für Android-Steuerung Betriebssystem. Es hat eine klare Syntax, lernt recht leicht und schnell, die ersten Programme in Java können bereits wenige Wochen nach Ausbildungsbeginn geschrieben werden. Das Hauptmerkmal, das es sehr vielversprechend macht, ist die Verwendung für die Android-Programmierung, die sich jetzt sehr schnell entwickelt;
  • C#. Eine großartige Option für eine Person, die ihre Aktivitäten dem Schreiben von Programmen für Computersysteme widmen möchte. Es ist die Sprache C Sharp (C#), auf der die meisten Programme für verschiedene Plattformen und Dienste von Microsoft geschrieben werden. Damit können Sie Webanwendungen mit .NET und Azure entwickeln, sowie Programme direkt für Windows, verschiedene Geschäftsanwendungen und vieles mehr. Es erfordert ein wenig Arbeit, sich mit C# vertraut zu machen, aber am Ende zahlt es sich aus;
  • PHP. Wenn Ihre Aufgabe darin besteht, qualitativ hochwertige Skripte und interaktive Vorlagen für Internetressourcen zu schreiben oder der Administrator eines Servers zu sein, was heute eine sehr profitable Beschäftigung ist, dann wird PHP dies tun der beste Weg solches Streben verwirklichen. Moderne Programmiersprachen kommen ohne diesen Vertreter einfach nicht aus. Er lernt so schnell und einfach - wenn man PHP sorgfältig und regelmäßig studiert, dann kann man sich nach 2-3 Jahren auf eine sehr gute Stelle und ein angemessenes Gehalt bewerben.

Natürlich ist dies noch lange keine vollständige Beschreibung der Sprachen und ihrer Einordnung, aber selbst eine so kleine Liste reicht völlig aus, um sich ein gutes und zukunftsträchtiges Betätigungsfeld auszusuchen.

Eine vollständige Überprüfung moderner Programmiersprachen könnte zu viel Zeit in Anspruch nehmen, dies ist jedoch nicht unbedingt erforderlich, da es sich lohnt, sich an die Hauptsache zu erinnern - eine Person, die mindestens eine Sprache fließend beherrscht, wird definitiv ihren Platz darin finden können den Bereich Programmierung. Und die Kenntnis einer dieser Sprachen wird sicherlich ausreichen, um gutes Geld zu verdienen und interessante Probleme zu lösen.

Seit dem Erscheinen der ersten höheren Programmiersprache Fortran im Jahr 1957 sind fast 60 Jahre vergangen, und es ist nicht verwunderlich, dass die Programmierung in so langer Zeit einen großen Schritt nach vorn gemacht hat. Es gibt neue Technologien, neue Programmierkonzepte und Paradigmen und natürlich neue Sprachen. Die Entstehung einer Programmiersprache wird in der Regel von den Anforderungen der Zeit getrieben: Neue Aufgaben erfordern zu ihrer Lösung oft neue Werkzeuge, die besser abschneiden als ihre Vorgänger. Diesbezüglich erscheinen jedes Jahr mehrere neue Sprachen, die das Beste, was sich über Jahrzehnte praktischer Programmierung angesammelt hat, einfließen lassen und gleichzeitig etwas Neues bringen. Einige der interessantesten Programmiersprachen, die erst vor kurzem erschienen sind, sich aber bereits als leistungsstarke und moderne Werkzeuge für den Entwickler erwiesen haben, werden in diesem Artikel besprochen.

Schnell

Eine universelle freie Sprache, die von Apple für die Entwicklung von iOS und OS X erstellt wurde. Die Sprache ist mit Objective-C kompatibel, wodurch es möglich ist, beide Sprachen in einem Programm zu verwenden. Die Entwicklung der Sprache begann 2010 unter der Leitung von Chris Lattner, dem Entwicklungsleiter von Apple. Swift entlehnte Ideen aus vielen existierenden Sprachen in verschiedene Richtungen: von C++ bis Haskell. Die offizielle Einführung der Sprache erfolgte im Juni 2014, zusammen mit einem 500-seitigen Handbuch für ihre Verwendung. Sie können in der Xcode 6-Programmierumgebung für iOS an Swift arbeiten. Sprachversion 3.0 fügt Unterstützung für Linux hinzu.
Die Sprache hat viel von Objective-C übernommen; Gleichzeitig positioniert es sich als sicherer und schneller. Laut den Zusicherungen der Entwickler arbeitet der Code in Swift 1,5-mal schneller als ähnlicher Code in Objective-C.

Hacken

Von   entwickelte Sprache; sieht aus wie PHP. Hackcode wird auf einer speziellen virtuellen Maschine ausgeführt, die auch PHP unterstützt. Die Sprache ist offen – Hack-Quellcodes stehen jedem offen, der sich an ihrer Verbesserung beteiligen möchte. Obwohl die Sprache auf dem bekannten PHP basiert, ist es den Entwicklern gelungen, ein völlig neues und äußerst zuverlässiges Tool zur schnellen Erstellung von Websites und anderen Anwendungen zu erstellen. Das Ergebnis beeindruckte   so sehr, dass alle Projekte des Unternehmens auf Hack übertragen wurden – eine Tatsache, die für sich spricht.

Julia

Neue Sprache für mathematische Berechnungen. Die Syntax der Sprache wurde von Matlab und anderen mathematischen Sprachen beeinflusst, aber es gibt auch erhebliche Unterschiede. Die Sprache selbst ist in C und C++ geschrieben; Der Programmcode der Sprache wird auf der virtuellen Maschine LLVM ausgeführt, für die Julia mit einem JIT-Compiler ausgestattet ist. Dank der Kompilierung wurde eine hohe Geschwindigkeit der Anwendungsarbeit erreicht, vergleichbar mit in C ++ geschriebenen Programmen.
Die Sprache unterstützt verteiltes Rechnen, Funktionsüberladung und Codeparallelität. Die Hauptaufgabe von Julia: Arbeiten mit einer großen Menge an Berechnungen bei gleichzeitig hoher Leistung. Für diese Zwecke wurde der Sprache auch Cloud-Computing-Unterstützung hinzugefügt. Neben rein mathematischen Problemen lassen sich mit Julia auch universelle Programme erstellen.

Pfeil

Eine von Google als Ersatz für JavaScript entwickelte Sprache. Aufgrund einiger "grundlegender Fehler" der JavaScript-Sprache, die nicht behoben werden können, wurde beschlossen, eine neue Sprache für die Webprogrammierung zu erstellen. Gleichzeitig musste die Sprache den bestehenden möglichst ähnlich gestaltet werden, um den Umstieg und das Lernen für Anfänger zu vereinfachen. Derzeit werden Dart-Programme auf zwei Arten ausgeführt: durch virtuelle Maschine Dart VM und durch Übersetzen in JavaScript. In Zukunft soll Dart JavaScript als universelle Sprache für die Webprogrammierung ablösen.

Geben Sie Skript ein

Eine weitere Sprache, die sich als Ersatz für JavaScript positioniert. Der Entwickler der neuen Sprache war der berühmte Anders Hejlsberg, der Autor von Delphi, C# und Turbo Pascal. Type Script ist eine offene Sprache, die abwärtskompatibel mit Java Script ist. Der Compiler konvertiert den Type Script-Code in JavaScript, das dann vom Browser ausgeführt wird. Im Gegensatz zu JS unterstützt die neue Sprache alle Features der objektorientierten Programmierung sowie das Verbinden von Modulen. Die Type Script- und JavaScript-Kompatibilität ermöglicht die Verwendung von vorhandenem JavaScript-Code in neuen Type Script-Projekten, einschließlich beliebter JS-Bibliotheken. Das generische Programmierparadigma wird unterstützt.



Unterstützen Sie das Projekt - teilen Sie den Link, danke!
Lesen Sie auch
Spielregeln für Hahnenkämpfe Spielregeln für Hahnenkämpfe Mod für Minecraft 1.7 10 Uhr Rezepte.  Rezepte zum Herstellen von Gegenständen in Minecraft.  Waffen in Minecraft Mod für Minecraft 1.7 10 Uhr Rezepte. Rezepte zum Herstellen von Gegenständen in Minecraft. Waffen in Minecraft Schilling und Pfund Sterling - der Ursprung der Wörter Schilling und Pfund Sterling - der Ursprung der Wörter