Czy zacząłbyś uczyć się Smalltalk? [Zamknięte]

83

Moje pytania są proste!

  1. Czy zacząłbyś uczyć się Smalltalk, gdybyś miał czas? Czemu? Dlaczego nie?
  2. Czy znasz już Smalltalk? Dlaczego poleciłbyś Smalltalk? Dlaczego nie?

Osobiście jestem programistą Ruby on Rails i bardzo mi się to podoba. Jednak myślę o Smalltalk, ponieważ czytam różne blogi i niektórzy ludzie nazywają Ruby czymś w rodzaju „Smalltalk Light”. Drugim powodem, dla którego interesuję się Smalltalk, jest Seaside .

Może ktoś już wcześniej dokonał tego samego przejścia?

EDYCJA: Właściwie to, co najbardziej mnie podekscytowało Smalltalk / Seaside, to następujący odcinek WebDevRadio: Episode 52: Randal Schwartz on Seaside (między innymi)

Christoph Schiessl
źródło

Odpowiedzi:

62

Jeśli lubisz Rubiego, prawdopodobnie polubisz Smalltalk. IIRC Seaside został przeniesiony na maszynę wirtualną Gemstone, która jest częścią ich Gemstone / S OODBMS. Ma znacznie lepszą obsługę wątków niż Ruby, więc jest lepszym zapleczem dla systemu o dużej objętości. To może być dobry powód, aby się temu bliżej przyjrzeć.

Powody, dla których warto nauczyć się Smalltalk:

  • To naprawdę fajne środowisko programistyczne. Kiedy już się nad tym zastanowisz (jest to zwykle szok kulturowy dla osób przyzwyczajonych do C ++ lub Javy), przekonasz się, że jest to naprawdę dobre środowisko do pracy. Nawet naprawdę kiepski smalltalk, taki jak Stare Digitalk, z których korzystałem, są niezwykle przyjemnym w użyciu systemem. Wielu starych guru XP i OO, takich jak Kent Beck i Martin Fowler, wycięło sobie zęby na Smalltalk w przeszłości i czasami można ich usłyszeć publicznie tęskniących za dawnymi dobrymi czasami (dzięki Frankowi Shearer za cytat, +1) - Rozwój Agile powstał na tej platformie.

  • To jedna z najbardziej produktywnych platform programistycznych w historii.

  • Istnieje kilka dojrzałych implementacji i jest tam zaskakująco duża baza kodu. W pewnym momencie stało się to dość modne w kręgach rynków finansowych, gdzie produktywność deweloperów i czas wprowadzenia na rynek to dość ważna sprawa. Do połowy lat 90. była to mniej więcej jedyna gra w mieście (z możliwym wyjątkiem LISP), jeśli potrzebowałeś komercyjnie obsługiwanego języka wysokiego poziomu, który byłby odpowiedni do tworzenia aplikacji.

  • Wdrożenie jest łatwe - wystarczy upuścić plik obrazu w odpowiednim katalogu.

  • Właściwie nie jest to powód, ale Gang of Four Book używa Smalltalk w kilku swoich przykładach.

Powody, dla których nie warto uczyć się Smalltalk:

  • To coś w rodzaju niszowego rynku. Możesz mieć problem ze znalezieniem pracy. Jednak jeśli tworzysz jakąś aplikację .com, na której jesteś właścicielem serwerów, może to nie stanowić problemu.

  • Przez wielu jest postrzegany jako starszy system. Na platformie jest stosunkowo niewiele nowości (choć Seaside wydaje się przeżywać pewien renesans).

  • Zwykle nie gra dobrze z tradycyjnymi systemami kontroli źródła (przynajmniej od połowy lat 90-tych, kiedy go używałem). Może tak być lub nie.

  • Jest nieco izolowany i lubi się bawić sam. Python lub Ruby zostały stworzone z myślą o integracji od podstaw i są zwykle bardziej rozwiązłe, a tym samym łatwiejsze do integracji z oprogramowaniem innych firm. Jednak różne inne, bardziej popularne systemy cierpią z powodu tego typu zaściankowości w większym lub mniejszym stopniu, co nie wydaje się utrudniać ich używania.

ConcernedOfTunbridgeWells
źródło
1
Ruby został również przeniesiony do Gemstone: nazywa się Maglev: infoq.com/news/2008/04/maglev-gemstone-builds-ruby
brian d foy
Co masz na myśli, mówiąc, że „nie gra ładnie z tradycyjnymi systemami kontroli źródła”?
detly
5
Sposób, w jaki tradycyjny Smalltalk przechował kod źródłowy, oznaczał, że został on osadzony w obrazie i powiązanych źródłach oraz plikach zmian. Nie otrzymałeś ładnego, czystego zestawu plików programowych, tak jak w przypadku (powiedzmy) C.Systemy Smalltalk zwykle wymagały wyspecjalizowanych systemów kontroli źródła obsługujących smalltalk, które były (a) zastrzeżone, (b) drogie i ( c) niezgodne ze wszystkim innym.
ConcernedOfTunbridgeWells
1
Miejmy nadzieję, że Monticello zajmie się (a) i (b) tych kwestii. Squeak już go intensywnie używa, a SqueakSource używa go w wielu projektach. Jednak nadal ma brodawki. Miejmy nadzieję, że gdy projekty git-Monticello będą faktycznie w użyciu, (c) również znikną.
Frank Shearar
2
Generalnie podoba mi się odpowiedź, ale Smalltalk działa dobrze z oprogramowaniem innych firm. Fakt, że nie widzisz wielu interfejsów API, nie wynika z tego, że technicznie nie możesz ich zintegrować, jest to spowodowane tym, że jest to nisza (więc mniej ludzi potrzebuje zewnętrznego oprogramowania). Drugim powodem tego efektu (który również nie jest techniczny) jest to, że smalltalkers wolą rozwiązywać problemy w smalltalk niż w innych mniej zabawnych technologiach.
Sebastian Sastre
46

Cóż, skoro wspomniałeś o mnie po imieniu, czuję, że powinienem się przyłączyć.

Jak powiedziałem w wywiadzie podcastowym i jak wielokrotnie pokazywałem na swoim blogu http://MethodsAndMessages.vox.com/ , jest to „ rok smalltalk ”. A po tym, jak teraz popieram Smalltalk przez ostatnie dziesięć miesięcy, widzę, że to naprawdę się dzieje. Coraz więcej klientów zwraca się do Smalltalk i Seaside, a sprzedawcy Smalltalk ciężko pracują, aby przyciągnąć tę nową uwagę. Planowane są kolejne większe konferencje Smalltalk. Publikowanych jest więcej ofert pracy. Publikowanych jest więcej wpisów na blogu.

Jeśli dziś zwrócisz się do Smalltalk, nie jesteś sam. Jest też wielu innych, którzy tam są.

Edytować

Cóż, kilka lat później zamiast tego polecam teraz Dart . To świetny język stworzony przez Google, ale obecnie należący do komitetu ECMA. Działa po stronie serwera w stylu node.js, ale także po stronie klienta w nowoczesnych przeglądarkach poprzez transpilację do JavaScript. Wiele dobrych książek, blogów, kanałów pomocy, wsparcia IDE, publicznego wklejania na żywo . Myślę, że na pewno ma nogi ... na tyle, że piszę materiały szkoleniowe, aby uczyć go na miejscu lub online, i jestem prawie pewien, że w moich pracach jest jedna lub dwie książki. Gilad Bracha, dawny Smalltalker, jest głównym współtwórcą projektu, więc w Dart jest dużo Smalltalk.

