Mikä on parempi, Smalltalk tai Pharo?

Paras vastaus

Pitkä tarina.

TL; DR-versio on mielestäni seuraava:

  • Voit lukea alkuperäisiä Smalltalk-kirjoja ja saada niistä arvoa Pharoa käytettäessä, joten on varmasti vankka Smalltalk-perintö.
  • Työkalujen edessä on ovat useita Pharon edistysaskeleita, jotka tekevät siitä melko ainutlaatuisen ja erilaisen kuin Smalltalk 80. Esimerkiksi:
  • GToolkit, erittäin tehokkailla tarkastajilla
  • Spotter, joka tarjoaa todella mielenkiintoisen tavan käyttää järjestelmä jne.
  • Spec ja Bloc muille tavoille tehdä käyttöliittymä kuin MVC ja Morphic
  • Siivous ja lisäykset Squeakin vakiopaketteihin
  • Sinkki, NeoJson, STON,… kaikki ovat peräisin Pharo-yhteisöstä.
  • Roassal2, visualisointeja varten, myös Pharo-yhteisöstä.
  • VM, joka on nyt yleinen OpenSmalltalk / opensmalltalk-vm -toiminta tietyillä Pharo-alueilla on nopeampaa, w parempi JIT ja toinen tavukoodisarja. Muistin hallinta ja osoittimen edelleenlähetys nopeuttavat. Tarkista Pharon roskakorin viritys , tarkista Spur-muistinhallinnan 7-pisteinen yhteenveto, No, tarkista kaikki tuossa blogissa, se vain rokkaa.
  • Meillä on piirteitä. Meillä on XStreams. Meillä on Calypso. Meillä on Jäävuori. Meillä on kriitikot. Meillä on Opal-kääntäjä. Meillä on Rubrik tekstin muokkausta varten. Meillä on Ring koodimallina. Voimme tarkastaa AST: n menetelmien varalta. Meillä on Beacon objektin kirjauskehykseen. Meillä on toimivia heikkoja viitteitä. Meillä on UnifiedFFI. Meillä on 64 bittiä. Meillä on polttoainetta. Meillä on Seaside3. Meillä on hienoja CommandLineHandlers. Meillä on skaala CLI-työhön. Meillä on Epicea koodimuutoksia varten. Meillä on uudistettu FileSystem-sovellusliittymä. Meillä on HelpSystem. Meillä on toimiva infrastruktuuri CI: n ja Gitin kanssa ja mitä ongelmien seuranta jne. Toimivat hyvin. Meillä on pylväs kirjojen tuottamiseen. Meillä on TaskIT helppoa työtä tulevaisuuden kanssa. Meillä on kunnollinen KeyMapping-järjestelmä. Meillä on puhdistettu Morphic (vielä enemmän tehtävää). Meillä on OSWindow. Meillä on Refactorings ja CodeRewriter. Meillä on heijastavia metalinkkejä. Meillä on Ateena grafiikkaa varten. Meillä on IoT-tuki.

Joten, joo, se on Smalltalkin innoittama. Mutta ehdottomasti ei Smalltalk-80. Se on Pharo. Logona käytämme majakkaa. Koska pidämme siitä, kun kirkkaassa valossa on tilaa kehittäjän autuudelle.

Smalltalk on hieno.

Pharo on parempi, kun on kyse liiketoiminnan tulosten saavuttamisesta käytettäessä 2000-luvun tekniikkaa. . Koska Pharon työkalujen yhdistäminen toisiinsa johtaa tehokkaisiin tuloksiin.

Ja kyllä, olen mielipiteellinen.

Vastaus

