[>]
Re: Парадокс друга Вигнера
std.hugeping
vvs(ping,12) — hugeping
2020-12-05 22:04:46
Движенья нет, сказал мудрец брадатый
Другой смолчал и стал пред ним ходить.
Сильнее бы не мог он возразить;
Хвалили все ответ замысловатый.
Но, господа, забавный случай сей
Другой пример на память мне приводит:
Ведь каждый день пред нами Солнце ходит,
Однако ж прав упрямый Галилей.
А.С.Пушкин
[>]
Re: Эффективность против простоты
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2020-12-06 05:11:30
vvs>>> Тут чувствуется одно противоречие. Программист - он еще и пользователь, зачастую очень ленивый.
hugeping>> А в чём противоречие?
vvs> Это конкретно было адресовано Андрею на черно-белую дихотомию инженеров и пользователей.
Я взял полярные случаи для наглядности. И делил вещи, а не людей. Ты что-то понял не так.
vvs>>> Лично мне больше нравится, когда решение моей задачи я доверяю компилятору.
hugeping>> Сейчас идёт сравнение с ассемблером? Я лично тоже доверяю компилятору. На ассемблере я давно не пишу (хотя сталкиваюсь с ним при отладке). Си -- один из примеров, когда коэффициент красоты (эффективность/сложность) -- очень хороший. Он и создавался как переносимый ассемблер.
vvs> Нет. Вот конкретный пример:
vvs>
vvs> ```
vvs> def fact x :=
vvs> match x with
vvs> | 0 => 1
vvs> | n+1 => (n+1) * fact n
vvs> ```
Код здесь обрамляется ====.
vvs> Это просто? Вроде да. Но это только синтаксический сахар. После развертывания в абстрактный синтаксис это выглядит далеко не просто. Кроме того компилятор генерирует вспомогательный код, который нужен ему, но мне не обязательно понятен. Разве что если я увлекаюсь теорией формальных языков.
Это нифига не просто. Но для пользователя синтаксический сахар как раз и проще.
[>]
Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — Andrew Lobanov
2020-12-06 12:31:10
AL> Я взял полярные случаи для наглядности. И делил вещи, а не людей. Ты что-то понял не так.
Я с большим недоверием отношусь к искусственным идеализациям. В жизни они часто не имеют смысла. Мы тут на эту тему уже не раз копья сломали. Оторвать инженерные критерии от инженеров вряд ли получится, поскольку они не существуют сами по себе в вакууме. Конечно, имеет смысл думать что инженеры стремятся к какому-то идеалу, но как показывает эта же самая дискуссия - он у всех разный.
[>]
Re: Эффективность против простоты
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2020-12-06 14:05:12
AL>> Я взял полярные случаи для наглядности. И делил вещи, а не людей. Ты что-то понял не так.
vvs> Я с большим недоверием отношусь к искусственным идеализациям. В жизни они часто не имеют смысла. Мы тут на эту тему уже не раз копья сломали. Оторвать инженерные критерии от инженеров вряд ли получится, поскольку они не существуют сами по себе в вакууме. Конечно, имеет смысл думать что инженеры стремятся к какому-то идеалу, но как показывает эта же самая дискуссия - он у всех разный.
vvs> P.S. Кстати, подобная идеализация свойственна последователям Платона. Я к ним не отношусь, если что.
В общем, я так и не понял почему технически простое решение это плохо. Наверное, я просто мало общаюсь с действительно сложными вещами, иначе бы проще к ним относился, но тот опыт, который у меня есть, показывает их ненадёжность, непредсказуемость и монструзность.
[>]
Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — Andrew Lobanov
2020-12-06 14:19:48
Хм. На этот раз я вынужден сказать, что ты меня как-то не так понял. А где именно я сказал, что твоя точка зрения - это плохо? Я лишь просто уточнил, что мне такое деление кажется искусственным. Твою точку зрения я прекрасно понял, просто для того, чтобы лично мне узнать, что есть технически простое решение, придется идти к тебе за ответом. Я сам не могу с уверенностью это определить. Вот даже на приведенный мной раньше фрагмент кода вы с Петром дали противоположные ответы. Так кто будет в этом конкретном случае арбитром? Я не против если это будешь именно ты, но это как-то слишком произвольно на мой взгляд, разве нет? :)
[>]
Re: Эффективность против простоты
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2020-12-06 16:49:14
vvs> Хм. На этот раз я вынужден сказать, что ты меня как-то не так понял. А где именно я сказал, что твоя точка зрения - это плохо? Я лишь просто уточнил, что мне такое деление кажется искусственным. Твою точку зрения я прекрасно понял, просто для того, чтобы лично мне узнать, что есть технически простое решение, придется идти к тебе за ответом. Я сам не могу с уверенностью это определить. Вот даже на приведенный мной раньше фрагмент кода вы с Петром дали противоположные ответы. Так кто будет в этом конкретном случае арбитром? Я не против если это будешь именно ты, но это как-то слишком произвольно на мой взгляд, разве нет? :)
Код, который ты приводил, как раз ярко иллюстрирует мою идею. Компилятор сложная технически штука. Очень сложная. Зато она позволяет вот так просто для пользователя писать код.
[>]
Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — Andrew Lobanov
2020-12-06 17:11:12
Хорошо. Чтобы еще больше всех тут запутать я скажу, что для формального описания поведения вышеупомянутого кода годится лямбда-исчисление, а для императивного кода, даже на языке ассемблера (или C), нужна уже логика разделения, которая ну никак не кажется проще. Следствием является то, что доказать правильность работы ФП в целом проще, чем императивного кода. Что означает, что добиться надежности в первом случае тоже легче.
Другим следствием будет то, что понять логику работы компилятора неспециалисту, конечно, сложнее, чем программы на языке ассемблера. При том, что существуют формально проверенные компиляторы, где корректность их реализации формально гарантирована. Весь вопрос в том, какая же именно простота тут "истинная"?
Я уже сказал в самом начале, что не собираюсь поднимать флейм. Моя личная точка зрения по этому поводу, что говоря о "простоте" люди обычно сравнивают теплое с мягким и большого смысла такое сравнение не имеет.
[>]
Re: Эффективность против простоты
std.hugeping
hugeping(ping,1) — vvs
2020-12-06 19:11:01
Я тоже немного запутаю.
Когда говорили про Plan9, true-grue прислал мне один свой комментарий, который, на мой взгляд, в тему разговора. Особенно там, где про чувства к инструменту.
http://fforum.winglion.ru/viewtopic.php?p=40887&sid=b952e062260f48b8f6b6b45f8e76b3d0#p40887
Далее цитата.
Форт-метод -- метод создания инструментария для решения задач. Каковы же его отличительные стороны? Ориентированность на личность, на кустаря-одиночку, независимого от чужого инструментария. Использующему форт-метод разработчику требуются большие опыт и знания. Ведь он, подобно Родену, изучив "глыбу мрамора" знаний и технологий, отсекает от нее все лишнее для себя, путем тщательного отбора из большого числа возможностей. Аналогия с искусством тут неслучайна, ведь автор не просто создает полезный инструмент, а такой, которому он будет испытывать чувства. Отсюда стремление к элегантности, красоте конструкций, миниатюризации. Его инструмент -- средство индивидуального пользования для решения собственных задач. Поддержка в рабочем состоянии, независимость от чужих технологий -- все это накладывает отпечаток на структуру инструмента. Отсюда требования к простоте и регулярности конструкции. Минимализм и единообразие часто приводят к тому, что одни и те же элементы такого инструментария используются нетривиальным образом для различных целей. Это требует определенного мастерства в освоении, в духе процесса бритья топором или использования надфиля в качестве пилки для ногтей. В целом, форт-метод добавляет к результату яркий отпечаток индивидуальности создателя.
[>]
Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-06 20:13:31
Что ж, это интересный пассаж, добавляющий еще одно измерение. Действительно, речь идет об искусстве или о производстве? Искусство дает уникальное творение, а производство массовые копии. Простота производства, безусловно, должна отличаться от простоты искусства. С моим мнением это тоже вполне согласуется.
[>]
Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-06 20:23:22
Кстати, я сообразил, что мы еще не доказали, что простота - это свойство. А по-моему - это отношение. Каждый относится к предмету по-разному и видит в нем свою простоту или сложность.
Тут хорошо подойдет известная аналогия: когда именно несколько песчинок превратятся в кучу песка? Где именно граница между простым и сложным? Разве это не указывает на наше индивидуальное отношение?
[>]
Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — Andrew Lobanov
2020-12-06 22:58:50
AL> Код, который ты приводил, как раз ярко иллюстрирует мою идею. Компилятор сложная технически штука. Очень сложная. Зато она позволяет вот так просто для пользователя писать код.
Просто для поддержания светской беседы, не относитесь к этому вопросу слишком серьезно. Компилятор с языка, на котором написан этот код, имеет меньше ста тысяч строк кода вместе с комментариями. Напомните мне, пожалуйста, какой размер кода имеют gcc или go? Последний раз когда я смотрел, число строк кода go приближалось уже к миллиону. Да, я знаю, что это сравнение не вполне корректное, но все же. :)
[>]
Re: Эффективность против простоты
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2020-12-07 04:19:17
vvs> Хорошо. Чтобы еще больше всех тут запутать я скажу, что для формального описания поведения вышеупомянутого кода годится лямбда-исчисление, а для императивного кода, даже на языке ассемблера (или C), нужна уже логика разделения, которая ну никак не кажется проще. Следствием является то, что доказать правильность работы ФП в целом проще, чем императивного кода. Что означает, что добиться надежности в первом случае тоже легче.
Всё так.
vvs> Другим следствием будет то, что понять логику работы компилятора неспециалисту, конечно, сложнее, чем программы на языке ассемблера. При том, что существуют формально проверенные компиляторы, где корректность их реализации формально гарантирована. Весь вопрос в том, какая же именно простота тут "истинная"?
А нет истиной простоты. Есть простые технически вещи (то, что я называю инженерной простотой) и простые в использовании вещи (пользовательская простота). Это две крайности, между которыми существует всё, что создал человек, грубо говоря. Тут уж что кому больше нравится и какие стоят цели. Например, для своей мамы я выберу второе, чтобы она могла нажать на кнопку и сидеть в одноклассниках. Для себя я выберу что-то более простое по устройству, но без экстрима. Просто потому, что простые вещи я лучше понимаю, но при этом мне нравится когда не надо особо заморачиваться на предмет написания драйверов, например. А где-то глубоко внутри я просто тоскую по старым машинам, которые и не могли адекватно предоставить простой для пользователя софт и сами были достаточно простыми, чтобы можно было в них лазить паяльником чтобы улучшать.
vvs> Я уже сказал в самом начале, что не собираюсь поднимать флейм. Моя личная точка зрения по этому поводу, что говоря о "простоте" люди обычно сравнивают теплое с мягким и большого смысла такое сравнение не имеет.
Флейма как такового и нет. И я ни в коем случае не ставлю какую-то крайность в абсолют. Просто мне нравятся вещи, которые просто устроены. Почему из этого нужно разжигать флейм и что-либо доказывать мне не совсем понятно :)
[>]
Re: Эффективность против простоты
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2020-12-07 04:19:18
vvs> Что ж, это интересный пассаж, добавляющий еще одно измерение. Действительно, речь идет об искусстве или о производстве? Искусство дает уникальное творение, а производство массовые копии. Простота производства, безусловно, должна отличаться от простоты искусства. С моим мнением это тоже вполне согласуется.
Если говорить о продукте, то надо делать быстро и чтобы пользователю было как можно проще. Для пользователя действие должно быть операцией одной кнопки.
[>]
Re: Эффективность против простоты
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2020-12-07 04:19:19
vvs> Кстати, я сообразил, что мы еще не доказали, что простота - это свойство. А по-моему - это отношение. Каждый относится к предмету по-разному и видит в нем свою простоту или сложность.
О чём я и говорил изначально :)
vvs> Тут хорошо подойдет известная аналогия: когда именно несколько песчинок превратятся в кучу песка? Где именно граница между простым и сложным? Разве это не указывает на наше индивидуальное отношение?
Сумма простых вещей может быть и сложной. Но сумма сложных вещей сложнее :)
[>]
Re: Эффективность против простоты
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2020-12-07 04:19:20
AL>> Код, который ты приводил, как раз ярко иллюстрирует мою идею. Компилятор сложная технически штука. Очень сложная. Зато она позволяет вот так просто для пользователя писать код.
vvs> Просто для поддержания светской беседы, не относитесь к этому вопросу слишком серьезно. Компилятор с языка, на котором написан этот код, имеет меньше ста тысяч строк кода вместе с комментариями. Напомните мне, пожалуйста, какой размер кода имеют gcc или go? Последний раз когда я смотрел, число строк кода go приближалось уже к миллиону. Да, я знаю, что это сравнение не вполне корректное, но все же. :)
Да. Эти компиляторы очень сложные с инженерной точки зрения. И как и везде это имеет две стороны: они позволяют достаточно простые вещи, но они достаточно сложны.
[>]
Re: Эффективность против простоты
std.hugeping
hugeping(ping,1) — Andrew Lobanov
2020-12-07 09:11:59
AL> Да. Эти компиляторы очень сложные с инженерной точки зрения. И как и везде это имеет две стороны: они позволяют достаточно простые вещи, но они достаточно сложны.
Сложность это не просто размер кода, это _комплексность_. Например, сложность ядра Linux высока не столько из-за размера, сколько из-за сложного взаимодействия компонентов. Так что компилятор компилятору -- рознь.
Я не специалист в ФП, но мне кажется идеи, которые реализует тот же Haskell сами по себе просты. Но, не буду лезть в область, в которой я нуб.
В качестве элегантных (и при этом мощных) вещей можно привести: Форт, Лисп.
[>]
Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-07 12:26:19
Вчера, пересказывая дома содержание нашего здесь разговора, я сказал, что теперь понял, что лично для меня простота - это синоним понятности того, чем я занимаюсь. Но у каждого, для себя, конечно, свои собственные понятия.
[>]
Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-07 12:40:13
hugeping> Сложность это не просто размер кода, это _комплексность_. Например, сложность ядра Linux высока не столько из-за размера, сколько из-за сложного взаимодействия компонентов. Так что компилятор компилятору -- рознь.
Комплексность сложно оценить, в отличие от размера. Я вот понятия не имею, что сложнее устроено: солнечная система или электрон?
hugeping> Я не специалист в ФП, но мне кажется идеи, которые реализует тот же Haskell сами по себе просты. Но, не буду лезть в область, в которой я нуб.
hugeping> В качестве элегантных (и при этом мощных) вещей можно привести: Форт, Лисп.
Я там вижу две составляющие: логика и эстетика. Опять же, первую оценить относительно просто, в отличие от второй.
[>]
Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-07 14:22:15
hugeping> В качестве элегантных (и при этом мощных) вещей можно привести: Форт, Лисп.
К Лиспу у меня двойственное отношение. С одной стороны синтаксис и примитивы языка экстремально просты. С другой стороны это привело к тому, что многие конструкции языка превратились во внешние функции, а языка, как единого целого не существует вовсе. Есть бесчисленное множество диалектов для конкретных приложений и когда упоминают Лисп, то, зачастую, имеют в виду какую-то абстрактную идею. Для меня основным здесь кажется то, что влияние Лиспа можно найти всюду, в самых неожиданных местах, но мне самому писать на нем не хочется. В его коде я не ощущаю индивидуальности, хотя он и очень узнаваем. Кстати, в свое время мне пришлось изучать PL/I и там было такое же ощущение какой-то безликости.
[>]
Re: Эффективность против простоты
std.hugeping
hugeping(ping,1) — vvs
2020-12-07 14:26:00
vvs> Комплексность сложно оценить, в отличие от размера. Я вот понятия не имею, что сложнее устроено: солнечная система или электрон?
Ну мы же говорили о том, что человек создал. Скажем, сравнительно оценить сложность: ядра Linux, OpenBSD, FreeBSD, HaikuOS и Plan9 вполне себе сравнивается. :)
vvs> Я там вижу две составляющие: логика и эстетика. Опять же, первую оценить относительно просто, в отличие от второй.
Оценить - несложно. Формально доказать - сложно. Но у кого стоит такая цель? У меня - нет такой. :)
[>]
Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-07 15:22:21
vvs>> Комплексность сложно оценить, в отличие от размера. Я вот понятия не имею, что сложнее устроено: солнечная система или электрон?
hugeping> Ну мы же говорили о том, что человек создал. Скажем, сравнительно оценить сложность: ядра Linux, OpenBSD, FreeBSD, HaikuOS и Plan9 вполне себе сравнивается. :)
Не думаю. Как сравнивать, например, маленький, но очень хитроумный алгоритм, использующий глубокие теоретические результаты и огромный, запутанный алгоритм, с большим числом вариантов? Если я понимаю теорию, то я могу сказать, что первый прост, но совсем не тривиален, а второй сложен для понимания, но тривиален по сути. Сразу начнется спор: а что здесь есть комплексность? Честно говоря, мне неохота начинать все по новой.
[>]
Re: Эффективность против простоты
std.hugeping
hugeping(ping,1) — vvs
2020-12-07 15:44:15
Да нет, видно там всё по коду.
Собственно, об этом и статья. Я за время своей работы часто сравнивал реализации одних и тех же вещей в разных ОС. Конечно, часто сложность обусловлена тем, что мы хотим чего-то добиться (например, скорости). Но и откровенно плохие решения, это просто плохие решения.
[>]
Re: Эффективность против простоты
std.hugeping
hugeping(ping,1) — vvs
2020-12-07 15:54:52
vvs> Другой пример. Одна ОС реализует аппаратную защиту памяти, а другая полагается для этого на компилятор, как Singularity.
Это уже не сложность, по-моему, а разный подход к решению проблемы. То-есть, сказать только по вот этой-вот части - нельзя ничего.
Про Singularity я, к сожалению, ничего не знаю. Очевидно, в этой ОС проблема выполнения недоверенного (нативного) кода как-то решается. Или там вообще нет такого понятия и всё проходит через их язык. Но, тоже решение. Может быть, и нормально. Хоть и не традиционно.
Так же, есть вещи, которые изменить нельзя. Например, сложная система команд целевого процессора. Ну, взять тот же vliw.
Но всё-равно, сложные решения чаще становятся непредсказуемыми. Уязвимости в интел процессорах сейчас все бросились искать. Ну, в том числе, потому что срезали углы. Старались оптимизировать всё. Вопрос цены. Но мне часто кажется, что задача выжать скорость любой ценой, в том числе и за счёт сильных ухищрений, это скорее следствие конкуренции... :)
[>]
Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-07 16:14:51
hugeping> Это уже не сложность, по-моему, а разный подход к решению проблемы. То-есть, сказать только по вот этой-вот части - нельзя ничего.
А как отделить очень разное концептуальное устройство от оценки сложности. Все равно, что оценивать костюм по пуговицам, как у Райкина.
hugeping> Про Singularity я, к сожалению, ничего не знаю. Очевидно, в этой ОС проблема выполнения недоверенного (нативного) кода как-то решается. Или там вообще нет такого понятия и всё проходит через их язык. Но, тоже решение. Может быть, и нормально. Хоть и не традиционно.
Все на уровне языка, можно почитать на википедии если интересно. Так суть любого исследования, как раз в том и заключается, чтобы найти нетрадиционное решение.
hugeping> Так же, есть вещи, которые изменить нельзя. Например, сложная система команд целевого процессора. Ну, взять тот же vliw.
Все еще сложнее. Как сравнивать арифметику натуральных чисел и анализ комплексных функций? Они связаны, но слишком разные. Если процессор не реализует вычисления с плавающей точкой, то это неизбежно сказывается на всем ПО. И как сравнивать ОС для разных архитектур? Можно только специально подобрать для сравнения очень похожие примеры, но это очень частный случай и поэтому не интересно.
hugeping> Но всё-равно, сложные решения чаще становятся непредсказуемыми. Уязвимости в интел процессорах сейчас все бросились искать. Ну, в том числе, потому что срезали углы. Старались оптимизировать всё. Вопрос цены. Но мне часто кажется, что задача выжать скорость любой ценой, в том числе и за счёт сильных ухищрений, это скорее следствие конкуренции... :)
Да нет, все гораздо более фундаментально. Почему программисты не доказывают правильность любого своего кода формально? А это слишком сложно и дорого. Почему в автомобиль не вставляют ядерный реактор? А это еще сложнее и дороже. Инженерное решение - это всегда компромисс между желанием и имеющимися ресурсами. Наука и искусство этим напрямую не связаны, хотя, например, физика косвенно зависит от инженерных решений.
[>]
Re: Эффективность против простоты
std.hugeping
hugeping(ping,1) — vvs
2020-12-07 16:47:35
vvs> Инженерное решение - это всегда компромисс между желанием и имеющимися ресурсами. Наука и искусство этим напрямую не связаны, хотя, например, физика косвенно зависит от инженерных решений.
Можно ли сказать, что какие-то числа объективно большие, а какие-то -- не очень большие?
На первый взгляд, нельзя. Ведь всегда можно выбрать число больше. И вообще, 10 это много или мало? Относительно 1 -- много! Но мне кажется, что есть всё-таки какая-то мера сложности, которая должна оцениваться относительно меры сложности человека и мира, в котором он живёт.
Например, грубо говоря, нам вряд-ли понадобится число, которое имеет те же порядки, что и число атомов в видимой вселенной. Или по другому, для типовых прикладных задач, мы работаем с гораздо меньшими числами.
Были 8битные процессоры. Объективно -- не хватало. Потом 16, лучше, но не всегда хватало. 32 бита! Вообще отлично! На самом деле 32 бит для большинства задач хватало, а то что больше - ну писали библиотеки. Но вот адресное пространство 32 бит, как-то не очень... 64 бита. Нужно ли 128бит? 256? 512? (Я не про векторные инструкции и не про специализированные аккселераторы крипты, к примеру, а именно про регистры общего назначения).
Возможно, будет новый виток развития, где уже никто не будет писать на Си и на ассемблере, и адресные пространства будут такими, что понадобится 256-битные адреса.... Не знаю. Мне сейчас кажется, что всё-таки будет некий предел, который ограничит дальнейший рост.
Ну это как с размерами мозга. Каким может быть максимальный объём мозга, чтобы он работал? Так вот, где-то читал статью, что он не может быть слишком большим. Возникают большие задержки итд итп. То-есть, размер мозга оптимален.
Та же скорость света - как предел распространения сигнала.
Так что мне кажется, что тут можно говорить об антропном принципе в оценке сложности. :)
Насчёт Singularity возникли мысли, но уже не буду писать, а то много текста. :)
[>]
Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-07 17:10:12
hugeping> Не знаю. Мне сейчас кажется, что всё-таки будет некий предел, который ограничит дальнейший рост.
Ха-ха. "Есть две бесконечные вещи — Вселенная и человеческая глупость. Впрочем, насчёт Вселенной я не уверен" А.Эйнштейн
Я бы еще сюда добавил и жадность.
[>]
Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-07 17:33:36
hugeping> Насчёт Singularity возникли мысли, но уже не буду писать, а то много текста. :)
Сам туда очень давно не заглядывал, а там есть ссылки на аналогичные проекты. И среди них Inferno. Впрочем, туда я тоже давно не заглядывал :)
А вообще, действительно, основное отличие Inferno от Plan 9 - это исполнение пользовательского кода на языковой виртуальной машине. Кроме того, меня подкупила там возможность использования совместно с обычной ОС.
Времени на все, к сожалению, не хватает - это самый ограниченный во вселенной ресурс :(
[>]
Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-07 17:53:58
hugeping> Так что мне кажется, что тут можно говорить об антропном принципе в оценке сложности. :)
Поскольку меня очень удручает вероятность непознаваемости вселенной для человека, то моя самая большая мечта - это избавиться в исследованиях от антропного принципа. Я всегда ищу способы, как получить возможность оценивать все не только человеческим мозгом, а чем-нибудь более универсальным. Еще лучше не из нашей вселенной, но это уже совсем дикие фантазии. Но тут есть другая опасность, что ответ действительно окажется 42 :)
[>]
Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — Andrew Lobanov
2020-12-07 22:31:02
AL> А где-то глубоко внутри я просто тоскую по старым машинам, которые и не могли адекватно предоставить простой для пользователя софт и сами были достаточно простыми, чтобы можно было в них лазить паяльником чтобы улучшать.
Это в некотором роде идиллическая сказка. Старые машины далеко не всегда были похожи на это описание. И даже наоборот, бытовала точка зрения, что архитектура процессора должна быть очень высокого уровня.
Была такая линейка компьютеров IBM System i, которая начиналась, как IBM System/38 еще в 1978 (ее идейная предшественница System/3 еще в 1969), а потом AS/400. Отличительной особенностью было то, что программисты не имели доступа к аппаратуре, а работали только с виртуальной архитектурой, которую обеспечивала прошивка. Архитектура эта была реализована только для языков высокого уровня с компиляцией в промежуточное представление. Трансляция в машинный код осуществлялась прошивкой статически при установке этого ПО. При замене аппаратной части на несовместимую микроархитектуру ничего не надо было менять, только обновить кэш, где и хранился машинный код.
Я лично их не видел, но сам начинал работу на ЕС ЭВМ (аналог IBM S/370 модель 138), которая на простые машины тоже была не слишком похожа. Хотя с паяльником туда действительно лазили, предварительно с помощью осциллографа найдя неисправный ТЭЗ. Я до сих пор жалею, что не утащил альбомы с принципиальными схемами, которые потом все погибли во времена перестройки. Сейчас наверное уже ничего не сохранилось. Все там было большое, например пакет дисков объемом 29 МБ весил несколько кг, а переключатели и кнопки были, наверное, не меньше пяти см. Рама там была из литого металла и весила наверняка центнеры и могла выдержать последствия ядерного взрыва если не в самом эпицентре, конечно. Одна документация занимала целые шкафы. Зато там были и принципиальные схемы, и распечатки микропрограмм и кода ОС. Терминалы были действительно векторные, поскольку ЭЛТ не имела строчной развертки и луч действительно рисовал изображение на люминофоре, а контроллеры выглядели, как железные шкафы. В машинном зале все гудело и стрекотало, и ощущения были совсем не похожи на те, которые испытываешь рядом с ПК. :) Машинный код можно было увидеть и пощупать руками, когда держишь в руках перфокарту с отверстиями пробитыми в разных местах. А потом вставить ее в устройство чтения, выставить его адрес на панели ЦП и нажать на кнопку загрузки.
[>]
Re: Эффективность против простоты
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2020-12-08 12:03:35
AL>> А где-то глубоко внутри я просто тоскую по старым машинам, которые и не могли адекватно предоставить простой для пользователя софт и сами были достаточно простыми, чтобы можно было в них лазить паяльником чтобы улучшать.
vvs> Это в некотором роде идиллическая сказка. Старые машины далеко не всегда были похожи на это описание. И даже наоборот, бытовала точка зрения, что архитектура процессора должна быть очень высокого уровня.
Скажем так, что проще, какой-нить PDP-6 или PDP-11 или мой ноут? :)
vvs> Была такая линейка компьютеров IBM System i, которая начиналась, как IBM System/38 еще в 1978 (ее идейная предшественница System/3 еще в 1969), а потом AS/400. Отличительной особенностью было то, что программисты не имели доступа к аппаратуре, а работали только с виртуальной архитектурой, которую обеспечивала прошивка. Архитектура эта была реализована только для языков высокого уровня с компиляцией в промежуточное представление. Трансляция в машинный код осуществлялась прошивкой статически при установке этого ПО. При замене аппаратной части на несовместимую микроархитектуру ничего не надо было менять, только обновить кэш, где и хранился машинный код.
Были очень разные машины и разные идеи. Про System i, кстати, не слышал раньше. Вообще машины от IBM не попадали в поле зрения пока. Надо будет восполнить пробел.
vvs> Я лично их не видел, но сам начинал работу на ЕС ЭВМ (аналог IBM S/370 модель 138), которая на простые машины тоже была не слишком похожа. Хотя с паяльником туда действительно лазили, предварительно с помощью осциллографа найдя неисправный ТЭЗ. Я до сих пор жалею, что не утащил альбомы с принципиальными схемами, которые потом все погибли во времена перестройки. Сейчас наверное уже ничего не сохранилось. Все там было большое, например пакет дисков объемом 29 МБ весил несколько кг, а переключатели и кнопки были, наверное, не меньше пяти см. Рама там была из литого металла и весила наверняка центнеры и могла выдержать последствия ядерного взрыва если не в самом эпицентре, конечно. Одна документация занимала целые шкафы. Зато там были и принципиальные схемы, и распечатки микропрограмм и кода ОС. Терминалы были действительно векторные, поскольку ЭЛТ не имела строчной развертки и луч действительно рисовал изображение на люминофоре, а контроллеры выглядели, как железные шкафы. В машинном зале все гудело и стрекотало, и ощущения были совсем не похожи на те, которые испытываешь рядом с ПК. :)
Для адекватной оценки я предлагаю представить себе объём документации такого уровня на какой-нибудь современный сервер. С принципиальными схемами, документацией на чипы, распечатки микропрограмм и кода ОС :)
Больших машин я, к сожалению, не видел, но читал про них. Конечно, тоже неоднозначно всё. Например, пакетный режим работы это одно, а интерактивный уже совсем другое. И вряд ли меня бы увлекла работа в пакетном режиме :)
[>]
Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — Andrew Lobanov
2020-12-08 12:45:13
AL> Скажем так, что проще, какой-нить PDP-6 или PDP-11 или мой ноут? :)
Да, туда еще был смысл лазить с паяльником и пользоваться принципиальной схемой. И ее даже можно было понять, поскольку делали люди, а не автоматический синтез из какого-нибудь Verilog. А в каком-нибудь смартфоне уже, наверное, нет.
AL> Для адекватной оценки я предлагаю представить себе объём документации такого уровня на какой-нибудь современный сервер. С принципиальными схемами, документацией на чипы, распечатки микропрограмм и кода ОС :)
Нынешний производитель нас явно жалеет и потому не перегружает такими деталями. А в СССР каждый телевизор продавался с принципиальной схемой.
AL> Больших машин я, к сожалению, не видел, но читал про них. Конечно, тоже неоднозначно всё. Например, пакетный режим работы это одно, а интерактивный уже совсем другое. И вряд ли меня бы увлекла работа в пакетном режиме :)
Для интерактивной работы были разные системы разделения времени. И Unix появился именно тогда. А какие игры были! Colossal Cave Adventure! У нас на PRIMUS были калах и какая-то стратегия с чистым текстом. И писали все на каком-нибудь ассемблере или на, худой конец, FORTRAN IV. Конечно были и Симула-67 и Алгол-68 и Лисп, но это уже не то. :) OS/360 и VM/370 были целиком написаны на макроассемблере и настоящий системщик обязан был его знать на зубок.
[>]
Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — Andrew Lobanov
2020-12-09 12:48:02
AL> Код, который ты приводил, как раз ярко иллюстрирует мою идею. Компилятор сложная технически штука. Очень сложная. Зато она позволяет вот так просто для пользователя писать код.
Я бы сказал иначе. Приведенний код прост с точки зрения теории, но сложен для конкретной архитектуры процессора. То есть это лишь следствие семантического разрыва между уровнем мышления человека и машиной Тьюринга.
В прошлом не раз предпринимались попытки устранить этот разрыв за счет более высокого уровня архитектуры процессора, например Intel iAPX 432. Такие попытки проиграли из-за низкого уровня технологий, приведшего к низкой производительности. Я бы напомнил, что были и попытки, наоборот, еще понизить уровень микроархитектуры для увеличения производительности, например IA-64 (Itanium). Проиграла из-за цены.
То есть я не вижу и здесь объективной сложности, а только рыночные факторы.
[>]
Бывают крылья у художников
std.hugeping
hugeping(ping,1) — hugeping
2020-12-12 16:49:57
Только что услышал на канале "Культура".
Передача "Линия жизни. Евгений Стеблов" от 12.10.2020
Бывают крылья у художников,
Портных и железнодорожников,
Но лишь художники открыли,
Как прорастают эти крылья. А прорастают они так,
Из ничего, из ниоткуда.
Нет объяснения у чуда,
И я на это не мастак.
Геннадий Шпаликов
[>]
Анонимность и искренность
std.hugeping
hugeping(ping,1) — All
2021-01-20 10:39:36
Вчера в очередной раз вспомнил почему-то живой журнал. Давным-давно, когда он ещё был популярен, мне нравилось писать там заметки и читать других людей. И казалось, интересного материала там было достаточно.
Что значит интересного? Умного и искреннего. Сейчас, или я постарел, или интернет стал другим, или всё вместе, но я не вижу ни на одной из площадок ничего похожего на то, чем был живой журнал.
Потом посмотрел на IDEC, подумал, что давно не писал никаких заметок и тут... вдруг почувствовал один интересный момент.
Я давно публикуюсь в интернете под своим реальным именем. Я всегда считал, что если человек стесняется/прячется, то и цена его словам -- грош. Но в том же ЖЖ я публиковался под ником. Меня никто не знал. Работодатель, друзья, родственники. И я поймал себя на мысли что сам этот факт может работать как триггер!
Сейчас, как только я собираюсь что-то написать включается внутренний фильтр, который настроен на мою роль. Фильтр не пускает на выхлоп какие-то личные мысли. О вере, о любви, о жизненном опыте. Всё это рубится на корню. Но в ЖЖ я писал именно об этом.
Почему это происходит, понятно. Есть роль и она отыгрывается. Как работа. Меня знают и ожидают тех вещей, что я могу "выдать" и подсознание работает на это.
Например, если я собираюсь написать пост о Христе, внутренний цензор говорит мне, что-то вроде: Ну сейчас опять атеисты/агностики придут и будут спорить, а мне придётся быть корректным. Не стоит. А может быть, я напишу что-то неканонично? Тоже не годится! Я же православный! Думаю написать о каких-то переломных мировоззренческих моментах. Например о том, что внутренне "Я" нифига не стареет. И в 42 ты такой-же 10-летний мальчишка. Это могут найти знакомые/родственники/работодатели. Что подумают? Ну и понеслось. Даже сейчас мне захотелось отредактировать последний абзац, но не в этот раз. :)
Можно писать дневник лично, и тогда проблемы такой нет. Но ведь и отклик иногда очень важен. С людьми, которые поймут тебя, окажутся на одной волне.
Современные социальные сети в принципе не анонимны. (Я сейчас не говорю о настоящей анонимности, понятно, что вычислить тебя могут в любом случае, а о регистрации по своим реальным именам.) И тут я задумался. Возможно, в анонимности есть своё благо, которое состоит в том, чтобы дать возможность сбросить "роль". Стать чуть честнее.
Возможно, окончательно потеряв анонимность, мы упустили возможность быть искренней перед собой хотя бы иногда.
[>]
Re: Анонимность и искренность
std.hugeping
vvs(ping,12) — hugeping
2021-01-20 13:33:16
Недавно где-то увидел совет психолога: если хотите резко изменить свою жизнь - посностью поменяйте круг общения. Могу подтвердить на личном опыте: только сформировав круг общения по собственным канонам и можно почувствовать себя самим собой.
Поэтому анонимность для меня - это не столько укрытие, сколько просто защитная мера. Не хочу стать уязвимым для преимущественно враждебной среды, коей и является интернет. Своеобразная маска от ковида :)
[>]
Re: Анонимность и искренность
std.hugeping
vvs(ping,12) — hugeping
2021-01-20 14:09:32
Так и есть. Как минимум требуется сменить вид деятельности, в который уже инвестирована практически вся жизнь. Именно поэтому так много людей страдает от кризиса среднего возраста.
Вообще, по моему опыту, человеку не свойственно заниматься всю жизнь только чем-то одним. Начинаешь чувствовать себя как в тюрьме или даже похороненным заживо. Человек ведь, как творческая личность, всегда больше узкой специальности. В детстве мечтаешь обо всем сразу, а став взрослым вынужден наступать своей мечте на горло. Хобби помогает, но не очень. А жить-то приходится на зарплату. Тут универсального рецепта быть не может, каждый ищет свой собственный. Многих такое противоречие просто совращает с пути истинного.
[>]
Re: Анонимность и искренность
std.hugeping
Andrew Lobanov(tavern,1) — hugeping
2021-01-21 08:10:45
hugeping> Возможно, окончательно потеряв анонимность, мы упустили возможность быть искренней перед собой хотя бы иногда.
В который раз удивляюсь разнице восприятия у разных людей. Для меня эталоном сетевого общения было фидо. И потому как раз личное знакомство и реальность собеседника, а не его ник и аватар, давали ту непередаваемую атмосферу искренности и открытости. И пусть я не всех собеседников знал лично, но их или кого-нибудь из их сети знали мои знакомые, ну а там дальше по цепочке :)
А вот когда я пришёл в интернет, я офигел, что общаюсь с какими-то странными словами вместо имён и было ощущение, что с той стороны экрана человек может писать что угодно, а не то, что он на самом деле думает.
Но это моё личное мнение и я не хочу затевать спор на эту тему. По старому интернету я всё равно тоже немного скучаю.
[>]
Re: Анонимность и искренность
std.hugeping
vvs(ping,12) — Andrew Lobanov
2021-01-21 13:10:28
А меня такой разнобой мнений немного позабавил. По-моему, это очередной пример того, что разные люди вкладывают разный смысл в одни и те же понятия.
Например, я не раз встречал на форумах в интернете невероятно наглых и невоспитанных пользователей - сиречь троллей. У меня есть стойкое ощущение, что в реальной жизни они себе такое позволить не могут. Так где же они более настоящие и искренние?
Я понимаю под искренностью отсутствие лицемерия. В жизни оно, это лицемерие, тоже встречается сплошь и рядом, в том числе и среди моих очень хороших знакомых. Зачастую это вовсе не плохие люди, но конформизм им необходим для успешного выживания.
На самом деле я даже не уверен, что без изрядной доли лицемерия человеческое общество вообще может существовать, как только число его членов превышает определенное число. Поэтому общество естественным образом иерархично - людям необходимо его подразделять на "масштабируемые" части, в которых они могут комфортно себя чувствовать. Степень такого комфорта у каждого, разумеется своя, как и этот круг общения.
Однако ничто не вечно под луной. Людям свойственно меняться с возрастом и приобретением опыта. Следствием этого является и изменение ощущения комфорта привычного образа жизни. Нередко возникает желание что-нибудь существенно изменить, с чем неизбежно возникают сложности. Но чтобы это понять, надо это пережить самому.
[>]
Re: Анонимность и искренность
std.hugeping
hugeping(ping,1) — Andrew Lobanov
2021-01-21 16:33:41
AL> Но это моё личное мнение и я не хочу затевать спор на эту тему. По старому интернету я всё равно тоже немного скучаю.
Я когда писал заметку, всё думал про Фидо написать, но так и не написал.
Согласен, в Фидо не было анонимности. Но мне кажется, что и формат общения там был несколько иным. Мне сейчас уже трудно вспомнить, но кажется, я там больше как раз флеймил и "навязывал", чем размышлял. :) Но был нетмейл, по которому общение шло уже более мирно-интимно.
Наверное, всё-таки, формат блога, это другое.
[>]
Re: Анонимность и искренность
std.hugeping
vvs(ping,12) — hugeping
2021-01-21 17:07:43
А в чем, собственно, принципиальная разница? Я пользовался FIDO в середине 90-х. Кроме телефона организации, в которой я тогда работал, в ноделисте не было никакой другой личной информации. И уж заведомо там не было моего настоящего имени. Меня знал только тот один человек, у которого я был поинтом. Правда эхи меня тогда совершенно не интересовали и я только подписался на файловые эхи и обменивался личной почтой со своей нодой. А после появления в нашей организации интернета про FIDO я вообще забыл. А мой знакомый потом уехал и мы потеряли с ним связь.
[>]
Re: Анонимность и искренность
std.hugeping
vvs(ping,12) — vvs
2021-01-21 18:12:31
Даже нашел у себя в архиве старый ноделист 1996 года. Правда оказалось, что склероз мне не изменяет - там моего телефона как раз и не было. Теперь вспоминаю, что был же еще поинтлист, который у меня не сохранился. То есть даже номер телефона мало кто увидеть мог. Телефон же тот стоял в большой организации и отвечал по нему модем, а в телефонном справочнике того телефона и вовсе не было. Я не припоминаю, чтобы меня тогда сильно беспокоило отсутствие анонимности. Что там можно было обо мне узнать по таким скудным данным? Оператор ноды, возможно, был в других условиях.
[>]
Re: Анонимность и искренность
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2021-01-22 03:51:12
vvs> А в чем, собственно, принципиальная разница? Я пользовался FIDO в середине 90-х. Кроме телефона организации, в которой я тогда работал, в ноделисте не было никакой другой личной информации. И уж заведомо там не было моего настоящего имени. Меня знал только тот один человек, у которого я был поинтом. Правда эхи меня тогда совершенно не интересовали и я только подписался на файловые эхи и обменивался личной почтой со своей нодой. А после появления в нашей организации интернета про FIDO я вообще забыл. А мой знакомый потом уехал и мы потеряли с ним связь.
В нодлисте не могло быть о тебе информации так как ты не был нодой. Оператор твоей ноды знал тебя лично и нёс ответственность за твои действия в сети. О какой анонимности может идти речь в таких условиях?
[>]
Re: Анонимность и искренность
std.hugeping
boscholeg(ping,5) — hugeping
2021-01-22 09:08:08
Почитал твою заметку и живо представил себе как я делюсь с окружающими своими переживаниями по поводу любимых мною компьютерных игр. Люди почитают и решат, что я великовозрастный инфантил играющий в бирюльки.
А если расскажу об особенностях ухода за креветками в мелких аквариумах или о том как я проращиваю черенки лимонов, то опять окажусь странным дядькой.
Разговоры о вере вообще табуированы в нашем обществе. Это возможно обсуждать только в узком кругу.
Политические вопросы тоже не стоит поднимать - если выскажусь опять получу ярлык на лысину.
Вот и получается, что проще не выплескивать дабы не смущать окружающих.
Я конечно уже не боюсь сказать, что думаю. Но часто это звучит в стиле - "Баба яга против". И я решаю, что мне выгоднее воздержаться. Но поделиться очень хочется и нужно искать этому выход.
НО я теперь уже не опасаюсь показаться странным или смешным. И что про меня подумает начальство мне фиолетово. Хотя токая смелость пришла ко мне уже после сорока лет.
[>]
Re: Анонимность и искренность
std.hugeping
vvs(ping,12) — Andrew Lobanov
2021-01-22 12:38:47
AL> В нодлисте не могло быть о тебе информации так как ты не был нодой. Оператор твоей ноды знал тебя лично и нёс ответственность за твои действия в сети. О какой анонимности может идти речь в таких условиях?
Ну да. И в поинтлисте тоже, хотя это было так давно, что многое уже стало забываться.
Но я не вижу никакой связи между моим знакомством с оператором и анонимностью в *сети*. Остальные-то меня не знали. Я лично знал еще несколько других операторов нод, но вряд ли они даже догадывались, что это именно мой адрес в FIDO. И я не могу себе представить, что они стали бы пытать моего знакомого, чтобы он им сообщил кто его поинт на самом деле. Ну максимум бан он мог бы получить из-за меня - это наши личные с ним отношения, не более. Каким это образом угрожало моей анонимности? Это совершенно разные вещи, КМК.
[>]
Re: Анонимность и искренность
std.hugeping
vvs(ping,12) — boscholeg
2021-01-22 13:48:48
boscholeg> И что про меня подумает начальство мне фиолетово. Хотя токая смелость пришла ко мне уже после сорока лет.
А ко мне такая смелость пришла, когда я твердо решил уволиться и изменить свою жизнь. И вот тогда я совершенно обнаглел, а мое непосредственное начальство стало меня побаиваться и увеличило мне зарплату, которую я направлял не на свои прихоти, а на достижение относительной независимости. И продолжалось это не один год. А когда я написал заявление об уходе, то меня шеф наш спросил: куда я ухожу? Я говорю в том смысле, что не куда, а откуда. Он несколько обалдел и поинтересовался, почему же я не хочу поработать еще. На что я ему ответил, что так жить дальше я не хочу. По-моему, он так ничего и не понял. А для меня вопроса искренности с тех пор больше не существует. Есть только вопрос: кто я такой и чего хочу на самом деле, а также что я думаю о других. И никто мне больше не мешает выяснять эти вопросы полный рабочий день. Но было это уже далеко после сорока.
А еще мне смешно, когда люди рассуждают о свободе. Свобода - это вовсе не правительство и законы, а возможность быть в своей жизни самим собой. Рабом на самом деле делает желание обладать тем, что никому по сути не принадлежит. Вот и становятся люди рабами вещей, а эти вещи их переживут. Принадлежать же человеку может только то, что у него в голове (или в душе, для верующих).
Кстати, я не стеснялся высказывать эти мысли еще на работе своим сотрудникам. Но с первым встречным пожалуй делиться не стану, поскольку он вряд ли меня поймет.
[>]
Re: Анонимность и искренность
std.hugeping
vit01(mira, 1) — hugeping
2021-01-22 13:44:28
> Можно писать дневник лично, и тогда проблемы такой нет. Но ведь и отклик иногда очень важен. С людьми, которые поймут тебя, окажутся на одной волне.
Я здесь вижу не проблему анонимности и искренности, а просто боязнь критики и обратной связи.
Разумеется, когда ты что-то публикуешь в сети (в качестве блога или видеоблога), то сталкиваешься с критикой. И это хорошо! В каком-нибудь телевизоре людям просто спускают что-то сверху, и на это нельзя возразить, нельзя изобличить какое-то враньё, добавить анализ фактов и так далее. А в сети публика даёт обратную связь, из-за чего ты вынужден держать планку качества и обосновывать своё мнение
Даже если тебе утомительно отвечать на выпады своих идеологических оппонентов или просто на любую другую критику, то я предлагаю оценивать этот свой труд как помощь зрителю или помощь читателю, чтобы дать ему более качественный контент и дать ему повод задуматься.
Не важно, анонимная площадка или нет, важно качество модерации на ней, качество аудитории и формат публикаций. Если это всё на хорошем уровне, то закидывать тебя говном не будут, а будут обоснованно критиковать
Например, в своём блоге я частенько пишу что-то на тему политики, высказываю непопулярные мнения, кидаю поняшек и вообще всячески беспредельствую. Насчёт политики у меня мнение принципиальное, я считаю, что политика касается каждого, эти темы нужно обсуждать просто сами по себе. Меня часто критикуют мои знакомые и друзья по некоторым вопросам, и это хорошо. Но они именно критикуют, а не закидывают говном, потому что я специально отбираю такую аудиторию, которая способна связать два слова и не опускаться до оскорблений