[Перевод] Словарь прошивщика
В нашей отрасли постоянно происходят изменения, новые слова и выражения появляются, чуть ли не каждый день, а значение старых терминов меняется. Вот текущее состояние словаря.
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.