[PYTHON] Betreff: Erklärt n wichtige Programmiersprachen

Betreff: Erklärt n wichtige Programmiersprachen

Einführung

Dieser Artikel soll Artikel wie "Erklärung von n Hauptprogrammiersprachen" streichen. Klicken Sie hier für die Zielartikel.

Vielen Dank an @YSRKEN für die Hilfe beim Schreiben. Das Schreiben ist

https://github.com/yumetodo/re_describe_popular_programming_language/blob/master/article.md

Ich mache es in

C Sprache

http://cpg.hatenablog.com/entry/2016/06/30/193755
C ist wahrscheinlich die älteste Sprache in der Programmiergeschichte und bildet die Grundlage für die Programmierung. ** (Anmerkung des Herausgebers: Der Text wird derzeit gelöscht) **

Ich werde nur den folgenden Kommentar dazu posten.

http://b.hatena.ne.jp/entry/292646265/comment/ockeghem
Ich verstehe. COBOL, FORTRAN, PL / I, LISP, ALGOL usw. sind prähistorische Sprachen.


http://cpg.hatenablog.com/entry/2016/06/30/193755
Der Grund, warum ein Betriebssystem in C-Sprache erstellt werden muss, ist, dass die C-Sprache unter vielen Programmiersprachen die schnellste Verarbeitungsgeschwindigkeit aufweist.

