Ви б почали вивчати Smalltalk? [зачинено]


83

Мої запитання прості!

  1. Ви б почали вивчати Smalltalk, якби мали час? Чому? Чому ні?
  2. Ви вже знаєте Smalltalk? Чому ви рекомендуєте Smalltalk? Чому ні?

Особисто я програміст Ruby on Rails, і мені це дуже подобається. Однак я думаю про Smalltalk, тому що читаю різні блоги, і деякі люди називають Рубі якось на зразок "Smalltalk Light". Друга причина, чому я цікавлюсь Smalltalk, - це Seaside .

Можливо, хтось раніше робив такий самий перехід?

EDIT: Власне, найбільше мене схвилював Smalltalk / Seaside - це наступний Епізод WebDevRadio: Епізод 52: Рендаль Шварц на узбережжі (серед іншого)

Відповіді:


62

Якщо вам подобається Рубі, вам напевно сподобається Smalltalk. IIRC Seaside перенесено на VM Gemstone, яка є частиною їх OODBMS Gemstone / S. Це має набагато кращу підтримку потоків, ніж Ruby, тому є кращим фоном для великої системи. Це може бути вагомою причиною придивитися до цього уважно.

Причини вчитися Smalltalk:

  • Це справді дуже приємне середовище програмування. Після того, як ви обдумаєте (це, як правило, трохи культурний шок для людей, які звикли до C ++ або Java), ви побачите, що це справді хороше середовище для роботи. Навіть справді гадюча маленька розмова, як Старі Digitalk, якими я користувався, - надзвичайно приємна у використанні система. Багато старих типів гуру XP та OO, такі як Кент Бек та Мартін Фаулер, ще в той день порізали зуби на Smalltalk, і їх іноді можна почути, як публічно сумують за старими добрими часами (Дякую Френку Ширеру за цитату, +1) - На цій платформі виникла спритна розробка.

  • Це одна з найбільш продуктивних платформ розвитку в історії.

  • Існує кілька зрілих реалізацій, і там є напрочуд велика база коду. Одного разу це стало досить модним у колах фінансового ринку, де продуктивність розробників та час виходу на ринок є досить великою справою. До середини 1990-х років це була більш-менш єдина гра в місті (за винятком LISP), якщо ви хотіли комерційно підтримувану мову високого рівня, придатну для розробки додатків.

  • Розгортання є простим - просто опустіть файл зображення у відповідний каталог.

  • Це не зовсім причина, але “ Банда чотирьох книг” використовує Smalltalk для багатьох їх прикладів.

Причини не вчитися Smalltalk:

  • Це щось на зразок нішового ринку. У вас можуть бути проблеми з пошуком роботи. Однак якщо ви створюєте якусь програму .com, де ви є власником серверів створюєте це не може бути проблемою.

  • Багато хто розглядає це як застарілу систему. Нових розробок на платформі порівняно мало (хоча Seaside, здається, рухається трохи в епоху Відродження).

  • Він, як правило, не грає з традиційними системами управління джерелами (принаймні на початку середини 90-х, коли я ним користувався). Це може бути, а може і не так.

  • Він дещо острівний і любить грати сам по собі. Python або Ruby створені для інтеграції з нуля і, як правило, є більш неміцними і, отже, простішими для інтеграції зі сторонніми програмами. Однак різні інші більш загальнодоступні системи страждають від цього типу ізоляції більшою чи меншою мірою, і це, схоже, не заважає їхньому використанню значно.


1
Рубі також перенесено на Gemstone: це називається Maglev: infoq.com/news/2008/04/maglev-gemstone-builds-ruby
brian d foy

Що ви маєте на увазі під словом "це, як правило, не гарно грає з традиційними системами управління джерелами"?
помер

5
Те, як традиційний Smalltalk зберігав вихідний код, означав, що він був вбудований у зображення та пов'язані з ним джерела та файли змін. Ви не отримали чудового чистого набору програмних файлів, як з (скажімо) C. Системи Smalltalk, як правило, вимагали спеціалізованих систем управління джерелами, що знають smalltalk, які, як правило, були (a) власними, (b) дорогими і (( в) несумісний з усім іншим.
ConcernedOfTunbridgeWells

1
І, сподіваємось, Монтічелло розгляне (а) та (б) ці питання. Squeak вже активно цим користується, і SqueakSource має безліч проектів, що його використовують. У нього все ще є бородавки. Як тільки проекти git-Monticello будуть фактично використовуватися, (c), сподіваємось, також відмовиться.
Frank Shearar

2
Як правило, мені подобається відповідь, але Smalltalk добре працює зі стороннім програмним забезпеченням. Той факт, що ви бачите не так багато API, полягає не в тому, що ви технічно не можете їх інтегрувати, а тому, що це ніша (так менше людей потребує зовнішнього програмного забезпечення). Вторинною причиною цього (яка також не є технічною) є те, що малі торговці вважають за краще вирішувати проблеми в smalltalk, а не в інших менш цікавих технологіях.
Себастьян Састре

46

Ну, оскільки ви згадали мене по імені, я відчуваю, що мені слід бити.

Як я вже говорив у цьому інтерв’ю для подкастів, і як я вже неодноразово демонстрував у своєму блозі на http://MethodsAndMessages.vox.com/ , це " рік smalltalk ». І зараз, займаючись адвокатською діяльністю Smalltalk протягом останніх десяти місяців, я бачу, що це справді відбувається. Дедалі більше клієнтів звертаються до Smalltalk та Seaside, і всі продавці Smalltalk докладають усіх зусиль, щоб зафіксувати цей новий приплив уваги. Планується проведення більших конференцій Smalltalk. Розміщується більше оголошень про роботу. Робиться більше публікацій у блозі.

Якщо ви сьогодні звернетесь до Smalltalk, ви не самотні. Є багато інших, хто також там.

Редагувати

Ну, через кілька років я зараз рекомендую Дарт . Це чудова мова, створена Google, але зараз належить комітету ECMA. Він працює на стороні сервера в стилі node.js, а також на стороні клієнта в сучасних браузерах, перекладаючи в JavaScript. Багато хороших книг, щоденники, блоги, довідкові канали, підтримка IDE, загальнодоступний пастебін . Я думаю, що це, безумовно, ноги ... досить, щоб я писав навчальні програми, щоб викладати їх на місці чи в Інтернеті, і я впевнений, що в моїй роботі є книга-дві. І Гілад Брача, старовинний Smalltalker, є головним внеском у дизайн, тому в Дарті багато Smalltalk.


2
Ось чому Stack Overflow - це круто! Спасибі за вашу відповідь!
Крістоф Шиссль

З цікавості, чи можете ви детальніше розповісти про приплив уваги - будь-які ідеї, звідки береться розум?
ConcernedOfTunbridgeWells

Рубі, звичайно, допомогла, думаю, Javascript та Objective-C теж. Для людей, які не отримують чистого OO, ці мови дають звичну вихідну точку, з якої можна екстраполювати, як блищить Smalltalk.
Damien Pollet

Потім хлопці з Приморського зробили хороший піар, Аві Брайант з DabbleDB і переворот Маглева на Rails conf, і Рендал теж досить голосистий :) Також Ларс Бак від Google V8 походить від Self ... було багато крихітних реплік на зразок цього, все натякаючи у Smalltalk та Lisp, дивні мови з майбутнього в минулому :)
Damien Pollet

31

Smalltalk - це гарна мова для вивчення, і чудовим є те, що на це потрібно лише день. Це набагато більше, ніж просто академічна мова. Люди створюють величезні, масштабовані, тиражувані програми, що обробляють мільярди доларів. Вони просто багато про це не говорять. Див., Наприклад, GemStone та Orient Overseas Container Lines: Технічне дослідження галузі судноплавства .

Приморський - вагомий привід вивчити Smalltalk, але я не думаю, що ви знайдете його на порядок кращим за Rails.

Мене переконало GemStone. Мені дуже подобається СКЛА Gemstone (GemStone, Linux, Apache, Smalltalk, Seaside). Вбивчою частиною цього є GemStone, який обробляє всю стійкість об’єкта для вас, в основному, не думаючи про це. Побачивши деякі їх демо-версії та почувши про те, що люди роблять із GemStone, я перезавантажив моє уявлення про те, що означає "велика програма".

Частина, яка найбільше мене хвилює у Rails, - це об’єктно-реляційне відображення. Це нічого проти Ruby, тому що він так само сильно засмоктує і GLORP (який обробляє ActiveRecord для Smalltalk), або Perl, або щось інше. Прив'язка об'єктів до таблиць баз даних просто болюча. З GemStone зникає думка про базу даних, тому зникає і робота з базою даних. Це ніби величезний камінь (або загін мавп) знятий зі моєї спини.


1
Я би хотів, щоб я міг проголосувати двічі ... Я цілком згоден.
Себастьян РоккаСерра

1
+1 за демонстрацію переваги ODB над ORM. перехід від одного до іншого - це точно те, що ви можете відчути
ryan0

16

> не вдалося знайти середовище для розвитку Smalltalk, яке не коштувало б рук і ноги

Google - безкоштовно Smalltalk

Cincom Smalltalk, Squeak, GNU Smalltalk


Скрип - це справді приємно! Чистий ООП, повністю графічний, чудовий користувальницький інтерфейс, відкритий код (деякі не погоджуються з цим), більш-менш портативний ...
Джо Пінеда,

1
+1 для Squeak, і в ньому є чудова спільнота з приємним списком розсилки для початківців.
Себастьян РоккаСерра

+1 для Squeak, дослідник об’єктів (або що б там ще не називалося) є безцінним для вивчення роботи об’єктної моделі.
Маурісіо Шеффер

4
Pharo безкоштовний і має всі сучасні інструменти ..
Дафідд Ріс,

15

Вивчення Smalltalk дасть вам підґрунтя в об’єктно-орієнтованій розробці програмного забезпечення з точки зору людини, яка винайшла ОО (Алан Кей). Ідея перекриваючогося віконного середовища виникла у Smalltalk.

Каменем спотикання при вивченні Smalltalk є те, що це система передачі повідомлень із дивним синтаксисом для управління потоком, таким як:

i < 60
   ifTrue: [ self walk ]

У ньому є дуже зріла бібліотека класів, яка має узгодженість, я не бачив занадто багато місця. Бібліотека класів у всіх середовищах (навіть комерційних Smalltalks) має доступне джерело, яке дозволяє вчитися у майстрів мови. Програмуючи Smalltalk, я завжди задаю питання, як це робиться в середовищі.

Smalltalk, як правило, реалізовано в зображенні, яке є живим середовищем для всіх об'єктів у вашій системі.

Інтерактивний налагоджувач дійсно відокремлює Smalltalk від Ruby.

Seaside - це основа для веб-розробки, яка надала Smalltalk новий прожектор. Це середовище, що базується на продовженні, що дозволяє здійснювати налагодження внутрішньо звернень та плавний досвід розробки типу Rich Client (найкращий потік програми може бути розроблений одним методом). Це інтеграція зі script.aculo.us виконана таким чином, що її легко викликати зсередини Smalltalk.


