Як перекладається "generic function" в програмуванні?
На вікі знайшов це, але цього недостатньо для розуміння правильного перекладу.
Ukrainian Language Stack Exchange is a question and answer site for linguists, teachers and students of the Ukrainian language. It only takes a minute to sign up.
Sign up to join this communityЯк перекладається "generic function" в програмуванні?
На вікі знайшов це, але цього недостатньо для розуміння правильного перекладу.
Підтримую відповідь про «generic» → «узагальнення», «generic class/function/something» → «узагальнений клас / узагальнена функція / узагальнене щось»; це цілком очевидні переклади, що використовуються на практиці та пропонуються навіть гугл-перекладачем (хоч це й не ангумент).
Також існують іще такі варіанти:
Microsoft Terminology Portal:
«generic type» → «загальний тип»:
Definition: A class, interface, or structure whose definition has placeholders, called generic type parameters, for one or more types that are used in its member definitions. A user specifies real types (generic type arguments) for the type parameters whe-n creating an instance of a generic type.
EdmComplexTypeAttribute and EdmEntityTypeAttribute can not be used on the generic type '…'. → EdmComplexTypeAttribute і EdmEntityTypeAttribute не можуть використовуватися в загальному типі "…". //У Microsoft SQL Server і Microsoft Power BI.
Calling the CreateOrderedEnumerable generic method on the result of a LINQ to Entities query is not supported. → Виклик універсального методу CreateOrderedEnumerable на результаті LINQ до запиту сутностей не підтримується. //У Microsoft SQL Server і Microsoft Power BI.
Але не підтримую ці варіанти, бо вони неочевидні і ніде не бачив їх на практиці.
Також не підтримую «generic function» → «шаблонна функція», бо «generic function» і «template function» у загальному випадку не одне й теж.
Дозвольте спробувати дібрати переклад з розуміння того, про що йдеться.
В Java маємо Generics (узагальнення). Наприклад T — це узагальнення типу даних, тоді
List<T>
це колекція, яка може зберігати список об'єктів, наперед не знаючи який тип даних це буде.
Тоді generic function — загальна, узагальнена функція (в Java — метод), яка має вигляд:
<T> void addArrayToList(T[] array, List<T> c) {
for (T object : array) {
c.add(object);
}
}
На етапі компіляції, компілятор підставить потрібний тип даних в місцях, де метод використовується.
Відмінність від "звичайної" функції в тому, що "звичайна" функція вимагає конкретний тип і знає, які операції з ним можна робити, generic function вимагає, щоб тип з яким вона працюватиме підтримував певні операції, тобто вона ставить менші обмеження на тип.
Зі згаданого у відповіді Sasha Англійсько-український словник з математики та інформатики 2010р. (Є. Мейнарович, М. Кратко):
function = ['fʌŋkʃn] 1. фу́нкція || функці́йний 2. призна́чення 3. ді́яти, функціюва́ти (функціонува́ти)
…
- generic ~ = родова́ (характеристи́чна) фу́нкція
Чому цей переклад мені видається найвдалішим, тому що
Тут рід по аналогії з біологічною класифікацією, тільки тут ми класифікуємо типи, і функція може приймати типи певного класу/виду/роду/сімейства: