2011-12-08 12 views
35

Sono un Rubyist che sta appena iniziando a dilettarsi in Smalltalk e sto cercando di scegliere un'implementazione da sperimentare. Sembra che Squeak o Pharo siano una buona scelta, ma ho difficoltà a trovare informazioni aggiornate per decidere quale sarebbe meglio. Gran parte di ciò che trovo tramite le ricerche di Google è di un paio di anni fa e potrebbe non essere più pertinente.Squeak o Pharo per l'inizio Smalltalker?

C'è un chiaro favorito in questi giorni? In caso contrario, quali sono i pro e i contro di ciascuno?

risposta

28

In una certa misura, è una questione di gusto personale. Pharo è la forchetta di Squeak intesa a renderlo versione più moderna di Smalltalk, a volte a scapito di non attenersi alla retrocompatibilità di Squeak.

Pharo è una biforcazione, significa anche che condividono molto in comune, dalla VM a parti enormi della libreria di classi. Molti pacchetti aggiuntivi funzionano con entrambi, e alcuni sono sviluppati con Squeak come piattaforma di sviluppo primario e immagino che un numero leggermente più grande di essi sia sviluppato a Pharo (Seaside, Pier, ecc.). Entrambe le varianti hanno libri introduttivi gratuiti: Squeak di Example e Pharo di Example, ma Pharo one sembra più aggiornato.

Personalmente preferisco Pharo poiché mi dà un sentimento più pulito e più moderno.

5

Potrebbe esserci un preferito chiaro ma devi svilupparlo per te.

Pharo e cigolio hanno parti enormi in comune. Ma come pharo è una forchetta da cigolio significa anche che divergono gli uni dagli altri.

Se si guarda dall'angolo di apprendimento di smalltalk, allora entrambi sono uguali. Se si guarda dall'angolo delle tecnologie supportate, la situazione potrebbe essere leggermente diversa. La maggior parte degli sviluppatori sono gli squinger o pharoers. E gli sviluppatori creano librerie e tecnologie che supportano i framework. Se lo sviluppatore di una libreria è un pharoer, mi aspetto che la libreria sia mantenuta in modo migliore nel pharo piuttosto che nel cigolio (e viceversa).

Probabilmente dovresti dare un'occhiata ad entrambi e provare le cose che vuoi ottenere. Nella maggior parte dei casi l'esperienza sarà la stessa. Non appena smette di essere lo stesso, potresti già sapere il tuo preferito.

9

ci sono una serie di interessanti punti di partenza possibili:

  • Mare-one-click per fare sviluppo web;
  • MOOSE one-click per eseguire la reingegnerizzazione del software e creare browser e visualizzazioni di modelli;
  • Pharo con un clic per seguire il libro Pharo per esempio (più aggiornato di quello stridulo) con una libreria più pulita;
  • Cuis per un modello grafico ripulito (Morphic);
  • EToys con un clic se sei interessato agli aspetti educativi;
  • Squeak-one-click per un ambiente con un'abbondanza di strumenti interessanti & giocattoli.

spiegare di più su ciò che si vuole raggiungere e ci può aiutare a meglio

5

Il più trazione in questo momento si gode da Pharo, quindi mi piacerebbe andare lì. Il secondo classificato è Visual Works. State attenti, nessun dialetto Smalltalk sta avendo molta trazione in questo momento.

Il mio ragionamento è il seguente. Oggi Smalltalk è usato per 2 cose: programmazione e ricerca sul web. Per entrambi, Pharo ha il sopravvento (Seaside usa Pharo come piattaforma predefinita e l'Università di Lille espelle i documenti Smalltalk, tutti costruiti su Pharo).

La terza cosa a cui Smalltalk viene utilizzato, sebbene in modo decrescente, è lo sviluppo di software bancari. Lì, VW è ancora popolare. Inoltre, VW ha il più bel ispettore di oggetti.

+5

# 4. Scrivo app per desktop (e persino script di shell) con Pharo;) Posso essere l'unico rimasto ?! –

2

C'è anche VisualAge (VAST) di Instantiations e una versione recente è Smalltalk/X che condividono entrambe un'interfaccia simile, che a sua volta è molto diversa da Pharo o Squeak. Uso Pharo per la mia ricerca, pet-projects e alcune prove di concetti. Il mio pacchetto software aziendale è fatto in VAST/VASmalltalk/VisualAge che mai nominano come preferisci. Inoltre, ricorda, GNUSmalltalk.

3

Sto facendo una serie di tutorial su come utilizzare Squeak from very the start così naturalmente sono di parte in favore di Squeak. Naturalmente, non ho paura di usare una forchetta diversa per mostrare più facilmente pacchetti specifici. Ad esempio, io uso l'immagine del molo con un clic per introdurre Seaside e Pier e questo è fondamentalmente Pharo.

+0

Oh, bello. Daremo un'occhiata ai video. – gregspurrier

9

Un'altra scelta da imparare Smalltalk è Cuis.

Dalla descrizione:

Cuis è diverso da altri Squeak varianti in quanto ci vuole un atteggiamento attivo verso la complessità del sistema: Come sistemi invecchiano, di solito diventano più complessi. Le nuove funzionalità vengono aggiunte come livelli in cima a ciò che è sotto, a volte senza comprenderlo veramente e quasi sempre senza modificarlo. ... L'unico modo per evitarlo è capire il sistema completo e re-ingegnerizzare l'intero sistema in ogni momento. Mantenerlo semplice e coerente.

Il codice è in Github. I file di immagine più recenti sono here.

Cuis ha circa 600 classi. Questo rende molto fattibile per una singola persona per capire tutto. In seguito potresti voler passare a Squeak, Pharo o un altro Smalltalk poiché la maggior parte delle classi e dei metodi sono compatibili.

+2

600 classi rispetto a 7000 classi di pharo. Non male, è più di 10 volte più semplice, darò sicuramente un'occhiata a CUIS. In realtà pharo ha ancora più classi di Java 7 e Java 5 combinate: D http://stackoverflow.com/questions/3112882/how-many-classes-are-there-in-java-standard-edition – Kilon

+1

Ho aggiornato il Github Cuis repository web link. Dalla versione 4.2 c'è un nuovo repository. –

2

Anche se non si tratta di un'implementazione Smalltalk, non bisogna trascurare Newspeak. Non è ancora un ambiente di produzione, ma se sei stato diviso tra Alan Kay e Nicolas Wirth come esperti del linguaggio, Newspeak è come Smalltalk e Modula2 combinati.