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

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

Agile. В качестве реакции на Big Up-Front Design сторонники Agile утверждают, что ничего не известно и не будет известно до тех пор, пока не будет одобрено клиентом, и поэтому вам лучше начать программировать прямо сейчас.

Алгоритм – решение проблемы, придуманное Элом Гором. (Примечание переводчика ПП: видимо, тут имеет место "непереводимая игра слов с использованием местных идиоматических выражений").

Assembler. Единственный компьютерный язык, не ограничивающий программиста в самовыражении. Ассемблер был изобретен Рузвельтом во время Великой депрессии с целью трудоустройства избыточной рабочей силы.

Big Up Front Design — традиционный подход к созданию программ. Он опирается на твердые предположения о том, что заказчик действительно знает, чего хочет, ясно и полно выразил свои желания и идеи в спецификации и что они никогда не будут меняться.

Бит-бэнгинг — злоупотребляющая техника программирования, которая "залечила" миллионы битов.

Внесение ошибок — часть программирования, которая включает в себя спецификацию, проектирование и кодирование, но заканчивается до начала какого-либо тестирования. В первую очередь состоит из внесение дефектов в код. См. Отладка.

C — язык программирования, синтаксис которого настолько свободен, что большинство компиляторов C с радостью примут телефонный справочник как синтаксически правильный код.

C++ — объектно-ориентированный язык программирования, о котором заботится специальный постоянный комитет, главной целью которого является добавление такого количества запутанных функций, что ни один человек не понимал всех его нюансов.

COBOL — единственный язык программирования, который будет существовать и в 10 000 году нашей эры. См. 8051.

Умный код. «Отладка в два раза сложнее, чем написание кода. Поэтому, если вы пишете код настолько умно, насколько это возможно, вы по определению недостаточно умны, чтобы его отлаживать». (Брайан В. Керниган)

Контракт «Затраты плюс» — возможность никогда не говорить «нет» на запрос заказчика, никогда не выполнять его запрос и иметь огромное количество людей в платежных ведомостях до тех пор, пока кто-нибудь в Конгрессе (в каком-то другом избирательном округе) не заметит происходящее. (ПП: в наших условиях - до катастрофы с человеческими жертвами)

Отладка — удаление дефектов, внесенных во время внесения ошибок.

Встроенная система – кто знает? Когда-то встроенная система означала 8051. Теперь она включают в себя PowerPC и Pentium, и работает под настольными операционными системами, такими, как Linux и Windows. Возможно, встроенная система — это что-нибудь с компьютером, но не PC или Mac. За исключением того, что в нtей обычно встроено много процессоров.

Инженер – человек, умеющий решать проблемы. Если проблем нет, инженер быстро создаст несколько.

Оценка — составление графика, который, если производительность разработчиков утроится и электроны смогут двигаться быстрее скорости света, приведет к завершению проекта. См. Ясновидение.

Прошивка — продукт компании Pfizer, выпускаемый в виде маленьких синих таблеток.

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

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

Forth - старый язык, приверженцы которого однажды прислали мне 20 000 электронных писем, когда я пошутил над ним. Ах, так что, э-э, Форт - самый популярный в мире компьютерный язык и идеально подходит для широкого спектра приложений, включая все из них.

Free() — устарело; неиспользованный. См. malloc().

Глюк - аномалия в вашей программе. В чужой программе это называется «ошибкой».

Хакерство — искусство разработки программного обеспечения, которому учат во многих университетах.

Жесткое ядро — микропроцессор, встроенный в фиксированные ячейки программируемого устройства, такого как FPGA. Вы ожидали какого-то другого определения?

Жесткий режим реального времени — приговор, вынесенный в результате тяжкого преступления.

Int — тип данных, содержит биты в количестве, меняющемся в зависимости от процессора, компилятора и направления ветра.

Ядро — важный ингредиент продуктов Taco Bell, потребляемый разработчиками по всему миру.

Linux — золотое дитя операционных систем. Ответ на главный вопрос жизни, вселенной и всего такого. Превосходнейший пример совершенства. Без вины виноватый. Поддерживается группой преданных верующих, чья основная задача — уничтожить все положительные упоминания о той другой операционной системе, которая была порождена дьяволом, продается его злыми приспешниками и используется только невежественными новичками, любящими графический интерфейс. См. ни при каких обстоятельствах не смотреть Windows.

Long — тип данных, который в большинстве случаев намного больше, чем int, но определенно меньше, чем хлебница.

Malloc() — функция библиотеки C, используемая для медленного потребления всей оперативной памяти системы. Иногда не используется во встроенных системах, чтобы избежать утечки памяти. Хотя malloc() возвращает код ошибки, большинство программистов знают, что их код идеален и поэтому никогда не проверяют его. Приложения Windows защищены от утечек памяти, поскольку программисты могут рассчитывать на регулярные сбои, которые автоматически освобождают ранее выделенную оперативную память.

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

Microsoft Project — широко используемое приложение, создающее изысканно детализированные красочные диаграммы PERT и GANTT, которые никто не читает и в которые никто не верит.

MISRA C — набор правил, призванных подавить творческую свободу любящих повеселиться разработчиков C во всем мире.

Многоядерный процессор – закон Мура доведен до предела. Устройство, которым никто не умеет пользоваться и для которого не существует инструментов.

ООП — аббревиатура от «возмутительно запутанного программирования». См. Процедурное программирование.

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

Рекурсия — см. Рекурсия.

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

Расписание — см. Ложь, Лживость, Обман, Искажение, Фантазия, Мошенничество и Обман.

