Совместим ли F-Script с Smalltalk?

#compatibility #smalltalk #f-script

#совместимость #smalltalk #f-script

Вопрос:

Синтаксис F-Script похож на Smalltalk. Совместим ли он с каким-либо стандартом Smalltalk?

Ответ №1:

F-Script похож на Smalltalk, но эти два языка не совместимы по существу.

  • Ни одна версия F-Script не считывает формат стандартных изменений ANSI, так что сразу же вас ждут некоторые изменения.
  • F-Script не имеет иерархии классов Smalltalk; вместо этого он оборачивает иерархию классов Cocoa. Здесь есть нетривиальные различия:
    • Названия методов различаются. В качестве случайного примера, Smalltalk copyFrom: становится Cocoa substringFromIndex: .
    • Классы различаются. String и его друзья заменяются на NSString .
    • Иерархия метаклассов совершенно иная. Основные классы, такие как Behavior , полностью отсутствуют в F-Script.
  • F-Script 1 вообще не позволял вам определять новые классы; F-Script 2 исправляет это, но формат определений классов не имеет сходства со стандартом Smalltalk ANSI и несовместим с тем, который выбран ближайшим практическим аналогом, GNU Smalltalk.
  • F-Script добавляет операторы понимания массива, добавляя синтаксис, которого нет в стандарте Smalltalk и который не соблюдается ни одной другой реализацией Smalltalk на практике. Выбранный им синтаксис противоречит способу идентификации точек в традиционных реализациях Smalltalk.

И это просто не укладывается у меня в голове.

Я знаю, что F-Script и Smalltalk выглядят одинаково, но, по мнению Джорджа Бернарда Шоу, это два языка, разделенных общим синтаксисом. Как только вы начнете работать в обоих языках в течение какого-либо периода времени, вы сразу почувствуете глубину их непримиримых различий.