Тишинуша Гамимеря (spamsink) wrote,
Тишинуша Гамимеря
spamsink

Category:

Программистское

В большинстве языков программирования есть понятие целого числа. Во многих из них есть различие между просто целыми числами (со знаком, в диапазоне от минус много до плюс много) и натуральными числами (целыми без знака, в диапазоне от нуля до плюс много, в некоторых языках еще больше, чем то плюс много, которое для обычных целых). В этих некоторых языках для удобства программистов компилятор выдает предупреждение, если кто-то пытается сравнить натуральное число с целым числом со знаком.

В некоторых языках программирования есть понятие контейнера. Это такой черный ящик, в котором лежат вещи. У контейнера обычно можно спросить, сколько вещей в нем лежит, и ответом будет натуральное число, т. е. целое число без знака: ноль или больше.

Вещи обычно можно сравнивать с другими вещами (того же или похожего типа) на предмет, равны (похожи) они или нет. В некоторых языках программирования для удобства программистов сделана функция, которой можно указать на контейнер, на некую вещь, и она сосчитает, сколько в контейнере есть вещей, равных данной (похожих на данную).

Иногда возникает необходимость выяснить, все ли вещи в контейнере одинаковые/похожие. Для этого логично сравнить количество вещей в контейнере с количеством вещей, равных/похожих на первую из них.

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

Сколько человеко-лет было убито на разбирательства, почему это так - бог весть; я не удивлюсь, если это суммарное время окажется больше, чем суммарный возраст всех членов комитета по стандартизации этого языка.



Если они штатские такие умные, почему не придумали iterator trait для абсолютного значения разницы между двумя итераторами? Суки злобные.
Subscribe

  • История с хорошим концом

    Очень схематично, потому что большую простыню лень печатать. В июле 2022 года я купил билеты у Сингапурских авиалиний (далее СА), включающие рейс…

  • Узнал новый термин

    В течение нескольких последних месяцев с завидной регулярностью мне приходили СМС или сообщения в телеграме (но ни в каких-либо других мессенджерах)…

  • Сам себе подарок не сделаешь - без подарка останешься

    Через 30+ лет жизни в Калифорнии я узнал о существовании растения " Бирсонима толстолистная", на котором растут фрукты с забавным вкусом, называемые…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 44 comments

  • История с хорошим концом

    Очень схематично, потому что большую простыню лень печатать. В июле 2022 года я купил билеты у Сингапурских авиалиний (далее СА), включающие рейс…

  • Узнал новый термин

    В течение нескольких последних месяцев с завидной регулярностью мне приходили СМС или сообщения в телеграме (но ни в каких-либо других мессенджерах)…

  • Сам себе подарок не сделаешь - без подарка останешься

    Через 30+ лет жизни в Калифорнии я узнал о существовании растения " Бирсонима толстолистная", на котором растут фрукты с забавным вкусом, называемые…