Здравствуйте, netch80, Вы писали:
N>Я один раз на сотню (особенно задумавшись) тоже пишу = вместо ==. Обычно замечаю сам при пересмотре. Компилятор обычно отлавливает остатки. N>Но оценил пользу записи в стиле if (0 == x)...
Куда лучше правило на запрет присваиваний в условии. Компиляторы нынче на такое показывают пальцем и просят взять в двойные скобки если ты на самом деле хотел именно присваиваение.
Но лучше там совсем не делать — код получается чище.
Здравствуйте, netch80, Вы писали:
N>хоть намёк, при каком интерфейсе реализуют подобные чудеса?
Интерфейс тут побоку, любой современный стандартный с 64битной адресацией.
CC>>Это всё я делал и не раз. Нахрена тут signed LBA? N>Просто удобнее.
Дык нет, не удобнее. Один только геморрой.
N>Но если приходится работать с (см. выше) — тады ой, включать аккуратиста на полную.
Стандартам надо следовать всегда, а не когда хочется. Это экономит много времени и крови потом.
N>"Профессор" Преображенский тот ещё кусок дерьма.
Это в каком месте?
Здравствуйте, CreatorCray, Вы писали:
N>>хоть намёк, при каком интерфейсе реализуют подобные чудеса? CC>Интерфейс тут побоку, любой современный стандартный с 64битной адресацией.
Ну вот если бы в интерфейсе постановили предел номера блока 2**63-1 — многим было бы проще.
А вообще, вспомнилось это.
CC>>>Это всё я делал и не раз. Нахрена тут signed LBA? N>>Просто удобнее. CC>Дык нет, не удобнее. Один только геморрой.
Не-а.
N>>Но если приходится работать с (см. выше) — тады ой, включать аккуратиста на полную. CC>Стандартам надо следовать всегда, а не когда хочется. Это экономит много времени и крови потом.
Кто бы спорил, я не буду
N>>"Профессор" Преображенский тот ещё кусок дерьма. CC>Это в каком месте?
Здравствуйте, CreatorCray, Вы писали:
N>>Я один раз на сотню (особенно задумавшись) тоже пишу = вместо ==. Обычно замечаю сам при пересмотре. Компилятор обычно отлавливает остатки. N>>Но оценил пользу записи в стиле if (0 == x)... CC>Куда лучше правило на запрет присваиваний в условии. Компиляторы нынче на такое показывают пальцем и просят взять в двойные скобки если ты на самом деле хотел именно присваиваение. CC>Но лучше там совсем не делать — код получается чище.
Код чище не получается. Иначе бы в C++17 не вводили формы типа if (type x=expr; x > 0) { ... }
Я даже скажу — мало ввели, надо расширить (несколько переменных как минимум).
Walrus operator в Python таким же образом ещё сильнее помогает чистоте и сопровождаемости кода. И там случайно это := не напишешь.
Здравствуйте, netch80, Вы писали:
N>Ну вот если бы в интерфейсе постановили предел номера блока 2**63-1 — многим было бы проще.
Ни один инженер не станет выбрасывать целый бит просто так, просто чтоб криворуким, кто не умеет в математику, было проще.
Вот чем оно проще станет то? В чём там критическая разница? Что, алгебру нынче не преподают, что такое кольцо уже не знают?
N>А вообще, вспомнилось это.
Ну вот это примерно то, что ты предлагаешь — сделать диапазон, который вообще никаким боком не относится к оригинальному значению.
CC>>Дык нет, не удобнее. Один только геморрой. N>Не-а.
Что неа, только что продемонстрировал когда вот такая вот хрень не сделала вообще ничего проще но сломала так много что желание найти и уеб..ь живо до сих пор, после многих лет.
N>>>"Профессор" Преображенский тот ещё кусок дерьма. CC>>Это в каком месте? N>Помпезный приспособленец без намёков на совесть.
Громко но ни о чём. Нельзя ли поконкретнее?
Здравствуйте, netch80, Вы писали:
N>Код чище не получается.
Таки получается, принцип наименьшего сюрприза. Чем меньше напихано разных сущностей в строку — тем проще код читать.
N> Иначе бы в C++17 не вводили формы типа if (type x=expr; x > 0) { ... }
Потому что любители натолкать, да побольше, ныли.
Здравствуйте, CreatorCray, Вы писали:
CC>Если со "знанием С++" как у Артёмки?
В чём это выражается? В бытность мою плюсником, я неизменно набирал в тестах "лучше, чем 99% от сдававших тест". Да и коллеги как-то не жаловались. Главная моя проблема с кодированием- это отсутствие эмпатии к тем, кто ниасилит примененный алгоритм или паттерн. Это вредно для проекта. Когда код должен быть простой в доску, чтобы ддуниор смог его понять и добавить фичу.
N>>И знаю таких, которые говорили "мы устали от проблемы = против == CC>Мда, тяжко быть такими...
Тяжело быть какими, как ты. Проблему работы в плюсных коллективах я уже не раз описывал- это что нормальные люди ушли в другие языки. А остались наркоманы- мазохисты, которые создают токсичную атмосферу и ниасилили линукс.
Здравствуйте, Артём, Вы писали:
Аё>В чём это выражается? В бытность мою плюсником, я неизменно набирал в тестах
Вот в этом и выражается. Ты типичный теоретик.
Аё>Тяжело быть какими, как ты.
Что, всё никак не получается?
Здравствуйте, CreatorCray, Вы писали:
Аё>>В чём это выражается? В бытность мою плюсником, я неизменно набирал в тестах CC>Вот в этом и выражается. Ты типичный теоретик.
10 лет опыта в плюсах.
Аё>>Тяжело быть какими, как ты. CC>Что, всё никак не получается?
Я ушёл из плюсов. Смысла в них возвращаться нет, по причине что для начала, никто не разрешит протащить плюсы на проект. Да и с моей т.з. это была бы диверсией.
Темыч, без обид, но судя по твоей активности в любой теме с плюсами, у меня складывается впечатление, что "человек может уйти из плюсов, а плюсы из человека нет"
П.С.
Ну а так да, согласен, нужны достаточно веские основания для того, чтобы использовать плюсы в 21 веке. К сожалению, для ряда задач, такие основания есть...
П.П.С
Сегодня в рассылке пришло "The Tragedy of C++, Acts One & Two". Пока не смотрел, но этот дядька ерунду молоть не будет. Так что любителям плюсов должно быть интересно
Здравствуйте, Артём, Вы писали:
Аё>>>В чём это выражается? В бытность мою плюсником, я неизменно набирал в тестах CC>>Вот в этом и выражается. Ты типичный теоретик. Аё>10 лет опыта в плюсах.
А толку?
Здравствуйте, Максим, Вы писали:
М>Ну а так да, согласен, нужны достаточно веские основания для того, чтобы использовать плюсы в 21 веке. К сожалению, для ряда задач, такие основания есть...
Эти веские основания в ряде задач покрывает C.
М>Сегодня в рассылке пришло "The Tragedy of C++, Acts One & Two". Пока не смотрел, но этот дядька ерунду молоть не будет. Так что любителям плюсов должно быть интересно
Трагедия, прямо развели санта-барбару. Единственное вечкое основание использовать C++ — проект древний, переписывать слишком затратно.
Speaking of languages, it's time to halt starting any new projects in C/C++ and use Rust for those scenarios where a non-GC language is required. For the sake of security and reliability. the industry should declare those languages as deprecated.
Не могу не согласиться с половиной этого утверждения: действительно, начинать сейчас новые проекты на C не следует, уже есть Rust.
Здравствуйте, CreatorCray, Вы писали:
Аё>>>>В чём это выражается? В бытность мою плюсником, я неизменно набирал в тестах CC>>>Вот в этом и выражается. Ты типичный теоретик. Аё>>10 лет опыта в плюсах. CC>А толку?
Странный ты. Я пытаюсь показать, что плюсы несложно осилить, другой вопрос- что разработка на них более дорогая, а результат- больше подвержен падениям. И вопрос тут не в том, что кто-то ниасилил плюсы. Вопрос в том, что кто-то застрял в развитии на уровне секса в гамаке и не в состоянии заглянуть чуть дальше.
Ну и классическое- чиста моё наблюдение, что у плюсистов знание алгоритмов статистически хуже, чем у жавистов. Сишники- они отдельная категория, и к ним плюсникам не нужно примазываться. Можно даже так сказать: плюсисты- это те, кто не асилили Си.
Здравствуйте, Артём, Вы писали:
Аё> Можно даже так сказать: плюсисты- это те, кто не асилили Си.
Сишники — это те, кто не асилили кресты.
Аё>Странный ты. Я пытаюсь показать, что плюсы несложно осилить, другой вопрос- что разработка на них более дорогая, а результат- больше подвержен падениям.
Дешевле и меньше падений, чем на C.
Аё>Ну и классическое- чиста моё наблюдение, что у плюсистов знание алгоритмов статистически хуже, чем у жавистов.
Вполне возможно. Но, увы, знание алгоритмов выше уровня "нам нельзя выходить за O(n log n)" мало где нужно...
Здравствуйте, CreatorCray, Вы писали:
N>>Код чище не получается. CC>Таки получается, принцип наименьшего сюрприза. Чем меньше напихано разных сущностей в строку — тем проще код читать.
Значит, пихать не в строку.
with {
// всё это видно во всей конструкции, но не после неё
type x = expr;
auto it = foo.begin();
} iterate {
++it;
} while (it != foo.end()) {
... что-то делаем ...
} else {
... если break не вызван ...
};
Чем плохо, кроме ереси для кого-то?
N>> Иначе бы в C++17 не вводили формы типа if (type x=expr; x > 0) { ... } CC>Потому что любители натолкать, да побольше, ныли.
Потому что есть реальная потребность.
Да, её можно было бы удовлетворить отдельным вложенным блоком. Но начинаются другие проблемы.
Здравствуйте, CreatorCray, Вы писали:
N>>Ну вот если бы в интерфейсе постановили предел номера блока 2**63-1 — многим было бы проще. CC>
И опять.
CC>Ни один инженер не станет выбрасывать целый бит просто так, просто чтоб криворуким, кто не умеет в математику, было проще.
В x86 виртуальные адреса или 48, или 57 бит.
В FAT32 реальный размер номера кластера только до 28 бит.
Можно ещё накопать примеров. Но ограничить потому, что реально столько не нужно, по крайней мере пока технология не сдохнет — вполне нормально.
А тут уже и мотивы, как я рассказал, могут сыграть.
CC>Вот чем оно проще станет то? В чём там критическая разница? Что, алгебру нынче не преподают, что такое кольцо уже не знают?
Знают. А ты видел в книгах по C++ указание на такое кольцо? Что-то я ни в одном базовом учебнике пока такого не видел.
Да, это не прямой аргумент против собственно принципа реализации. Но как дополнительный — имеет смысл учитывать.
CC>Что неа, только что продемонстрировал когда вот такая вот хрень не сделала вообще ничего проще но сломала так много что желание найти и уеб..ь живо до сих пор, после многих лет.
Здравствуйте, SkyDance, Вы писали:
N>>А что там именно такого ценного? (не работаю над ним, но интересно)
SD>Мне интересны идеи работа его scheduler'а, который, по заявлениям разных блогов, вроде как более эффективен (меньше overhead) чем у, скажем, BEAM.
Они точно меряют оверхед шедулера, а не, например, динамической типизации?
N>>Ну кроме того, что они не повторили основные дебилизмы Erlang?
SD>Это, например, какие? И что в данном контексте означает Erlang? Это же не рантайм, а язык. Или имелся в виду Ericsson'овский BEAM?
А они тут неотделимы. Я про всё тот же single input mailbox, на все жалобы на который от вас кроме как "это у вас руки кривые" ответов нет.