Безопасность - Искусство ^H^H%6*((((переполнение буфера НАГРАЖДЕНИЕ!!! МЕЖДУНАРОДНЫЙ ОТДЕЛ ПО ПРОДВИЖЕНИЮ ИНФОРМИРОВАННОСТИ ЖЕЛАЕТ ПОЗДРАВИТЬ ВАШЕГО ПРЕВОСХОДСТВА С УДАЧЕЙ ВЫИГРАТЬ 1 200 000 ДОЛЛАРОВ (ОДИН МИЛЛИОН ДВЕСТИ ТЫСЯЧ). ПОЖАЛУЙСТА, ПЕРЕШЛИТЕ НАМ ПОДРОБНОСТИ. СРОЧНО.

Программное ядро - См. Прошивка.

Soft Real-time — событие, которое на самом деле не обязательно должно быть выполнено в течение определенного периода времени, но все равно требует довольно быстрой обработки. Своевременной.Ну типа, не заставляйте пользователя ждать слишком долго. Таким образом, Linux, да будет благословенно его имя, обеспечивает мягкую систему реального времени, а Windows — нет. Понятно? (ПП: мне -нет).

Синтаксическая ошибка — абсурдное поведение компилятора, когда он сталкивается с почти законным кодом C, который отлично работал на языке Manx C версии 0.9 в начале 80-х.

SystemC — технология, которая позволяет разработчикам оборудования использовать все пороки разработки программного обеспечения.

UML — аббревиатура от Unified Modeling Language, техника создания красивых картинок, которые никто не понимает.

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

Сторожевой таймер — аппаратное и программное обеспечение, используемое для перезагрузки сбойного кода. Не используется разработчиками, которые считают свой код идеальным (см. «Бредовые»).

Windows – золотое дитя операционных систем. Ответ на главный вопрос жизни, вселенной и всего такого. Превосходнейший пример совершенства. Без вины виноватый. Поддерживается группой преданных верующих, чья основная задача состоит в том, чтобы уничтожить все положительные упоминания о той другой операционной системе, которая была порождена дьяволом, продвигалась его злыми приспешниками и использовалась только невежественными новичками, читающими Slashdot. См. ни при каких обстоятельствах не смотрите Linux.

2000 год – Первый конец света. Следите за обновлениями для Unix в 2038 году.

8051 — Универсальная архитектура микроконтроллера, которая устарела через несколько минут после ее появления. В 10 000 году нашей эры кто-то где-то напишет код для 8051. Вероятно, на COBOL.

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


  1. lorc
    09.04.2024 14:55
    +5

    Bit banging - An abusive programming technique that has sent millions of bits into therapy.

    "therapy" тут - это психотерапия. Вы кажется пропустили всю шутку. "Bit banging", "gang banging"... не?

    Bugging - The part of programming that includes specification, design and coding, but that ends before any sort of testing starts. Primarily involves seeding defects into the code. See Debugging.

    Как вы умудрились перевести "bugging" как "исправление ошибок"? Это ж "внесение ошибок". Но даже так, вся игра слов с debuggin/bugging теряется. Ну и соответственно вы совершенно запороли следующую шутку:

    Отладка — удаление дефектов, внесенных во время отладки.

    WTF?

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


    1. GarryC Автор
      09.04.2024 14:55

      Насчет "bugging" спасибо большое, не сразу дошло, исправил.

      А вот насчет "Bit banging" - совершенно очевидно, что шутки я не понял, даже после Вашего пояснения, видимо, тут тонкие ассоциации, доступные только при бОльшем погружении в язык.


      1. lorc
        09.04.2024 14:55
        +1

        Ага, а еще приколы с hard core и soft core тоже явно прошли мимо вас... В общем да, переводить такие тексты сложно. Это же текст, который маскируется под технический, но при этом техническим не является.


      1. Old_paranoid
        09.04.2024 14:55
        +2

        ИМХО Bit Banging / Gang Banging - лучше пересказать как "Групповое программирование - порочное занятие, приведшее миллионы невинных программистов к психотерапевту"

        "gangbang" - "групповуха"

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


        1. GarryC Автор
          09.04.2024 14:55
          +1

          Да Вы что, какие обиды, я не настоящий сварщик ...

          А вот с термином "bit banging" странно как то получается - почему переход к програмной реализации протокола обозначен именно этим термином, имеющий такой переносный смысл, не очень понятно. Или это намек на дальнейшие трудности в оперировании конкретным битом при помощи программы в стиле "А по настоящему хотите?"


          1. lorc
            09.04.2024 14:55
            +1

            Потому что смысл слова bang сильно зависит от контекста. Best bang for your buck - очень выгодное предложение, gangbang - груповуха, bang it with a hammer - постучи по нему молотком. Bang-bang - звукоподражание стрельбе.


          1. Old_paranoid
            09.04.2024 14:55

            Скорее, это намек на "готов / готова с кем угодно" в том смысле что протокол может под любого контрагента подстроиться.

            Но, как тут уже написали, это не технический текст, а шуточный, поэтому переводить по смыслу смысла нет (простите за игру слов). Скорее надо брать идею фразы и свое придумывать, близкое по настроению.


            1. lorc
              09.04.2024 14:55

              Второе название bit banging - это bit bashing.

              И to bang, to bash - имеют общий смысл "ударять со всей силы". Так что я бы скорее предположил что семантика bit banging - это типа как ударами молотком можно заставить железяку принять любую форму, так с помощью bit banging можно заставить GPIO работать как другой протокол.

              Но на самом деле пытаться понять логику хакеров 1960-х - это еще та задачка. Jargon File например ничего не говорит про этимологию этого выражения.


  1. iqp
    09.04.2024 14:55
    +1

    Assembler. Единственный компьютерный язык...

    В оригинале Assembly language