Англійська лексика · Розробка програмного забезпечення

Англійська лексика для розробників програмного забезпечення

Вивчайте англійську лексику для розробки програмного забезпечення: від програмування й баз даних до вебу, мобільних застосунків, хмарних систем, безпеки та обробки даних. Визначення пояснюють значення термінів, а приклади показують, як їх уживають у робочому контексті. Кожен термін має українське пояснення та перекладені приклади.

  • 1 143 термінів
  • 13 тем
  • 430 основних термінів
  • 2 298 прикладів

Основи програмування

  • functionіменникфункція

    Іменований блок коду, що виконує одну роботу. Він може приймати вхідні значення й часто повертає результат викликачеві — коду, який його викликав.

  • variableіменникзмінна

    Назва в програмі, що зберігає значення — наприклад число, текст чи список, — аби код міг використати або змінити його пізніше.

  • codebaseіменниккодова база

    Увесь вихідний код проєкту чи продукту як єдине ціле, включно зі структурою, стилем та історією.

  • libraryіменникбібліотека

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

  • callдієслововикликати, виклик

    Запустити функцію, метод або API з іншої частини коду; як іменник call означає такий запит, наприклад виклик API.

  • loopіменникцикл

    Частина коду, що повторює ті самі кроки кілька разів — наприклад для кожного елемента списку або доки умова не стане хибною.

  • classіменникклас

    В об’єктноорієнтованому програмуванні шаблон, що визначає дані й поведінку типу об’єктів, наприклад User або Invoice.

  • parameterіменникпараметр

    Іменований вхідний елемент, який функція чи метод приймає і який указано в його визначенні; фактичне передане під час виклику значення називають аргументом.

  • IDEскороченняінтегроване середовище розробки, IDE

    Скорочення від integrated development environment: застосунок для написання коду, що поєднує редактор, налагоджувач, пошук та інші інструменти.

  • compileдієсловокомпілюватися, компілювати

    Перетворити написаний людьми вихідний код на код, який може виконувати комп’ютер, за допомогою програми-компілятора.

  • stringіменникрядок, рядок символів

    Фрагмент тексту в програмі — наприклад, ім’я, повідомлення чи пароль, — збережений як послідовність символів і зазвичай узятий у лапки.

  • booleanіменникбулевий тип, логічний тип

    Тип даних лише з двома можливими значеннями — true або false; його використовують для рішень на кшталт того, чи користувач увійшов у систему.

  • objectіменникоб’єкт

    Одиниця програми, що об’єднує пов’язані дані та функції для роботи з ними; наприклад, об’єкт користувача з ім’ям, електронною адресою та методом входу.

  • methodіменникметод

    Функція, що належить класу або об’єкту й зазвичай працює з даними цього об’єкта, наприклад user.save() або list.sort().

  • argumentіменникаргумент, аргумент функції

    Фактичне значення, яке передають функції під час виклику. У add(2, 3) числа 2 і 3 є аргументами.

  • returnдієсловоповертати, повернення значення

    Завершити функцію й передати значення назад у код, який її викликав; наприклад, перевірка пароля повертає true або false.

  • if statementіменникумовний оператор if, оператор if

    Фрагмент коду, який виконується лише за істинності умови; часто за ним іде частина else, що виконується, коли умова хибна.

  • syntaxіменниксинтаксис

    Правила запису коду мовою програмування — наприклад, розташування дужок, ком і ключових слів, — завдяки яким комп’ютер може його прочитати.

  • commentіменниккоментар, коментар у коді

    Примітка в коді, яку комп’ютер ігнорує й пишуть, щоб пояснити іншим розробникам причину певного рішення. Зауваження під час перевірки коду теж називають comments.

  • source codeіменниквихідний код

    Інструкції, які програмісти пишуть мовою програмування та можуть читати люди, перш ніж їх перетворять на програму, що запускається на комп’ютері.

  • open sourceприкметниквідкритий код, програмне забезпечення з відкритим кодом

    Характеристика програмного забезпечення, вихідний код якого відкритий: будь-хто може читати, використовувати, змінювати й поширювати його на умовах ліцензії.

  • implementдієсловореалізувати, втілити в коді

    Перетворити план, проєкт або ідею функції на робочий код. В об’єктно-орієнтованому програмуванні також означає надати методи, яких вимагає інтерфейс.

  • interfaceіменникінтерфейс, програмний інтерфейс

    У програмуванні — перелік методів, які клас зобов’язується надати, без опису їхньої реалізації. У ширшому значенні — точка взаємодії двох систем або користувача із системою.

  • object-oriented programmingіменникоб’єктно-орієнтоване програмування

    Стиль програмування, що організовує код у вигляді об’єктів, які поєднують дані й поведінку; спирається на класи, успадкування та інкапсуляцію.

  • runtimeіменникчас виконання, середовище виконання

    Час, коли програма фактично працює, на відміну від написання чи компіляції коду. Також програмне середовище, яке запускає код, наприклад Node.js.

  • package managerіменникменеджер пакетів

    Інструмент, який завантажує, встановлює, оновлює й видаляє бібліотеки, від яких залежить проєкт, наприклад npm для JavaScript або pip для Python.

  • inheritanceіменникуспадкування, наслідування

    Зв’язок, за якого клас отримує поведінку або структуру іншого класу й може доповнювати чи змінювати окремі частини.

  • polymorphismіменникполіморфізм

    Здатність використовувати різні реалізації через спільний інтерфейс, коли кожна реалізація надає власну поведінку.

  • encapsulationіменникінкапсуляція

    Приховування внутрішнього стану об’єкта за контрольованим інтерфейсом, щоб інший код не залежав від способу його зберігання.

  • constructorіменникконструктор

    Спеціальна операція, яка виконується під час створення об’єкта, щоб задати початковий стан і необхідні залежності.

  • destructorіменникдеструктор

    Спеціальна операція, пов’язана із завершенням життєвого циклу об’єкта; зазвичай вона звільняє ресурси, якими об’єкт володіє.

  • closureіменникзамикання

    Функція разом із доступом до змінних із зовнішнього лексичного оточення, навіть якщо її викликають в іншому місці.

  • callbackіменникзворотний виклик, callback-функція

    Функція, передана іншому коду, щоб той міг викликати її за потреби.

  • constantіменникконстанта, стала

    Іменоване значення або прив’язка, яку за правилами мови програмування не можна перепризначити після ініціалізації.

  • integerіменникціле число, цілочисельний тип

    Числовий тип даних для цілих чисел без дробової частини; допустимий діапазон залежить від способу подання.

  • floating-point numberіменникчисло з рухомою комою, число з плаваючою комою

    Число, збережене у форматі скінченної точності з мантисою та порядком, що дає змогу представляти широкий діапазон величин.

  • enumerationіменникперелік, перелічуваний тип

    Тип або оголошений набір іменованих варіантів, що представляє обмежену множину можливих значень.

  • pointerіменниквказівник, покажчик

    Значення, що посилається на ділянку пам’яті й дає змогу коду звертатися до розташованого там об’єкта або даних.

  • referenceіменникпосилання

    Спосіб звертатися до наявного значення або об’єкта, не обов’язково створюючи його незалежну копію.

  • immutableприкметникнезмінний

    Про значення або об’єкт, стан якого не можна змінити після створення.

  • mutableприкметникзмінний

    Про значення або об’єкт, стан якого можна змінити після створення.

  • threadіменникпотік виконання, потік

    Послідовність виконання в межах процесу, яка може працювати паралельно з іншими послідовностями й використовувати спільні ресурси процесу.

  • mutexіменникм’ютекс, механізм взаємного виключення

    Механізм синхронізації, який одночасно допускає до захищеної ділянки лише один узгоджений контекст виконання.

  • race conditionіменникстан гонитви, гонка

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

  • garbage collectionіменникзбирання сміття, автоматичне збирання пам’яті

    Автоматичне звільнення пам’яті, зайнятої об’єктами, які середовище виконання вважає недосяжними або більше не потрібними.

  • serializationіменниксеріалізація

    Перетворення структурованих даних або стану об’єкта у формат, який можна зберегти чи передати, а згодом прочитати.

  • deserializationіменникдесеріалізація

    Зчитування збереженого або переданого представлення та відновлення описаних у ньому структур даних чи значень.

  • call stackіменникстек викликів

    Структура, що відстежує активні виклики функцій; зазвичай останній виклик міститься на вершині.

  • coroutineіменниккорутина

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

  • stack frameіменниккадр стека, кадр у стеку викликів

    Блок пам’яті, створений для виклику функції; він містить локальні дані, параметри й інформацію для повернення під час виконання.

  • mutable stateіменникзмінний стан, мутабельний стан

    Стан програми, який можна змінити після створення, наприклад змінні чи об’єкти, значення яких оновлюється з часом.

  • event loopіменникцикл подій

    Механізм середовища виконання, який очікує на події та планує завдання чи зворотні виклики, щоб обробляти багато операцій без блокування програми.

  • lexical scopeіменниклексична область видимості

    Правило, за яким назви розв’язуються за структурою навколишнього коду, а не за послідовністю викликів функцій.

  • variable shadowingіменникзатінення змінної

    Ситуація, коли ім’я, оголошене у внутрішній області видимості, приховує однойменну змінну із зовнішньої області.

  • short-circuit evaluationіменникобчислення з коротким замиканням

    Обчислення лише тієї частини виразу, якої достатньо для визначення результату, із пропуском операнда, якщо це можливо.

  • type inferenceіменниквиведення типів

    Визначення типу значення або виразу з коду без потреби явно записувати цей тип.

  • type coercionіменникприведення типу

    Автоматичне перетворення одного типу даних на інший під час обчислення виразу або виконання операції.

  • pattern matchingіменникзіставлення зі зразком

    Вибір гілки коду за структурою або вмістом значення, часто з одночасним наданням імен його складникам.

  • pure functionіменникчиста функція

    Функція, яка повертає той самий результат для тих самих аргументів і не має спостережуваних ефектів поза своїм обчисленням.

  • higher-order functionіменникфункція вищого порядку

    Функція, яка приймає іншу функцію як аргумент або повертає функцію як результат.

  • tail callіменникхвостовий виклик

    Виклик функції в останній позиції іншої функції, результат якого стає результатом викликача без подальших обчислень.

  • semaphoreіменниксемафор

    Механізм синхронізації з лічильником, який визначає, скільки завдань можуть одночасно використовувати ресурс або продовжувати роботу.

  • thread poolіменникпул потоків

    Керована група повторно використовуваних потоків, які виконують завдання, надіслані програмою.

  • undefined behaviorіменникневизначена поведінка

    Поведінка програми, вимог до якої специфікація мови не встановлює; зазвичай вона виникає через порушення правил мови.

Структури даних і алгоритми

  • algorithmіменникалгоритм

    Чіткий покроковий спосіб розв’язати проблему чи виконати завдання, наприклад відсортувати список або знайти найкоротший маршрут між двома точками.

  • data structureіменникструктура даних

    Спосіб упорядкувати дані в пам’яті — наприклад масив, список, дерево чи хеш-мапу, — щоб певні операції були швидкими й простими.

  • arrayіменникмасив

    Упорядкована послідовність елементів, збережених один за одним, до кожного з яких звертаються за його позиційним номером — індексом.

  • iterateдієсловоперебирати, ітеративно уточнювати

    Послідовно пройти елементи колекції один за одним або, ширше, повторювати процес і щоразу поліпшувати результат.

  • hash mapіменникхеш-мапа, асоціативний масив

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

  • recursionіменникрекурсія

    Техніка, за якої функція розв’язує задачу, викликаючи саму себе для меншої частини тієї самої задачі, доки не досягне простого випадку.

  • Big O notationіменникнотація Big O, асимптотична нотація

    Спосіб описати, як зростають час виконання чи обсяг пам’яті алгоритму зі збільшенням вхідних даних, наприклад O(1), O(n) чи O(n²).

  • time complexityіменникчасова складність

    Те, як зростає кількість кроків алгоритму зі збільшенням обсягу вхідних даних; зазвичай записують у нотації Big O.

  • indexіменникіндекс, позиція елемента

    Номер позиції елемента в масиві або списку. У більшості мов відлік починається з нуля, тому індекс першого елемента — 0.

  • sortдієсловосортувати, упорядковувати

    Розташувати елементи в заданому порядку, наприклад числа від найменшого до найбільшого або імена за абеткою. Для цього існує багато ефективних алгоритмів.

  • stackіменникстек, структура стек

    Структура даних, у якій останній доданий елемент вилучають першим (LIFO), як тарілку з купи: елементи кладуть зверху й забирають також зверху.

  • queueіменникчерга, черга завдань

    Структура даних, у якій першим вилучають той елемент, який додали першим (FIFO), як людей у черзі. Також система, що утримує завдання або повідомлення до обробки.

  • linked listіменникзв’язаний список, зв’язаний перелік

    Структура даних із вузлів, кожен із яких містить значення й покажчик на наступний вузол, тому елементи з’єднані ланцюжком, а не зберігаються поруч.

  • treeіменникдерево, деревоподібна структура

    Структура даних із коренем угорі та гілками дочірніх вузлів під ним; підходить для ієрархічних даних, як-от папок, меню чи HTML-сторінки.

  • brute forceіменникповний перебір, метод грубої сили

    Простий підхід, який перевіряє всі можливі варіанти, доки не знайде відповідь. Його легко написати, але на великих вхідних даних він часто надто повільний.

  • space complexityіменникпросторова складність, складність за пам’яттю

    Обсяг додаткової пам’яті, потрібної алгоритму зі зростанням вхідних даних; зазвичай його записують нотацією Big O, наприклад O(1) чи O(n).

  • tupleіменниккортеж

    Упорядкована група значень, що розглядається як одне значення; елементи часто можуть мати різні типи й фіксовані позиції.

  • setіменникмножина

    Колекція унікальних значень із підтримкою операцій на кшталт перевірки належності, об’єднання та перетину.

  • heapіменниккупа, піраміда

    Деревоподібна структура даних із правилом упорядкування батьківських і дочірніх вузлів, що дає змогу швидко отримувати найменший або найбільший елемент.

  • iteratorіменникітератор

    Об’єкт або протокол, що послідовно надає елементи й відстежує поточне місце в послідовності.

  • topological sortіменниктопологічне сортування

    Упорядкування орієнтованого ациклічного графа, за якого кожна залежність розміщується перед елементом, що від неї залежить.

  • balanced treeіменникзбалансоване дерево

    Структура даних типу дерева, висота якого підтримується приблизно рівномірною, щоб пошук, вставлення й видалення залишалися ефективними.

  • memoizationіменникмемоізація, мемоізація результатів

    Спосіб оптимізації, за якого результати дорогих викликів функції зберігають і повторно використовують для тих самих вхідних даних.

  • dynamic programmingіменникдинамічне програмування

    Метод розв’язання задач, що розбиває їх на підзадачі, які перекриваються, і зберігає результати, щоб не виконувати роботу повторно.

  • adjacency matrixіменникматриця суміжності

    Матричне подання графа, у якому кожна клітинка показує, чи з’єднані два вузли, а іноді й наскільки сильний цей зв’язок.

  • greedy algorithmіменникжадібний алгоритм

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

  • segment treeіменникдерево відрізків, сегментне дерево

    Структура даних у формі дерева, що зберігає зведені значення для інтервалів масиву й підтримує ефективні запити та оновлення діапазонів.

  • suffix treeіменниксуфіксне дерево

    Деревоподібна структура, що зберігає всі суфікси рядка й дає змогу швидко шукати підрядки та повторювані шаблони.

  • binary treeіменникбінарне дерево

    Структура даних у формі дерева, у кожного вузла якої не більше двох дочірніх вузлів, зазвичай лівого й правого.

  • suffix arrayсловосполученнясуфіксний масив

    Структура даних, що зберігає початкові позиції всіх суфіксів рядка у відсортованому порядку для швидкого пошуку тексту.

  • adjacency listсловосполученнясписок суміжності

    Спосіб подання графа, за якого для кожного вузла зберігають список безпосередньо з’єднаних із ним вузлів.

  • priority queueіменникчерга з пріоритетами

    Колекція, з якої елементи вилучаються за пріоритетом, а не просто в порядку надходження.

  • trieіменникпрефіксне дерево

    Дерево для зберігання послідовностей, у якому спільні префікси представлені спільними шляхами від кореня.

Короткий тест: чи знаєте ви ці терміни?

Десять запитань зі словника. Оберіть правильне значення кожного терміна та перевірте результат.

Як вивчати лексику: Розробка програмного забезпечення

  • Читайте щодня тексти з розробки: офіційну документацію, README, нотатки до випусків, обговорення задач і коментарі до pull request. Звертайте увагу, як терміни працюють у реченні.
  • Вивчайте слово разом із типовими сполученнями: не лише bug, а й fix a bug, report a bug та steps to reproduce. Так легше вживати його природно.
  • Закріплюйте лексику в коротких робочих текстах англійською: описах комітів, задачах і коментарях до коду. Пишіть просто й перечитуйте, чи точно передали дію та її результат.
  • Тренуйте вимову скорочень так, як їх вимовляють команди: API і SDK зазвичай називають по літерах, JSON — як ім’я Jason, а REST — одним словом.
  • Збирайте ввічливі фрази для рев’ю та щоденних зустрічей, наприклад Could you take a look? або I’m blocked on…; звертайте увагу, у яких ситуаціях їх використовують.

Поширені запитання

Як вивчати англійську лексику з розробки програмного забезпечення?

Читайте справжні матеріали з галузі: документацію, README, нотатки до випусків, обговорення задач і коментарі до pull request. Вивчайте терміни разом із типовими сполученнями — наприклад, open a pull request і fix a bug — та одразу використовуйте їх у власних комітах, описах задач і повідомленнях.

Які англійські терміни розробки варто вивчити спочатку?

Почніть зі слів щоденного робочого процесу: bug, fix, commit, branch, pull request, merge, code review, deploy, release, ticket, sprint і stand-up. Далі переходьте до тестування й налагодження, а потім — до термінів архітектури та API.

Чи відрізняється англійська для розробки у Великій Британії та США?

У коді, API й більшості технічної документації переважає американське написання: color, initialize, behavior. Британські команди можуть писати colour або behaviour у листах і документах, але в коді зберігають усталені назви, наприклад властивість CSS color. Вимова теж іноді різниться: agile у США звучить приблизно як «едж-ел», а у Великій Британії — «едж-айл»; route у США часто вимовляють як «раут», а у Великій Британії — як «рут».

На роботі краще вживати український чи англійський технічний термін?

У робочих розмовах часто залишають англійські терміни commit, merge, deploy і pull request, поєднуючи їх з українськими словами або адаптуючи в розмовних дієсловах на кшталт «задеплоїти». У формальних документах, навчальних курсах і наукових текстах частіше вживають українські відповідники: «випуск», «гілка», «модульний тест». Знання обох варіантів допомагає перемикатися між українським обговоренням і англомовним кодом та документацією.

Як англійською розповідати про свою роботу на щоденній зустрічі й у код-рев’ю?

Користуйтеся короткими усталеними фразами. На щоденній зустрічі можна сказати: Yesterday I fixed…, today I’m working on…, no blockers. У рев’ю підійдуть Could you take a look at my PR? та I’ve addressed your comments; nit: позначає невелику правку, а LGTM — схвалення. Ввічливе запитання What do you think about…? зазвичай доречніше за прямий наказ.

Закріплюйте лексику читанням

Тексти відповідного рівня допомагають запам’ятовувати нові слова. Оберіть безкоштовні книжки англійською: