#compatibility #smalltalk #f-script
#совместимость #smalltalk #f-script
Вопрос:
Синтаксис F-Script похож на Smalltalk. Совместим ли он с каким-либо стандартом Smalltalk?
Ответ №1:
F-Script похож на Smalltalk, но эти два языка не совместимы по существу.
- Ни одна версия F-Script не считывает формат стандартных изменений ANSI, так что сразу же вас ждут некоторые изменения.
- F-Script не имеет иерархии классов Smalltalk; вместо этого он оборачивает иерархию классов Cocoa. Здесь есть нетривиальные различия:
- Названия методов различаются. В качестве случайного примера, Smalltalk
copyFrom:
становится CocoasubstringFromIndex:
. - Классы различаются.
String
и его друзья заменяются наNSString
. - Иерархия метаклассов совершенно иная. Основные классы, такие как
Behavior
, полностью отсутствуют в F-Script.
- Названия методов различаются. В качестве случайного примера, Smalltalk
- F-Script 1 вообще не позволял вам определять новые классы; F-Script 2 исправляет это, но формат определений классов не имеет сходства со стандартом Smalltalk ANSI и несовместим с тем, который выбран ближайшим практическим аналогом, GNU Smalltalk.
- F-Script добавляет операторы понимания массива, добавляя синтаксис, которого нет в стандарте Smalltalk и который не соблюдается ни одной другой реализацией Smalltalk на практике. Выбранный им синтаксис противоречит способу идентификации точек в традиционных реализациях Smalltalk.
И это просто не укладывается у меня в голове.
Я знаю, что F-Script и Smalltalk выглядят одинаково, но, по мнению Джорджа Бернарда Шоу, это два языка, разделенных общим синтаксисом. Как только вы начнете работать в обоих языках в течение какого-либо периода времени, вы сразу почувствуете глубину их непримиримых различий.