Пожалуй, нет на свете ни одного другого праздника, который менял бы собственную дату столь же часто, как этот. Сегодня мы отмечаем День программиста — профессиональный праздник всех тех специалистов, без которых любое компьютерное «железо» навсегда останется мертвым и безжизненным. Хотя стоп! Почему именно сегодня?

Долгое время программисты попросту не имели своего профессионального дня и отмечали те праздники, которые хоть как-то были связаны с их работой. Так, еще несколько десятилетий назад они собирались на 14 февраля, но вовсе не ради того, чтобы поздравить с Днем Всех Влюбленных своих вторых половинок. Именно 14 февраля 1946 года в США была создана вычислительная машина общего назначения ENIAC, подходящая для решения самых разных задач.

На этом 30-тонном агрегате рассчитывали прогноз погоды, получали значения чисел π и e с точностью до 2000 знаков после запятой, решали проблему обтекания воздухом крыла самолета – все это делалось в перерывах между бесконечной сменой перегоревших ламп и перфокарт. Тем не менее, для того времени машина оказалась весьма полезной, а ее нерасторопность лишь подстегнула инженеров продолжить разработки. Примечательно также, что команда первых программистов ENIAC состояла исключительно из представительниц прекрасного пола: программистами-операторами компьютера были Джин Бартик, Бетти Холбертон, Кей Антонелли, Марлин Мельцер, Френсис Спенс и Рут Тейтельбаум.



Еще одной датой неофициального праздника было 10 декабря, так как в этот день родилась Ада Лавлейс, первая женщина-программист в мире. Ее отцом был известный поэт Байрон, и мать девочки, боясь, что она пойдет по стопам отца, заставила ее учиться на математика. Ада прожила всего 36 лет, но внесла неоценимый вклад в историю программирования. В 1980 году по решению Министра обороны США ее именем был назван язык программирования для встроенных систем ADA. С популярностью ему повезло несколько больше, чем нашему ответу на него – языку РАЯ, который так и остался на страницах учебников информатики 90-х годов.



Следующим днем, который программисты пытались сделать праздничным, был 19 июля. Он также связан с Адой Лавлейс, а именно, с созданием ею первой в мире программы для аналитической машины, придуманной ее другом математиком Чарлзом Бэббиджем. Всего для этой машины она разработала 3 программы, которые могли похвастаться необычайной точностью, а также составила описание ее устройства и принципов работы, исправив при этом ошибку самого Бэббиджа. Также именно Ада Лавлейс открыла изобретателю глаза на то, что его машина способна работать не только с числами, но и выполнять более широкий диапазон расчетов, что делает ее отличной от арифмометра. Однако британское правительство не стало финансировать дальнейшее усовершенствование машины, хотя принято считать, что именно Бэббидж заложил теоретические основы современных программируемых компьютеров.

Последующие даты празднования Дня программиста, 4 апреля и 22 апреля, к истории никакого отношения не имели, а были выбраны исключительно из-за цифрового совпадения: в честь ошибки 404 и кода 220400, которым ранее обозначалась специальность «Программное обеспечение вычислительной техники и автоматизированных систем». Кстати, в актуальной классификации данная специальность обозначается кодом 230105.65 – означает ли это, что программисты могут отмечать свой профессиональный праздник еще и 23 января?



В конце концов отмечать все эти праздничные даты программисты, видимо, устали, и решились на отчаянный шаг: обратились в Администрацию Президента с целью признания праздника на государственном уровне. Инициаторами выступили сотрудники веб-студии «Параллельные технологии» Михаил Червяков и Валентин Балт. В успех дела они верили слабо, но собрали подписи в его поддержку и назначили дату – 13 сентября (или 12 сентября, если год високосный). Причина, по которой был выбран именно этот день, вполне очевидна — но только для айтишников. По задумке Червякова и Балта, праздничным считается 256-й день года, поскольку именно такое количество чисел можно выразить при помощи 8-разрядного байта.

И вот через 7 лет, 24 июля 2009 года, вышел проект указа об официальном признании Дня программиста, а 11 сентября того же года его подписал находившийся в то время на посту Президента РФ Дмитрий Медведев. Сейчас праздник имеет международный формат, и 13 сентября отмечается во всех странах мира, кроме Китая. Там предпочтение отдали другой дате – 24 октября, символизирующей число 1024 или 2 в 10 степени.

Интересный факт
Самым молодым программистом в мире был признан 6-летний Архам Ом Талсания из Индии. Ученик 2-го класса успешно сдал экзамен по Python, на изучение которого у взрослого человека уходят годы. По словам мальчика, писать код научил его отец, сам работающий с этим языком программирования. За свое достижение Архам Ом Талсания был занесен в Книгу Рекордов Гиннеса.




Пользуясь случаем, хотим искренне поздравить всех программистов с их официальным праздником и пожелать безглючного кода, легкой отладки, интересных проектов и гигабайтов вдохновения! С Днем программиста, друзья!

Комментарии (68)


  1. Bedal
    13.09.2022 08:52
    +2

    как и всякий другой официоз, вызывает только скуку. Да и… какая доля процента современных программистов умеет в шестнадцатиричную систему? Не процентов даже, а его долей — сколько? Навскидку, 0x1a+0x2b — сколько будет? Ото ж…


    1. acesn
      13.09.2022 09:24
      +6

      0x45)


      1. Bedal
        13.09.2022 09:31
        +1

        C праздником! :-)


        1. snaiper04ek
          13.09.2022 14:08

          Как-то вы слишком предвзято относитесь к программистам, я вот всё ещё whanna be programmist (эникейщик с пайтоном), и тоже правильно посчитал в уме. Лучше устроить опрос где-нибудь, и узнать сколько процентов отвечает корректно


          1. Bedal
            13.09.2022 14:41

            Как-то вы слишком предвзято относитесь к программистам
            Больше сорока лет программирую, насмотрелся.
            (эникейщик с пайтоном), и тоже правильно посчитал в уме
            Вот потому и посчитали, на энтузиазме. Трушным программерам это просто не нужно.
            Лучше устроить опрос где-нибудь
            Устраивал. Личные. 1а+2b с ходу только пара человек посчитала.


    1. sYB-Tyumen
      13.09.2022 09:27
      +3

      Наверное, те, кто работает с Embedded и всякими GPIO ещё помнят. Я вот не программист, а сисадмин, но посчитать смог. А вот перевести из десятичной обратно в шестнадцатеричную быстро в уме уже никак.
      P.S. а догадаться, что можно было сразу считать в HEX, догадался только когда комментарий писал. В голове проще считать по привычке, в DEC.


      1. mctMaks
        13.09.2022 09:58

        в Embedded чаще всего приходиться делать hex to bin и обратно. Складывать там даже проще, меньше в уме держать))


        1. shoorick
          13.09.2022 11:39

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


      1. Sequoza
        13.09.2022 10:48
        +1

        Если не секрет, как вы в уме посчитали a+b без перевода?


        1. sYB-Tyumen
          13.09.2022 10:57
          +1

          В конкретно моём случае это бы не получилось. Но результат было бы гораздо легче перевести в HEX в уме, чем результат целого примера.
          Тут тренировка решает. Когда я баловался пиксельным рисованием на спектруме, я отлично помнил не только степени двойки до 65536 но и очень много вариантов их сумм, что позже помогло лучше дружить с масками подсетей.


        1. 0x9d8e
          13.09.2022 11:00

          По сути на память. Вы же не на пальцах 7+3 складываете, а сразу помните что это 10?


        1. mctMaks
          13.09.2022 11:15
          +1

          я например так считал: a+b = b+a = c+9 = d + 8 = ... = 10 + 5 = 15

          медленно, зато без вычитания 16.


          1. ivanrt
            13.09.2022 12:15

            1010+1011 Единичка ушла в старший байт, 101 осталось.


        1. WQS100
          13.09.2022 12:58

          Там же вроде универсальная формула, если не ошибаюсь, — z = (x + y) MOD base, и если x + y > base, то к следующей паре цифр из числа добавляется 1


        1. snaiper04ek
          13.09.2022 14:17

          можно посчитать что угодно в любой системе, никуда не переводя, хоть в 60-ти ричной.

          0x1+0x2 = 0x3

          0x0a+0x0b - это выход за рамки разряда, в 0x3 докидываем 0x1, будет 0x4

          осталось вычислить остаток

          a не хватает 6 до переполнения разряда, из b нужно вычесть 6 и записать в ответ

          b это 11, 11 - 6 = 5, ответ: 0x4 + 0x05 = 0x45

          да, для выполнения операций в рамках разряда нужно прикидвать известо что к носу, чтобы иметь возможность посчитать, но в целом всё считается в рамках системы. С 13-ти ричной, 7-ми ричной, 34-ричной системой был бы такой же алгоритм.


    1. SerjioValentes
      13.09.2022 09:36
      +2

      Мало кто умеет, но много кто отмечает:)


      1. Bedal
        13.09.2022 10:02

        угу, и больше всех отмечают те, кто вообще не понимает, о чём речь :-/


    1. Moroshka
      13.09.2022 09:36
      +8

      А доля тех кто перфоркартами умеет пользоваться совсем стремится к нулю. Ото ж…


      1. geher
        13.09.2022 11:08

        Эх, молодость, молодость. Когда-то умел читать перфокарты по дырочкам (наш перфоратор текст вверху карты не пропечатывал, как у некоторых).


    1. BlaGodGive
      13.09.2022 09:37

      Да многие умеют, просто не так востребовано это. А на вскидку получится рак.


      1. Ratenti
        13.09.2022 10:50

        Какой рак?


    1. Savevur
      13.09.2022 09:51
      +4

      IDDQD


      1. Jorell
        13.09.2022 10:16
        +2

        idkfa


        1. megusius
          13.09.2022 10:50

          и в ад!


        1. Fafhrd
          13.09.2022 12:24
          +1

          IDSPISPOPD


          1. mSnus
            14.09.2022 12:34

            ух, не я один это помню.. новички довольствовались IDCLIP!


            1. Fafhrd
              14.09.2022 12:37

              Я как раз IDCLIP никогда не помнил, что первое узнал, то и применял =)


      1. DrGluck07
        13.09.2022 12:39
        +2

        J3QQ4…


    1. dv0rk
      13.09.2022 09:51
      +7

      душнила.

      P.S. Если кто пользуется - тот умеет сходу. Кому внезапно понадобится - вспомнит без труда, ибо сложного там ничего. Мы в универе переводили. Больше не пользовался нигде.


    1. Dolios
      13.09.2022 10:23

      Да и… какая доля процента современных программистов умеет в шестнадцатиричную систему?

      Этому учат на 1-2 курсе на любой "айтишной" специальности. Все, кто окончил вуз?


      1. Bedal
        13.09.2022 12:36
        +1

        Как школьная тригонометрия 99.999% граждан ни разу в жизни не требуется, так и эти базовые знания давно уже повыветрились в головах программеров. Заодно с тригонометрией, кстати.


        1. Dolios
          13.09.2022 12:42

          Двоичное и шестнадцатеричное исчисление для программиста, это не тригонорметрия, это как умножение/деление в уме. У вас же не выветрилось как 42 * 37 без калькулятора?


          1. Bedal
            13.09.2022 12:52

            У меня и восьмерично-десятеричная система М-220 ещё не вся выветрилась. Это не отменяет того факта, что подавляющему большинству программистов умение или хотя бы понимание hex-ов не требуется. Как, кстати, и тригонометрия со всей математикой, за исключением арифметики бытового уровня.
            Кстати, 1554. Или Вы про Е2Е? :-)


        1. Jian
          13.09.2022 13:35
          +1

          школьная тригонометрия 99.999% граждан ни разу в жизни не требуется

          Редко требуются только сложные вычисления, а знания того
          что такое синус и что такое косинус
          image
          требуются не только тем кто графикой занимаются, но и тем кто что-то мастерит руками, от чего имеет дело с треугольниками и углами.


        1. 0xd34df00d
          13.09.2022 17:02
          +1

          Базовые знания… Правила вывода в CoC напишете без гугла?


        1. alevlako
          13.09.2022 18:38

          Как раз сейчас пишу программу, в которой основная идея состоит в переводе декартовых координат в полярные. Последний месяц столько тригонометрии через мозг прошло! Радуюсь: наконец-то пригодилось сполна )


      1. ivanich41
        13.09.2022 15:09

        На самом деле даже в 10-11 классе вполне учат. Я считаю пример нерепрезентативным, потому что фронтендерам например вообще Hex не упёрся и что теперь они не программисты теперь?


        1. Dolios
          13.09.2022 15:17

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


          1. 0x9d8e
            13.09.2022 16:13

            Фронтендеры обычно на битовые маски и шестнадцатеричные числа выражают крайнюю степень недоумения, а иногда и возмущения. Приходится такие простые вещи только ради фронтового апи усложнять (представляя каждый бит отдельным булевым полем). И да, то что 0xff === 255 им тоже взрывает мозг. Хотя это валидный js.


            1. Dolios
              13.09.2022 16:17

              Я фронтендер и в корне не согласен с написанным :)


              1. 0x9d8e
                13.09.2022 16:33

                Что очень радует)


                1. Dolios
                  14.09.2022 10:03

                  Кстати, у фронтендеров все цвета в css в hex, так что, очень удивительные вещи вы говорите.


                  1. 0x9d8e
                    14.09.2022 10:52

                    Да, сам фуллстеком был. Однако недавний пример: в документации описал цвета в hex и отдал интом, а фронт в json увидел их таки в dec виде и не успокоился, пока я и в документации на dec не переделал (и то ему больше хотелось hex-строку вида "color": "#ff0000"). Предложение вбить в консоль console.log(0xff0000 === 16711680); было принято за издевательство и хак. Очень много во фронте народу, кто знает фреймворк, а информатику нет (да и язык часто не особо).


                    1. Cerberuser
                      15.09.2022 12:18

                      Очень много во фронте народу, кто знает фреймворк, а информатику нет (да и язык часто не особо).

                      Ну почему же только во фронте...


        1. 0xd34df00d
          13.09.2022 17:04
          +1

          Почему только фронтендеры? Я писал всякие там тайпчекеры и прочее подобное, и там не то что битовые операции, там даже числа не нужны кроме как в единичной системе счисления (как в детском саду, со счетными палочками).


    1. DrGluck07
      13.09.2022 12:36

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


    1. mSnus
      14.09.2022 12:33
      +1

      Очевидно, 0x1a0x2b! /s


  1. ggo
    13.09.2022 09:14
    +8

    stackoverflow detected


    1. pda0
      13.09.2022 09:42
      +4

      Вся надежда, что компилятор хвостовую рекурсию оптимизирует за криворучкой… :)


    1. SuperTEHb
      13.09.2022 11:57

      Так и задумано: работа через некоторое время прерывается.


  1. WoWSab
    13.09.2022 09:39
    +2

    Спасибо за экскурс в историю. Кстати за Китай не знал сей интересный факт.


  1. Alex_QA_Tests
    13.09.2022 09:48
    +1

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


    1. shoorick
      13.09.2022 11:45

      В шестнадцатеричной не считаю, но в двоичной — вполне. Когда что-то надо посчитать, загибаю пальцы в двоичной системе — одной руки таким образом хватает, чтоб сосчитать от 0 до 31, двух — в теории до 1023, на практике — где-то до 80 доходил.


      1. snaiper04ek
        13.09.2022 14:26

        жиза. Кстати, недавно раздуплился, и понял как по загнутым пальцам быстро считать число, даже если оно уже 512+, просто номер пальца это степень двойки, если палец загнутый(0) - пропускаю, если оттопырен(1) докидываю число в сумму: первая рука 1, 2, 4, 8, 16 - вторая рука 32, 64, 128, 256, 512


      1. mSnus
        14.09.2022 12:36

        пальцы отлично работают в троичной системе


    1. fireSparrow
      13.09.2022 12:29

      Гет/пост запросы голубями отправляют.

      ru.wikipedia.org/wiki/IP_посредством_почтовых_голубей


    1. bahuser1
      13.09.2022 15:09

      Ну мне и в восьмеричной считать приходилось...

      А в Японии до сих пор некоторые государственные документы на 3х-дюймовых дискетах возят.


  1. p0isk
    13.09.2022 10:02
    +6

    Кстати, в актуальной классификации данная специальность обозначается кодом 230105.65 – означает ли это, что программисты могут отмечать свой профессиональный праздник еще и 23 января?

    Да, в 5:65 утра


    1. dikey_0ficial
      13.09.2022 10:18
      -1

      тогда, скорее, в 6:05


      1. mctMaks
        13.09.2022 10:21

        это шестнадцатиричные часы просто


        1. Bedal
          13.09.2022 12:39

          тогда в 6:41


  1. RumataEstora
    13.09.2022 10:21
    +5

    На кдпв переполнение стека будет.


    1. ssj100
      13.09.2022 10:55
      +1

      А вы думаете программисты работают вечно


    1. 0x9d8e
      13.09.2022 11:05
      +1

      Переполнение стека это когда теломеры закончились


    1. Jorell
      13.09.2022 12:36
      +1

      То есть не хватает shithouse(); или empty(); ?

      Многие добавили бы beer(); , ну и соответствующие работы над ошибками))


  1. fireSparrow
    13.09.2022 12:25
    +2

    экзамен по Python, на изучение которого у взрослого человека уходят годы

    Там какой-то особо сложный экзамен? Так то питон можно не особо торопясь за несколько месяцев освоить.


  1. halfworld
    13.09.2022 13:41

    перегоревших ламп и перфокарт

    ни разу не менял перегоревшие перфокарты (правда, у нас были ЕС ЭВМ, на микросхемах).


  1. Geenwor
    13.09.2022 15:18

    А где сервер за 6 рублей из рекламной плашки в конце?