Beste svaret
Jeg er programmerer hos Wallaroo Labs (www.wallaroolabs.com), der vi har vært bruker Pony til å bygge Wallaroo, vårt databehandlingsrammeverk. Jeg er også involvert i å jobbe med Pony-kompilatoren.
Pony har vært et flott språk for å jobbe med Wallaroo. Typesystemet eliminerer problemer som nullpekerfeil, så vi kan være sikre på at hvis programmet vårt kompilerer, vil det ikke krasje. Referansefunksjonene garanterer at de samtidige delene av programmene våre er fri for dataløp. Kompilatoren genererer rask kode, og den per-actor søppeloppsamleren gir oss forutsigbare lave haleforsinkelser. Alle disse tingene sammen har gjort det mulig for oss å bygge et stort stykke programvare som oppfører seg som forventet.
Ponni kan være litt skremmende for nybegynnere på grunn av typekontroll og referansefunksjonskontroll. De fleste Pony-programmerere sliter med disse tingene til en viss grad når de begynner å bruke språket, og for små single-actor-programmer kan de virke altfor tungvint. Disse tingene blir imidlertid verdifulle, ettersom programmet ditt vokser i størrelse og kompleksitet. Typesystemet garanterer at programmet ikke krasjer fordi et objekt ikke var av den forventede typen. Referansefunksjoner eliminerer dataløp, som er kjent som vanskelig å fange i testing og veldig smertefulle å feilsøke. Du vil ikke nødvendigvis sette pris på disse tingene når du skriver fizz-buzz, men de er forskjellen mellom suksess og fiasko når du bygger slike komplekse programvaresystemer som bedrifter bygger på.
Jeg synes Pony er søt spot er store hendelsesdrevne applikasjoner. Som jeg nevnte tidligere, hjelper typesystemet og referansefunksjonene til å håndtere kompleksiteten, og Pony er basert på et aktørsystem, som passer godt for hendelsesdrevne arkitekturer. Det passer fint inn på stedet der du kan bruke noe som Node.js eller Erlang / Elixir, men du får fordelene med typesikkerhet og naturlig utførelse.
Språket er fortsatt nytt, så standardbiblioteket er ganske minimal sammenlignet med andre språk. På den ene siden kan dette bety at Pony ikke passer bra for prosjektet ditt. På den annen side betyr det at det er mange muligheter for folk å bidra.
Pony er under aktiv utvikling av frivillige med en rekke forskjellige bakgrunner, så det risikerer ikke å bli forlatt fordi noen forlater prosjektet eller får en ny jobb. Dette gir det bedre langsiktige muligheter for at språk som opprettholdes av en enkelt person eller et selskap.
Jeg har et dokument som jeg oppdaterer innimellom med det jeg synes er relevante poeng for folk som er interessert i å sjekke ut Pony. Det dekker ting som jeg synes er viktig.
Generelt har jeg vært veldig fornøyd med min Pony-opplevelse, og jeg vil oppfordre folk til å bruke litt tid på å sjekke det ut.
Svar
Jeg tror Pony er svaret på alle problemene med Erlang (og Elixir) – for det meste at disse språkene ble designet før folk skjønte at du kunne bygge et virkelig samtidig språk uten å måtte kopiere alle variablene rundt internt og behovet for å ha alt uforanderlig (for å trekke frem utviklervennlig samtidighet). Disse nye ideene gjorde Pony like rask som C ++, men potensielt kraftig som Erlang. For meg virker det som en virkelig futuristisk versjon av Erlang, hva noen kan gjøre i dag hvis de måtte gjenoppfinne Erlang fra bunnen av. Rust er lik, men jeg vil hevde en mer primitiv implementering av slike ideer (med tillatelsessystemet). I Rust må du fremdeles tenke hele tiden på tråder og andre ting på prosessadministrasjon på systemnivå, det moderne språket burde virkelig ordnes for deg. Eller kanskje det er mer rettferdig å si at Rust er et programmeringsspråk på systemnivå, og Pony er et nivå opp fra det, samtidig som det fortsatt er veldig raskt. kontrakt fra Causality i fjor (les mer på https://www.linkedin.com/pulse/end-causality-constantine-goulimis ) – selskapet som utviklet språket opprinnelig gikk konkurs og toppfolk jobbet for andre selskaper.
Fra det jeg har sett var hovedhjernen bak hele Pony-historien Sylvan Clebsch, en veldig smart CS-fyr. Jeg har sett videoene hans, og han kunne faktisk ha trukket dette av (å lage en «Erlang v2» -plattform, bygget på mer moderne ideer til programmeringsspråkdesign).
Gutta som tok over etter Sylvan and Causality er bare ikke opp til jobben.
Det er ikke mer glans i hele prosjektet, og det første de gjorde da de overtok prosjektet, var å legge ut en Code of Conduct, et SJW-bullshit-dokument spesifisere alle måter du har for å overholde deres idiotiske venstreideologi før du kan være en del av deres lille gruppe.
Dette er bokstavelig talt en av de gangene innen teknologiutvikling, der den dårligere løsningen vant på grunn av visse markedsforhold. Den andre gangen var da Sun, med milliarder av $$$ fra dot-com-boble, markedsførte Java som løsningen på alle slags problemer den aldri var designet for.
Uansett tror jeg ikke det er virkelig brukt i produksjonen bortsett fra som et lite stykke kode her og der, men ikke som et helt system – med rette siden det langt fra faktisk leverer det Sylvan og de få originale forfatterne forestilte seg hele språket (og senere distribuert plattform) å være og gjøre.