Bästa svaret
Jag är programmerare på Wallaroo Labs (www.wallaroolabs.com), där vi har varit använder Pony för att bygga Wallaroo, vårt ram för databehandling. Jag är också med på att arbeta med Pony-kompilatorn.
Pony har varit ett utmärkt språk för att arbeta på Wallaroo. Typsystemet eliminerar problem som nullpekarfel, så vi kan vara säkra på att om vårt program kompilerar kommer det inte att krascha. Referensfunktionerna garanterar att de samtidiga delarna av våra program är fria från dataserier. Kompilatorn genererar snabb kod och avfallssamlaren per aktör ger oss förutsägbart låga svansfördröjningar. Alla dessa saker tillsammans har gjort det möjligt för oss att bygga en stor mjukvara som beter sig som förväntat.
Ponny kan vara lite skrämmande för nybörjare på grund av typkontroll och referenskapacitetskontroll. De flesta Pony-programmerare kämpar med dessa saker i viss utsträckning när de börjar använda språket, och för små program för enstaka aktörer kan de verka alltför besvärliga. Dessa saker blir dock värdefulla, eftersom ditt program växer i storlek och komplexitet. Typsystemet garanterar att ditt program inte kraschar eftersom ett objekt inte var av den förväntade typen. Referensfunktioner eliminerar dataserier, som är notoriskt svåra att fånga i testning och mycket smärtsamma att felsöka. Du kommer inte nödvändigtvis att uppskatta dessa saker när du skriver fizz-buzz, men de är skillnaden mellan framgång och misslyckande när du bygger de typer av komplexa mjukvarusystem som företag bygger på.
Jag tycker att Pony är söt spot är stora evenemangsdrivna applikationer. Som jag nämnde tidigare hjälper typsystemet och referensfunktionerna till att hantera komplexiteten, och Pony är baserat på ett aktörssystem, vilket passar bra för händelsestyrda arkitekturer. Det passar fint in på den plats där du kan använda något som Node.js eller Erlang / Elixir, men du får fördelarna med typsäkerhet och inbyggd körning.
Språket är fortfarande nytt, så standardbiblioteket är ganska minimal jämfört med andra språk. Å ena sidan kan det betyda att Pony inte passar bra för ditt projekt. Å andra sidan betyder det att det finns många möjligheter för människor att bidra.
Ponny är under aktiv utveckling av volontärer med ett antal olika bakgrunder, så det riskerar inte att överges eftersom någon lämnar projektet eller får ett nytt jobb. Detta ger bättre långsiktiga möjligheter att språk som upprätthålls av en enda person eller ett företag.
Jag har ett dokument som jag uppdaterar då och då med vad jag tycker är relevanta poäng för människor som är intresserade av att kolla in Pony. Det täcker saker som jag tycker är viktiga.
I allmänhet har jag varit väldigt nöjd med min Pony-upplevelse och jag skulle uppmuntra folk att spendera lite tid på att kolla in det.
Svar
Jag tror att Pony är svaret på alla problem med Erlang (och Elixir) – mestadels att dessa språk designades innan folk insåg att du kunde bygga ett verkligt samtidigt språk utan att behöva kopiera alla variabler runt internt och behovet av att allt ska vara oföränderligt (för att få fram utvecklarvänlig samtidighet). Dessa nya idéer gjorde Pony lika snabbt som C ++, men potentiellt kraftfullt som Erlang. För mig verkar det som en riktigt futuristisk version av Erlang, vad någon kan göra idag om de måste uppfinna Erlang från grunden. Rost är likartad, men jag skulle vilja argumentera för en mer primitiv implementering av sådana idéer (med dess tillståndssystem). I Rust måste du fortfarande tänka hela tiden på trådar och andra processhanteringsgrejer på systemnivå, det moderna språket borde verkligen ordna dig. Eller kanske är det rättvisare att säga att Rust är ett programmeringsspråk på systemnivå, och Pony är en nivå upp från det, medan det fortfarande är riktigt snabbt.
Tyvärr, för att någon idiot IT-chef på JP Morgan avvisade tjänsterna kontrakt från kausalitet förra året (läs mer på https://www.linkedin.com/pulse/end-causality-constantine-goulimis ) – företaget som utvecklade språket gick ursprungligen i konkurs och toppmänniskor fortsatte att arbeta för andra företag.
Från vad jag har sett de viktigaste hjärnorna bakom hela Pony-berättelsen var Sylvan Clebsch, en riktigt smart CS-kille. Jag har sett hans videor, och han kunde faktiskt ha dragit det här (skapande av ”Erlang v2” -plattform, byggd på modernare programmeringsspråksidéer).
Killarna som tog över från Sylvan and Causality är bara inte uppe till jobbet.
Det finns ingen mer briljans i hela projektet, och det första de gjorde när de tog över projektet var att lägga upp en uppförandekod, ett SJW-bullshit-dokument specificera alla sätt du måste följa deras idiotiska vänsterideologi innan du kan vara en del av deras lilla grupp.
Detta är bokstavligen en av de tiderna inom teknisk utveckling, där den sämre lösningen vann, på grund av vissa marknadsförhållanden. Den andra gången var när Sun, med miljarder $$$ från dot-com-bubbla, marknadsförde Java som lösningen för alla slags problem som den aldrig var designad för.
Hur som helst, jag tror inte att det är verkligen används i produktionen förutom som en liten bit kod här och där, men inte som ett helt system – med rätta eftersom det långt ifrån faktiskt levererar vad Sylvan och de få originalförfattarna föreställde sig hela språket (och senare distribuerad plattform) att vara och göra.