Beste Antwort
Ich bin Programmierer bei Wallaroo Labs (www.wallaroolabs.com), wo wir waren Verwenden von Pony zum Erstellen von Wallaroo, unserem Datenverarbeitungs-Framework. Ich bin auch an der Arbeit am Pony-Compiler beteiligt.
Pony war eine großartige Sprache für die Arbeit an Wallaroo. Das Typsystem beseitigt Probleme wie Nullzeigerfehler, sodass wir sicher sein können, dass unser Programm beim Kompilieren nicht abstürzt. Die Referenzfunktionen garantieren, dass die gleichzeitigen Teile unserer Programme frei von Datenrennen sind. Der Compiler generiert schnellen Code und der Garbage Collector pro Akteur bietet vorhersehbar niedrige Tail-Latenzen. All diese Dinge zusammen haben es uns ermöglicht, eine große Software zu entwickeln, die sich wie erwartet verhält.
Pony kann für Anfänger aufgrund der Typprüfung und der Überprüfung der Referenzfähigkeit ein wenig einschüchternd sein. Die meisten Pony-Programmierer haben bis zu einem gewissen Grad Probleme mit diesen Dingen, wenn sie anfangen, die Sprache zu verwenden, und für kleine Programme mit einem Schauspieler scheinen sie übermäßig umständlich zu sein. Diese Dinge werden jedoch wertvoll, wenn Ihr Programm an Größe und Komplexität zunimmt. Das Typsystem garantiert, dass Ihr Programm nicht abstürzt, da ein Objekt nicht vom erwarteten Typ war. Referenzfunktionen eliminieren Datenrennen, die beim Testen notorisch schwer zu fangen und beim Debuggen sehr schmerzhaft sind. Sie werden diese Dinge nicht unbedingt zu schätzen wissen, wenn Sie Fizz-Buzz schreiben, aber sie sind der Unterschied zwischen Erfolg und Misserfolg beim Aufbau komplexer Softwaresysteme, auf denen Unternehmen aufbauen.
Ich finde Pony süß Spot sind große ereignisgesteuerte Anwendungen. Wie bereits erwähnt, helfen das Typsystem und die Referenzfunktionen bei der Verwaltung der Komplexität, und Pony basiert auf einem Akteursystem, das sich gut für ereignisgesteuerte Architekturen eignet. Es passt gut an die Stelle, an der Sie möglicherweise Node.js oder Erlang / Elixir verwenden, aber Sie erhalten die Vorteile der Typensicherheit und der nativen Ausführung.
Die Sprache ist noch neu, die Standardbibliothek also ziemlich minimal im Vergleich zu anderen Sprachen. Einerseits kann dies bedeuten, dass Pony nicht gut zu Ihrem Projekt passt. Auf der anderen Seite bedeutet dies, dass die Menschen viele Möglichkeiten haben, Beiträge zu leisten.
Pony wird von Freiwilligen mit unterschiedlichen Hintergründen aktiv weiterentwickelt, sodass nicht die Gefahr besteht, dass sie wegen jemandem verlassen werden verlässt das Projekt oder bekommt einen neuen Job. Dies bietet langfristig bessere Aussichten für Sprachen, die von einer einzelnen Person oder Firma verwaltet werden.
Ich habe ein -Dokument , das ich aktualisiere von Zeit zu Zeit mit dem, was ich denke, sind relevante Punkte für Leute, die daran interessiert sind, Pony auszuprobieren. Es behandelt Dinge, die ich für wichtig halte.
Im Allgemeinen war ich sehr zufrieden mit meiner Pony-Erfahrung und ich würde die Leute ermutigen, einige Zeit damit zu verbringen, sie auszuprobieren.
Antwort
Ich denke, Pony ist die Antwort auf alle Probleme mit Erlang (und Elixir) – hauptsächlich, dass diese Sprachen entwickelt wurden, bevor die Leute erkannten, dass man eine wirklich gleichzeitige Sprache erstellen kann, ohne alle Variablen intern und kopieren zu müssen Die Notwendigkeit, dass alles unveränderlich ist (um eine entwicklerfreundliche Parallelität zu erreichen). Diese neuen Ideen machten Pony so schnell wie C ++, aber potenziell mächtig wie Erlang. Für mich scheint es eine wirklich futuristische Version von Erlang zu sein, was jemand heute tun könnte, wenn er Erlang von Grund auf neu erfinden müsste. Rust ist ähnlich, aber ich würde eine primitivere Umsetzung solcher Ideen (mit seinem Genehmigungssystem) argumentieren. In Rust müssen Sie immer noch über Threads und andere Prozessmanagement-Dinge auf Systemebene nachdenken, damit die moderne Sprache wirklich für Sie funktioniert. Oder vielleicht ist es fairer zu sagen, dass Rust eine Programmiersprache auf Systemebene ist und Pony eine Stufe höher, obwohl es immer noch sehr schnell ist.
Leider, weil ein idiotischer IT-Manager bei JP Morgan die Dienste abgelehnt hat Vertrag von Causality im letzten Jahr (lesen Sie mehr unter https://www.linkedin.com/pulse/end-causality-constantine-goulimis ) – das Unternehmen, das die Sprache entwickelte, ging ursprünglich bankrott und Die besten Leute arbeiteten für andere Unternehmen.
Was ich gesehen habe, war Sylvan Clebsch, ein wirklich kluger CS-Typ. Ich habe seine Videos gesehen, und er hätte das tatsächlich schaffen können (Herstellung der „Erlang v2“ -Plattform, die auf moderneren Designideen für Programmiersprachen basiert).
Die Leute, die Sylvan und Causality abgelöst haben sind einfach nicht der Aufgabe gewachsen.
Es gibt keine Brillanz mehr im gesamten Projekt, und das erste, was sie bei der Übernahme des Projekts getan haben, war die Veröffentlichung eines Verhaltenskodex, eines SJW-Bullshit-Dokuments Geben Sie alle Möglichkeiten an, wie Sie ihrer idiotischen linken Ideologie entsprechen müssen, bevor Sie Teil ihrer kleinen Gruppe sein können.
Dies ist buchstäblich eine dieser Zeiten in der technischen Entwicklung, in denen die schlechtere Lösung aufgrund bestimmter Marktbedingungen gewonnen hat. Das andere Mal war es, als Sun mit Milliarden von Dollar aus der Dotcom-Blase Java als Lösung für alle Arten von Problemen vermarktete, für die es nie entwickelt wurde.
Jedenfalls glaube ich nicht, dass es so ist wird wirklich in der Produktion verwendet, außer hier und da als kleines Stück Code, aber nicht als ganzes System – zu Recht, da es weit davon entfernt ist, das zu liefern, was Sylvan und die wenigen Originalautoren sich die gesamte Sprache (und später die verteilte Plattform) vorgestellt haben. sein und tun.