1
Синтаксис не дивний - насправді ДУЖЕ елегантний. Це потрібно читати так: привіт, якими б ви не були результати "i <60", ось фрагмент коду (об'єкт коду, переданий як аргумент), який буде оцінено, якщо ви вважаєте, що ви правдиві. Найцікавіше, що це навіть працює, якщо "i <60" повертає нечітку, статистичну річ.
blabla999

... і ця нечітка статистична річ може потім вирішити (як метод), як з цим боротися. Не існує жодного вбудованого оператора або структури управління, які не можуть бути перевизначені таким чином.
blabla999

10

Найджел, одна цитата у мене така:

Незважаючи на те, що вже давно я з цим нічого не робив, я призначаю Smalltalk, я все ще не зустрічав нічого подібного за те, що міг переносити думки в комп'ютерний код. Це не тільки мова: це чудове середовище браузера, бібліотеки та культура написання чіткого, добре продуманого коду так швидко, як будь-що інше може викрутити спагетті. Коли учасники JavaOne прославляли, як Java набагато продуктивніше, ніж будь-що інше, мені знадобився коричневий паперовий пакет. Ну, повернемось до розбору моїх навчальних шляхів ... - Мартін Фаулер (Журнал розробки програмного забезпечення, січень 2001 р.)

Я знайшов його тут .


10

Не погодився б із плакатом, який вважає, що ви не використовувалимете Smalltalk для великих додатків - саме там він сяє. Але я створив досить груві (зверніть увагу на малі літери) програми-прототипи менш ніж за тиждень.

Я вивчив OO в ST, починаючи з 92 року, неймовірно радий, що це зробив. Це дало мені реальний досвід роботи в ОО. Мислення на заняттях. Без типів. ST робить справжній акцент на обміні повідомленнями. Якщо ви хочете щось знати, надішліть об’єкту повідомлення та отримайте відповідь. ІМХО, етос та IDE справді заохочують вас робити те, що потрібно, з вашими зв'язками та згуртованістю.

У своїй денній роботі на Java я застряг у файлах, дженериках, IDE, як затемнення, які на порядок менш продуктивні, ніж будь-яка ST IDE. Я використовував ST єдиний раз, коли закінчував розробку достроково. Насправді це було настільки продуктивно, і ми отримали стільки повторного використання, що мені довелося перейти до іншого проекту, оскільки мені не було чого робити! (Гаразд, можливо, я міг витратити час на навчання, щоб оцінити ...)

Завантажте скрип, знайдіть гарну книгу і пограйте. Єдиним мінусом є те, що якщо ваш денний концерт використовує Java або C #, ви в кінцевому підсумку побажаєте, що можете використовувати ST. Ти швидше прийшов би додому.

Кріс Брукс


9

Я рекомендую всім вивчити Lisp (Схема) або Smalltalk.

Smalltalks мають чудові IDE, які ви не хочете пропустити, як тільки переживете культурний шок. І так, існує більше одного безкоштовного: Squeak, Dolphin, Smalltalk / X та Visualworks (некомерційний).

Однак Lisp може бути навіть чистішим у своїй математичній основі.

з повагою

PS: насправді я рекомендую вчитися обом!


8

Я не знаю Рубі ..

Smalltalk - це чиста мова OO. Якщо ви відчуваєте потребу по-справжньому зрозуміти ОО, а не лише змодельований ОО найпопулярніших мов "ОО" (таких як C ++, Java тощо), то я рекомендую вам пограти з smalltalk.

У smalltalk все є об'єктом, з атрибутами, поведінкою та мета. У моделюванні у вас є типи даних, які ви використовуєте у своїх об’єктах.

Я б сказав, пограйте з цим, ви отримаєте лише користь.


1
У SmallTalk навіть "класи" - це об'єкти, екземпляри класу Class !!! Це зводило мене з розуму, поки я не поцукав!
Джо Пінеда,

1
Ruby також є чистою мовою OO в тому сенсі, що навіть Класи є об'єктами. Так само як і блоки, методи та посилання на нульовий покажчик.
Алан

4
Рубі бере (Мац це вільно заявлятиме) багато ідей від Smalltalk. Багато в чому його можна розглядати як "прагматичну" (вибачення перед Хантом і Томасом) мовою, схожою на Smalltalk.
ConcernedOfTunbridgeWells

7

Я цілком у вашому взутті. Я використовую RoR і вивчаю землю Smalltalk. Ось деякі плюси та мінуси, які я вважаю важливими:

Плюси:

  • Зріле та стабільне середовище
  • Швидкий цикл розвитку
  • Змушує думати більше і менше писати

Мінуси:

  • Вимагає іншого мислення
  • Все ще не зовсім зрозумів це

Цілком смішно, як я дізнався про Smalltalk. Це було одне, що постійно з’являлося в результатах Google під час пошуку матеріалів Lisp та Erlang. Одного разу я перевірив це і був вражений приємною обстановкою Windows. Через кілька хвилин я знайшов Aida / Web framework. Я підключився і почав вивчати Smalltalk через веб-розробку з цим фреймворком.

Все ще не зовсім там, але це так чортово цікаво, що я просто не можу сидіти на місці ... :-) Я знову отримую задоволення.


5

Не почав би вчитися, якби мав час. Чому ні? Тому що було б продуктивніше та вигідніше з фінансової точки зору вивчати C # чи Java.

З іншого боку, якщо ви любитель і хочете піти на археологічні розкопки, то я пропоную витратити трохи часу, розглядаючи питання «Що, коли, чому та як мало», досліджуючи Алана Кей. Захоплююча історія і неймовірна людина (зрештою, він заслужив нагороду «Поворот»). Тоді, можливо, трохи пограйте зі скрипом, щоб відчути мову. Після цього у вас може з'явитися нещодавно знайдене повагу / розуміння блоків, закриттів та об'єктно-орієнтованих принципів.

Я знаю і використовую Smalltalk, маю близько 15 років, все ще підтримую його, і не рекомендував би Smalltalk другові. Чому ні? Працевлаштування - це гарна річ, яку потрібно мати і отримувати. Хоча ви можете багато чому навчитися у Smalltalk, ви не можете легко перетворити це на вигідне працевлаштування в наші дні.

Крім того, ви виявилися в захваті від Seaside, і я припустив би партнерство Seaside / GemStone. Я використовував GemStone вже досить давно, і вони разом дуже привабливі. Я сподіваюся, вони зможуть отримати частку ринку та імпульс, необхідні для успіху.


5

Не треба! Якщо ви дійсно почнете це вивчати, можливо, ви більше ніколи не захочете програмувати щось інше.

Це може бути неправдою, якщо ви програміст.


4

Абсолютно, вчись Smalltalk! Це 2015 рік, і Smalltalk знову піднімається завдяки Pharo . Pharo БЕЗКОШТОВНО. Pharo швидко перетворюється на потужний інструмент для підприємств. У версії 4.0, і незабаром вона стане 5.0, вона дозріла дуже багато всього за чотири роки!

Потім є Amber , що є Smalltalk для Інтернету. Це також БЕЗКОШТОВНО і швидко розвивається.

Незважаючи на репутацію Smalltalk , це не Smalltalk вашого батька. Сучасний Smalltalk - захоплюючий та перспективний.

Це правда, що робочих місць у Smalltalk (поки що) не багато. Але якщо достатньо вас об’єднається з новою хвилею Smalltalkers, тоді галузь пристосується до неї, і ми побачимо більш широке впровадження Smalltalk у бізнес. Питання в тому, чи маєте ви бачення?


3

Мене навчали Smalltalk на одному з перших курсів об’єктно-орієнтованого програмування в коледжі (приблизно 1988 р.). Вчитель вважав, що найкраще почати з "чистого" мовного рівня ОО, перш ніж перейти до більш модного (ми зробили трохи C ++ наприкінці семестру).

За цим показником все-таки найкраще починати з чистого ОО, хоча в наші дні у нас є Java & C #, які обидва є "майже чистими" ОО - настільки близько, що ви можете отримати, ігноруючи їх не-ОО функції, і обмежившись лише підмножиною Pure-OO мов.



3

Я є інженером-програмістом вже досить багато років. Я кілька разів чув, як люди виховують Smalltalk, і, звичайно, Smalltalk існує приблизно з 1980 року, але це одна з тих мов, яка ніколи, здавалося, не потрапила до загального програмного забезпечення. Це щось на зразок Objective C, CLIPS, PL / I тощо - щось, про що ви, можливо, чули, але те, що більшість людей ніколи не програмували.

Я, мабуть, не знайшов би часу, щоб навчитися Smalltalk, якщо б мені не знадобилося для певної роботи. Кілька років тому я коротко подивився деякі підручники та приклади Smalltalk, і, схоже, він має певні переваги для певних аспектів програмування ОО (наприклад, концепція повідомлення здається крутою). Але, на жаль, він не є загальноприйнятим і, схоже, не набирає особливих обертів.


3
Objective-C ... не думаю, що заява все ще залишається станом на 2012 рік. :)
sjas

@sjas Як правда! Зараз Smalltalk потребує великого розробника, щоб створити нову нішу на ринку пристроїв і вказати Smalltalk як дефакто-мову для написання програм для пристрою!
Ogre Psalm33

2

Ця тема стала для мене дуже актуальною. Я планую перенести програмне забезпечення на веб-додаток. Це програмне забезпечення на базі даних. Я особливо перевіряю альтернативи 1) Рейки 2) Морські

Якщо я можу отримати цифри для Gemstone / S як базу даних, я також розгляну це. Тож для мене це означає, що я повинен навчитися Smalltalk (краще), ніж раніше. Бо може бути, що це буде моєю роботою протягом наступних 15 років. Ви так довго (і не повинні) працювати з програмним забезпеченням, яке вам не подобається ;-). Мені здається, Gemstone / S є одним із додатків "вбивць". Але стійкість Об'єктів все ще дуже важка сфера ....


2

1) Так! Завжди добре вивчати мову. Якщо ви збираєтесь вивчати мову, зробіть її потужною, впливовою мовою, яку можна вивчати легко і швидко.

Smalltalk залишається видатною мовою та середовищем для вивчення концепцій ОО.

Це всі предмети, аж донизу. Це забезпечує дійсно послідовний підхід до роботи.

Цілі числа - це екземпляри класу Integer. Рядки - це сукупність символьних об'єктів. Класи - це однотонні об'єкти примірника для класу, який вони визначають.

Структури управління працюють, надсилаючи повідомлення отримання в екземпляри класу Boolean.

Навіть анонімні методи (блоки коду, вони ж блоки) є об'єктами.

Все робиться шляхом надсилання повідомлення об’єкту. Синтаксис можна помістити на листівці.

Ясність концепцій та їх реалізація в Smalltalk означають, що ви можете розвивати способи мислення, які передаються безпосередньо в Java, Ruby та C #. Я сподіваюся, це стосується і Python.

Це настільки добре, щоб чітко пояснити концепції, що великий університет Великобританії використовував Smalltalk для навчання 5000 людей на рік об’єктно-орієнтованим обчисленням.

Squeak 5, щойно вийшов. Він отримав значне підвищення продуктивності завдяки новій машині Cog / Spur VM, яка оснащена поступовим збиранням сміття.

Pharo 4 має чудову чисту на вигляд тему робочого столу. Наступна версія, Pharo 5, скоро вийде. Він перейде до використання Cog / Spur VM, у ньому буде близько 5000 класів у випуску, а додаткові пакети класів легко доступні з мережі за допомогою інструмента браузера конфігурації.

Squeak 5 працює навіть на Raspberry Pis першого покоління і майже на 50% швидше на новому Raspberry Pi за нуль 5 доларів. $ 99 купує вам Raspberry Pi 2, екран та корпус - працює зріла повнофункціональна IDE.

Провідні дослідження проводяться на узгоджених, розподілених системах ОО в Smalltalk (наприклад, Naiad та Spoon).

Деякі з найбільших у світі корпоративних баз даних працюють на Smalltalk - включаючи відстеження 60% світових контейнерів для транспортування та торгові системи у найбільшому банку світу.

Ви можете використовувати Smalltalk як свого роду надпотужний CoffeeScript, пишучи Amber Smalltalk і перекладаючи в JavaScript, що працює в браузері.

