И опять: & вместо && сломал Chrome OS
От: Shmj Ниоткуда  
Дата: 25.07.21 08:04
Оценка: 1 (1)
Снова:

  Скрытый текст
https://hsto.org/webt/x-/su/ek/x-suekpkfibsq2k-octay3g1c-i.png


https://habr.com/ru/news/t/569402/

Почему до сих пор едят кактусы, не вычищая иголки?
Отредактировано 25.07.2021 8:04 Shmj . Предыдущая версия .
Re: И опять: & вместо && сломал Chrome OS
От: vsb Казахстан  
Дата: 25.07.21 08:18
Оценка: -4
Я не понимаю, почему С++ не используют and, or вместо этой криптографии.
Re[2]: И опять: & вместо && сломал Chrome OS
От: Shtole  
Дата: 25.07.21 11:58
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Я не понимаю, почему С++ не используют and, or вместо этой криптографии.


А вы для начала вообще понимаете, зачем нужно разделение на & и &&? Без этого нельзя сравнивать с другими языками, где and/or (например, Паскалем и Бейсиком).

(Мой любимый вопрос из списка заподлянских вопросов, кстати. Ответ не так прост, как кажется на первый взгляд. Обычно мычат что-то типа: «Ну, энтот жыж бинарный, а энтот логический...», что, кстати, сразу плохой признак. Приходится уточнять: в каких ситуациях требуется разделение? Блин, теперь из-за этих факаперов хороший вопрос испорчен...)
Do you want to develop an app?
Re[3]: И опять: & вместо && сломал Chrome OS
От: vsb Казахстан  
Дата: 25.07.21 12:26
Оценка: -1
Здравствуйте, Shtole, Вы писали:

S>Здравствуйте, vsb, Вы писали:


vsb>>Я не понимаю, почему С++ не используют and, or вместо этой криптографии.


S>А вы для начала вообще понимаете, зачем нужно разделение на & и &&? Без этого нельзя сравнивать с другими языками, где and/or (например, Паскалем и Бейсиком).


Прекрасно понимаю. & для битов, && для логики.

S>(Мой любимый вопрос из списка заподлянских вопросов, кстати. Ответ не так прост, как кажется на первый взгляд. Обычно мычат что-то типа: «Ну, энтот жыж бинарный, а энтот логический...», что, кстати, сразу плохой признак. Приходится уточнять: в каких ситуациях требуется разделение? Блин, теперь из-за этих факаперов хороший вопрос испорчен...)


Вот чтобы такого заподлянского кода не было, и не нужно усложнять. Если & используется для логики, значит этот код не просто пахнет, а воняет. Про использование && для битов даже писать не буду.

А чтобы не путать & и &&, нужно просто запретить &&/|| и использовать and/or.
Re[4]: И опять: & вместо && сломал Chrome OS
От: Shtole  
Дата: 25.07.21 12:27
Оценка: -1
Здравствуйте, vsb, Вы писали:

vsb>Прекрасно понимаю. & для битов, && для логики.


Это не ответ.
Do you want to develop an app?
Re[5]: И опять: & вместо && сломал Chrome OS
От: Homunculus Россия  
Дата: 25.07.21 12:32
Оценка:
Здравствуйте, Shtole, Вы писали:

S>Здравствуйте, vsb, Вы писали:


vsb>>Прекрасно понимаю. & для битов, && для логики.


S>Это не ответ.


А какой ответ?
Re[6]: И опять: & вместо && сломал Chrome OS
От: Shtole  
Дата: 25.07.21 12:50
Оценка: 1 (1) -10
Здравствуйте, Homunculus, Вы писали:

vsb>>>Прекрасно понимаю. & для битов, && для логики.

S>>Это не ответ.
H>А какой ответ?

Мой ответ: разделение на два разных оператора нужно для того, чтобы указать компилятору, нужно или нет вычислять вторую часть условия, когда из первой уже всё ясно. Это важно, например, для функций с сайд-эффектами, возвращающих bool.

В тех языках, где используются and/or для всего это означает принципиальный отказ от такого способа устранения неоднозначностей. И приходится выкручиваться другими способами. Например, в Паскале, насколько я помню, это решается в контексте, заданном директивой {$B +/-}. То есть, задали {$B +} — будет сгенерирован принудительный вызов, задали {$B -} — не будет. (Прелестно, не правда ли?) Ну, можно ещё принять, что условие всегда выполняется полностью / всегда выполняется по необходимости. Оба этих решения очевидно хуже двух разных операторов. Кстати, в Шарпе, где bool обособлен, разделение на & и && всё же сохраняется, как раз в вышеописанных целях: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/boolean-logical-operators. Выглядит немного искуственно. Ну а в C/C++, где bool в принципе не особо нужен, это изначально изящно объединили с побитовыми вычислениями.
Do you want to develop an app?
Отредактировано 25.07.2021 13:05 Shtole . Предыдущая версия . Еще …
Отредактировано 25.07.2021 12:56 Shtole . Предыдущая версия .
Re[7]: И опять: & вместо && сломал Chrome OS
От: Homunculus Россия  
Дата: 25.07.21 13:03
Оценка: +1
Здравствуйте, Shtole, Вы писали:

Пхх. Ну я, например, знал про это и часто использую, например, в проверке указателя на NULL и сразу же вызове метода по этому указателю. Вот только сомневаюсь что я вспомнил бы про это на собеседовании
Re[8]: И опять: & вместо && сломал Chrome OS
От: Shtole  
Дата: 25.07.21 13:04
Оценка:
Здравствуйте, Homunculus, Вы писали:

H>Пхх. Ну я, например, знал про это и часто использую, например, в проверке указателя на NULL и сразу же вызове метода по этому указателю. Вот только сомневаюсь что я вспомнил бы про это на собеседовании


Потому и заподлянский
Do you want to develop an app?
Re[9]: И опять: & вместо && сломал Chrome OS
От: Homunculus Россия  
Дата: 25.07.21 13:14
Оценка: 1 (1) +1
Здравствуйте, Shtole, Вы писали:

S>Потому и заподлянский


Ну, если цель собеседования — унизить и сотворить западло, то да. Хороший кстати способ, чтоб неадекватный работодатель сам себя отсеял
Re[10]: И опять: & вместо && сломал Chrome OS
От: Shtole  
Дата: 25.07.21 13:19
Оценка:
Здравствуйте, Homunculus, Вы писали:

S>>Потому и заподлянский


H>Ну, если цель собеседования — унизить и сотворить западло, то да. Хороший кстати способ, чтоб неадекватный работодатель сам себя отсеял


Цель может быть любая. Например, посмотреть, как поведёт себя человек, столкнувшись с заподлянским вопросом. Хорошие программисты при этом улыбаются
Do you want to develop an app?
Re[3]: И опять: & вместо && сломал Chrome OS
От: ononim  
Дата: 25.07.21 13:19
Оценка:
S>(Мой любимый вопрос из списка заподлянских вопросов, кстати. Ответ не так прост, как кажется на первый взгляд. Обычно мычат что-то типа: «Ну, энтот жыж бинарный, а энтот логический...», что, кстати, сразу плохой признак. Приходится уточнять: в каких ситуациях требуется разделение? Блин, теперь из-за этих факаперов хороший вопрос испорчен...)
Вообще говоря, компилятор мог бы соизволить выдать варнинг если в битовые операции вовлечен bool.
Как много веселых ребят, и все делают велосипед...
Re[11]: И опять: & вместо && сломал Chrome OS
От: Homunculus Россия  
Дата: 25.07.21 13:21
Оценка:
Здравствуйте, Shtole, Вы писали:

S>Цель может быть любая. Например, посмотреть, как поведёт себя человек, столкнувшись с заподлянским вопросом. Хорошие программисты при этом улыбаются


Да, вызывает улыбку работодатель, которому нужен не человек, решающий задачи, а тот, кто в условиях открытого космоса при нехватке кислорода сможет с завязанными глазами взломать сайт Пентагона. Нафиг-нафиг таких собеседователей
Re[12]: И опять: & вместо && сломал Chrome OS
От: Shtole  
Дата: 25.07.21 13:25
Оценка:
Здравствуйте, Homunculus, Вы писали:

S>>Цель может быть любая. Например, посмотреть, как поведёт себя человек, столкнувшись с заподлянским вопросом. Хорошие программисты при этом улыбаются


H>Да, вызывает улыбку работодатель, которому нужен не человек, решающий задачи, а тот, кто в условиях открытого космоса при нехватке кислорода сможет с завязанными глазами взломать сайт Пентагона. Нафиг-нафиг таких собеседователей


Я правильно понимаю, что вы знание самых фундаментальных основ языка сравниваете со взломом сайта Пентагона в условиях открытого космоса при нехватке кислорода? Ирония.джпг
Do you want to develop an app?
Отредактировано 25.07.2021 13:27 Shtole . Предыдущая версия .
Re[4]: И опять: & вместо && сломал Chrome OS
От: Shtole  
Дата: 25.07.21 13:27
Оценка: +1
Здравствуйте, ononim, Вы писали:

S>>(Мой любимый вопрос из списка заподлянских вопросов, кстати. Ответ не так прост, как кажется на первый взгляд. Обычно мычат что-то типа: «Ну, энтот жыж бинарный, а энтот логический...», что, кстати, сразу плохой признак. Приходится уточнять: в каких ситуациях требуется разделение? Блин, теперь из-за этих факаперов хороший вопрос испорчен...)


O>Вообще говоря, компилятор мог бы соизволить выдать варнинг если в битовые операции вовлечен bool.


Это в Си-то?
Do you want to develop an app?
Re[13]: И опять: & вместо && сломал Chrome OS
От: Homunculus Россия  
Дата: 25.07.21 13:29
Оценка:
Здравствуйте, Shtole, Вы писали:

S>Я правильно понимаю, что вы самые фундаментальные основы языка сравниваете со взломом сайта Пентагона в условиях открытого космоса при нехватке кислорода? Ирония.джпг


Делание выводов о профессионализме человека, основываясь на вспоминании и озвучивании элементарных основ языка в нервной ситуации — это маразм. Помню меня на ТО попросили включить левый и правый поворотник. И я тупанул, вылетело из головы. Хотя делаю это на машинальном уровне на дороге каждый день
Re[14]: И опять: & вместо && сломал Chrome OS
От: Shtole  
Дата: 25.07.21 13:40
Оценка:
Здравствуйте, Homunculus, Вы писали:

S>>Я правильно понимаю, что вы самые фундаментальные основы языка сравниваете со взломом сайта Пентагона в условиях открытого космоса при нехватке кислорода? Ирония.джпг


H>Делание выводов о профессионализме человека, основываясь на вспоминании и озвучивании элементарных основ языка в нервной ситуации — это маразм. Помню меня на ТО попросили включить левый и правый поворотник. И я тупанул, вылетело из головы. Хотя делаю это на машинальном уровне на дороге каждый день


Не только (и не столько) о профессионализме.
Do you want to develop an app?
Re[5]: И опять: & вместо && сломал Chrome OS
От: ononim  
Дата: 25.07.21 14:11
Оценка:
O>>Вообще говоря, компилятор мог бы соизволить выдать варнинг если в битовые операции вовлечен bool.
S>Это в Си-то?
На скрине плюсы.
Как много веселых ребят, и все делают велосипед...
Re[6]: И опять: & вместо && сломал Chrome OS
От: Shtole  
Дата: 25.07.21 14:43
Оценка:
Здравствуйте, ononim, Вы писали:

O>>>Вообще говоря, компилятор мог бы соизволить выдать варнинг если в битовые операции вовлечен bool.

S>>Это в Си-то?
O>На скрине плюсы.

Что-то подсказывает мне, что если бы комитетчики начали бы ломать совместимость на таком глубоком уровне, его бы ещё тогда и закопали. И до нынешних печальных времён он бы просто не дожил. Почему-то все говорят «Си с классами» с презрительной интонацией, а я вот думаю, если посмотрить в TIOBE, где Си, а где плюсы, вполне можно предположить, что пока профит от совместимости перевешивает потери от некоторых не самых удачных нововведений.

Кстати, вот этот код на C# тоже должен выдать варнинг?

bool SecondOperand()
{
    Console.WriteLine("Second operand is evaluated.");
    return true;
}

bool a = false & SecondOperand();
Console.WriteLine(a);

bool b = true & SecondOperand();
Console.WriteLine(b);
Do you want to develop an app?
Отредактировано 25.07.2021 14:44 Shtole . Предыдущая версия .
Re[7]: И опять: & вместо && сломал Chrome OS
От: ononim  
Дата: 25.07.21 14:50
Оценка: +2
O>>>>Вообще говоря, компилятор мог бы соизволить выдать варнинг если в битовые операции вовлечен bool.
S>>>Это в Си-то?
O>>На скрине плюсы.
S>Что-то подсказывает мне, что если бы комитетчики начали бы ломать совместимость на таком глубоком уровне, его бы ещё тогда и закопали.
Варнинг — это не про совместимость. Кроме того, даже с совместимостью, ведь сломали же гораздо часто юзаемые вещи, типа
char *x = malloc(0x1000);
Как много веселых ребят, и все делают велосипед...
Отредактировано 25.07.2021 14:55 ononim . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.