OberonCore
https://forum.oberoncore.ru/

Go - официальная генеалогия
https://forum.oberoncore.ru/viewtopic.php?f=6&t=5807
Страница 3 из 7

Автор:  albobin [ Суббота, 10 Февраль, 2018 22:45 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Иван Денисов писал(а):
Я мог не расслышать

Там было слово 'тысяча'
Иван, если Вы с голоса переводите, то там на ютубе можно текст видео (расшифрованный) не только в виде субтитров читать, но и в окошко под экранчиком выводить. Кнопка из трёх точек с надписью "Ещё' поможет.

Автор:  Иван Денисов [ Суббота, 10 Февраль, 2018 22:57 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

albobin писал(а):
Иван Денисов писал(а):
Я мог не расслышать

Там было слово 'тысяча'
Иван, если Вы с голоса переводите, то там на ютубе можно текст видео (расшифрованный) не только в виде субтитров читать, но и в окошко под экранчиком выводить. Кнопка из трёх точек с надписью "Ещё' поможет.

Спасибо, поправил на "около тысячи" страниц. Это у меня скорее ментальная блокировка. В голове такое не укладывается :)

На YouTube расшифровка очень кривая. Так что её не получается использовать.

Сегодня добрался до 16.45. Если также сможете проверить, будет здорово.

Автор:  Иван Денисов [ Пятница, 16 Февраль, 2018 09:48 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Перевел уже до 27 ой минуты из 44 :)
И тут выясняется, что некий перевод уже был!
https://habrahabr.ru/post/262295
Но на мой взгляд, этот перевод слишком далек от оригинала, так что смысл доделать есть, пожалуй.

Автор:  Иван Денисов [ Пятница, 16 Февраль, 2018 10:33 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Вот кусочек про дженерики для критики.

https://youtu.be/0ReKdcpNyQg?t=25m23s

Цитата:
# слайд 21 / 25.23 / Generics

Напоследок рассмотрим дженерики, которые иногда называются «параметрическим полиморфизмом», что является более точным термином.

И это, вероятно, самая большая функциональная возможность, которая отсутствует в Go. Но что это такое? Этой возможности чаще всего недостает людям, которые недавно столкнулись с Go, и еще не написали много кода на Go. Это правда, они [дженерики] бывают полезны иногда, однако мы редко скучаем по ним на самом деле.

Обобщенное программирование относится скорее к механизму системы типов, и поэтому неясно, является ли он важным языковым механизмомом.

Со всеми функциональными возможностями, которые мы пытаемся включить, мы стараемся убедиться, что это механизмы, которые установили себя в течение длительного периода времени, были обнаружены во многих языках программирования в той или иной форме и действительно значимы.

Обобщенность [genericity] — это очень комплексный/сложный вопрос [предмет]. Он кроется как в семантике, так и в реализации. Существуют значительные альтернативы. Упомянем некоторые из них:
должны ли дженерики приводить к дублированию кода и большому двоичному файлу,
или просто должна быть там удобства выражения, но затем потенциально может привести к более медленному двоичному коду,
или мы должны просто копировать код в виде макроса, а затем приводить к большему исходному коду.
Это лишь несколько вещей для примера, которые следует учитывать.

Это также не ортогональная функциональность — она взаимодействует с практически любой другой особенностью языка.

Так что это [отсутствие в Go дженериков] не потому, что мы не думали об этом. У нас даже есть прототип. На самом деле Ян Лэнс Тейлор имел несколько предложений и даже реализовал часть из них. Но мы не находимся в точке, где чувствуем, что мы действительно понимаем достаточно. Поэтому в данный момент мы в основном сдерживаемся и продолжаем думать об этом.

Автор:  Иван Денисов [ Пятница, 16 Февраль, 2018 10:35 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Вот кусочек про ООП для критики.

https://youtu.be/0ReKdcpNyQg?t=22m08s

Цитата:
# слайд 19 / 22.08

Все же было ясно, что мы хотели получить некоторую поддержку объектной ориентации. И вдохновение в Go в этом случае пришло из Smalltalk. Всегда хорошо вернуться к создателям чего-то хорошего. Симула [язык программирования] была немного раньше, но имела немного другую природу.

В Smalltalk все является объектами, и я могу отправить сообщение, которое действительно является вызовом метода, для любого объекта. И если объект понимает сообщение, тогда вы знаете, что все в порядке. Если объект не понял сообщение, я получу ошибку. В основном ошибка, которая говорит, что вы знаете, я думаю: «Я не понимаю этого сообщения».

Таким образом, в Go мы хотели иметь такую же мощность, но без возможности получить ошибку во время выполнения о том, что сообщение не понято.

Это означает, что нам нужен способ, которым мы могли бы описать, какие сообщения были поняты объектом. И это привело непосредственно к понятию интерфейсов, поскольку это совершенно очевидно, но в ретроспективе,

Кроме того, для того, чтобы действительно дойти до той же мощности, что и Smalltalk, нам нужно было отправлять сообщения на любой объект. Или в терминологии Go в любой экземпляр любого типа. Как правило, это невозможно в объектно-ориентированном языке. Обычно вы можете отправлять сообщения или фактически вызывать методы в экземплярах классов, потому что в реализации вам нужна дополнительная информация, когда вы делаете виртуальную отправку. Эта дополнительная информация обычно является словом [предупреждением?] или чем-то подобным. И это обычно где-то в структуре данных, которая обычно class или struct в C ++.

Мы поняли, что эта дополнительная информация действительно нужна только при динамической отправке.

Вы можете иметь методы, и у нас они есть в Go без динамической отправки, и они полностью бесплатны. Они по сути являются просто синтаксическим сахаром.

Такая реализация привела к критическому пониманию того, что нам нужна эта информация только в том случае, когда мы хотим сделать динамическую отправку. То есть когда мы вызываем метод через интерфейс.

Прием заключается в том, что мы храним эту информацию в интерфейсе, а не с данными.

С помощью этого механизма стало возможным прикрепить методы к любому типу, не имея экземпляров типа, для хранения дополнительной информации о нем.

Это действительно единственный дополнительный механизм, который был необходим, чтобы сделать объектную ориентацию возможной в Go.

Автор:  adva [ Суббота, 17 Февраль, 2018 04:51 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Иван Денисов писал(а):
Упомянем некоторые из них:
должны ли дженерики приводить к дублированию кода и большому двоичному файлу,
или просто должна быть там удобства выражения, но затем потенциально может привести к более медленному двоичному коду,
или мы должны просто копировать код в виде макроса, а затем приводить к большему исходному коду.

... или здесь просто должно быть удобство выражения, а затем потенциально это может ...
В последней части: кто должен "приводить" ? Я так понимаю, это уже автоматом "приводится", тоже как то изменить надо, может на "приходить".

Автор:  adva [ Суббота, 17 Февраль, 2018 04:53 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Иван Денисов писал(а):
В основном ошибка, которая говорит, что вы знаете, я думаю: «Я не понимаю этого сообщения».

Здесь наверное правильнее так:
Цитата:
В основном ошибка, которая говорит, что: "Вы знаете, я думаю, я не понимаю этого сообщения».

Автор:  adva [ Суббота, 17 Февраль, 2018 05:05 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Иван Денисов писал(а):
Эта дополнительная информация обычно является словом [предупреждением?] или чем-то подобным. И это обычно где-то в структуре данных, которая обычно class или struct в C ++.

"Предупреждение" наверное правильнее.
А во втором предложении добавить "есть" / "имеется"

Автор:  Иван Денисов [ Пятница, 20 Апрель, 2018 11:47 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Завершил перевод :)
https://docs.google.com/document/d/1EqD ... sp=sharing
Не исключены огрехи. Если ещё кто-то может проглядеть лекцию, вычитать перевод, буду очень признателен.
Думаю, что в перспективе его можно будет опубликовать где-нибудь на Хабре для пиара Оберон-технологий.
Может быть я его даже наложу в итоге на видео, чтобы больше народу из мира Go узнало про Оберон.

Автор:  Info21 [ Суббота, 21 Апрель, 2018 17:58 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Иван Андреевич, Вы себе создали большую Заслугу.

Автор:  Info21 [ Суббота, 21 Апрель, 2018 18:05 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Иван Денисов писал(а):
Если ещё кто-то может проглядеть лекцию, вычитать перевод, буду очень признателен.
Дайте ориентир по времени -- нужно найти хороший кусок времени, чтобы пройтись по заусеницам.

Автор:  Иван Денисов [ Суббота, 21 Апрель, 2018 19:34 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Info21 писал(а):
Иван Денисов писал(а):
Если ещё кто-то может проглядеть лекцию, вычитать перевод, буду очень признателен.
Дайте ориентир по времени -- нужно найти хороший кусок времени, чтобы пройтись по заусеницам.
Давайте до июня? Особой спешки нет, хочется сделать хорошо. Будет здорово, если найдете время проверить!

Автор:  Info21 [ Суббота, 21 Апрель, 2018 21:08 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Хорошо, дедлайн 1 июня.

Автор:  Comdiv [ Суббота, 21 Апрель, 2018 21:12 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

"объектная ориентация" странно звучит, может лучше "объектная ориентированность"? Кстати, Go можно охарактеризовать как язык с нетрадиционной объектной ориентацией.

Цитата:
Самым известным примером, вероятно, является PL один язык программирования
PL/I - язык

Автор:  Иван Денисов [ Воскресенье, 22 Апрель, 2018 06:35 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Comdiv писал(а):
"объектная ориентация" странно звучит, может лучше "объектная ориентированность"? Кстати, Go можно охарактеризовать как язык с нетрадиционной объектной ориентацией.

Цитата:
Самым известным примером, вероятно, является PL один язык программирования
PL/I - язык

Спасибо, поправил.

Автор:  Info21 [ Среда, 23 Май, 2018 00:50 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Уф, сделал.

Вылизывать еще можно, но должен провести черту.

Автор:  Wlad [ Среда, 23 Май, 2018 02:17 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Info21 писал(а):
Уф, сделал.
Вылизывать еще можно, но должен провести черту.

А где результаты посмотреть?

Автор:  Иван Денисов [ Среда, 23 Май, 2018 10:57 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Wlad писал(а):
Info21 писал(а):
Уф, сделал.
Вылизывать еще можно, но должен провести черту.

А где результаты посмотреть?

Фёдору Васильевичу дал доступ на редактирование документа. Так что по той же ссылке.
https://docs.google.com/document/d/1EqD ... sp=sharing

Автор:  Иван Денисов [ Четверг, 13 Сентябрь, 2018 15:21 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Сегодня озвучил перевод и свел.
Пока доступ только по ссылке:
https://www.youtube.com/watch?v=ZbtB1Aqc41A

Жду разрешения от канала "Gopher Academy" на публикацию их видеодорожки.

Автор:  Kemet [ Четверг, 13 Сентябрь, 2018 16:52 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Цитата:
Довольно обычной является ситуация, когда программист наталкивается на проблему с C++. Она, как водится, отправляет письмо группе, чтобы понять, что за чертовщина происходит.

Кто "Она"?

Страница 3 из 7 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/