Warum wird C ++ immer noch bevorzugt, um schwere GUI-Apps über die neuesten dynamischen Sprachen zu erstellen? [geschlossen]

46

Ich sehe, dass die meisten Apps, die umfangreiche GUI-Inhalte enthalten, normalerweise in C ++ entwickelt werden. Die meisten Spiele / Browser sind in C ++ codiert.

Können wir nicht einfach bessere GUI-Apps mit den neuesten dynamischen Sprachen entwickeln? Ich weiß, Java wäre keine gute Wahl. Aber was ist mit Sprachen wie Python, die ursprünglich auf C aufgebaut sind? Sollen die neuesten Sprachen nicht besser sein als ihre Vorfahren? Warum müssen wir immer noch das uralte C ++ den neuesten Sprachen vorziehen?

Und ich möchte auch wissen, was in C ++ für die bessere Geschwindigkeit der GUI-Verarbeitung verantwortlich ist. Auf der anderen Seite, was fehlt den anderen neuesten Sprachen?

Vamsi Emani
quelle
22
Wenn Sie denken, dass Java eine "dynamische" Sprache ist, dann sind Sie zutiefst verwirrt darüber, was dieses Wort in diesem Kontext bedeutet.
Mike Baranczak
15
@ Mike Baranczak: Das ist eine lange Geschichte. Grundsätzlich gab es ein Forschungsprojekt zuerst in Stanford, später bei Sun Research mit dem Namen Self. Self ist eine Programmiersprache in der Smalltalk-Familie, die einfacher, leistungsfähiger, ausdrucksvoller und vor allem bedeutend dynamischer ist als Smalltalk. Da es als Programmiersprache entwickelt wurde, um ganze Systeme in (wie alle Smalltalk-Dialekte) zu entwickeln, einschließlich (aber nicht beschränkt auf) Desktop-Anwendungen, Server, Betriebssysteme und Gerätetreiber, musste es unglaublich schnell sein. Also erfand das Self-Team eine ganze Reihe neuer ...
Jörg W Mittag
15
... Optimierungstechniken, und wenn die Selbst VM kam 1987 heraus (und noch mehr die zweite Generation im Jahr 1992), es war schnell. Es war schneller als jede andere Smalltalk-VM. Das Selbst - System mit viel Beispielcode ausgeliefert, und eines dieser Beispiele war ein Smalltalk - Interpreter in Selbst geschrieben und sogar die schneller als jede andere Smalltalk VM war. Self war zu dieser Zeit schneller als viele C ++ - Implementierungen und sogar mit C konkurrierend. Es war schnell . Sun entschied jedoch, dass sie weder eine objektorientierte Programmiersprache noch eine schnelle VM benötigten. Deshalb ...
Jörg W Mittag
15
... verhungerte das Self-Projekt im Grunde, indem es die Finanzierung versiegte. Als die Self-VM-Ingenieure Sun aus Frustration verließen, wurden sie schnell von einem Smalltalk-Startup namens LongView (besser bekannt unter dem Namen ihres meistverkauften Produkts, einem optionalen statischen Typsystem für Smalltalk: StrongTalk) entdeckt. LongView wusste, dass es niemals möglich sein würde, statische Texte für Smalltalk zu verkaufen. Deshalb dachten sie, sie würden lieber den schnellsten Smalltalk der Welt verkaufen und dann StrongTalk in eine Art Trojanisches Pferd einbinden. Sie erkannten auch, dass keiner der coolen ...
Jörg W Mittag
15
... Optimierungen der Selbst VM in irgendeiner Weise tat waren insbesondere Selbst, sondern so ziemlich jede objektorientierte Sprache anwendbar waren (oder auch nur jeder Sprache überhaupt ). Die Self-VM-Ingenieure arbeiteten also an einer Smalltalk-VM namens Animorphic VM. Auch hier war die animorphe VM erstaunlich schnell (und ist es auch heute noch, obwohl die Codebasis seit etwa 15 Jahren nicht mehr verändert wurde). Sie kann jedoch mit modernen Hochleistungs-Smalltalks, JVMs und .NET mithalten, besonders wenn Sie dies in Betracht ziehen berücksichtigen, dass es viel weniger Ressourcen verbraucht als diese, da es für 486er mit 20 Meg ...
Jörg W Mittag

Antworten:

58