Pharo on Smalltalkin murre. Pharo on syntaksissaan, semantiikassaan ja toteutuksessaan versio Smalltalk-80: stä ja hyvin läheinen sukulainen Squeak- ja Cuis-murteille. Kaikki kolme laskeutuvat suoraan Smalltalk-80 v1: stä, jonka Xerox antoi Applelle osana ”Smalltalk-80: kieli ja sen toteutus” -niminen prosessi, eli ”sininen kirja”. Alan Kay johti 90-luvulla Apple-tiimiä, joka kehitti Squeak-murteen ja toteutuksen alkaen Smalltalk-80 v1: stä. Myöhemmin Cuis ja Pharo haarautuivat Squeakista. Mutta kaikki kolme ovat siirtyneet Spur-virtuaalikoneeni, JIT-virtuaalikoneen kehitykseen, jonka vuosina 2008/9/10 sain alkuperäisestä Squeakin tulevaisuuden tulkkien virtuaalikoneesta.

Nämä kolme murteita Lähin sukulainen toisistaan ​​on VisualWorks Smalltalk, joka laskeutuu suoraan Smalltalk-80 v2: sta, lopullisesta versiosta, joka on kehitetty Xerox PARC: lla. Kaikki neljä voidaan erottaa muista Smalltalkeista tukemalla asiayhteyksiä (Smalltalkin ensimmäisen luokan aktivointitietueita) tämän kontekstipseudomuuttujan kautta. Konteksti on aktivointitietue; se on objekti, jolla on käynnissä olevan menetelmän tai lohkon sulkemisen tila. Pinta-ero on, että Squeak-perheen tukiryhmät (kätevä Array-rakenne) ja tapauslauseke, kun taas VisualWorksissa on nimitilajärjestelmä ja BindingReference-kirjaimellinen muoto esineiden käyttämiseksi nimiavaruuden rajojen yli.

Yksi ainutlaatuinen asia Smalltalk ja sen lähisukulaiset Itse ja Newspeak on, että järjestelmät ovat itsestään määrittäviä; Kaikki luokat, menetelmät ja asiayhteydet ovat ensimmäisen luokan objekteja, jotka on määritelty luokkiin ja menetelmiin. Tämä koskee heidän kääntäjää ja virheenkorjainta, poikkeusjärjestelmää jne., Mikä antaa Smalltalkille mahdollisuuden kehittyä kielitasolla. Joukot, tapauslauseke ja nimitilat toteutettiin kaikki järjestelmissään tarvitsematta muokata mitään taustalla olevaa virtuaalikonetta. Tämä kyky kehittyä tekee siitä, että määritetään tarkalleen, mikä Smalltalk on jonkin verran ongelmallista. Terve Smalltalk on kehittyvä Smalltalk; liikkuva kohde.

Jotkut, ehkä monet Pharo-yhteisön jäsenistä, ajattelevat, että Smalltalk sai huonon nimen 90-luvulla, ja jotkut ovat tyytymättömiä kehittäjien tuen puutteeseen ja keskittyvät Alto Kayn tutkimusryhmän ymmärtävällä tavalla Etoysiin koska Etoys oli todellakin joukkueen painopiste. Näin ollen Pharolla on hyvin erilainen painopiste ja se haluaa siirtyä pois Squeakin nyt ikääntyvästä multimediatuesta kohti parempaa integraatiota nykyiseen tietojenkäsittelyekosysteemiin, kuten github, ja kohti ohjelmoinnin keksimistä paljon dynaamisemmin tutkivana prosessina; katso esimerkiksi ketterä visualisointityö Rossalin ja GT-työkalupakin yläpuolella. Jotkut Pharo-yhteisön jäsenistä haluavat kieltää, että Pharo on Smalltalkin murre. Tämä on kanta, jonka ymmärrän, mutta pidän sekä todellisuudessa väärää (kieltämättä sen syntaksissa, semantiikassa ja toteutuksessa Pharo / on / versio Smalltalk-80: stä) että hieman epäkunnioittavaa ja kiittämätöntä (Pharo on loistava ohjelmointiympäristö, sekä siksi, että sillä on suuret ihmiset, jotka tekevät siinä suurta työtä ja pystyvät, koska se on Smalltalk). Mutta ei haittaa. Pharo seisoo ansioidensa mukaan, voimakas, nopeasti kehittyvä Smalltalk-murre, joka tarjoaa radikaaleja tuottavuusetuja ohjelmoijille. Toivon, että otat siihen enemmän kuin pintahäiriön. Se menee paikkoihin.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *