7

Як перекладається "generic function" в програмуванні?

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

2

Підтримую відповідь про «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.

    • «generic method» → «універсальний метод»:

      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.

  • Є. Мейнарович, М. Кратко «Англійсько-український словник з математики та інформатики» (2010):
    • «generic class» → «родови́й клас», «generic function» → «родова́ функція», «generic type» → «родови́й тип»;
    • також ще «generic function» → «характеристи́чна функція».

Але не підтримую ці варіанти, бо вони неочевидні і ніде не бачив їх на практиці.

Також не підтримую «generic function» → «шаблонна функція», бо «generic function» і «template function» у загальному випадку не одне й теж.

  • +1 за родовий. Мені самому одразу так здалось і без словника. Тобто функція для типів певного роду. – Yola Mar 12 '17 at 6:35
  • «тип-рід» має на увазі якийсь особливий тип як-от людина-павук, тобто людина, але ще й павук? Ні, я мав на увазі, що рід - це як в біології. Зараз оновлю свою відповідь. – Yola Mar 12 '17 at 8:25
2

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

В Java маємо Generics (узагальнення). Наприклад T — це узагальнення типу даних, тоді

List<T>

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

Тоді generic function — загальна, узагальнена функція (в Java — метод), яка має вигляд:

<T> void addArrayToList(T[] array, List<T> c) {
    for (T object : array) {
        c.add(object);
    }
}

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

1

Відмінність від "звичайної" функції в тому, що "звичайна" функція вимагає конкретний тип і знає, які операції з ним можна робити, generic function вимагає, щоб тип з яким вона працюватиме підтримував певні операції, тобто вона ставить менші обмеження на тип.

Зі згаданого у відповіді Sasha Англійсько-український словник з математики та інформатики 2010р. (Є. Мейнарович, М. Кратко):

function = ['fʌŋkʃn] 1. фу́нкція || функці́йний 2. призна́чення 3. ді́яти, функціюва́ти (функціонува́ти)

  • generic ~ = родова́ (характеристи́чна) фу́нкція

Чому цей переклад мені видається найвдалішим, тому що

  • йдеться про функцію яка може приймати типи, що відповідають певним вимогам/характеристикам;
  • слово узагальнений незрозуміле в плані, в якому сенсі узагальнений? Код такої функції ніяк не узагальнюється. Та й більше воно б підійшло для перекладу general function.

Тут рід по аналогії з біологічною класифікацією, тільки тут ми класифікуємо типи, і функція може приймати типи певного класу/виду/роду/сімейства: enter image description here

  • Які думки будуть стосовно: "параметризована функція"? – Olexandr Matviienko Mar 12 '17 at 7:56
  • 2
    @OlexandrMatviienko річ у тім, що аргументи, що ми передаємо, це ж теж параметри, тобто є параметри типи і параметри значення, отже навіть не generic функція може буде параметризованою. – Yola Mar 12 '17 at 8:03
  • 1
    @Sasha Бувають родові ознаки чи родові помістя, а от виявляється є ще родові функції, тобто функції для саме цього роду. Генеративні органи:) – Yola Mar 12 '17 at 8:43
  • @Sasha ну це завжди так, одні крокодили на північ,а інші червоні. Класифікації можуть бути різними, як-от програмісти за мовою програмування і програмісти за напрямком (бд, веб, графіка). – Yola Mar 12 '17 at 8:49
  • @Sasha функція-рід означає одразу і фукнцію, і рід, як-от людина-павук, а у нас функція для певного роду типів. – Yola Mar 12 '17 at 8:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.