Randal Schwartz
źródło
2
Właśnie dlatego Stack Overflow jest fajny! Dziękuję za Twoją odpowiedź!
Christoph Schiessl,
Czy z ciekawości możesz rozwinąć napływ uwagi - jakieś pomysły, z których pochodzi dzielenie się myślami?
ConcernedOfTunbridgeWells
Ruby z pewnością pomógł, myślę, że Javascript i Objective-C też. Dla ludzi, którzy nie rozumieją samego OO, języki te zapewniają znajomy punkt wyjścia, z którego można ekstrapolować, jak świeci Smalltalk.
Damien Pollet
Potem chłopaki z Seaside zrobili dobry PR, Avi Bryant z DabbleDB i zamach stanu w Maglev na konferencji Rails, a Randal też jest dość głośny :) Również Lars Bak z Google V8 pochodzi z Self ... było wiele takich drobnych wskazówek, wszystkie sugerujące w Smalltalk i Lisp, dziwne języki z przeszłości :)
Damien Pollet
31

Smalltalk to dobry język do nauki, a wspaniałe jest to, że zajmuje to tylko jeden dzień. To znacznie więcej niż tylko język akademicki. Ludzie tworzą ogromne, skalowalne, powtarzalne aplikacje obsługujące miliardy dolarów. Po prostu nie rozmawiają o tym dużo. Zobacz na przykład GemStone i Orient Overseas Container Lines: A Shipping Industry Case Study .

Nadmorskie to dobry powód, aby nauczyć się Smalltalk, ale nie sądzę, by było ono o rząd wielkości lepsze niż Rails.

Tym, co mnie przekonało, był GemStone. Bardzo podoba mi się GLASS firmy Gemstone (GemStone, Linux, Apache, Smalltalk, Seaside). Zabójczą częścią tego jest GemStone, który obsługuje całą trwałość obiektów, głównie bez zastanawiania się. Oglądanie niektórych ich demonstracji i słuchanie o tym, co ludzie robią z GemStone, zresetowało moje wyobrażenie o tym, co oznacza „duża aplikacja”.

W Railsach najbardziej niepokoi mnie mapowanie obiektowo-relacyjne. To nic przeciwko Ruby, ponieważ jest do bani tak samo mocno w GLORP (który obsługuje ActiveRecord dla Smalltalk), Perl lub cokolwiek innego. Mapowanie obiektów do tabel bazy danych jest po prostu bolesne. Dzięki GemStone znika myślenie o bazie danych, więc znika też praca z bazą danych. To tak, jakby z moich pleców zdjęto ogromny kamień (lub stado małp).

brian d foy
źródło
1
Chciałbym móc głosować dwa razy ... Całkowicie się zgadzam.
Sébastien RoccaSerra,
1
+1 za pokazanie wyższości ODB nad ORM. przejście od jednego do drugiego jest zdecydowanie czymś, co można poczuć
ryan0
16

> nie mogłem znaleźć środowiska programistycznego Smalltalk, które nie kosztowałoby obu rąk i nogi

Google - bezpłatny smalltalk

Cincom Smalltalk, Squeak, GNU Smalltalk


źródło
Pisk jest naprawdę fajny! Czysty OOP, całkowicie graficzny, piękny interfejs użytkownika, open source (niektórzy się z tym nie zgadzają), mniej lub bardziej przenośny ...
Joe Pineda
1
+1 dla Squeaka i ma świetną społeczność z ładną listą mailingową dla początkujących.
Sébastien RoccaSerra
+1 dla Squeak, eksplorator obiektów (lub jakkolwiek to się nazywa) jest nieoceniony w nauce działania modelu obiektowego.
Mauricio Scheffer
4
Pharo jest darmowy i ma wszystkie nowoczesne narzędzia ..
Dafydd Rees,
15

Nauka Smalltalk da ci podstawy w tworzeniu oprogramowania obiektowego z perspektywy człowieka, który wynalazł OO (Alan Kay). Pomysł nakładającego się środowiska okienkowego wyszedł z Smalltalk.

Przeszkodą w nauce Smalltalk jest to, że jest to system przekazywania wiadomości z dziwną składnią do sterowania przepływem, taką jak:

i < 60
   ifTrue: [ self walk ]

Ma bardzo dojrzałą bibliotekę klas, która ma spójność, w której nie widziałem zbyt wielu miejsc. Biblioteka klas we wszystkich środowiskach (nawet komercyjnych Smalltalks) ma dostępne źródła, które pozwalają uczyć się od mistrzów języka. Programując Smalltalk, zawsze zadaję sobie pytanie, jak to się robi w środowisku.

Smalltalk jest generalnie implementowany w obrazie, który jest żywym środowiskiem dla wszystkich obiektów w twoim systemie.

Interaktywny debugger naprawdę oddziela Smalltalk od Rubiego.

Seaside to platforma do tworzenia stron internetowych, która dała Smalltalk nowe światło. Jest to środowisko oparte na kontynuacji, które umożliwia debugowanie wewnątrz trafień i płynne środowisko programistyczne typu Rich Client (górny przepływ aplikacji można zaprojektować w jednej metodzie). Jego integracja z script.aculo.us została wykonana w taki sposób, że można ją łatwo wywołać z poziomu Smalltalk.

Kevin Driedger
źródło
1
Składnia nie jest dziwna - w rzeczywistości jest BARDZO elegancka. Należy go odczytać jako: hej, niezależnie od wyniku "i <60", oto fragment kodu (obiekt-kod przekazany jako argument), który należy ocenić, jeśli uważasz, że jesteś prawdziwy. Zabawne jest to, że działa nawet, jeśli „i <60” zwraca rozmytą, statystyczną rzecz.
blabla999
... i ta rozmyta, statystyczna rzecz może wtedy zdecydować (jako metoda), jak sobie z tym poradzić. Nie ma ani jednego wbudowanego operatora ani struktury kontrolnej, której nie można by przedefiniować w ten sposób.
blabla999
10

Nigel, mam jeden cytat:

Chociaż minęło dużo czasu, odkąd cokolwiek z nim zrobiłem, nominuję Smalltalk, nadal nie spotkałem niczego podobnego do przenoszenia myśli do kodu komputerowego. To nie tylko język: to wspaniałe środowisko przeglądarki, biblioteki i kultura pisania przejrzystego, dobrze zaprojektowanego kodu tak szybko, jak wszystko inne może wydobyć spaghetti. Kiedy uczestnicy JavaOne wychwalali, że Java jest o wiele bardziej produktywna niż cokolwiek innego, potrzebowałem brązowej papierowej torby. No cóż, wracając do porządkowania moich ścieżek klas ... - Martin Fowler (Magazyn o rozwoju oprogramowania, styczeń 2001)

Znalazłem to tutaj .

Frank Shearar
źródło
10

Nie zgodziłbym się z plakatem, który uważa, że ​​nie używałbyś Smalltalk do dużych aplikacji - właśnie tam świeci. Ale stworzyłem całkiem fajne (uwaga małe) prototypowe aplikacje w niecały tydzień.

Uczyłem się OO w ST od 92 roku, niesamowicie się cieszę, że to zrobiłem. Dało mi to prawdziwe tło w OO. Myślenie na zajęciach. Brak typów. ST kładzie prawdziwy nacisk na przesyłanie wiadomości. Jeśli chcesz się czegoś dowiedzieć, wyślij do obiektu wiadomość i uzyskaj odpowiedź. IMHO, etos i IDE naprawdę zachęcają do robienia właściwych rzeczy ze swoim sprzężeniem i spójnością.

W mojej codziennej pracy w Javie utknąłem z plikami, typami, IDE jak zaćmienie, które są o rząd wielkości mniej produktywne niż jakikolwiek ST IDE. Używałem ST tylko wtedy, gdy skończyłem programowanie przed terminem. W rzeczywistości było to tak produktywne, że wykorzystaliśmy tyle razy, że musiałem przenieść się do innego projektu, ponieważ nie miałem nic do roboty! (Ok, może mógłbym poświęcić czas na naukę szacowania ...)