Ich gehöre zu den Leuten, die C ++ - GUI-Apps schreiben (hauptsächlich für Windows). Mit Qt, um genau zu sein. Meine Gründe:

  • Ich mag C ++. Ich bin freiberuflich tätig und kann in der Regel meine Werkzeuge auswählen (Glück!)
  • In einer verwalteten Umgebung kann es schwierig sein, nicht verwalteten Code zu verwenden (langwierige WinAPI-Deklarationen in C #?).
  • Weniger Abhängigkeiten, die einfacher bereitgestellt werden können
  • Mehr Kontrolle über alles.
  • RAII (gegen GC). Und selbst wenn ich mit allokiere new, habe ich selten deleteetwas explizit, weil ich intelligente Zeiger oder die QObjectHierarchie verwende.
  • C ++ ist heutzutage sehr aufregend, ich kann es kaum erwarten, dass ein Compiler den neuen Standard vollständig unterstützt.
  • Geschwindigkeit (nur am Ende der Liste. Ich weiß, dass es für die GUI selbst nicht so wichtig ist, aber es ist tendenziell schneller, da C ++ - Programme nicht unter dem Overhead leiden, den Laufzeiten, das Kompilieren von Bytecode und ähnliche Technologien verursachen das Programm.)

Wie Sie sehen, handelt es sich meist um persönliche Vorlieben. Ich finde es wichtig, dass meine Arbeit Spaß macht, und das bietet mir C ++.

Tamás Szelei
quelle
11
+1 Geschwindigkeit ist hier definitiv der Hauptgrund, abgesehen von persönlichen Vorlieben. Ich mag jedoch "C ++ ist heutzutage sehr aufregend". Um den Fragesteller anzusprechen , nicht @ Tamás Szelei: Sicher, das Rechnen ändert sich schnell mit neuen Ideen, Paradigmen, Technologien, Produkten, aber das Neueste und Beste ist keine Tugend. C ++ gibt es schon eine Weile und das bedeutet nicht, dass es veraltet ist, sondern dass es im Vergleich zu neueren Technologien eine lange Erfolgsgeschichte hat. Der originale Stroustrup-Text (das Buch des Erfinders) ist schwer zu lesen, aber es gibt einige nette Bücher von anderen - siehe zum Beispiel oreilly.com.
wissen,
1
@Tarnas Ich denke, "wird immer schneller sein" ist ein bisschen engstirnig / autoritär, aber nicht genug, um eine Ablehnung zu rechtfertigen ...
Max
2
Als Anekdotenunterstützung: Ich war an verschiedenen Projekten beteiligt, um unter Windows mit C ++ und JavaScript GUIs mit beträchtlicher Größe zu erstellen. Ich war auch an verschiedenen Spielekonsolenprojekten in C ++ und JavaScript beteiligt. In beiden Fällen traten bei JavaScript erheblich mehr Geschwindigkeits- und Speicherprobleme auf.
Gort the Robot
2
Spät zur Party, aber können Sie die "weniger / leicht einsetzbaren Abhängigkeiten" näher erläutern?
weberc2
2
Ich benutze C ++ seit über 20 Jahren. Seit 11, 14 und 17 wurden viele neue und großartige Funktionen hinzugefügt. Sie können C ++ fast als Skriptsprache verwenden und trotzdem die Vorteile der hohen Geschwindigkeit nutzen. Wenn ich mit BIG-Daten arbeite, muss ich fast C ++ verwenden, da jede andere Sprache 10-1000 langsamer ist.
Kemin Zhou
32

Weil Geschwindigkeit zählt.

  • Spiele verwenden C ++ für Kernaufgaben, bei denen die Leistung wichtig ist. Sie verwenden dynamische Sprachen für Skriptaufgaben, bei denen Flexibilität wichtig ist.

  • Desktop-GUI-Apps : Visual Studio ist beispielsweise in .NET und nicht in nativem C ++ geschrieben. Es scheint ziemlich gut für eine IDE zu funktionieren, da die IDE selbst nicht viele leistungsintensive Aufgaben erledigen muss. (Der Compiler, der Linker und andere Tools sind nicht unbedingt in .NET geschrieben - obwohl, wie wawa in einem Kommentar hervorhebt, einige davon zu sein scheinen (z. B. VB.NET))

  • Browser müssen auch schnell sein. Immerhin sind sie eine Art sekundäres Betriebssystem. Andererseits können Sie argumentieren, dass große Teile von Firefox tatsächlich in Javascript "geschrieben" sind, da das Mozilla-Framework stark von Javascript abhängig zu sein scheint.

Fazit: Ich würde nicht sagen, dass C ++ unbedingt bevorzugt wird, aber wenn Sie einen Leistungsengpass haben, müssen Sie näher an das Metall heranrücken und dann treffen Sie C ++ (oder C). Manchmal ist es einfacher, alles in C ++ - einer Sprache - zu erledigen.

Martin Ba
quelle
1
+1 Beste Antwort: Geschwindigkeit ist der Hauptgrund für die Verwendung von C ++. Sogar Microsoft selbst räumt ein, dass C ++ im Vergleich zu C # und Visual Basic am besten für die Leistung geeignet ist. Eine sehr knappe Sekunde ist die Portabilität - wenn Sie plattformübergreifende Bibliotheken wie Qt verwenden. Beste Antwort auch, weil es eher objektiv als subjektiv ist.
wissen,
2
Ihr zweiter Punkt ist nicht ganz richtig. Der VB.NET-Compiler ist in VB.NET und der F # -Compiler in F # geschrieben. Der C # -Compiler ist nicht, aber von dem, was über das Projekt Roslyn veröffentlicht wurde, denke ich, dass der C # -Compiler in C # umgeschrieben wird.
Wesley Wiser
5
Die visuelle Studio-GUI (das Chrom) ist (von vs2010) in c # und WPF geschrieben. Der Solution Explorer, das Build-System, der Code-Browser und die Toolbox sind in C # / C ++ mit Winforms geschrieben. Der Compiler ist in c ++ geschrieben.
Martin Beckett
Bei den meisten Desktop-Apps müssen nur die Rendering- und Layout-Engines (dh die Ansicht) schnell sein. Das Modell benötigt in der Regel sowieso nicht viel Zeit und der Controller wartet die meiste Zeit nur darauf, dass der Benutzer etwas unternimmt (und nur wenige Benutzer können zuverlässig 10-mal pro Sekunde klicken).
Donal Fellows
@MartinBa: Ich stelle fest, dass der aktuelle Compiler für C # und VB (Roslyn) in C # geschrieben ist.
Jmoreno
17

Die GUI-Apps, die Sie in C ++ sehen, werden im Allgemeinen aus älteren Gründen erstellt. Python (mit Qt oder Gtk) ist für GUI-Anwendungen sehr nützlich, ebenso wie C #, wenn Sie in einem Windows-Haus arbeiten. Wenn etwas Neues beginnen, entweder sehr viel zu C ++ bevorzugt , weil der Mangel an Klempnerarbeiten , die getan werden muss.

Demian Brecht
quelle
5
+1 vorhandener Code ist wichtig. Es kommt selten vor, dass man bei der Entwicklung neuer Programme von vorne
7
Wie ist die Verwendung von Python mit Qt der Verwendung von C ++ mit Qt vorzuziehen? Wenn ich heute ein neues Projekt starten würde, würde ich immer noch C ++ für die GUI verwenden. Denn: a) es ist das, was ich weiß, b) es macht den Job gut. Nur weil es C ++ schon eine Weile gibt, ist es noch lange nicht "veraltet".
TZHX
2
@TZHX: "Es ist das, was ich weiß" ist ein tragfähiges Argument. Wenn dies nicht gegeben ist, ist es eine enorme Leistungssteigerung, sich nicht mehr um die Speicherverwaltung kümmern zu müssen, und es kann den Aufwand für das Erlernen von Python sogar für ein einzelnes Projekt ausgleichen. Ein weiterer Grund für die Verwendung von Python ist die plattformübergreifende Funktionalität. In C ++ müssen Sie vorsichtig sein und besondere Maßnahmen ergreifen, während Python wahrscheinlich nur funktioniert.
tdammers
4
Ich sehe keine Vorteile der Verwendung von PyQt anstelle von Qt mit C ++ für jemanden, der C ++ kennt.
BenjaminB
13
C ++ wird wahrscheinlich auch nur funktionieren. Mit Python müssen Sie sich Gedanken darüber machen, welche Version von Python der Benutzer installiert hat, oder sich Gedanken darüber machen, ob Sie Python bündeln möchten. Es gibt wirklich nicht viel zu tun, um die Erinnerung zu pflegen, es sei denn, Sie machen dumme Fehler. Ich denke, viele Leute geben "Speicherverwaltung" als großes Hindernis für die Arbeit mit C ++ an, ohne wirklich zu wissen, wie viel Unterschied es macht.
TZHX
16

Denn egal wie viele Leistungstests .NET und ähnliche Massen zeigen, egal wie nahe sie an den Benchmarks liegen, am Ende hat die C ++ - App die Nase vorn. Beim Kaltstart ist es schneller, es ist schneller und es gibt mehr Möglichkeiten, es zu verbessern.

Ich habe in den Startphasen des Projekts zahlreiche Beweise dafür gehört, dass .NET der richtige Weg ist, aber wenn es einmal ausgewählt wurde, waren sie immer ein schwerer Klumpen.

Außerdem ist C ++ heutzutage sehr sicher und einfach zu bedienen, insbesondere mit Frameworks wie Qt oder WTL.

Coder
quelle
2
+1: "Außerdem ist C ++ heutzutage ziemlich sicher und einfach zu bedienen, insbesondere mit Frameworks wie Qt ..." Ich stimme vollkommen zu: Ich denke, eine große Stärke ist nicht (nur) C ++ an sich, sondern die Tatsache, dass (1 ) es ist zu nativem Code kompiliert, (2) hat einen angemessenen Satz von Funktionen (OOP, Vorlagen), (3) hat sehr gute Frameworks wie Qt. Dies gleicht die Tatsache aus, dass die Sprache ziemlich umfangreich und schwer zu erlernen ist: Wenn Sie eine anständige Teilmenge der Sprache und einige gute Bibliotheken beherrschen, können Sie damit wirklich produktiv sein.
Giorgio
10

