Hvad er din erfaring med at bruge Pony-programmeringssprog?

Bedste svar

Jeg er programmør hos Wallaroo Labs (www.wallaroolabs.com), hvor vi har været ved hjælp af Pony til at oprette Wallaroo, vores databehandlingsramme. Jeg er også involveret i arbejdet med Pony-kompilatoren.

Pony har været et godt sprog for at arbejde på Wallaroo. Typesystemet eliminerer problemer som nul pointerfejl, så vi kan være sikre på, at hvis vores program kompileres, vil det ikke gå ned. Referencefunktionerne garanterer, at de samtidige dele af vores programmer er fri for dataløb. Compileren genererer hurtig kode, og den per-actor affaldssamler giver os forudsigeligt lave latenshaler. Alle disse ting sammen har gjort det muligt for os at bygge et stort stykke software, der opfører sig som forventet.

Pony kan være lidt skræmmende for begyndere på grund af typen kontrol og reference kapacitet kontrol. De fleste Pony-programmører kæmper med disse ting til en vis grad, når de begynder at bruge sproget, og for små single-actor-programmer kan de virke alt for besværlige. Disse ting bliver dog værdifulde, da dit program vokser i størrelse og kompleksitet. Typesystemet garanterer, at dit program ikke går ned, fordi et objekt ikke var af den forventede type. Referencemuligheder eliminerer dataløb, som er notorisk svære at fange i test og meget smertefulde at debugge. Du vil ikke nødvendigvis sætte pris på disse ting, når du skriver fizz-buzz, men de er forskellen mellem succes og fiasko, når du bygger de slags komplekse softwaresystemer, som virksomheder er bygget på.

Jeg synes, Pony er sød spot er store begivenhedsdrevne applikationer. Som jeg nævnte tidligere, hjælper typesystemet og referencemulighederne med at styre kompleksiteten, og Pony er baseret på et skuespillersystem, der passer godt til begivenhedsdrevne arkitekturer. Det passer fint ind på det sted, hvor du muligvis bruger noget som Node.js eller Erlang / Elixir, men du får fordelene ved typesikkerhed og indfødt udførelse.

Sprog er stadig nyt, så standardbiblioteket er temmelig minimal sammenlignet med andre sprog. På den ene side kan det betyde, at Pony ikke passer godt til dit projekt. På den anden side betyder det, at der er masser af muligheder for folk at bidrage.

Pony er under aktiv udvikling af frivillige med en række forskellige baggrunde, så det risikerer ikke at blive forladt, fordi nogen forlader projektet eller får et nyt job. Dette giver det bedre langsigtede udsigter til, at sprog, der opretholdes af en enkelt person eller virksomhed.

Jeg har et dokument , som jeg opdaterer fra tid til anden med hvad jeg synes er relevante punkter for folk, der er interesserede i at tjekke Pony. Det dækker ting, som jeg synes er vigtige.

Generelt har jeg været meget tilfreds med min Pony-oplevelse, og jeg vil opfordre folk til at bruge lidt tid på at tjekke det ud.

Svar

Jeg tror, ​​Pony er svaret på alle problemerne med Erlang (og Elixir) – mest at disse sprog blev designet, før folk indså, at du kunne opbygge et virkelig samtidigt sprog uden at skulle kopiere alle variablerne rundt internt og behovet for at have alt uforanderligt (for at trække udviklervenlig samtidighed). Disse nye ideer gjorde Pony så hurtig som C ++, men potentielt stærk som Erlang. For mig virker det som en virkelig futuristisk version af Erlang, hvad nogen kunne gøre i dag, hvis de skulle genopfinde Erlang fra bunden. Rust er ens, men jeg vil argumentere for en mere primitiv implementering af sådanne ideer (med dets tilladelsessystem). I Rust skal du stadig tænke hele tiden på tråde og andre ting på procesniveau på procesniveau, det moderne sprog skal virkelig ordne dig. Eller måske er det mere retfærdigt at sige, at Rust er et programmeringssprog på systemniveau, og Pony er et niveau op fra det, mens det stadig er rigtig hurtigt.

Desværre, fordi en idiot it-manager hos JP Morgan afviste tjenesterne kontrakt fra kausalitet sidste år (læs mere på https://www.linkedin.com/pulse/end-causality-constantine-goulimis ) – det firma, der udviklede sproget oprindeligt gik konkurs og topfolk fortsatte med at arbejde for andre virksomheder.

Fra hvad jeg har set, var hovedhjernen bag hele Pony-historien Sylvan Clebsch, en rigtig smart CS-fyr. Jeg har set hans videoer, og han kunne faktisk have trukket dette ud (fremstilling af “Erlang v2” -platform, bygget på mere moderne programmeringssprogs designideer).

Fyrene, der overtog fra Sylvan and Causality er bare ikke op til jobbet.

Der er ikke mere glans i hele projektet, og det første de gjorde, da de overtog projektet, var at sende en adfærdskodeks, et SJW bullshit-dokument specificerer alle måder, du skal overholde deres idiotiske venstreorienterede ideologi på, før du kan være en del af deres lille gruppe.

Dette er bogstaveligt talt en af de tidspunkter inden for teknisk udvikling, hvor den dårligere løsning vandt på grund af visse markedsforhold. Den anden gang var da Sun, med milliarder af $$$ fra dot-com-boble, markedsførte Java som løsningen på alle mulige problemer, det aldrig var designet til.

Under alle omstændigheder tror jeg ikke det er virkelig brugt i produktionen undtagen som et lille stykke kode her og der, men ikke som et helt system – med rette, da det langt fra faktisk leverer på, hvad Sylvan og de få originale forfattere forestillede sig hele sproget (og senere distribueret platform) at være og gøre.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *