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

Постановка задачи сама по себе очень интересна. Бинарный поиск по сути — это задача, которую современный программист не решает в силу того, что она решена. Точно так же, как математик для решения квадратного уравнения не доказывает каждый раз теорему Виета, физик не выводит уравнения Максвелла, а биолог не проводит эксперимент по скрещиванию Менделя.

Конечно, иногда возникает необходимость. Хотя, нет, даже не так. Иногда при определенном стечении обстоятельств может внезапно возникнуть необходимость. Точно так же у водителя может возникнуть необходимость уворачиваться от летящей в лоб машины на скользкой дороге в тот момент, когда справа находится группа пешеходов, а чуть левее разлеглась священная белая корова. Хочу заметить, что вероятность последнего события в разы выше, чем вероятность у среднестатистического программиста иметь необходимость написать бинарный поиск (даже с учетом священной коровы). Тем не менее.

Тем не менее, мы видим перед собой то, что видим. А видим мы, как люди всеми силами пытаются войти в вожделенные 10%, причем даже не задумываются — 10% кого? Умнейших людей на планете? Сомнительно — задача довольно примитивная, даже с учетом тех «подводных камней», которые поджидают неофита (и устраняются после первого тестового прогона на экстремальных данных). Более того — решенная. Зазубри решение — и ты будешь принадлежать к 10%, только так и не выяснив, к какой группе они относятся?

А эти 10%, к слову, собирают в себе довольно разношерстную публику. От бородатых коболистов, застрявших в тех временах, когда все базовые алгоритмы нужно было писать с нуля, до студентов-отличников, решивших данную задачу 45 раз подряд (для себя и всего своего потока). Можно ли гордится таким соседством? Можно, конечно, кто ж тебе запретит-то?

Кстати, только 0,1% населения планеты способны съесть собственные экскременты без чувства тошноты. Это я тонко намекаю, если что. Цифра гораздо элитнее — примерно в 100 раз. Пробовать будете?

Share →

6 Responses to Только 10%

  1. CMETAHA says:

    А может ли программист, не способный с первого раза написать бинарный поиск, называться хорошим программистом? Точно также, может ли считаться хорошим математик, не способный с первого раза доказать теорему Виета?

    • bober_maniac says:

      Смотря что определять под хорошим программистом.

      Если хороший программист — это тот, кто с первого раза без тестирования пишет бинарный поиск, то нет — не может.

      Если хороший программит — это что-то другое, то почему бы и нет?

      • CMETAHA says:

        Ну хороший программист – человек способный решать сложные задачи за максимально короткий срок. Чем короче срок и чем сложнее задачи – тем выше уровень программиста. Я так считаю.

        А задача бинарного поиска классический пример совершенно примитивного алгоритма с небольшими подводными камнями. И если человек не может решить эту проблему сразу и без отлова багов. Как такой человек тогда пишет более сложный код? Сколько времени тратит на тесты?

        Мне кажется пример с поиском хорошо показывает “возвышанные” мысли современных программистов. Распыляют внимание на все те супер сложные задачи которые они решают, а о тонкостях и нюансах совершенно забывают.

        • bober_maniac says:

          Это только в том случае, если ты знаешь, что такое бинарный поиск. То есть знаешь определение. Я определение, например, не знаю. С поисками проблема в том, что даже малейшее изменение определения — и ты получаешь совершенно новый поиск. Если мне надо — я посмотрю в википедии. И, может быть, даже реализую его с нуля без ошибки. Но скорее всего не смогу, особенно в стрессовой ситуации, например, при собеседовании.

          Я допускаю, что я плохой программист, но, скорее всего, дело не в этом, а в том, что задача «написать с нуля бинарный поиск» перед современным программистом не встает никогда.

          Вопрос не в том, напишет или не напишет. Хороший программист рано или поздно напишет правильно этот бинарный поиск. Но задача «написать с первого раза бинарный поиск без тестирования» — это уже совсем другая задача.

          • CMETAHA says:

            Ну стрессовые ситуации это отдельный разговор.

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

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

  2. Игорь says:

    Ошибся в подсчётах на счёт поедания экскрементов. Ведь далеко не каждый человек на земле является программистом. Я уж не знаю сколько программистов на нашей планете, но мне кажется, что 10% программистов меньше шести миллионов, или сколько сейчас население планеты.

Leave a Reply

Войти с помощью: 

Your email address will not be published. Required fields are marked *

PageLines