Squeak, Pharo та Amber - це безкоштовні мови та середовища з відкритим кодом та відкритою ліцензією.

Squeak і Pharo надають можливість одноразового запису та роботи в будь-якому місці для MacOS, Windows та Linux. (Можливо, також RiscOS).

Dolphin Smalltalk чітко орієнтований на власний зовнішній вигляд Windows і дозволяє компілювати закриті .exe готової роботи для розповсюдження серед кінцевих користувачів. Подальший розвиток постачальника Dolphin зупинився, але він повністю функціональний і, як і всі Smalltalks, спроектований для масової розширюваності. (Чи я згадував, що Фаро зараз має 5000 класів, порівняно з 3000 Піку? Фаро - це вилка Писку 3.9)

** Інструкція з встановлення та запуску Squeak, Amber, Pharo, Cuis та Dolphin наведена на: http://beginningtosmalltalk.blogspot.co.uk/2015/11/how-to-get-smalltalk- up-and-running.html

Веб-фреймворк Seaside працює на Squeak і на Pharo. Це чудовий зрілий інструмент, як і більш традиційний фреймворк AidaWeb.

VisualAge, VisualWorks та Gemstone забезпечують надійні системи корпоративного рівня. Gemstone забезпечує нескінченно масштабовану базу даних об’єктів із транзакціями та постійністю.

2) Так - я вже цим користуюся.

Я дізнався про це через Відкритий університет і відразу ж почав працювати в Ruby (копія книги про Кірку та посилання на бібліотеку з мого боку). Це надзвичайно допомогло мені з Java та Xerox Moo-кодом.

Я щойно повернувся до нього, щоб писати додатки для управління та розповсюдження чутливих, масових мультиплатформенних мобільних додатків.

Я сподіваюся, що незабаром я також перепишу свої мобільні додатки JavaScript за допомогою Amber.


1

Я насправді не знаю, що ти шукаєш.

Якщо ви шукаєте іншу мову для написання, я думаю, це сильно залежатиме від наявних бібліотек. Я не знаю ні Ruby, ні Smalltalk, але здається ймовірним, що найефективнішим способом написання Ruby на Rails-подібних програмах може бути не Smalltalk.

Якщо ви хочете вивчити ідеї Рубі, це може бути дуже хорошим кроком. У мене немає нічого кількісного, але я завжди почував себе краще з використанням інструментів (таких як мовні системи), якщо б знав більше, ніж просто інструменти, якщо знав ідеї, що стоять за ними, або як вони працювали.

Якщо ви хочете вивчити різні види об’єктно-орієнтованих мов, ви, можливо, захочете вивчити Smalltalk (якщо він суттєво відрізняється від Ruby), щось на зразок Java або C ++, а також, можливо, Common Lisp Object System.

Якщо ви просто хочете дізнатися щось інше, Smalltalk цілком може бути хорошим вибором. Я б також запропонував Common Lisp, і інші люди, безсумнівно, матимуть інші пропозиції (чи можете ви отримати хорошу систему Forth сьогодні?).


Зрозуміло, що ти не подивився на Приморський. Найефективніший спосіб писати програми типу Ruby-on-Rails - це, очевидно, Seaside.
Stephan Eggermont

Не дивився на Seaside і не використовував Ruby чи Smalltalk, тому це загальна порада. Дякуємо за вказівку на Приморський.
Девід Торнлі,

-5

Так, мені це цікаво. Спробував розпочати вже один раз, але не зміг знайти середовище для розвитку Smalltalk, яке не коштувало б рук і ноги.


1
Squeak (від creak.org ) - це безкоштовна реалізація з відкритим кодом, заснована на оригінальному зображенні Smalltalk-80.
Кевін Дрідгер

VisualWorks також зараз доступний як безкоштовний. Ви можете отримати його з cincomsmalltalk.com
ConcernedOfTunbridgeWells
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.