Освоить программирование в 2015 году можно, не зная ни слова по-английски. Множество книг, переведенных на русский язык, и базовые навыки использования Google помогут начать писать код, создавать простые проекты и даже выполнять примитивные задачи для русскоязычных заказчиков. А что дальше?
Все языки программирования, ПО, вся документация, новости из мира IT — изначально на английском языке. Все крупнейшие форумы, рассылки, Stack Overflow — на английском. Самые «вкусные» заказчики, самые серьезные работодатели — все хотят общаться на английском. Если вы хотите двигаться вперед, развиваться как профессионал — у вас нет выбора: язык нужно учить.
В этой статье вы найдете список компьютерных и математических тем и терминов, своего рода чек-лист для самопроверки. Разумеется, не все приведенные слова вы будете использовать в повседневной работе. Но знать их важно, потому что рано или поздно вы с ними столкнетесь.
Советую не относиться к этому вопросу легкомысленно и убедиться, что вы знаете верные толкования всех слов и терминов, которые используете в речи. Человек, который через слово сыплет англицизмами, плохо понимая их полное значение, выглядит глупо.
Итак, в порядке нарастания сложности, со ссылками на Wikipedia:
Основные математические понятия
Самое главное: addition, subtraction, multiplication, division.
Также:
— exponentiation, square/nth root, absolute value, modulo operation.
— Fractions and floating point numbers.
— Real, complex, irrational numbers.
Булевая алгебра и битовые операции
— Conjuction, disjuntion, negation.
— Bitwise operators and bit shifts.
Системы исчисления
— Binary, octal, decimal, hexadecimal numeral systems.
— Названия знаков препинания и спецсимволов. По этой теме можно открыть таблицу ASCII/UTF с описаниями символов или страницу Punctuationна Wikipedia. Оттуда вы узнаете, как правильно называются «звездочка», «галочка вверх» и «та волнистая линия, которая консоль в Half-Life открывала».
Общие термины программирования
В этой категории очень много терминов звучат одинаково по-русски и по-английски, упоминать их не вижу смысла.
А вот те, которые могут сбить с толку: expression, variable, array, key, value, pointer, reference, sequence, instance, library, package, property, conversion, extension, inner/nested, heap, memory allocation.
Термины ООП
Исключая слова, которые одинаково звучат на обоих языках, object-oriented programming termsв случайном порядке: overload, patterns, dependency, dispatch, binding, factory, mutable, inheritance, template.
Требования по RFC 2119
Если вам придется изучать, например, работу какого-нибудь протокола по описанию в RFC, вы неизбежно столкнетесь со словами, описывающими уровень требования: «обязательно», «опционально», «рекомендуется» и т.п.
Значения слов MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, OPTIONAL описываются в специальном документе под номером RFC 2119. Кстати, а вы знаете, как расшифровывается RFC?
Элементы интерфейса
Graphical control element:
— button, checkbox, radio button, combo box, slider, list box, spinner, drop-down list, tree view, grid view, balloon, text/input field, toolbar, menu/tab/status/scroll bar, tooltip.
— Window, modal, dialog.
— Header, footer, frame, canvas.
Работа с массивами данных
— Algebra of sets.
— Relational model.
— Dimension, projection, query, set, subset, intersection, subtraction, join, union, order.
Работа с сетями
— Accept, reject, source, destination, request, response, upload, download, upstream, downstream.
— Data transmission: connection, socket, routing, bandwidth, frequency, pairing, channel, handshaking, negotiation, peer, transfer, header, overhead, session, encryption, caching, compression.
Компьютерная графика
Основные геометрические понятия:
— point, ray, line. Triangle, parallelogram, pentagon, hexagon, etc.
— Circle. Surfaces, Polygons.
— Trigonometric functions.
Разумеется, это далеко не полный список. Пожалуйста, не стесняйтесь дополнять в комментариях. Надеюсь, каждый найдет для себя что-то новое.
P.S. Мы написали тест для проверки своего уровня знания английских терминов — CrowdTest (10 вопросов,