Bei der Programmierung des Betriebssystems muss die Verarbeitung beschrieben werden, die in direktem Zusammenhang mit der Hardware steht. (Referenz → Einführung in das mit C ++ selbst erstellte Betriebssystem) Daher besteht zunächst eine Eins-zu-Eins-Korrespondenz mit Anweisungen in der Maschinensprache Assemblersprache Das OS wurde beschrieben durch 83% 96% E3% 83% AA% E8% A8% 80% E8% AA% 9E). Da sich die Spezifikationen der Maschinensprache jedoch je nach der CPU, auf der sie ausgeführt wird, unterscheiden, war es äußerst schwierig, sie auf andere Hardware zu portieren. Daher können Sie Hardware-bezogene Verarbeitung schreiben und mehr portablen Code [C-Sprache] schreiben (https://ja.wikipedia.org/wiki/C%E8%A8%80%] E8% AA% 9E) wurde geboren. Daher lautet die richtige Reihenfolge "OS-> C" ** anstelle von ** "C-> OS".

Übrigens ist Maschinensprache = Assembler in Bezug auf die Geschwindigkeit theoretisch die schnellste ... Tatsächlich wird sich ** so viel wie möglich ändern, abhängig von der Leistung des Compilers und dem verwendeten Framework. (Referenz → Grafik, die zeigt, wie die Geschwindigkeit der Programmiersprache und die Geschwindigkeit der Anwendung nicht zusammenhängen)


http://cpg.hatenablog.com/entry/2016/06/30/193755
Während des Studiums gibt es aufgrund der alten Geschichte viele C-Sprachbücher in der Bibliothek, sodass es kein Problem mit Lernmaterialien gibt.

Aufgrund der großen Entwicklungspopulation und der großen Anzahl undefinierter und verarbeitungsabhängiger Teile im Standard ist es nicht ungewöhnlich, dass in der C-Sprache Fehler in das Studienbuch geschrieben werden. Aus diesem Grund wird oft ohne Scherz empfohlen, ** "Wenn Sie sich verlaufen, lesen Sie den Standard" **.


http://d.hatena.ne.jp/shi3z/20160701/1467330446
Nun, es ist besser, in C zu schreiben, als Bonkura in Assemblersprache schreibt, aber es kann schneller als C sein, wenn Experten in Assemblersprache schreiben. Nicht in der Lage zu sein, besseren Code als den Compiler zu schreiben, ist einfach ein Mangel an Programmierfähigkeiten.

Moderne Compiler sind so gut, dass sie oft viel schneller sind als manuelles Kratzen und Zusammenbauen. Erstens lautet das Prinzip der Programmierung ** "Nicht optimieren" **.

Aktueller Assembly-Anwendungsfall | Bücherwurm https://cpplover.blogspot.jp/2013/04/blog-post.html
Zusammenfassend lässt sich sagen, dass die meisten Pakete keine Portierungsarbeit für ARM erfordern. Im Ubuntu-Repository verwenden nur 6% aller Pakete Assemblys. Viele Pakete, die Assemblys verwenden, funktionieren auch wie sie sind. Dies liegt daran, dass es aus Leistungsgründen möglich wird, zwischen einer hoch portablen und einer High-Level-Code-Implementierung und einer Assembly-Implementierung zu wechseln. Außerdem sind die meisten Montageanwendungen nicht sehr wertvoll. Dies liegt daran, dass auch Prozesse, die nicht in die Assembly geschrieben werden müssen, in die Assembly geschrieben werden.

Dokument der C ++ Standards Commission 2015-04-pre-Lenexa Review: N4450-N4459 | Bücherwurm https://cpplover.blogspot.jp/2015/06/c-2015-04-pre-lenexa-n4450-n4459.html
An Entwickler: Werfen Sie die Baugruppe weg. Es kann nicht so stark optimiert werden und es kann nur die Architektur unterstützen, die zum Zeitpunkt des Schreibens des Codes überhaupt existiert. Wenn die Compilerleistung nicht den Erwartungen entspricht, erstellen Sie einen Fehlerbericht. Schlagen Sie dem Normungsausschuss vor, wie Sie eine synchrone und parallele Ausführung erreichen können. Holen Sie sich ein Tool wie ThreadSanitizer und finden Sie Konflikte in Ihrem Code.

Schlage den Compiler | Bookworm https://cpplover.blogspot.jp/2015/03/blog-post_30.html
Python und andere dynamisch typisierte Sprachen sind zwar schnell genug, aber schnell ist immer gut. Möglicherweise können Sie in einer niedrigeren Sprache wie C an Geschwindigkeit gewinnen, oder Sie können durch Handschrift der Assembly ein wenig weiter gehen, aber Sie sollten dem Compiler vertrauen. Wenn Sie jedoch so schnell wie möglich viele 12-Bit-Zahlen hinzufügen möchten, ist dies die Antwort.


https://toiroha.jp/article/detail/32380
Es ist keine objektorientierte Sprache, daher fühlt es sich im Vergleich zu modernen Mainstream-Sprachen etwas veraltet an. (C ++ ist eine Erweiterung der Objektorientierung auf die C-Sprache)

C ++ ist keine Erweiterung der Objektorientierung auf C-Sprache **, und C-Sprache kann auch objektorientiert sein. Apropos C ++ kann natürlich objektorientiert sein, aber es gibt viele andere Verbesserungen wie Vorlage. Darüber hinaus hat die C-Sprache auch ** einzigartige Entwicklungen ** in der C-Sprache vorgenommen, und der Codierungsstil ist völlig anders geworden, so dass die ** Abwärtskompatibilität mit C ++ ein Missverständnis ** zu sein scheint.

C++

http://d.hatena.ne.jp/shi3z/20160701/1467330446
C ++ ist in den meisten Punkten gemeinsam und mit der C-Sprache aufwärtskompatibel.

Wie bereits erwähnt, ist C ++ ** absolut nicht aufwärtskompatibel mit der C-Sprache.


http://d.hatena.ne.jp/shi3z/20160701/1467330446
In der Sprache C können Kommentare beispielsweise nur von / * bis * / verwendet werden, in C ++ jedoch //.

Auch in der Sprache C können // Kommentare ab C99 verwendet werden.

http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf
§6.4.9 Comments
2 Except within a character constant, a string literal, or a comment, the characters // introduce a comment that includes all multibyte characters up to, but not including, the next new-line character. The contents of such a comment are examined only to identify multibyte characters and to find the terminating new-line character.

Java

http://cpg.hatenablog.com/entry/2016/06/30/193755
Java ist die Sprache, die Sie zum Entwickeln von Android-Apps benötigen.

** Android NDK hat mit dem Hochladen begonnen. ** *. ( NDK = Native Development Kit ist ein Kit zum Schreiben von nativem Code in C ++ usw.) Es wurde auch viel über Java auf Android gesprochen ** nicht offizielles Java ** ... (Referenz → Über Java und gefälschtes Java sprechen.)

Heutzutage ist von Xamarin.Android sogar C # auch Android. Sie können jetzt Apps entwickeln.


http://cpg.hatenablog.com/entry/2016/06/30/193755
Bietet eine mit der Sprache C vergleichbare Verarbeitungsgeschwindigkeit

Java wurde ursprünglich für eine plattformunabhängige und benutzerfreundliche Sprache entwickelt. Aus Java Applet Die begonnene Entwicklung ist breit gefächert und umfasst Clients, Server, PCs und eingebettete Geräte. C / C ++ oder Java wird hauptsächlich für die Softwareentwicklung für Android OS verwendet, aber die erstere App läuft nativ und die letztere Dalvik Virtual Machine ( Es läuft auf Android 4.4 oder früher) oder ART Virtual Machine (https://ja.wikipedia.org/wiki/Android_Runtime) (Android 4.4 oder höher). Darüber hinaus ist die Geschwindigkeit ** relativ langsam **, da "der aus dem Quellcode auf der virtuellen Maschine (VM) generierte Bytecode ausgeführt wird".


https://toiroha.jp/article/detail/32380
Java ist in der Regel ausgereift und wurde von modernen Mainstream-Sprachen eher zurückgelassen. Infolgedessen werden neue Funktionen selten hinzugefügt.

Java 7Java 8 wurde angezeigt, es ist also immer noch ** Es gibt Raum für Evolution **.

JavaScript

http://cpg.hatenablog.com/entry/2016/06/30/193755
JavaScript ist die Sprache, die Sie zum Erstellen von Webseiten benötigen.

Es wird viel benutzt, aber es ist nicht wesentlich. Wenn überhaupt, ist es ein Wort, das für [HTML] gilt (https://ja.wikipedia.org/wiki/HyperText_Markup_Language).


http://cpg.hatenablog.com/entry/2016/06/30/193755
Zum Beispiel ist jQuery ein JavaScript-Plug-In. Mit anderen Worten, Sie können mithilfe der einfachen Syntax von jQuery problemlos praktische Funktionen verwenden, die in JavaScript geschrieben sind.

Was genau ist "jQuery-Grammatik"? Sicher, wir verwenden oft eindeutige Notationen, aber sie werden alle von JavaScript erstellt und sollten im Prinzip alle in JavaScript geschrieben sein. Ich kann.


http://cpg.hatenablog.com/entry/2016/06/30/193755
Das Merkmal von JavaScript ist, dass es visuell integriert ist

Was bedeutet "visuell"?


http://d.hatena.ne.jp/shi3z/20160701/1467330446
JavaScript ist eine funktionale Sprache, die stark von der LISP-Sprache beeinflusst wird, die älter als die C-Sprache ist.

Sicher, es gibt eine Funktion von Croja, aber in Wirklichkeit handelt es sich um eine prototypbasierte objektorientierte Sprache. Ich denke, es wird oft als Artikel verwendet / 809114f943208aaf55b3).


http://d.hatena.ne.jp/shi3z/20160701/1467330446
Serverseitige Programmierung ist auch mit V8 und nodeJS möglich.

Ich glaube nicht, dass das mit V8 geht.

Ruby

http://cpg.hatenablog.com/entry/2016/06/30/193755
Eines der Merkmale von Ruby ist seine Freiheit.

** Gibt es nicht einen Teil, der mich krank macht, wenn ich nicht etwas detaillierter schreibe (dunkles Lächeln) **


http://d.hatena.ne.jp/shi3z/20160701/1467330446
Vor kurzem wurde anscheinend JIT hinzugefügt, es wurde eine VM und es wurde schneller.

War Ruby JIT im experimentellen Stadium für Ruby 3.x? (Referenz → Auf dem Weg zur Zukunft von Ruby 3.0 - Drei Richtungen und Ruby-Philosophie, gezeigt vom Sprachdesigner Matsumoto)


http://d.hatena.ne.jp/shi3z/20160701/1467330446
Ein Holländer namens DHH

DHH ([David Heinemeier Hanson](https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%A4%E3%83%B4%E3%82%A3%E3%] 83% 83% E3% 83% 89% E3% 83% BB% E3% 83% 8F% E3% 82% A4% E3% 83% 8D% E3% 83% 9E% E3% 82% A4% E3% 83% A4% E3% 83% BC% E3% 83% BB% E3% 83% 8F% E3% 83% B3% E3% 82% BD% E3% 83% B3))) Ich denke, er ist Däne.

