Paras vastaus
Olen ohjelmoija Wallaroo Labsissa (www.wallaroolabs.com), missä olemme käyneet Pony: n avulla rakennetaan Wallaroo, tietojenkäsittelykehyksemme. Olen myös mukana Pony-kääntäjän parissa.
Pony on ollut hieno kieli Wallaroon työskentelyyn. Tyyppijärjestelmä eliminoi ongelmat, kuten nollaosoittimen virheet, joten voimme olla varmoja, että jos ohjelmamme kootaan, se ei kaatu. Viitetoiminnot takaavat, että ohjelmiemme samanaikaiset osat ovat vapaita tietokilpailuista. Kääntäjä luo nopean koodin ja näyttelijäkohtainen roskien keräilijä antaa meille ennustettavasti matalan hännän viiveet. Kaikki nämä asiat ovat yhdessä antaneet meille mahdollisuuden rakentaa iso ohjelmisto, joka käyttäytyy odotetulla tavalla.
Poni voi olla hieman pelottava aloittelijoille tyyppitarkistuksen ja viitekyvyn tarkistuksen takia. Suurin osa Pony-ohjelmoijista kamppailee näiden asioiden kanssa jossain määrin, kun he alkavat käyttää kieltä, ja pienissä yhden toimijan ohjelmissa ne saattavat tuntua liian hankalilta. Näistä asioista tulee kuitenkin arvokkaita, kun ohjelmasi koko kasvaa ja monimutkaisuus kasvaa. Tyyppijärjestelmä takaa, että ohjelma ei kaatu, koska objekti ei ollut odotettua tyyppiä. Viitetoiminnot eliminoivat datakilpailut, joita on tunnetusti vaikea saada kiinni testauksessa ja joiden testaaminen on tuskallista. Et välttämättä arvosta näitä asioita kirjoittaessasi hölynpölyä, mutta ne eroavat menestyksestä ja epäonnistumisesta rakentaessasi sellaisia monimutkaisia ohjelmistojärjestelmiä, joihin yritykset rakentuvat.
Mielestäni Pony on suloinen spot on suuria tapahtumavetoisia sovelluksia. Kuten aiemmin mainitsin, tyyppijärjestelmä ja viiteominaisuudet auttavat hallitsemaan monimutkaisuutta, ja Pony perustuu näyttelijäjärjestelmään, joka sopii hyvin tapahtumapohjaisiin arkkitehtuureihin. Se sopii hyvin paikkaan, jossa voit käyttää jotain Node.js tai Erlang / Elixir, mutta saat tyyppiturvallisuuden ja natiivin suorituksen edut.
Kieli on edelleen uusi, joten vakiokirjasto on melko vähän verrattuna muihin kieliin. Toisaalta tämä voi tarkoittaa, että Pony ei sovi hyvin projektiisi. Toisaalta, se tarkoittaa, että ihmisillä on paljon mahdollisuuksia osallistua.
Poni on aktiivisen kehityksen alla vapaaehtoisilla, joilla on useita eri taustoja, joten sitä ei ole vaarassa hylätä, koska joku jättää projektin tai saa uuden työpaikan. Tämä antaa sille paremmat mahdollisuudet pitkällä aikavälillä, että yksittäisen henkilön tai yrityksen ylläpitämät kielet.
Minulla on päivitettävä asiakirja . aika ajoin mielestäni asiaankuuluvilla kohdilla ihmisille, jotka ovat kiinnostuneita tutustumaan Ponyyn. Se kattaa asioita, jotka ovat mielestäni tärkeitä.
Olen yleensä ollut erittäin tyytyväinen ponikokemukseeni ja kannustan ihmisiä viettämään aikaa tarkistamiseen.
Vastaus
Mielestäni Pony on vastaus kaikkiin Erlangin (ja Elixirin) ongelmiin – lähinnä se, että nämä kielet suunniteltiin ennen kuin ihmiset tajusivat, että voit rakentaa todella samanaikaisen kielen tarvitsematta kopioida kaikkia muuttujia sisäisesti ja tarve, että kaikki on muuttumatonta (kehittäjäystävällisen samanaikaisuuden aikaansaamiseksi). Nämä uudet ideat tekivät ponista yhtä nopean kuin C ++, mutta mahdollisesti tehokkaan kuin Erlang. Minusta se näyttää todella futuristiselta versiolta Erlangista, mitä joku voisi tehdä tänään, jos heidän olisi keksittävä Erlang uudelleen alusta alkaen. Ruoste on samanlainen, mutta väittäisin, että tällaisten ideoiden primitiivisempi toteutus (sen lupajärjestelmän kanssa). Rustissa joudut edelleen ajattelemaan ketjuja ja muita järjestelmätason prosessinhallintakohteita, että modernin kielen pitäisi todella selvittää sinulle. Tai ehkä on oikeudenmukaisempaa sanoa, että Rust on järjestelmätason ohjelmointikieli, ja Pony on yhden tason ylöspäin siitä huolimatta, että se on silti todella nopea.
Valitettavasti, koska joku idiootti JP Morganin IT-johtaja hylkäsi palvelut sopimus Causalitystä viime vuonna (lue lisää osoitteesta https://www.linkedin.com/pulse/end-causality-constantine-goulimis ) – kieltä kehittävä yritys meni alun perin konkurssiin ja huippuhenkilöt jatkoivat työskentelyä muissa yrityksissä.
Sen perusteella, mitä olen nähnyt koko Pony-tarinan takana, oli Sylvan Clebsch, todella fiksu CS-kaveri. Olen nähnyt hänen videonsa, ja hän olisi voinut itse asiassa vetää tämän pois (”Erlang v2” -alustan tekeminen, joka on rakennettu nykyaikaisemmille ohjelmointikielten suunnitteluideoille).
Kaverit, jotka ottivat Sylvanista ja Causalitystä eivät vain ole työssä.
Koko projektissa ei ole enää kirkkautta, ja ensimmäinen asia, jonka he tekivät, kun he ottivat projektin haltuun, oli lähettää käytännesäännöt, SJW-paska-asiakirja määrittelemällä kaikki tapat, joilla sinun on noudatettava heidän idioottista vasemmistolaista ideologiaa, ennen kuin voit olla osa heidän pientä ryhmään.
Tämä on kirjaimellisesti yksi niistä tekniikan kehityksen aikoista, jolloin huonompi ratkaisu voitti tiettyjen markkinaolosuhteiden vuoksi. Toinen kerta kun Sun markkinoi miljardeja dollareita dot-com-kuplasta, markkinoi Java-ratkaisua kaikenlaisiin ongelmiin, joihin sitä ei koskaan suunniteltu.
En silti usko, että se olisi todella käytetty tuotannossa paitsi pienenä koodikappaleena täällä ja siellä, mutta ei koko järjestelmänä – aivan oikein, koska se ei ole läheskään tosiasiallista, mitä Sylvan ja muutamat alkuperäiset kirjoittajat kuvittelivat koko kielen (ja myöhemmin jaetun alustan) olla ja tehdä.