История изменений
Исправление
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.