Насчет ценности — думаю, тут от характера использования SSH зависит ценность. Мне часто приходится работать долго на удаленных машинах, в том числе писать код — и нередко «передподключение» — это не просто набрать "!!" в баше, а еще и целый ритуал с переходом в нужную директорию, sudo/chroot и прочими манипуляциями. Плюс я достаточно часто нахожусь в дороге и новых местах, и «медленный интернет» для меня, увы, обыденность. Поэтому для меня лично после двух месяцев использования mosh ценность исключительно практическая, и ни капли академической :)
Для вашего характера использования ssh, возможно, иначе.
Если оконо mosh-клиента остается открытым, и удаленный сервер не перезагружался (или каким-либо другим способом mosh-server не убили) — то вечно.
Если же, терминал с клиентом закрыли, и переподключаетесь еще раз — то mosh скажет, что у вас есть detached сессия. Ну, просто предупредит. Подключиться к ней нельзя заново — из security-соображений. Можно только убить mosh-server от той сессии, чтобы не висело почем зря.
Просто чтобы продемонстрировать embedding.
А с примером, да, сумбурно немного — оказалось, не так это просто придумывать красивые, показательные, простые и, одновременно, ёмкие примеры :)
Интерфейсы и вызов методов конкретных типов через интерфейсы и есть late binding.
И да, и нет.
Late-binding — это больше о внутренней реализации, и в Go (по крайней мере, в gc-компиляторах: 6g, 8g) используется смешанный вариант — что-то среднее между early-binding и late-binding: таблицы методов для interface- и conrete-типов генерируются на этапе компиляции, а финальная таблица создается на лету, при этом кешируется после первого просчета.
Так что тут в Go mixed-binding ;)
Вот тут подробно расписано: research.swtch.com/interfaces
Касательно messaging — насколько я знаю, Алану Кею были близки идеи CSP, и реализация в Go, наверняка близка, к тому, что он хотел бы увидеть в OO-языках, но я не углублялся, чтобы ненужные холивары не разводить :)
Ну, и да, и нет — я больше говорю не о формальном доказательстве, а о том, что люди примут за аксиомы и в какую теорию поверят.
Как пример — есть «теория» о том, что «звезды — это души умерших предков» — и тысячи поколений древних людей в нее верят. Почему? Потому что у них другого, более убедительного доказательства нет, нету более стройной и мощной теории. Но, с развитием наук и астрономии, люди строят достаточно цельную и стройную модель того, как устроен ближайший космос, что такое звезды, как они появляются и из чего состоят — и вот тут уже «теорию» про «души умерших предков» просто уже некуда приткнуть.
Тоесть формально и та, и другая — остаются «набором неполных аксиом», но вторая «теория» так или иначе вытеснит первую.
Сумбурно, но как-то так.
Вся эта тема с matrix-like объяснениями природы мира завязана на одном — на отсутствии единой цельной теории/модели того, как устроен мир.
Как только природа жизни и сознания перестанет быть для людей загадкой (а тут, как по мне, достаточно прочитать «The Selfish Gene» и «On Intellegence») — любые подобные теории просто уже не будут проходить. Хотя их последователям, конечно, доказать что-то будет невозможно, как и религиозным людям.
Спасибо за подробный отчет.
Интересно, почему внешние характеристики были предсказаны «только наполовину», это ведь одни из самых хорошо изученных моментов, нет?
После прочтения оригинальной статьи тоже возникло ощущение, что автор — студент-теоретик, и в реальных проектах не участвовал (тем более, не писал на Go что-то кроме своего блога).
Прочел его резюме на сайте и так и оказалось — мальчик еще не выпустился из универа, что, в общем-то. его взгляды на идеальный язык программирования объясняет.
У меня после прочтения статьи была одна мысль — автор тупо теоретик, больших проектов не писал и в команде не работал. То, что авторы Go (имена которых представлять не нужно) намеренно принимали те или иные решения по дизайну языка, отталкиваясь от реального многодесятилетнего опыта работы с самыми разными командами программистов — автор тупо нивелирует, как какой-то мелкий и смешной булщит.
Потом посмотрел резюме автора на сайте, и так и оказалось. Мальчик еще не выпустился из универа, поработал 2 года. Никоим образом не хочу это выставить показателем, но его взгляды на то, каким должен быть хороший язык, стали понятны.
Подозреваю, что одна из долгосрочных задач у ребят — сделать это таким же привычным форматом, как сейчас обычное цифровое фото.
Так чтобы, тыкать пальцем, чтобы перефокусировать — было таким же привычным действием, как сейчас листание фоток на любом смартфоне/планшете.
Есть такое понятие, как common sense. Я увлекался ИИ еще с последних классов школы, и уже тогда меня смущало, что все знания в этой области слишком хаотичны и как-то неоправданно усложнены. Через 15 лет я вижу, что кардинально ничего не изменилось — до сих пор лучшие специалисты по ИИ человечества хвастаются тем, что научили нейросеть отличать кошку от собаки.
Не знаю, как вам, но для меня это признак той самой «неправильности» пути.
Ну а книжка, которую вы так опустили, на самом деле дает очень стройную, концептуальную и обоснованную теорию того, как устроен мозг, почему он так устроен и как можно это повторить на программном уровне. Эта концепция мне лично ответила на все вопросы по ИИ, которые я имел, но не знал, кому задать, ответила на массу вопросов из психологии, эволюции и физиологии, и дала мощную базу для понимания огромного количества процессов — от того, что такое юмор, до того, как лучше тренироваться.
Но я понимаю, почему в академических кругах Хокинса не любят. Мне бы тоже было обидно )
Но ничего особенного из этого не вышло, потому что настоящие нейроны устроены намного сложнее, чем формальные, на которых основаны многослойные нейросети. И количество нейронов в человеческом мозге тоже намного больше, чем можно было позволить себе в нейросети.
Не поэтому не вышло.
Тьюринговский подход к ИИ изначально отталкивал от правильного вектора развития технологии.
Очень хорошо этот вопрос рассмотрен в книге «On Intelligence» Джефа Хокинса.
Фееричная статья. Шикарная и провоцирующая аналогия вначале, детальный разнос в тексте и слегка предраспологающее к холиварам заключение :)
Замены назревают сами собой, так что не Хаскеллем единым. Для ориентированности на работу с concurrency языкам не обязательно быть функциональными, равно как и для удобства разработки больших проектов, язык не обязательно должен быть классическим ООП-языком.
Из самых зрелых, мощных и с хорошей кармой, пока что ИМХО это Golang — у него очень низкий порог входа из-за большой схожести с С. И после Go возвращаться на C/C++ уже не хочется.
На горизонте еще маячит Rust — близко не знаком, но выглядит очень симпатично.
www.youtube.com/watch?v=G-1cx2B13JY
Насчет ценности — думаю, тут от характера использования SSH зависит ценность. Мне часто приходится работать долго на удаленных машинах, в том числе писать код — и нередко «передподключение» — это не просто набрать "!!" в баше, а еще и целый ритуал с переходом в нужную директорию, sudo/chroot и прочими манипуляциями. Плюс я достаточно часто нахожусь в дороге и новых местах, и «медленный интернет» для меня, увы, обыденность. Поэтому для меня лично после двух месяцев использования mosh ценность исключительно практическая, и ни капли академической :)
Для вашего характера использования ssh, возможно, иначе.
www.youtube.com/watch?v=G-1cx2B13JY
www.youtube.com/watch?v=G-1cx2B13JY
Если же, терминал с клиентом закрыли, и переподключаетесь еще раз — то mosh скажет, что у вас есть detached сессия. Ну, просто предупредит. Подключиться к ней нельзя заново — из security-соображений. Можно только убить mosh-server от той сессии, чтобы не висело почем зря.
Это дешево, и для этого примера не релевантно.
А с примером, да, сумбурно немного — оказалось, не так это просто придумывать красивые, показательные, простые и, одновременно, ёмкие примеры :)
И да, и нет.
Late-binding — это больше о внутренней реализации, и в Go (по крайней мере, в gc-компиляторах: 6g, 8g) используется смешанный вариант — что-то среднее между early-binding и late-binding: таблицы методов для interface- и conrete-типов генерируются на этапе компиляции, а финальная таблица создается на лету, при этом кешируется после первого просчета.
Так что тут в Go mixed-binding ;)
Вот тут подробно расписано: research.swtch.com/interfaces
Касательно messaging — насколько я знаю, Алану Кею были близки идеи CSP, и реализация в Go, наверняка близка, к тому, что он хотел бы увидеть в OO-языках, но я не углублялся, чтобы ненужные холивары не разводить :)
Как пример — есть «теория» о том, что «звезды — это души умерших предков» — и тысячи поколений древних людей в нее верят. Почему? Потому что у них другого, более убедительного доказательства нет, нету более стройной и мощной теории. Но, с развитием наук и астрономии, люди строят достаточно цельную и стройную модель того, как устроен ближайший космос, что такое звезды, как они появляются и из чего состоят — и вот тут уже «теорию» про «души умерших предков» просто уже некуда приткнуть.
Тоесть формально и та, и другая — остаются «набором неполных аксиом», но вторая «теория» так или иначе вытеснит первую.
Сумбурно, но как-то так.
Вся эта тема с matrix-like объяснениями природы мира завязана на одном — на отсутствии единой цельной теории/модели того, как устроен мир.
Как только природа жизни и сознания перестанет быть для людей загадкой (а тут, как по мне, достаточно прочитать «The Selfish Gene» и «On Intellegence») — любые подобные теории просто уже не будут проходить. Хотя их последователям, конечно, доказать что-то будет невозможно, как и религиозным людям.
Интересно, почему внешние характеристики были предсказаны «только наполовину», это ведь одни из самых хорошо изученных моментов, нет?
Прочел его резюме на сайте и так и оказалось — мальчик еще не выпустился из универа, что, в общем-то. его взгляды на идеальный язык программирования объясняет.
Потом посмотрел резюме автора на сайте, и так и оказалось. Мальчик еще не выпустился из универа, поработал 2 года. Никоим образом не хочу это выставить показателем, но его взгляды на то, каким должен быть хороший язык, стали понятны.
Похоже, Go в продакшене используется уже гораздо больше, чем кажется.
Вот вам еще картинка в тему :)
Так чтобы, тыкать пальцем, чтобы перефокусировать — было таким же привычным действием, как сейчас листание фоток на любом смартфоне/планшете.
Не знаю, как вам, но для меня это признак той самой «неправильности» пути.
Ну а книжка, которую вы так опустили, на самом деле дает очень стройную, концептуальную и обоснованную теорию того, как устроен мозг, почему он так устроен и как можно это повторить на программном уровне. Эта концепция мне лично ответила на все вопросы по ИИ, которые я имел, но не знал, кому задать, ответила на массу вопросов из психологии, эволюции и физиологии, и дала мощную базу для понимания огромного количества процессов — от того, что такое юмор, до того, как лучше тренироваться.
Но я понимаю, почему в академических кругах Хокинса не любят. Мне бы тоже было обидно )
Не поэтому не вышло.
Тьюринговский подход к ИИ изначально отталкивал от правильного вектора развития технологии.
Очень хорошо этот вопрос рассмотрен в книге «On Intelligence» Джефа Хокинса.
Замены назревают сами собой, так что не Хаскеллем единым. Для ориентированности на работу с concurrency языкам не обязательно быть функциональными, равно как и для удобства разработки больших проектов, язык не обязательно должен быть классическим ООП-языком.
Из самых зрелых, мощных и с хорошей кармой, пока что ИМХО это Golang — у него очень низкий порог входа из-за большой схожести с С. И после Go возвращаться на C/C++ уже не хочется.
На горизонте еще маячит Rust — близко не знаком, но выглядит очень симпатично.