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


Синтаксис F-скрипта выглядит как Smalltalk. Совместим ли он с любым стандартом Smalltalk?

1 2

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 выглядят одинаково, но, по мнению Джорджа Бернарда Шоу, это два языка, разделенные общим синтаксисом. После того, как вы начнете работать в обоих для любой длины со временем вы сразу ощутите всю глубину их непримиримых различий.