LINUX.ORG.RU

История изменений

Исправление Den_Zurin, (текущая версия) :

Я задумался: а в чём сходство?

Если кратко, то вот: https://ru.wikipedia.org/wiki/Active_Oberon

Семантически почти полная копия с некоторыми расширениями (лямбды, интерфейсы и др.). Общий минимализм, строгая типизация, ООП в форме привязанных к структурам процедур, нативный код с использованием GC, модульная система… А вот с Эрлангом у Go кроме зеленых потоков (которые в упомянутом Active Oberon тоже есть) ничего общего. Go пошел в массы, потому что он проще C++. И быстрее языков на виртуальных машинах.

Но вряд ли Sun что-то украла у Вирта.

Технология Juice, от которой произошли Java апплеты: http://oberon2005.oberoncore.ru/paper/obe_java5.pdf

Просто у Вирта не было таких маркетологов, как у Sun.

и на Java по-видимому повлиял Smalltalk

Не вижу навскидку такого влияния. В Smalltalk принцип «все есть объект», в Java (как и в C++) его нет. Например, методы не объекты, из-за этого вплоть до 8-й версии не было лямбд и приходилось для их эмуляции писать анонимные классы. Более близкие потомки Smalltalk - это языки Objective-C и Swift.

Исходная версия Den_Zurin, :

Я задумался: а в чём сходство?

Если кратко, то вот: https://ru.wikipedia.org/wiki/Active_Oberon

Семантически почти полная копия с некоторыми расширениями (лямбды, интерфейсы и др.). Общий минимализм, строгая типизация, ООП в форме привязанных к структурам процедур, нативный код с использованием GC, модульная система… А вот с Эрлангом у Go кроме зеленых потоков (которые в упомянутом Active Oberon тоже есть) ничего общего. Go пошел в массы, потому что он проще C++. И быстрее языков на виртуальных машинах.

Но вряд ли Sun что-то украла у Вирта.

Технология Juice, от которой произошли Java апплеты: http://oberon2005.oberoncore.ru/paper/obe_java5.pdf Просто У Вирта нет таких маркетологов, как у Sun.

и на Java по-видимому повлиял Smalltalk

Не вижу навскидку такого влияния. В Smalltalk принцип «все есть объект», в Java (как и в C++) его нет. Например, методы не объекты, из-за этого вплоть до 8-й версии не было лямбд и приходилось для их эмуляции писать анонимные классы. Более близкие потомки Smalltalk - это языки Objective-C и Swift.