Pobierz pisk, znajdź dobrą książkę i graj. Jedynym minusem jest to, że jeśli Twój dzienny koncert korzysta z języka Java lub C #, w końcu będziesz żałować, że nie możesz użyć ST. Wrócisz do domu wcześniej.

Chris Brooks

Chris Brooks
źródło
9

Polecam wszystkim nauczyć się Lispa (Scheme) lub Smalltalk.

Smalltalks mają wspaniałe środowiska IDE, których nie można przegapić, gdy przełamie się szok kulturowy. I tak, jest więcej niż jeden darmowy: Squeak, Dolphin, Smalltalk / X i Visualworks (Non-Comercial).

Jednak Lisp może być jeszcze czystszy w swoich matematycznych podstawach.

pozdrowienia

PS: właściwie polecam nauczyć się obu!

blabla999
źródło
8

Nie znam Rubiego ...

Smalltalk to czysty język OO. Jeśli czujesz potrzebę naprawdę zrozumienia OO, a nie tylko symulowanego OO najpopularniejszych języków „OO” (takich jak C ++, Java itp.), To polecam zabawę z smalltalk.

W smalltalk wszystko jest przedmiotem, z atrybutami, zachowaniem i meta. W symulacjach masz typy danych, których używasz w swoich obiektach.

Powiedziałbym, że baw się z tym, tylko zyskasz.

slashmais
źródło
1
W SmallTalk nawet „klasy” są obiektami, instancjami klasy Class !!! Doprowadziło mnie to do szału, aż się z tym pogodziłam!
Joe Pineda,
1
Ruby jest również czystym językiem OO w tym sensie, że nawet klasy są obiektami. Podobnie jak bloki, metody i odniesienie do pustego wskaźnika.
Alan
4
Ruby przyjmuje (Matz swobodnie to powie) wiele pomysłów Smalltalk. Pod wieloma względami można go postrzegać jako język „pragmatyczny” (przepraszam Hunt i Thomas) podobny do języka Smalltalk.
ConcernedOfTunbridgeWells
7

Jestem całkowicie na twoim miejscu. Używam RoR i zaglądam do krainy Smalltalk. Oto kilka zalet i wad, które uważam za ważne:

Plusy:

  • Dojrzałe i stabilne środowisko
  • Szybki cykl rozwoju
  • Sprawia, że ​​myślisz więcej, a mniej piszesz

Cons:

  • Wymaga innego myślenia
  • Nadal tego nie rozumiałem

To dość zabawne, jak dowiedziałem się o Smalltalk. To była jedna rzecz, która często pojawiała się w wynikach Google podczas wyszukiwania rzeczy Lisp i Erlang. Pewnego dnia sprawdziłem to i byłem zdumiony ładnym otoczeniem okien. Kilka chwil później znalazłem framework Aida / Web. Zacząłem się uczyć Smalltalk poprzez tworzenie stron internetowych w tym frameworku.

Wciąż nie do końca, ale to tak cholernie interesujące, że po prostu nie mogę usiedzieć spokojnie ... :-) Znowu się bawię.

Damir Horvat
źródło
5

Nie zacząłbym się tego uczyć, gdybym miał czas. Dlaczego nie? Ponieważ nauka języka C # lub Java byłaby bardziej produktywna i opłacalna finansowo.

Z drugiej strony, jeśli jesteś hobbystą i chciałbyś pójść na wykopaliska archeologiczne, proponuję poświęcić trochę czasu na przyjrzenie się temu, co, kiedy, dlaczego i jak w smalltalk, badając Alana Kaya. Fascynująca historia i niesamowita osoba (w końcu zdobył Turning Award). Potem może pobawić się trochę piskiem, aby poczuć język. Po tym możesz mieć nowo odkryty szacunek / zrozumienie bloków, zamknięć i zasad zorientowanych obiektowo.

Znam Smalltalk i używam go od około 15 lat, wciąż się utrzymuję go i nie polecam Smalltalk znajomemu. Dlaczego nie? Zatrudnienie to dobra rzecz, którą warto mieć i nadal ją zdobywać. Chociaż możesz się wiele nauczyć od Smalltalk, nie możesz łatwo zmienić tego w pracę zarobkową w dzisiejszych czasach.

Wydawałeś się również podekscytowany Seaside i zakładam partnerstwo Seaside / GemStone. Używam GemStone od dłuższego czasu i te dwie rzeczy razem są bardzo atrakcyjne. Mam nadzieję, że zdobędą udział w rynku i odpowiednią dynamikę, aby odnieść sukces.

tatuś
źródło
5

Nie! Jeśli naprawdę zaczniesz się tego uczyć, możesz nie chcieć już programować w czymś innym.

Może to nie być prawda, jeśli jesteś programistą seplenienie.

Richard Durr
źródło
4

Oczywiście, naucz się Smalltalk! Jest rok 2015, a Smalltalk znów rośnie dzięki Pharo . Pharo jest BEZPŁATNE. Pharo szybko ewoluuje w potężne narzędzie dla przedsiębiorstw. W wersji 4.0, a wkrótce 5.0, bardzo dojrzała w ciągu zaledwie czterech lat!

Jest też Amber , czyli Smalltalk dla sieci. Jest również BEZPŁATNY i szybko się rozwija.

Pomimo reputacji Smalltalka , to nie jest Smalltalk twojego ojca. Nowoczesny Smalltalk jest ekscytujący i obiecujący.

To prawda, że ​​praca w Smalltalk nie jest (jeszcze) obfita. Ale jeśli wystarczająca liczba z was zgromadzi się na nowej fali Smalltalkers, branża dostosuje się do tego i zobaczymy szersze zastosowanie Smalltalk w biznesie. Pytanie brzmi, czy masz wizję?

Richard Eng
źródło
3

Uczyłem się Smalltalka na jednym z pierwszych kursów magisterskich z programowania obiektowego (około 1988). Nauczyciel pomyślał, że najlepiej zacząć od „czystego” języka OO, zanim przejdziemy do bardziej modnego (zrobiliśmy trochę C ++ pod koniec semestru).

Biorąc to pod uwagę, nadal najlepiej jest zacząć od czystego OO, chociaż obecnie mamy Javę i C #, z których oba są „prawie czyste” OO - na tyle blisko, że można je uzyskać ignorując ich funkcje niezwiązane z OO, i ograniczając się do podzbioru języków Pure-OO.

James Curran
źródło
3

Od kilku lat jestem inżynierem oprogramowania. Słyszałem, że ludzie kilka razy wspominali o Smalltalk i na pewno Smalltalk istnieje od około 1980 roku, ale jest to jeden z tych języków, które nigdy nie dotarły do ​​głównego nurtu oprogramowania. Coś jak Objective C, CLIPS, PL / I itd. - coś, o czym być może słyszałeś, ale coś, czego większość ludzi nigdy nie zaprogramowała.

Prawdopodobnie nie poświęciłbym czasu na naukę Smalltalk, chyba że byłbym potrzebny do jakiejś konkretnej pracy. Kilka lat temu przyjrzałem się kilku samouczkom i przykładom Smalltalk i wygląda na to, że ma kilka wyraźnych zalet w niektórych aspektach programowania obiektowego (jak koncepcja wiadomości wydaje się fajna). Ale niestety nie jest to główny nurt i nie wydaje się nabierać większego tempa.

Ogre Psalm33
źródło
3
Cel-C ... nie sądzę, że oświadczenie jest nadal
aktualne na
@sjas How true! Wszystko, czego potrzebuje Smalltalk, to teraz główny programista, aby stworzyć nowy niszowy rynek urządzeń i określić Smalltalk jako język defacto do pisania aplikacji na urządzenie!
Ogre Psalm33
2

Ten wątek stał się dla mnie bardzo aktualny. Planuję migrację oprogramowania do aplikacji internetowej. To oprogramowanie oparte na bazie danych. Szczególnie sprawdzam alternatywy 1) Rails 2) Seaside

Jeśli uda mi się uzyskać dane dotyczące Gemstone / S jako bazy danych, rozważę to również. Więc dla mnie oznacza to, że muszę się nauczyć Smalltalk (lepiej) niż wcześniej. Bo może być tak, że będzie to moja praca przez następne 15 lat. Pracowałbyś (i nie powinieneś) tak długo z oprogramowaniem, którego nie lubisz ;-). Mam wrażenie, że Gemstone / S to jedna z „zabójczych” aplikacji. Ale wytrwałość Obiektów nadal jest bardzo trudną dziedziną ...

Friedrich
źródło
2

1) Tak! Zawsze dobrze jest nauczyć się języka. Jeśli masz zamiar nauczyć się języka, uczyń z niego potężny, wpływowy język, którego można się łatwo i szybko nauczyć.

Smalltalk pozostaje dominującym językiem i środowiskiem do nauki pojęć OO.

To wszystko, aż do dołu. To zapewnia naprawdę spójne podejście do pracy.

Liczby całkowite są wystąpieniami klasy całkowitej. Łańcuchy to zbiór obiektów znakowych. Klasy są pojedynczymi obiektami instancji dla klasy, którą definiują.

Struktury kontrolne działają poprzez wysyłanie komunikatów get do instancji klasy Boolean.

Nawet metody anonimowe (bloki kodu, inaczej bloki) są obiektami.

Wszystko odbywa się poprzez wysłanie wiadomości do obiektu. Składnię można dopasować na pocztówce.

Przejrzystość pojęć i ich implementacja w Smalltalk oznacza, że ​​możesz opracować sposoby myślenia, które przenoszą się bezpośrednio do Java, Ruby i C #. Spodziewam się, że dotyczy to również Pythona.

Jest to tak dobre dla wyjaśnienia koncepcji, że duży uniwersytet w Wielkiej Brytanii wykorzystał Smalltalk do szkolenia 5000 osób rocznie w zakresie przetwarzania obiektowego.

Squeak 5 właśnie został wydany. Zyskał znaczny wzrost wydajności dzięki nowej maszynie wirtualnej Cog / Spur, która oferuje progresywne usuwanie elementów bezużytecznych.

Pharo 4 ma piękny, czysty wygląd pulpitu. Następna wersja, Pharo 5, ukaże się wkrótce. Zostanie przeniesiony na maszynę wirtualną Cog / Spur, będzie miał około 5000 klas w wydaniu, a dodatkowe pakiety klas są łatwo dostępne w sieci za pośrednictwem narzędzia Configuration Browser.

Squeak 5 działa nawet na Raspberry Pis pierwszej generacji i jest prawie 50% szybszy na nowym Raspberry Pi zero za 5 USD. Za 99 USD kupisz Raspberry Pi 2, ekran i obudowę - działające na dojrzałym, w pełni funkcjonalnym IDE.

Prowadzone są wiodące badania w zakresie skoordynowanych, rozproszonych systemów OO w Smalltalk (np. Naiad i Spoon).

W Smalltalk działają niektóre z największych na świecie korporacyjnych baz danych - w tym śledzenie 60% kontenerów wysyłkowych na świecie oraz systemy transakcyjne w największym banku świata.

Możesz użyć Smalltalk jako czegoś w rodzaju super- wydajnego CoffeeScript, pisząc w Amber Smalltalk i transponując do JavaScript, działającego w przeglądarce.

Squeak, Pharo i Amber to bezpłatne języki i środowiska z otwartym kodem źródłowym i otwartą licencją.

Squeak i Pharo zapewniają możliwość jednokrotnego zapisu i uruchamiania w dowolnym miejscu dla systemów MacOS, Windows i Linux. (Prawdopodobnie również RiscOS).

Dolphin Smalltalk koncentruje się na natywnym wyglądzie i działaniu systemu Windows i umożliwia kompilowanie zamkniętych plików .ex ukończonej pracy w celu dystrybucji do użytkowników końcowych. Dalszy rozwój Dolphina przez sprzedawcę został zatrzymany, ale jest on w pełni funkcjonalny i, podobnie jak wszystkie Smalltalks, zaprojektowany tak, aby był masowo rozszerzalny. (Czy wspomniałem, że Pharo ma teraz 5000 klas, w porównaniu do 3000 Squeaka? Pharo jest widelcem Squeaka 3.9)

** Na stronie: ** http://beginningtosmalltalk.blogspot.co.uk/2015/11/how-to-get-smalltalk- znajduje się poradnik dotyczący instalacji i uruchamiania Squeak, Amber, Pharo, aware i dolphin up-and-running.html

Framework sieciowy Seaside działa na Squeak i Pharo. To wspaniałe, dojrzałe narzędzie, podobnie jak bardziej tradycyjny framework AidaWeb.

VisualAge, VisualWorks i Gemstone zapewniają solidne systemy klasy korporacyjnej. Gemstone zapewnia nieskończenie skalowalną bazę danych obiektów z transakcjami i trwałością.

2) Tak - już go używam.

Nauczyłem się tego na Open University i od razu zacząłem pracować w języku Ruby (kopia książki o kilofie i odniesienie do biblioteki u mojego boku). Ogromnie pomogło mi to w Javie i Xerox Moo-code.

Właśnie wróciłem do niego, aby pisać aplikacje do kontrolowania zarządzania i dystrybucji responsywnych, masowo wieloplatformowych aplikacji mobilnych.

Spodziewam się, że wkrótce ponownie napiszę moje aplikacje mobilne JavaScript przy użyciu Amber.

Euan M
źródło
1

Naprawdę nie wiem, czego szukasz.

Jeśli szukasz innego języka do pisania, myślę, że zależałoby to w dużym stopniu od dostępnych bibliotek. Nie znam ani Ruby, ani Smalltalk, ale wydaje się prawdopodobne, że najbardziej wydajnym sposobem pisania aplikacji w Ruby on Rails może nie być Smalltalk.

Jeśli chcesz poznać idee Rubiego, może to być bardzo dobry ruch. Nie mam nic ilościowego, ale zawsze czułem się lepiej, używając narzędzi (takich jak systemy językowe), gdy znałem więcej niż tylko narzędzia, jeśli zastanawiałem się nad pomysłami, które się za nimi kryły lub jak działają.

Jeśli chcesz nauczyć się różnych rodzajów języków zorientowanych obiektowo, możesz zechcieć nauczyć się Smalltalk (jeśli znacznie różni się od Rubiego), czegoś takiego jak Java lub C ++, a może także Common Lisp Object System.

Jeśli chcesz się po prostu nauczyć czegoś innego, Smalltalk może być dobrym wyborem. Zasugerowałbym również Common Lisp, a inni ludzie bez wątpienia będą mieli inne sugestie (czy możesz dziś dostać dobry system Forth?).

David Thornley
źródło
To jasne, że nie spojrzałeś na Seaside. Najskuteczniejszym sposobem pisania aplikacji w stylu Ruby-on-Rails jest oczywiście Seaside.
Stephan Eggermont
Nie spojrzałem na Seaside i nie korzystałem z Ruby ani Smalltalk, więc to jest ogólna rada. Dzięki za zwrócenie uwagi na Seaside.
David Thornley,
-5

Tak, jestem tym zainteresowany. Próbowałem już raz zacząć, ale nie mogłem znaleźć środowiska programistycznego Smalltalk, które nie kosztowałoby obu rąk i nogi.

Brian Knoblauch
źródło
1
Squeak (z squeak.org ) to darmowa implementacja typu open source oparta na oryginalnym obrazie Smalltalk-80.
Kevin Driedger
VisualWorks jest już dostępny jako darmowy bit. Możesz go pobrać z cincomsmalltalk.com
ConcernedOfTunbridgeWells