Форумная дискуссия это в сущности построение и обход дерева ходов из теории игр.
Ну вот представим даже обычную дискуссию
чел А задаёт вопрос, чел B на него отвечает
А непонятен ответ В, он задаёт уточняющий вопрос, В снова на него отвечает
А снова непонятен, он задаёт ещё один уточняющий вопрос, и т.д. у А может быть несколько уточняющих вопросов, получаем некоторое дерево ответов, где уточняющие вопросы - это рёбра
на какие-то из вопросов В может ответить, но у А снова могут быть вопросы по поводу ответов выше в иерархии
если где-то посередине весь этот процесс прервётся, какая картина процесса будет в сознании А и В?
с точки зрения В, он ответил на количество вопросов равное количеству вершин в дереве
с точки зрения А, он не получил ответа даже на свой исходный вопрос, ну и ценность оставшихся ответов для него тоже сомнительна
если цепочка не прервётся, и В ответит на все вопросы, скорее всего представление об интеллектуальном превосходстве у А и В в обсуждаемой теме будет согласовано
вот и получается - если ты хочешь, чтобы остальные так же осознавали твоё превосходство, просто заявлять о нём бесполезно, необходимо стремиться, чтобы обход дерева ответов всегда был завершён
в том числе это означает чаще давать ответы, не вызывающие дополнительных вопросов,
т.е. даже если ты хочешь продемонстрировать экспертизу в связанных областях, нужно быть умеренным в этом желании
Ну вот представим даже обычную дискуссию
чел А задаёт вопрос, чел B на него отвечает
А непонятен ответ В, он задаёт уточняющий вопрос, В снова на него отвечает
А снова непонятен, он задаёт ещё один уточняющий вопрос, и т.д. у А может быть несколько уточняющих вопросов, получаем некоторое дерево ответов, где уточняющие вопросы - это рёбра
на какие-то из вопросов В может ответить, но у А снова могут быть вопросы по поводу ответов выше в иерархии
если где-то посередине весь этот процесс прервётся, какая картина процесса будет в сознании А и В?
с точки зрения В, он ответил на количество вопросов равное количеству вершин в дереве
с точки зрения А, он не получил ответа даже на свой исходный вопрос, ну и ценность оставшихся ответов для него тоже сомнительна
если цепочка не прервётся, и В ответит на все вопросы, скорее всего представление об интеллектуальном превосходстве у А и В в обсуждаемой теме будет согласовано
вот и получается - если ты хочешь, чтобы остальные так же осознавали твоё превосходство, просто заявлять о нём бесполезно, необходимо стремиться, чтобы обход дерева ответов всегда был завершён
в том числе это означает чаще давать ответы, не вызывающие дополнительных вопросов,
т.е. даже если ты хочешь продемонстрировать экспертизу в связанных областях, нужно быть умеренным в этом желании
Кажется будет частный случай антагонистической игры с полной информацией, но необязательно с конечным множеством ходов. Слушайте, так это сложнее шахмат!
Осталась всего-лишь одна причина не покупать AMD Threadripper 399X😆
https://bobweb.co/article/threadripper-meets-rustc
https://bobweb.co/article/threadripper-meets-rustc
bobweb.co
Threadripper meets rustc
Bobweb is an independent software developer and a technology consultancy.
Линус о спецификациях
A "spec" is close to useless. I have _never_ seen a spec that was both big enough to be useful _and_ accurate.
And I have seen _lots_ of total crap work that was based on specs. It's _the_ single worst way to write software, because it by definition means that the software was written to match theory, not reality.
https://yarchive.net/comp/linux/specs.html
A "spec" is close to useless. I have _never_ seen a spec that was both big enough to be useful _and_ accurate.
And I have seen _lots_ of total crap work that was based on specs. It's _the_ single worst way to write software, because it by definition means that the software was written to match theory, not reality.
https://yarchive.net/comp/linux/specs.html
Forwarded from мне не нравится реальность (вафель 🧇💛)
тем временем на канал подписался 128 подписчик.... всем привет и спасибо 👉👈
Уже завтра, в (пока ещё) обычном онлайн формате.
Обещает быть (в некоторых местах) хардкорным.
https://www.meetup.com/Rust-%D0%B2-%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B5/events/272798484/
Обещает быть (в некоторых местах) хардкорным.
https://www.meetup.com/Rust-%D0%B2-%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B5/events/272798484/
Meetup
Russian Rust Online
Fri, Sep 11, 2020, 7:00 PM: Всем привет!Данное мероприятие мы решили провести в формате онлайн трансляции.Доклады будут транслироваться через YouTube на нашем канале.Темы:1. Иерархическое распределени
nitpicker_mode(|| {
Если заглянуть в nomicon, то там есть такой код, как на левой картинке, только чувак в джинсках монтирует высоковольтный кабель под напряжением, балансируя на канате, соединяющим два подвешенных электрокара...
});
Дядя Боб разразился новым кейноутом "The Last Programming Language"
Вам не стоит его смотреть, вместо вас его посмотрел я😊 По мне, этот видос просто растекание мыслью по древу. Так вот, моё TLDW == несколько мыслей оттуда, мои придирки наклонным шрифтом после тире:
21:11 functional is the discipline upon assignment — это ошибка так думать про ФП, главное там это вынесение побочных эффектов как значений
28:40 there's probably something about programming and text. That is so well aligned because when you're proaramming, time is linear in a program and so we think of our code as being linear in an algiorithm, time goes in one direction so that's one dimensional: text. — ну бред же, не? (об этом в конце)
25:51 algorithms occur as a sequence of events, the execution of an one-dimensional time runs in a single dimension so it is probably natural model it as a sequence of statements in a text — смотря какой алгоритм
32:08 Lisp is the language that will not die
39:03 C++ what about that that's all the same problems that C has and, boy, is its syntax heavy Wow learning all that syntax is just horrible and now I mean the Standards Committee has just gone completely ape, they're just adding syntax lots of little fiddly stuff in there I think I'd rather not learn all that stuff
46:49 and another thing we've learned is that we want our languages to be garbage collected yeah we've learned our lesson on this what we don't want to be doing manual memory control anymore my god how many times have we been rebooting it midnight because of horrible memory leaks and stuff like that — вот тут большая ошибка, отсутствие сборщика мусора НЕ влечёт ручного управления памяти
50:25 another language attribute that I think we want is homo iconicity
52:02 Сlosure it's the only one that meets all the criteria I've outlined I think it's a good language
Особенно меня подожгло от того, что якобы текст линейный и алгоритмы линейные, что офигенно далеко от правды, например, программа на ленивом Хаскеле может прыгать по множеству редукций и даже одновременно, поэтому так и важна чистота, чтобы этот хаос был под контролем, а как выглядят и записаны вычисления это уже дело вкуса и стиля.
Время может прыгать как угодно, особенно в асинхронном и многопоточном коде, это нам легче выстраивать вещи одну за другой и не думать о когерентности кэшей, видимости значений и переупорядочивании инструкций.
Ах да, и ни слова о Rust!
Этот Дядя Боб сломался, несите другого.
Вам не стоит его смотреть, вместо вас его посмотрел я😊 По мне, этот видос просто растекание мыслью по древу. Так вот, моё TLDW == несколько мыслей оттуда, мои придирки наклонным шрифтом после тире:
21:11 functional is the discipline upon assignment — это ошибка так думать про ФП, главное там это вынесение побочных эффектов как значений
28:40 there's probably something about programming and text. That is so well aligned because when you're proaramming, time is linear in a program and so we think of our code as being linear in an algiorithm, time goes in one direction so that's one dimensional: text. — ну бред же, не? (об этом в конце)
25:51 algorithms occur as a sequence of events, the execution of an one-dimensional time runs in a single dimension so it is probably natural model it as a sequence of statements in a text — смотря какой алгоритм
32:08 Lisp is the language that will not die
39:03 C++ what about that that's all the same problems that C has and, boy, is its syntax heavy Wow learning all that syntax is just horrible and now I mean the Standards Committee has just gone completely ape, they're just adding syntax lots of little fiddly stuff in there I think I'd rather not learn all that stuff
46:49 and another thing we've learned is that we want our languages to be garbage collected yeah we've learned our lesson on this what we don't want to be doing manual memory control anymore my god how many times have we been rebooting it midnight because of horrible memory leaks and stuff like that — вот тут большая ошибка, отсутствие сборщика мусора НЕ влечёт ручного управления памяти
50:25 another language attribute that I think we want is homo iconicity
52:02 Сlosure it's the only one that meets all the criteria I've outlined I think it's a good language
Особенно меня подожгло от того, что якобы текст линейный и алгоритмы линейные, что офигенно далеко от правды, например, программа на ленивом Хаскеле может прыгать по множеству редукций и даже одновременно, поэтому так и важна чистота, чтобы этот хаос был под контролем, а как выглядят и записаны вычисления это уже дело вкуса и стиля.
Время может прыгать как угодно, особенно в асинхронном и многопоточном коде, это нам легче выстраивать вещи одну за другой и не думать о когерентности кэшей, видимости значений и переупорядочивании инструкций.
Ах да, и ни слова о Rust!
Этот Дядя Боб сломался, несите другого.
YouTube
The Last Programming Language
This is the keynote Uncle Bob gave remotely at ACCU 2011.
To see more about Clean Coders: https://cleancoders.com/
Over the last 50 years we've seen a lot of computer languages, from procedural languages, to structured languages, to OO languages, stack…
To see more about Clean Coders: https://cleancoders.com/
Over the last 50 years we've seen a lot of computer languages, from procedural languages, to structured languages, to OO languages, stack…
Начался опрос о состоянии Rust в 2020 году: https://blog.rust-lang.org/2020/09/10/survey-launch.html
Не рефлексируйте, даже если вы просто слышали о Rust краем уха и запускали только "Hello, world", там будет что рассказать разработчикам и поделиться вашими впечатлениями.
А тем временем я покажу такую картинку😉
Не рефлексируйте, даже если вы просто слышали о Rust краем уха и запускали только "Hello, world", там будет что рассказать разработчикам и поделиться вашими впечатлениями.
А тем временем я покажу такую картинку😉
Новый пейпер, Dependent Type Systems as Macros
Переведённая аннотация:
Мы представляем Turnstile+, высокоуровневый, основанный на макросах мета-DSL для построения языков с зависимыми типами. С помощью него разработчики языков могут быстро запрототипировать и развить фичи, связанные с зависимыми типами. Или же они могут создать совершенно новый DSL, мощь зависимых типов которого органично сочетаются с какой-то предметной областью. Поддержка языко-ориентированного программирования со стороны нашего фреймворка также делает его подходящим для экспериментов с формальными системами и компонентами, например proof assistant и соответствующие DSL-и.
Довольно интересно, хотя до продакшена такие инструменты дойдут очень не скоро
https://www.ccs.neu.edu/home/stchang/pubs/cbtb-popl2020.pdf
Переведённая аннотация:
Мы представляем Turnstile+, высокоуровневый, основанный на макросах мета-DSL для построения языков с зависимыми типами. С помощью него разработчики языков могут быстро запрототипировать и развить фичи, связанные с зависимыми типами. Или же они могут создать совершенно новый DSL, мощь зависимых типов которого органично сочетаются с какой-то предметной областью. Поддержка языко-ориентированного программирования со стороны нашего фреймворка также делает его подходящим для экспериментов с формальными системами и компонентами, например proof assistant и соответствующие DSL-и.
Довольно интересно, хотя до продакшена такие инструменты дойдут очень не скоро
https://www.ccs.neu.edu/home/stchang/pubs/cbtb-popl2020.pdf
Пейпер далеко уже не новость, но тем не менее хочется его положить сюда:
Unsupervised Translation of Programming Languages
Транскомпилятор, также известный как транслятор исходного кода в другой исходный код, это система, которая переводит исходники из одного высокоуровневого языка (такого как C++ или Python) в другой.
https://arxiv.org/pdf/2006.03511.pdf
Разумеется работает пока через пень-колоду, но похоже через годиков 5 будет Boost на Питоне (как результат конвертации) или Django на Rust (я очень надеюсь, что через 5 лет Rust проникнет в индустрию).
Unsupervised Translation of Programming Languages
Транскомпилятор, также известный как транслятор исходного кода в другой исходный код, это система, которая переводит исходники из одного высокоуровневого языка (такого как C++ или Python) в другой.
https://arxiv.org/pdf/2006.03511.pdf
Разумеется работает пока через пень-колоду, но похоже через годиков 5 будет Boost на Питоне (как результат конвертации) или Django на Rust (я очень надеюсь, что через 5 лет Rust проникнет в индустрию).
Тут народ подсказывает, что в Котлине есть нехилая такая дыра в типобезопасности:
https://twitter.com/kotlin/status/1276083456854941697
https://twitter.com/kotlin/status/1276083456854941697
Twitter
Kotlin
Avoid using destructuring declarations together with non-trivial custom data classes: it will be too easy to break your code if you add new properties to such classes later. #KotlinTips
Несмотря на то, что я чаще использую Intellij Rust плагин, тем не менее важные новости в
https://rust-analyzer.github.io/thisweek/2020/09/14/changelog-42.html
rust-analyzer
завезли, много подсказок и самое главное (!) ошибки в макросах:https://rust-analyzer.github.io/thisweek/2020/09/14/changelog-42.html
rust-analyzer.github.io
Changelog #42
Commit: 0d03fe6Release: 2020-09-14