Die meisten Spiele- Engines sind in C ++ codiert. Auch viele Browser- Engines sind in C ++ codiert. Die GUI des Browsers wird jedoch häufig mit einem einfachen Skript (JavaScript, Python) codiert. Mit Ausnahme der Source Engine verwenden die meisten Spiele-Engines auch Skriptsprachen (wie Lua oder Python). [als Referenz: Liste der Lua-Skriptspiele ]

Nehmen Sie auch beliebte C ++ - GUI-Bibliothek wie Qt. In der aktuellen Version (4.7) wird QML für die GUI verwendet. QML ist grundsätzlich JavaScript mit Qt-Bindungen.

Es gibt also wirklich kein C ++ gegen dynamische Sprachen, es ist gemischt.

vartec
quelle
[Zitat benötigt]. Ich weiß, dass viele Spiele Skriptsprachen verwenden, um die Benutzer zu erweitern, aber meines Wissens gibt es nicht wirklich viele Spiele, die Skriptsprachen für ihre Release-Binär-Funktionalität verwenden.
ProdigySim
1
@ProdigySim: Ich kenne mehrere, die das tun. Auf den Punkt gebracht: World of Warcraft (Lua + XML), die Uncharted-Serie von Naughty Dog (Lisp), die Unreal-Serie (UnrealScript), Spiele, die auf den Torque- und Unity-Engines basieren, Dungeon Siege, NeverWinter Nights und viele andere. Datengetriebene Spiele werden zur Norm, bei der der Scripting-Host die meisten (wenn nicht alle) Funktionen der Benutzeroberfläche und den Spielstatus von oben nach unten übernimmt.
greyfade
@ProdigySim: Auch wenn es normalen Benutzern verborgen bleibt, heißt das nicht, dass sie intern keine Skript-Engines verwenden. Grundsätzlich haben Spieleentwickler zwei Möglichkeiten: Erstellen Sie eine eigene Skriptsprache für Modelle oder verwenden Sie eine universelle. Lua ist besonders gut für Spiele, da es im Allgemeinen gut für Echtzeitsysteme ist.
vartec
Das Quellmodul verwendet die Skriptsprache Squirrel.
Cubuspl42
6

Erster Grund wird sein: (alte) Gewohnheit

Zweiter Grund: geringere Zuverlässigkeit für virtuelle Maschinen, zu installierende Interpreter usw.

Und es gibt immer noch einige hervorragende IDEs, um Code in C ++ zu entwickeln.

Roalt
quelle
1
Noch ausgezeichnetes IDEs‘ .. Ich würde behaupten , Visual Studio und Eclipse sind modernste und haben ziemlich viel für eine lange Zeit gewesen.
JBRWilkinson
@ JBRWilkinson: Ich habe nicht gesagt, dass andere Sprachen sie auch nicht haben.
Roalt
6

Der Grund ist, dass Sie viel mehr Kontrolle über alles haben, was passiert. Wenn Sie Photoshop in C # schreiben, treten bei einigen Aufgaben schwerwiegende Leistungsprobleme auf. In einer niedrigeren Sprache mit mehr Kontrolle können Sie Verknüpfungen verwenden und bei Bedarf die Optimierung für Dinge vornehmen, die intensiver sind. Dies setzt natürlich voraus, dass Sie C ++ in nicht verwaltetem Code verwenden, nicht C ++ in .NET.

Sehen Sie hier ein kurzes Beispiel.

Richard
quelle
2
Adobe Lightroom, eine Teilmenge von Photoshop, ist in Lua geschrieben.
Jörg W Mittag
4
@ Jörg: und der Rest davon ist C ++. Tatsächlich ist dies wahrscheinlich die beste verfügbare Kombination, C ++ für die Foundation, Lua für den Rest (obwohl ich C für Low-Level-Dinge immer noch C gegenüber C ++ bevorzuge).
Javier
2
@Javier: Ja, Lightroom besteht im Grunde genommen aus den Bildbearbeitungsalgorithmen von Photoshop (die wahrscheinlich hauptsächlich in MMX / SSE-Assembly geschrieben wurden) und SQLite3 (das aus Gründen der Portabilität in prähistorischem ANSI C geschrieben wurde), die zusammen mit Lua erstellt wurden. Adobe hat auch eine eigene Lua-IDE entwickelt, die vollständig in Lua implementiert ist. Weiß jemand, welches Grafik-Toolkit sie verwenden? AFAIR Photoshop ist so ziemlich allen modernen Toolkits voraus, also ist es wahrscheinlich etwas Eigenes?
Jörg W Mittag
4
Keine Beleidigung, aber wenn Sie glauben, dass ANSI C prähistorisch ist, haben Sie die falschen Codebeispiele gelesen
Javier,
6

C ++ ist statisch typisiert. Dies ermöglicht die Optimierung der Codeausführung im Voraus, indem ein Compiler Ihre Abstraktionen an die verfügbaren Systemprozesse auf einer bestimmten Plattform anpasst. Bisher benötigen dynamische Sprachen eine zusätzliche Softwareschicht (= den Interpreter), die den Zugriff auf Systemressourcen verlangsamt.

poseid
quelle
4

Die meisten Gründe sind technisch oder "über dem Tisch" ... hier sind geschäftliche Gründe oder die "unter dem Tisch":

Verteilen von kompiliertem Code vs. Verteilen von Quellcode. Bei der Entwicklung in C / C ++ verteilen Sie die Binärdateien. Wenn Sie in einer der modernen Sprachen entwickeln, vertreiben Sie die Quelle. Es ist schwierig, die Idee der Verschleierung an das Management zu verkaufen, das gegenüber Aktionären / Investoren vorgehen muss.

Dumme User: Zumindest in den Köpfen des Managements. Sie nehmen immer noch an, dass ihre Benutzer kaum in der Lage sind, auf eine "setup.exe" zu doppelklicken. Wenn Sie die Installation eines Interpreters als Teil des Setups einschließen, schütteln sie den Kopf von einer Seite zur anderen.

Alte Entwickler: Die meisten Leute mit Erfahrung sind schon lange dabei und haben sich nicht mehr auf dem Laufenden gehalten. Sie programmieren in C ++ und nicht in den neueren Sprachen, weil sie die neueren Sprachen nicht kennen.

Kinjal Dixit
quelle
Ich würde behaupten, dass Sie den Quellcode vertreiben, wenn Sie eine .NET-Anwendung veröffentlichen. Schauen Sie sich Visual Studio an, ein Großteil der Benutzeroberfläche ist mit WPF-Formularen gestaltet. Einige Ihrer Punkte sind natürlich gültig, ein Großteil des heutigen Managements waren Entwickler von gestern, die schlechten Nachrichten, die ein Großteil der heutigen Frameworks aufgrund der Änderungen an Computern heute wahrscheinlich nicht mehr gültig sind.
Ramhound
Viele Menschen mit viel Erfahrung haben ihre Erfahrungen gesammelt, indem sie sich auf dem Laufenden gehalten haben. Sie neigen nicht dazu, heiße neue Sprachen zu lernen (wie Pascal in den frühen 1980er Jahren), nur weil sie heiß sind, sondern nur, wenn sie eine Verwendung für sie haben oder interessante Ideen haben (zum Beispiel Haskell).
David Thornley
4

