OberonCore https://forum.oberoncore.ru/ |
|
Go - официальная генеалогия https://forum.oberoncore.ru/viewtopic.php?f=6&t=5807 |
Страница 2 из 7 |
Автор: | prospero78 [ Четверг, 28 Июль, 2016 18:08 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Kemet писал(а): В Go тоже есть мониторы Хоара, но работают они, вроде, классически - на основе очередей сообщений Бринча Хансена. Нет в golang никаких мониторов. https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80_(%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F) Цитата:"Монитор — в языках программирования, высокоуровневый механизм взаимодействия и синхронизации процессов, обеспечивающий доступ к неразделяемым ресурсам.[1] Подход к синхронизации двух или более компьютерных задач, использующих общий ресурс, обычно аппаратуру или набор переменных." Гоурутины используют общее адресное пространство (что не очень хорошо в гетерогенной ос), но не используют разделяемую память. Какое-то половинчатое решение, не? Я соглашусь, что производительность важна, но не соглашусь, что производительность выше надёжности. Это правило уже оплачено сотнями миллиардов долларов из-за переполнений стека, нарушения границ сегментов, и т. п. детскими болезнями "фигак-фигак и в продакшен" https://ru.wikipedia.org/wiki/Go#.D0.9C.D0.BD.D0.BE.D0.B3.D0.BE.D0.BF.D0.BE.D1.82.D0.BE.D1.87.D0.BD.D0.BE.D1.81.D1.82.D1.8C Цитата:"Модель многопоточности Go была создана на основе CSP (англ.) Тони Хоара по типу предыдущих распараллеливаемых языков программирования Occam и Limbo,[4], но также присутствуют такие особенности Пи-исчисления, как канальная передача." Там все корутины асинхронны. Наличие или отсутствие блокировки зависит от реализованного механизма. В golang реализована лишь именно асинхронная. Как работают подобные механизмы, я вроде как, понимаю Книжка Танненбаума у меня есть в печатном виде))) Kemet писал(а): Да что-то переписывали, Plan9 или Inferno? не помню. Ничего не переписывали. То, что есть -- на уровне лабораторной работы студента 3-4 курса. На Обероне -- есть. Kemet писал(а): Унификация. Как следствие меньше ошибок. Есть стандартный языковой механизм и правила его использования. Т.е. библиотека это хуже?))) Кемет, ну представьте себе: 8086, 80186, 80286, 80386, 80х86, х64, арм, пауэр, сан, ... И тысячи их, про которые я не имею ни малейшего понятия. Кемет, это на полном серьёзе утверждение, что раздутый язык с жирнючим рантаймом будет так легко перенести с такими специфическими конструкциями? Может косяки вылазят именно из-за этого? (а рантайм в режиме tiny (*386*) автоматом хавает около 200 кБ, не говоря уже про gc, который хоть и подправили, но он всё-равно не позволит сделать хард реал-тайм). Ведь, если положить руку на сердце -- в ломе ломаться нечему!!! Вот прямо сейчас смотрю на БлэкБокс с запущенной программой дорасчёта и вижу: "Выделено памяти -- 567 кБ". Карл!!! 567 кБ!!!! ВСЕГО!!!! Kemet писал(а): Потому что у них нет задач, для которых куцый Оберон не подошел бы. Так и передам Ивану: задачи твои плоские, именно поэтому ты сбежал с перла на Оберон, и я программу дорасчёта решил нарисовать из-за куцести Оберона, а то что у меня на питоне и ФриПаскале ошибки лезли -- это у меня руки кривые и черепная коробка не арийского вида.)))) https://habrahabr.ru/post/195818/ -- байка с картинками и кодом про то, что в один поток программа на golang РАБОТАЕТ БЫСТРЕЕ!!! Что там на счёт унификации? )) Рейтинг статьи +21, если что. https://habrahabr.ru/post/195574/ -- ещё одна байка. Доставил комментарий: "Разубедили, не буду пробовать Go.". Рейтинг коммента+16. Вот ещё от туда же хороший коммент:"Вы показали явным образом, как приложение может замедлиться из-за накладных расходов, которые возникли из-за ненужного распараллеливания задачи." Не надо меня понимать превратно. Уж лучше golang, чем Си или С++/Java. Но это далеко не оптимальное решение, имхо. |
Автор: | Иван Денисов [ Четверг, 28 Июль, 2016 21:01 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
На Питоне хорошо скрипты писать для небольших задач, где не особо нужна надежность. У Оберона/Компонентного Паскаля другая область применения. Мой скромный опыт показывает, что возможно распараллеливать приложение на уровне компонентов, так что считаю, что нет смысла на уровень языка выносить потоки и блокировки. У меня есть большие сомнения, что компилятор при этом что-то сможет оптимизировать лучше. |
Автор: | ilovb [ Четверг, 28 Июль, 2016 23:11 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Go не про параллельность, а про утилизацию ядер. Вот есть у вас сервак в котором 16 ядер. На Go вы их утилизируете легко и эффективно. То же самое попотев можно сделать и с несколькими процессами ББ, но вы ведь в конечном счете реализуете то, что в Go из коробки. И при этом в Go оно очевидно будет удобнее и проще. Еще раз акцентирую. В Go решалась задача утилизации ядер на современных архитектурах. Т.е. задача о которой во времена разработки ББ и не задумывался никто. В Go скорее распределенные вычисления, а не параллельные. |
Автор: | albobin [ Четверг, 28 Июль, 2016 23:16 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
В разговорах о "параллельностях" надо их не путать друг с другом https://blog.golang.org/concurrency-is-not-parallelism PS. Это замечание не к предыдущему сообщению от Илова |
Автор: | prospero78 [ Пятница, 29 Июль, 2016 08:33 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Один раз либу написать. И хоть 256 ядер будут загружены. Если мне память не отшибло, задача эта по сопроцессам, и множественном запуску на кластере уже решалась. По хорошему, всё сводится к импорту двух либ) |
Автор: | Александр Ильин [ Суббота, 30 Июль, 2016 04:58 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Илья Ермаков писал(а): Из книги Алана Донована и Брайана Кернигана. Надо бы это... Вот тут есть раздел "Влияние Оберона на другие языки". Дописать бы, а то Go вообще не упоминается.
Можно тыкать в наглые мейнстримовские рожи, утверждающие, что "масштабы влияния Оберона на Яву, Го и др. чисто символические". :) |
Автор: | Trurl [ Вторник, 19 Декабрь, 2017 13:10 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Илья Ермаков писал(а): Можно тыкать в наглые мейнстримовские рожи, утверждающие, что "масштабы влияния Оберона на Яву, Го и др. чисто символические". Да можно просто сравнить список авторов из 1990 и 2009. |
Автор: | QWERTYProgrammer [ Среда, 20 Декабрь, 2017 00:50 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Trurl писал(а): Да можно просто сравнить список авторов из 1990 и 2009. GopherCon 2015: Robert Griesemer - The Evolution of Go |
Автор: | Info21 [ Среда, 20 Декабрь, 2017 13:31 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
QWERTYProgrammer писал(а): Большое спасибо, ценное свидетельство: с места в карьер -- о productivity Оберона, которой не было в "индустрии".Что ж они, твари, испортили язык-то. |
Автор: | Илья Ермаков [ Среда, 20 Декабрь, 2017 18:37 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
А может кто-то перевести это начало на русский? Не могу разобрать беглую речь. Даже слово "Оберон" как-то скомкано до "Оброн". |
Автор: | Иван Кузьмицкий [ Среда, 20 Декабрь, 2017 20:30 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Да там, похоже, надо всё переводить: https://youtu.be/0ReKdcpNyQg?t=1071 |
Автор: | Дмитрий Дагаев [ Среда, 20 Декабрь, 2017 20:40 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Info21 писал(а): QWERTYProgrammer писал(а): Большое спасибо, ценное свидетельство: с места в карьер -- о productivity Оберона, которой не было в "индустрии".Что ж они, твари, испортили язык-то. Там есть комментарии внизу, что еще и жизнь испортили Цитата: Great talk, interesting observations. Always interesting when someone mentions Oberon(-2), as it's the very first language that was taught to students when I attended the University of Antwerp for a CS degree in 2008, and as such it was also the very first language I was formally introduced to. (Then C++ came along the next semester and ruined my life)
|
Автор: | Info21 [ Среда, 20 Декабрь, 2017 23:24 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Иван Кузьмицкий писал(а): Да там, похоже, надо всё переводить: https://youtu.be/0ReKdcpNyQg?t=1071 "exactly the same" -- да уж ))
|
Автор: | albobin [ Четверг, 21 Декабрь, 2017 08:37 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Илья Ермаков писал(а): А может кто-то перевести это начало на русский? Не могу разобрать беглую речь. Даже слово "Оберон" как-то скомкано до "Оброн". Можно включить субтитры. |
Автор: | Info21 [ Четверг, 21 Декабрь, 2017 10:49 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Илья Ермаков писал(а): Даже слово "Оберон" как-то скомкано до "Оброн". Почему "даже". Оно так и произносится, там.
|
Автор: | Info21 [ Воскресенье, 24 Декабрь, 2017 03:40 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Илья Ермаков писал(а): А может кто-то перевести это начало на русский? Никто не начал переводить речуху?
|
Автор: | Иван Денисов [ Пятница, 09 Февраль, 2018 23:12 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Перевел первые 9 минут пока. https://docs.google.com/document/d/1EqD ... sp=sharing Если есть у кого-то возможность вычитать, буду благодарен. Может быть подскажете какие-то более точные формулировки. |
Автор: | Comdiv [ Суббота, 10 Февраль, 2018 00:14 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Цитата: Например последний стандарт C++ занимает около 100 страниц в описании. Компактненько, но к сожалению, неправда. В черновике С++14 описание языка занимает около 400 страниц. Даже Си 11 занимает около 150 страниц.
|
Автор: | Comdiv [ Суббота, 10 Февраль, 2018 00:20 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Цитата: Кен, Роб и я начали с мозгового штурма на доске... Мозговой штурм при разработке языка программирования - это прекрасно. В таких случаях спасают только заранее подготовленные заготовки. |
Автор: | Иван Денисов [ Суббота, 10 Февраль, 2018 06:46 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Comdiv писал(а): Цитата: Например последний стандарт C++ занимает около 100 страниц в описании. Компактненько, но к сожалению, неправда. В черновике С++14 описание языка занимает около 400 страниц. Даже Си 11 занимает около 150 страниц.Заменим "100" на "сотни страниц". Я мог не расслышать окончание "s". |
Страница 2 из 7 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |