1. Чем идеоматичнее часть, которую вы пишете - тем короче имена переменных, чем "задаче-специфичнее" код, тем длиннее 2. Чем локальнее время жизни переменной - тем короче имя (т.к. один раз прочитав g /* guess */ в течении 5 минут читающий способен это помнить.
Дальше статью читать не стал. Если она настолько поверхностна - не стоит тратить на неё своё время.
Так это ровно как и должно быть для не-киллер фичи языка.
Если у вас есть несколько значимых критериев - обычно на практике означает что у вас есть целый набор парето-оптимальных состояний. И для того, чтобы выбрать "лучшее" из этого набора парето-оптимальных состояний вам надо знать какой из критериев важнее. Обычно для этого надо уметь угадывать будущее, что сложно.
Заметьте - вы не можете сказать "что лучше" {5, 1} или {2, 4} пока вам не скажут что для вас важнее "идеоматичность" или "производительность". А когда стало известно, какой критерий важнее, - выясняется что правильный тип данных нужен вчера!
Это было проще для железа: не нужно хранить лишнюю длину, просто иди по памяти, пока не встретишь ноль.
Это наследие PDP-11 (возможно всей архитектуры PDP). - Там была аппаратная работа с 0-terminated строками. - Ну её и внесли в стандарт С (локально казалось хорошим решением). - Оттуда в С++ (локально казалось хорошим решением).
а зачем вообще - я реально не понимаю проблему (мотивировочную часть).
Есть ссылки. Они куда-то передаются - собственно это должно работать с zero-copy. rhs всегда объявляется const (т.е. даже слишком много реализаций оверлодить не надо).
Проблема с чем? С литералом "world"? Ну да только в С++20 додумалисть сделать ==( const std::string &, const char *).
ну вот ты - медианный B2P программист вчера занимался перекрашиванием кнопочек, чтобы усложнить отписку / выбор выгодного продукта / whatsoever.... для покупателя, и ничего у тебя не ёкнуло. Придумал про одно - придумаешь и про другое. Только в позу на табуреточку не вставай и про этадругин не рассказывай - маркетинг, что американский что российский (а про европейский - китайский даже сравнивать бесполезно) - больше вреда человечеству нанёс чем ВПК в перессчёте на человекочасы.
Вот как раз в "опыте" - LLV даст фору любому человеку.
Это мыслить иерархиями абстракций он не умеет, а запомнить миллион "how to", что разумеется ни одному белковому ни под силу - как здрасьте. Это, разумеется когда руки дойдут до прикладухи и очень дорогой на старте прикладухи - в частности инфобеза.
Я не понимаю, почему при упоминании термина "айтишник" всегда №1 идут программеры ... № 1, нмв, это аналитики и эксперты
Приведу простой пример ("почему в теории" - вам уже объяснили, но вы продолжаете спорить).
Я вот разрабатывал, можно для простоты считать, что компилятор (бэкэнд, для оптимизирующего компилятора), по 2м подходам: - рулят аналитики, программисты делают - каждый сотрудник сочетает в себе программиста и аналитика (не менее 50% программиста).
Так вот первый подход гораздо больше походил на советы совы "станьте мыши ёжиками, а как - сами разберитесь, я о глобальном думаю".
Ну то есть найти, что время позднего неудачно спланировалось или передача данных через кластер (регистров) неверно построилась - дело если не 10 минут, то часа и в общем-то такие issue можно пачками файлить (если понимаешь где искать "в принципе"). Но начиная с какого-то момента - основная проблема это понять почему У НАС, а не в теории, зависимость построилась таким образом, чего будет стоить исправление (линейный алгоритм переделать на квадратичный анализ) и приближённо оценить (скорее всего неправильно) - что оно даст.
Для меня встреча с мат.анализом была праздником духа. Наглядная демонстрация огромной, сложной и в то же время формально строгой теории (безо всяких заметённых под ковёр, как в геометрии, "потому, что гладиолус"). Это было великолепно.
Несколько лет назад мы в течение года замеряли, какую наценку нужно ставить, чтобы после всех комиссий маркетплейса прибыль оставалась хотя бы в том же диапазоне, что и в рознице. Собрали свой кейс, показали крупным дистрибьюторам. Договорились вводить второй уровень цен — специально для маркетплейсов — и рекомендовать его всем дилерам.
Чем отличается бизнесмен от барыги? Бизнесмен смотрит на бизнес (включая оборот). Барыгу грызёт жаба, когда покупатель купил дешевле, а мог бы и побольше заплатить.
Это помогло всей отрасли. Раньше новички выходили на маркетплейсы, ставили обычные розничные цены, а маркетплейс снижал их ещё сильнее. В итоге все теряли — и дистрибьюторы из-за демпинга, и сами продавцы торговали в убыток.
Вы и правда считаете что после таких откровений про кортельный сговор - я как покупатель буду заботиться о "российском бизнесе", а не покупать у того китайца, который предложит лучше по соотношению цена/качество (включая удобство покупки и риски)?
> она играет роль способа доказывать теоремы, механически оперируя кванторами.
Попыток мне известно много. Каких-то содержательных результатов - нет. Так что пока "доказывать содержательные, вне школьного курса, теоремы механически оперируя кванторами" - несбыточные мечтания.
Всегда ε-δ считал более естественным и понятным языком. Стягивание dx к точке должно вызывать стягивание df к точке (примерно как позднее проходят в топологиях) - вот вам и "динамика".
Язык же подпоследовательностей - крайне неинтуитивный (это для док-ва свойства функции в точке мы должны рассмотреть бесконечную подпоследовательность, да ещё и ЛЮБУЮ) и fall-prone. Попробуйте дать студентам доказать ту же Теорема Вейерштрасса о непрерывной на отрезке функции, но для интервала. Угадайте сколько они будут искать ошибку без страхующих формализмов.
Это существенно лучше, чем "я решил 100500 задач на литкоде".
из минусов - смешана 2 разных сущности, не знаю намеренно или нет: - сначала были именно подходы (не очень широко используесые трюки, до которых можно, скажем сидя на олимпиаде не всегда догадаться) - потом перешли к алгоритмам - базовые знания в некоторой области (например BFS / DFS - базовые, начальные алгоритмы для графов).
Ну так проблема в том, что "труд" может выглядеть по-разному:
студента - "читал документацию 10 часов, экспериментировал 5 часов, починил багу 1 час. - с вас 230*16 = 3000 рублей.
синьёра - чинил багу 30 минут, с вас 6000 * 0.5 = 3000 рублей.
В этом смысле "открытый" рынок - где доступ к информации и "минимальным жизненно-необходимым" ресурсам симметричен - решает огромное число проблем, автоматически и в некотором смысле честно, подстраиваясь под текущую ситуацию какова бы она ни была.
Меня бы больше насторожинал непрофильная работа, типа вести твиттер в соглашении. Вот это уже жирный минус
Вы пришли в статью написанную политологом @RationalAnswerПавлом Комаровским о финансах и выкладываете экспертное мнение финансистки Екатерины Шульман (она как финансист, похоже ещё и по неоднозначным юридическим моментам с юристами посоветовалась).
Достаточно ценная информация, если я правильно вас понял, спасибо.
Про имена переменных:
1. Чем идеоматичнее часть, которую вы пишете - тем короче имена переменных, чем "задаче-специфичнее" код, тем длиннее
2. Чем локальнее время жизни переменной - тем короче имя (т.к. один раз прочитав g /* guess */ в течении 5 минут читающий способен это помнить.
Дальше статью читать не стал. Если она настолько поверхностна - не стоит тратить на неё своё время.
Так это ровно как и должно быть для не-киллер фичи языка.
Если у вас есть несколько значимых критериев - обычно на практике означает что у вас есть целый набор парето-оптимальных состояний.
И для того, чтобы выбрать "лучшее" из этого набора парето-оптимальных состояний вам надо знать какой из критериев важнее. Обычно для этого надо уметь угадывать будущее, что сложно.
гипотетический пример:
Заметьте - вы не можете сказать "что лучше" {5, 1} или {2, 4} пока вам не скажут что для вас важнее "идеоматичность" или "производительность".
А когда стало известно, какой критерий важнее, - выясняется что правильный тип данных нужен вчера!
Ну да.
Достаточно же не в 2020 году, а в 2003 / 2011 году написать:
И не пришлось бы переходить на новый тип данных.
Но видимо комитет по стандарту лёгких путей не ищет.
Это наследие PDP-11 (возможно всей архитектуры PDP).
- Там была аппаратная работа с 0-terminated строками.
- Ну её и внесли в стандарт С (локально казалось хорошим решением).
- Оттуда в С++ (локально казалось хорошим решением).
а зачем вообще - я реально не понимаю проблему (мотивировочную часть).
Есть ссылки. Они куда-то передаются - собственно это должно работать с zero-copy.
rhs всегда объявляется const (т.е. даже слишком много реализаций оверлодить не надо).
Проблема с чем? С литералом "world"?
Ну да только в С++20 додумалисть сделать ==( const std::string &, const char *).
А почему при передаче по константной ссылке создаётся новая версия строки s1?
Это заказ аниматора на ДР в детский развлекательный центр.
Минимум 1 час, максимум 6 (как в прайсе) - скидки при заказе в 6 часов нет.
Ну между "зарабатывает больше чем программист" и "прозябает за копейки" - есть довольно много промежуточных состояний.
Одно из них - играет зайчиков за 2500+ рублей/час. Но нужно доехать и переодеться.
Ну я автора прочитал примерно как:
ну вот ты - медианный B2P программист вчера занимался перекрашиванием кнопочек, чтобы усложнить отписку / выбор выгодного продукта / whatsoever.... для покупателя, и ничего у тебя не ёкнуло. Придумал про одно - придумаешь и про другое.
Только в позу на табуреточку не вставай и про этадругин не рассказывай - маркетинг, что американский что российский (а про европейский - китайский даже сравнивать бесполезно) - больше вреда человечеству нанёс чем ВПК в перессчёте на человекочасы.
Вот как раз в "опыте" - LLV даст фору любому человеку.
Это мыслить иерархиями абстракций он не умеет, а запомнить миллион "how to", что разумеется ни одному белковому ни под силу - как здрасьте.
Это, разумеется когда руки дойдут до прикладухи и очень дорогой на старте прикладухи - в частности инфобеза.
Приведу простой пример ("почему в теории" - вам уже объяснили, но вы продолжаете спорить).
Я вот разрабатывал, можно для простоты считать, что компилятор (бэкэнд, для оптимизирующего компилятора), по 2м подходам:
- рулят аналитики, программисты делают
- каждый сотрудник сочетает в себе программиста и аналитика (не менее 50% программиста).
Так вот первый подход гораздо больше походил на советы совы "станьте мыши ёжиками, а как - сами разберитесь, я о глобальном думаю".
Ну то есть найти, что время позднего неудачно спланировалось или передача данных через кластер (регистров) неверно построилась - дело если не 10 минут, то часа и в общем-то такие issue можно пачками файлить (если понимаешь где искать "в принципе").
Но начиная с какого-то момента - основная проблема это понять почему У НАС, а не в теории, зависимость построилась таким образом, чего будет стоить исправление (линейный алгоритм переделать на квадратичный анализ) и приближённо оценить (скорее всего неправильно) - что оно даст.
Заказать "зайчика" на детский спектакль - 5800 рублей час.
При этом при заказе на 6 часов скидки нет.
Ничего так "прозябают".
Даже если половина идёт конторе (в чём я сомневаюсь, думаю около 2/3 идёт исполнителю) - я бы не назвал это прям прозябанием.
Для меня встреча с мат.анализом была праздником духа.
Наглядная демонстрация огромной, сложной и в то же время формально строгой теории (безо всяких заметённых под ковёр, как в геометрии, "потому, что гладиолус").
Это было великолепно.
Чем отличается бизнесмен от барыги?
Бизнесмен смотрит на бизнес (включая оборот). Барыгу грызёт жаба, когда покупатель купил дешевле, а мог бы и побольше заплатить.
Вы и правда считаете что после таких откровений про кортельный сговор - я как покупатель буду заботиться о "российском бизнесе", а не покупать у того китайца, который предложит лучше по соотношению цена/качество (включая удобство покупки и риски)?
Сначала онлайн-магазины в каналах поиска через гугл понаставили маркетинговых уловок, во вред потребителю.
А потом они же удивляются - что потребитель перестал использовать каналы, с маркетинговыми уловками.
Л - логика.
> она играет роль способа доказывать теоремы, механически оперируя кванторами.
Попыток мне известно много. Каких-то содержательных результатов - нет.
Так что пока "доказывать содержательные, вне школьного курса, теоремы механически оперируя кванторами" - несбыточные мечтания.
Всегда ε-δ считал более естественным и понятным языком.
Стягивание dx к точке должно вызывать стягивание df к точке (примерно как позднее проходят в топологиях) - вот вам и "динамика".
Язык же подпоследовательностей - крайне неинтуитивный (это для док-ва свойства функции в точке мы должны рассмотреть бесконечную подпоследовательность, да ещё и ЛЮБУЮ) и fall-prone.
Попробуйте дать студентам доказать ту же Теорема Вейерштрасса о непрерывной на отрезке функции, но для интервала. Угадайте сколько они будут искать ошибку без страхующих формализмов.
Это существенно лучше, чем "я решил 100500 задач на литкоде".
из минусов - смешана 2 разных сущности, не знаю намеренно или нет:
- сначала были именно подходы (не очень широко используесые трюки, до которых можно, скажем сидя на олимпиаде не всегда догадаться)
- потом перешли к алгоритмам - базовые знания в некоторой области (например BFS / DFS - базовые, начальные алгоритмы для графов).
Ну так проблема в том, что "труд" может выглядеть по-разному:
студента - "читал документацию 10 часов, экспериментировал 5 часов, починил багу 1 час. - с вас 230*16 = 3000 рублей.
синьёра - чинил багу 30 минут, с вас 6000 * 0.5 = 3000 рублей.
В этом смысле "открытый" рынок - где доступ к информации и "минимальным жизненно-необходимым" ресурсам симметричен - решает огромное число проблем, автоматически и в некотором смысле честно, подстраиваясь под текущую ситуацию какова бы она ни была.
Меня бы больше насторожинал непрофильная работа, типа вести твиттер в соглашении. Вот это уже жирный минус
Вы пришли в статью написанную политологом @RationalAnswerПавлом Комаровским о финансах и выкладываете экспертное мнение финансистки Екатерины Шульман (она как финансист, похоже ещё и по неоднозначным юридическим моментам с юристами посоветовалась).
Достаточно ценная информация, если я правильно вас понял, спасибо.