Ich würde den Umfang des Problems von der grafischen Benutzeroberfläche auf Software ausweiten, von der erwartet wird, dass sie wettbewerbsfähig ist. C ++ erhebt keine Steuer auf die Zielplattform, da es sich um Verarbeitungsleistung, installierte Laufzeit, Frameworks usw. handelt. Daher funktioniert es auf einer eingeschränkteren Kundenhardware als eine ähnliche Lösung, die in einer verwalteten / interpretierten Sprache geschrieben ist. Bei einer erfolgreichen kommerziellen Software werden die Entwicklungskosten (bei C ++ möglicherweise höher) durch die Anzahl der Verkäufe amortisiert.

Zusätzlich bietet C ++ normalerweise direkten Zugriff auf System-APIs (wie GUI), was die beste Gelegenheit bietet, die Auslastung zu optimieren und sich von ähnlichen Lösungen zu unterscheiden.

jszpilewski
quelle
3

Ich denke, viel davon hat mit den APIs für GUI-Toolkits zu tun. Alle haben eine C / C ++ - API, aber nicht alle haben (sagen wir) Python-Bindungen. Und manchmal wurden die Toolkits selbst mit Blick auf C ++ geschrieben. Selbst wenn sie andere Sprachen unterstützen, unterstützen sie diese nicht vollständig (z. B. unterstützen sie kein Python tupleals Argument).

TMN
quelle
Oh, sie unterstützen sie nicht vollständig, weil sie nicht wollen oder keine Zeit haben, das umzusetzen. Nicht weil das unmöglich ist.
Cubuspl42
2

Sie nennen Browser und Spiele als Beispiele. Beide sind ziemlich leistungskritische Anwendungen, daher ist es sinnvoll, sie in einer einfachen Sprache für Geschwindigkeit zu haben.

Viele andere Anwendungen sind weniger leistungsgebunden und können problemlos in anderen Sprachen geschrieben werden. Insbesondere scheint C # häufig verwendet zu werden. (Und Obj-C, aber es eignet sich nicht wirklich als High-Level, denke ich. Besser als C ++.)

Für die neuesten Programmiersprachen fehlen allerdings gewisse Frameworks. Zum Beispiel gibt es für Python keine brauchbare native GUI-Bibliothek. Sicher, Sie können PyQt oder PyGtk verwenden und sie funktionieren gut, aber am Ende ist dies nur eine erneute Verbindung mit C-Code. Auch hier scheint C # (und wohl Obj-C) die Ausnahme zu sein, und vielleicht könnten MacRuby oder IronPython dieses Spiel ändern.

Bastibe
quelle
0

Damit eine Sprache C ++ oder Java ersetzen kann, muss sie das tun, was in diesen Sprachen schmerzlich vermisst wird, und sie muss nicht nur aus eigener Kraft ausgeführt werden. Auch in diese Sprachen wurden enorme Investitionen getätigt. Das bedeutet, dass es auf vielen Plattformen eine Standard-C ++ - Bibliothek gibt, die von Browsern, Spielen und solchen Programmen problemlos verwendet werden kann. Es muss also eine gewisse Trägheit geben. Sprachen nehmen im Gegensatz zu anderen Software-Programmen tendenziell langsam ab.

Wenn Sie es sich ansehen, gibt es Anaconda (RedHats Installationsprogramm) schon seit ungefähr 10 Jahren und es wurde von Anfang an in Python geschrieben. Python war nicht so beliebt, als Anaconda neu war.

Googles Go (golang.org) entwickelt sich sehr schnell. Der Compiler muss noch gebootet werden. Damit die Popularität zunimmt, muss sich die Bibliothek stabilisieren, der Compiler muss gebootet werden und es müssen mehr Benutzer damit arbeiten. Ich habe gehört, dass ein Produktionsprogramm außerhalb von Google in Go geschrieben wurde, und es wird berichtet, dass es in seinem Leben von etwas mehr als einem Jahr noch keine Ausfallzeit hatte.

vpit3833
quelle
1
Eigentlich gibt es einen kommerziellen Go-Compiler für Windows, der in Go geschrieben ist, also gibt es einen Bootstrapped-Compiler für Go. (Es ist jedoch immer noch in der Closed Beta.)
Jörg W Mittag
Oh, ich war damals außer Kontakt. Vielen Dank für das Erzählen :)
vpit3833
2
Es heißt erGo und wird von einer Firma namens Newquist Solutions produziert .
Jörg W Mittag