Для этого нужно как минимум изучить документацию, поставить ось в виртуалку, попробовать поработать с ней, посмотреть как она устроена изнутри, возможно даже методами реверс-инжиниринга. Должен ли редактор такими вещами заниматься?
Интересно, только жалко что ограничились морскими кабелями. Если бы добавили сухопутные, картина была бы более полной.
Или на суше нет кабелей такой большой пропускной способности и сеть «размазана» по множеству кабелей меньшей пропускной способности, из-за чего нарисовать все это на карте становится сложно?
Читал статью и сразу подумал: а почему нельзя было просто взять стандартный пример с RichEdit'ом из MFC и встроить туда демку? Собственно Word же здесь не нужен, нужна просто наглядная визуальная демонстрация нового типа проверки орфографии.
А я бы не стал расстраиваться по поводу того, что мы потенциально одиноки во Вселенной. Опасностей от потенциальных контактов с внеземными цивилизациями куда больше, чем пользы. Опасность будет или для людей, или для другой цивилизации — в зависимости от соотношения уровней развития.
Думаю, РКН ничего не решает. Возможно, какие-то чиновники пытаются выслужиться перед фашиствующими хозяевами, вот и придумывают кто во что горазд. Хотя возможно и другое — хозяева спускают им эти идеи сверху, а они просто озвучивают, создавая имитацию «работающих институтов власти».
А называется все происходящее «охота на ведьм». Типа «маккартизма», который был в США. Или того, что происходило в фашистских режимах Муссолини, Франко и Салазара. К сожалению, человеческое стадо имеет тенденцию к подобному поведению, практически все страны в разные периоды через это проходили, и к сожалению нет никаких гарантий, что даже самое либеральное общество туда вновь не скатится.
Да я не против, согласен с вами. Но мы говорим о разных вещах.
У меня чисто академический интерес: как должна выглядеть идеальная система ссылок в идеальном языке программирования, на котором было бы идеально удобно писать программы, который бы объединял достоинства и исключал недостатки существующих реализаций. Есть такой язык в природе или его нет и никогда не будет — мне не важно.
А как вообще смартфоны себя ведут в режиме постоянной подпитки от зарядного устройства, с точки зрения пожарной безопасности? Есть какие-то правила или исследования на эту тему?
Интересно как именно.
У меня ведь чисто академический, а не коммерческий интерес. Мне достаточно знать, как именно могла бы быть устроена идеальная модель ссылок, чтобы через нее понимать преимущества и недостатки реальных моделей в реальных языках. Хочется видеть систему, а пока я вижу какую-то мешанину — и в С++, и не только в нем.
Мне вот интересно — это всё следствие введения в язык концепции ссылок как таковой? Можно ли было этого избежать, если изначально сделать как-то по другому, и если да то как?
Rust тоже сложный и навороченный, там есть недостатки, хотя за счет того, что он создавался с оглядкой на огромный опыт С++, там больше продуманности.
Вообще мне хочется придумать идеальный синтаксис и семантику для ссылок всех видов. Но пока не получается…
Не знаю почему, но мне все эти ссылки (и перемещаемые, и обычные) интуитивно не нравятся. Не проще ли явно передавать указатель (который всегда 4 или 8 байт) и делать с объектом что угодно по указателю?
Я увлекаюсь дизайном языков программирования, и вот как раз недавно собирал информацию по ссылкам. Ссылки (обычные) появились в С++ для того, чтобы можно было возвращать из функции что-то, что может быть слева от присваивания (LValue). Это нужно для перегрузки операторов =, *, [], ++, --. Заодно появилась возможность писать что-то вроде foo() = 42.
В Rust таких неявных ссылок нет (там понятие «ссылка» есть, но это скорее просто разновидность указателя с явным разыменованием). Перегрузка lvalue-операторов есть, возвращают они ссылки, требующие явного разыменования, и тем ни менее как-то выкрутились. Например перегрузка индексации.
Передача аргументов по ссылке в С++ происходит неявно, что не очень хорошо с точки зрения наглядности. В C# используется слово ref для явной передачи по ссылке, и читаемость такого кода значительно лучше. Кстати на Хабре есть статья, в которой перечисляются и другие недостатки…
Ну и move-семантика. Ее назначение понятно, но вот реализация… чисто синтаксически это выглядит как-то криво и громоздко. std::move которая на самом деле ничего не делает, а просто пытается изменить тип аргумента. А есть еще std::forward. Все это производит впечатление какой-то кривизны…
Интересно, можно ли сделать лучше? Пусть не в рамках С++, а вообще?
Хорошо в Испании, тепло:) Насколько я понимаю, одно из самых теплых мест в Европе.
А вы в Испании живете и работаете? Расскажете как там с этой точки зрения?
Не совсем. При наследовании базовый класс всегда размещается в начале памяти производного. Здесь же можно разместить базовые классы в любом месте, по любому смещению относительно начала производного. Для низкоуровневых задач это бывает весьма полезно.
Важно не то, сколько добавить, важно то — как это сделать. Т.е. не количество фич само по себе, а внутренняя взаимогармоничность разных элементов языка. Этого я у многих современных языков не вижу.
Ну а С∀ — просто интересный образец того, как люди видят недостатки в существующем и пытаются их как-то исправить. Здесь интересно само направление мысли, что-ли… Вот например ссылки. На Хабре уже была статья о недостатках ссылок, с предложением о том как эти недостатки устранить. Здесь — другой подход (тоже не лишенный недостатков!). Но интересно сравнить, обдумать…
Пока я просто сохраняю нужные мне странички средствами браузера в mhtml. Сайтов, целиком пригодных к скачиванию, не так уж и много (обычно это какие-то авторские работы типа книг или методичек на университетских сайтах). Но для таких есть телепорт про и другие подобные программы.
А идеальная система - просто некая кнопка типа "лайка", аналогичная добавлению в закладки, по нажатию на которую страница сохраняется в оффлайне, добавляется в какие-то оффлайновые базы для поиска, и - в идеале - ставится на раздачу в децентрализованной сети.
Или на суше нет кабелей такой большой пропускной способности и сеть «размазана» по множеству кабелей меньшей пропускной способности, из-за чего нарисовать все это на карте становится сложно?
А называется все происходящее «охота на ведьм». Типа «маккартизма», который был в США. Или того, что происходило в фашистских режимах Муссолини, Франко и Салазара. К сожалению, человеческое стадо имеет тенденцию к подобному поведению, практически все страны в разные периоды через это проходили, и к сожалению нет никаких гарантий, что даже самое либеральное общество туда вновь не скатится.
У меня чисто академический интерес: как должна выглядеть идеальная система ссылок в идеальном языке программирования, на котором было бы идеально удобно писать программы, который бы объединял достоинства и исключал недостатки существующих реализаций. Есть такой язык в природе или его нет и никогда не будет — мне не важно.
У меня ведь чисто академический, а не коммерческий интерес. Мне достаточно знать, как именно могла бы быть устроена идеальная модель ссылок, чтобы через нее понимать преимущества и недостатки реальных моделей в реальных языках. Хочется видеть систему, а пока я вижу какую-то мешанину — и в С++, и не только в нем.
Вообще мне хочется придумать идеальный синтаксис и семантику для ссылок всех видов. Но пока не получается…
Я увлекаюсь дизайном языков программирования, и вот как раз недавно собирал информацию по ссылкам. Ссылки (обычные) появились в С++ для того, чтобы можно было возвращать из функции что-то, что может быть слева от присваивания (LValue). Это нужно для перегрузки операторов =, *, [], ++, --. Заодно появилась возможность писать что-то вроде foo() = 42.
В Rust таких неявных ссылок нет (там понятие «ссылка» есть, но это скорее просто разновидность указателя с явным разыменованием). Перегрузка lvalue-операторов есть, возвращают они ссылки, требующие явного разыменования, и тем ни менее как-то выкрутились. Например перегрузка индексации.
Передача аргументов по ссылке в С++ происходит неявно, что не очень хорошо с точки зрения наглядности. В C# используется слово ref для явной передачи по ссылке, и читаемость такого кода значительно лучше. Кстати на Хабре есть статья, в которой перечисляются и другие недостатки…
Ну и move-семантика. Ее назначение понятно, но вот реализация… чисто синтаксически это выглядит как-то криво и громоздко. std::move которая на самом деле ничего не делает, а просто пытается изменить тип аргумента. А есть еще std::forward. Все это производит впечатление какой-то кривизны…
Интересно, можно ли сделать лучше? Пусть не в рамках С++, а вообще?
А вы в Испании живете и работаете? Расскажете как там с этой точки зрения?
Никогда не пользовался, но зато как по-хакерски:
или даже вот так, храним смещения между метками, а не сами метки:
Ну а С∀ — просто интересный образец того, как люди видят недостатки в существующем и пытаются их как-то исправить. Здесь интересно само направление мысли, что-ли… Вот например ссылки. На Хабре уже была статья о недостатках ссылок, с предложением о том как эти недостатки устранить. Здесь — другой подход (тоже не лишенный недостатков!). Но интересно сравнить, обдумать…
Пока я просто сохраняю нужные мне странички средствами браузера в mhtml. Сайтов, целиком пригодных к скачиванию, не так уж и много (обычно это какие-то авторские работы типа книг или методичек на университетских сайтах). Но для таких есть телепорт про и другие подобные программы.
А идеальная система - просто некая кнопка типа "лайка", аналогичная добавлению в закладки, по нажатию на которую страница сохраняется в оффлайне, добавляется в какие-то оффлайновые базы для поиска, и - в идеале - ставится на раздачу в децентрализованной сети.