PHP

http://d.hatena.ne.jp/shi3z/20160701/1467330446
PHP ist in Apache integriert

Nochmals, geben Sie einfach den folgenden Kommentar ein:

http://b.hatena.ne.jp/entry/292721861/comment/living
"PHP ist in Apache integriert" Ich verwende auch mod_php, aber wenn Sie Leistung wünschen, denke ich, dass PHP-FPM (kurz FastCGI) häufiger ist.

Python

http://cpg.hatenablog.com/entry/2016/06/30/193755
Durch Einbindung einer Programmiersprache in die KI (künstliche Intelligenz)

Ist es nicht möglich, maschinelles Lernen in einer Programmiersprache zu implementieren?


http://cpg.hatenablog.com/entry/2016/06/30/193755
Python ist die erforderliche Sprache.

** Hauptsächlich wird C ++ ** als Sprache zum Schreiben von Bibliotheken verwendet, die für maschinelles Lernen verwendet werden. Der Grund dafür ist, dass ein großer Rechenaufwand erforderlich ist ** (insbesondere zum Lernen) **, daher ist es besser, schnell zu sein **. Darüber hinaus stehen verschiedene Sprachen für Code zur Verfügung, der maschinelles Lernen verwendet. Beispielsweise ist waifu2x, das für die Bildverarbeitung durch Deep Learning bekannt ist, nicht nur in Python, sondern auch in verschiedenen Sprachen wie C ++, HSP, JavaScript und Rust implementiert. Ich bin.

Da Python jedoch über eine umfangreiche Bibliothek verfügt, ist es einfach, numerische Berechnungen (einschließlich maschinelles Lernen) und Bildverarbeitung zu schreiben. Ist es daher eine gute Option, Python zu lernen, wenn Sie maschinelles Lernen berühren?

Swift

http://cpg.hatenablog.com/entry/2016/06/30/193755
Swift ist die Sprache, die Sie benötigen, um von Apple entwickelte iPhone-Apps zu entwickeln.

** Xamarin.iOS hat mit dem Hochladen begonnen. ** ** **

Recommended Posts

Betreff: Erklärt n wichtige Programmiersprachen
10 beliebtesten Programmiersprachen im Jahr 2020
Merkmale der Programmiersprache [Memo]
Die Popularität von Programmiersprachen
Glossar aller Programmiersprachen