Здравствуйте, Mr.Cat, Вы писали:
MC>Здравствуйте, z00n, Вы писали: Z>>Glenda MC>А мне всегда казалось, что это мальчик.
Это мальчик!
PS. странно, что там все так фанатели от Эда Вуда — я и 15-ти минут его фильмов не осилил, хотя фильм Бартона мне скорее понравился и даже вызвал некоторое любопытство.
Здравствуйте, Mr.Cat, Вы писали:
MC>Здравствуйте, z00n, Вы писали: Z>>(мне это слегка напоминает "ебаа нобаа" из "Little Britain" MC>Как человек, знакомый с английским языком довольно поверхностно, поинтересуюсь на всякий случай. Юмор в том, что подсудимая (ый?) много, быстро и неразборчиво говорит — или надо вслушиваться в смысл произносимого?
Здравствуйте, Трурль, Вы писали:
Т>Wrong. Young people don't know any history. The first language with Т>garbage collection was Visual Basic.[/q]
Какой VisualBasic? Первым языком с GC были перфокарты! Каждый день приходил garbage collector и выметал лишние.
Геннадий Васильев,
ГВ>>>Даже если так, то как это влияет на оценку самого Go? MC>>Никак. Просто я с некоторой неприязнью отношусь к хайпу вокруг давно известных вещей.
ГВ>Так нет никакого хайпа, вроде. Может, журналисты и поднимут, конечно. Ну так у них профессия такая. А вообще ничего принципиально нового в программировании не изобретается уж лет сорок как. Только композиционная игра с перепевами старых мелодий — на всё можно найти прототипы 65-го, 72-го, 68-го года выпуска. Ну в крайнем случае — 80-го.
Здравствуйте, Lazy Cjow Rhrr, Вы писали:
ГВ>>Так нет никакого хайпа, вроде. Может, журналисты и поднимут, конечно. Ну так у них профессия такая. А вообще ничего принципиально нового в программировании не изобретается уж лет сорок как. Только композиционная игра с перепевами старых мелодий — на всё можно найти прототипы 65-го, 72-го, 68-го года выпуска. Ну в крайнем случае — 80-го.
LCR>GADTs? Arrows? Dependent types?
ИМХО, это развитие идей лямбда-исчисления (GADT, DT) и CSP (Arrows). Некое подобие паттернов проектирования ООП, только с более развитой математической основой. В прочем, чтобы не впадать во флейм, лучше признаю, что всё-таки, кое-что относительное новое есть.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Mr.Cat, Вы писали:
MC>Здравствуйте, Красин, Вы писали: К>>Ничего себе вскользь! Language Design FAQ К>>
What are Go's ancestors?
К>>Go is mostly in the C family (basic syntax), with significant input from the Pascal/Modula/Oberon family (declarations, packages), plus some ideas from languages inspired by Tony Hoare's CSP, such as Newsqueak and Limbo (concurrency).
MC>Это как раз вскользь — "some ideas".
Дык а так оно и есть. Синтаксис из С, модули и многое другое из Оберона, конкаранси из Newsqueak и Limbo.
Лично для меня как раз конкаранси фичи — это мелочевка, а основное — это база языка. А в базе там очень явно проступает оберон с С-подобным синтаксисом.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Лично для меня как раз конкаранси фичи — это мелочевка [...]
Что и требовалось доказать. Спасибо, ты очень вовремя.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Геннадий Васильев, Вы писали:
VD>>Лично для меня как раз конкаранси фичи — это мелочевка [...]
ГВ>Что и требовалось доказать. Спасибо, ты очень вовремя.
А что требовалось доказать и кому?
Есть огромный язык и есть пара фич которые можно всунить в любой язык. А в языки типа Немерле или Лисп можно всунуть в виде библиотеки, так как они поддерживают расширение синтаксиса и семантики.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>А что требовалось доказать и кому? VD>Есть огромный язык и есть пара фич которые можно всунить в любой язык. А в языки типа Немерле или Лисп можно всунуть в виде библиотеки, так как они поддерживают расширение синтаксиса и семантики.
Lightweight threads?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Здравствуйте, VladD2, Вы писали:
VD>>А что требовалось доказать и кому? VD>>Есть огромный язык и есть пара фич которые можно всунить в любой язык. А в языки типа Немерле или Лисп можно всунуть в виде библиотеки, так как они поддерживают расширение синтаксиса и семантики.
ГВ>Lightweight threads?
А в чем проблема то? Они что какие-то особенные в этом Гоу будут? Ну, Эрланг за счет функциональной чистоты и интерпретируемости может позволить реализовать более дешевую кооперативную многозадачность. А Гоу тот тут причем?
Возьми те же файберы и пользуйся на здоровье. Или реализуй континюэшоны.
Для работы с реальной же многозадачностью нужны потоки ОС. Так как именно они реализуют переключение между процессорами.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
ГВ>>Lightweight threads?
VD>А в чем проблема то? Они что какие-то особенные в этом Гоу будут? Ну, Эрланг за счет функциональной чистоты и интерпретируемости может позволить реализовать более дешевую кооперативную многозадачность. А Гоу тот тут причем?
VD>Возьми те же файберы и пользуйся на здоровье. Или реализуй континюэшоны.
Это всё называется workarounds, а Эрланг мне не очень нравится из-за быстродействия. Кстати говоря, я не имел в виду кооперативную многозадачность.
VD>Для работы с реальной же многозадачностью нужны потоки ОС. Так как именно они реализуют переключение между процессорами.
Вытесняющая многозадачность уже давно прекрасно работает на однопроцессорных машинах.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, VladD2, Вы писали:
VD>Или реализуй континюэшоны.
Я не хочу связываться с реализацией continuations. Зачем тащить лишний сложный механизм?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Кстати говоря, я не имел в виду кооперативную многозадачность.
Да? А что же ты имел в виду под: ГВ>>>Lightweight threads?
Может быть ты просто не владеешь терминологией?
VD>>Для работы с реальной же многозадачностью нужны потоки ОС. Так как именно они реализуют переключение между процессорами.
ГВ>Вытесняющая многозадачность уже давно прекрасно работает на однопроцессорных машинах.
Ну, и пользуйся потоками ОС. Они доступны из любого языка. А реализовать удобный синтаксис синхронизации для обычных потоков можно для любого языка. Для Немерле можно оформить такое расширение в виде макры. Чорды и есть такое расширение.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>>>Для работы с реальной же многозадачностью нужны потоки ОС. Так как именно они реализуют переключение между процессорами. ГВ>>Вытесняющая многозадачность уже давно прекрасно работает на однопроцессорных машинах. VD>Ну, и пользуйся потоками ОС. Они доступны из любого языка. А реализовать удобный синтаксис синхронизации для обычных потоков можно для любого языка. Для Немерле можно оформить такое расширение в виде макры. Чорды и есть такое расширение.
Можно, конечно. Только смущает ограничение на количество потоков ОС.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, VladD2, Вы писали:
ГВ>>Можно, конечно. Только смущает ограничение на количество потоков ОС. VD>Это которое? Создавай потоки с мелким стеком и будет тебе их тысячи.
Попробуй сделать полмиллиона потоков. Просто полмиллиона потоков на одной машине.
VD>Только вот я хоть у бей не пойму зачем нужно потоков существенно больше чем есть процессоров?
Тут я лучше ограничусь простым постулированием того, что такая потребность есть.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Mr.Cat, Вы писали:
MC>Как это называется?
Клево. Только один момент — не мог бы ты сравнить системы типов этих языков? Видишь-ли, твой пример касается по большей части только фич параллелизма, а они взяты с лимбо.
Меня, в частности, интересуют:
1) Методы, и "ортогональность" типов и методов.
2) Интерфейсы, и "утиная типизация"
Это достаточно принципиальные вещи. А мелочи, вроде возможности возвращать несколько значений из функций, замыкания, оператор switch — это мелочи. Но они также важны.
Здравствуйте, Gaperton, Вы писали: G>1) Методы, и "ортогональность" типов и методов.
Не совсем понимаю, что ты имеешь в виду. То, что есть типы данных, а у них есть методы? Да, в лимбо так вроде бы.
G>2) Интерфейсы, и "утиная типизация"
Тут в limbo по-другому. В limbo под интерфейсом понимается интерфейс модуля: функции и типы данных, им экспортируемые. Соответственно, у одного интерфейса модуля могут быть разные реализации. В go, конечно, поинтереснее сделано.