Информация об изменениях

Сообщение Re[5]: Templates от 04.07.2018 13:54

Изменено 04.07.2018 14:07 AlexGin

Re[5]: Templates
Здравствуйте, lpd, Вы писали:

lpd>Можно привести большой список того, что нужно уметь квалифицированному программисту, и в нем будет множество гораздо более важных вещей, чем шаблоны или C++17.


IMHO, cтранная точка зрения. Но ваше право — продолжать придерживаться ли её, или же прозреть...

lpd>Как раз логика 'лучший программист лучше знает язык программирования' звучит несколько сферично. А на практике практикующий программист C++ получит больше от изучения баз данных, устройства ОС и электроники...

В наше время есть понятие: разделение труда...

lpd>...когда он это изучит, для проекта будет важнее архитектура кода, который он пишет, чем использование сложных шаблонов или других фич C++17.

Фичи языка — это твои друзья, а НЕ враги!
Кстати, открою тебе маленький секрет — применение конструкции if constexpr из набора C++17 —
позволяет работать с шаблонами удобнее, чем раньше
Пример:
template <typename C>
void print (const C &c)
{
    if constexpr (std::is_same_v<C, std::vector<int>>) {
        cout << "vector<int>: ";
    }

    if constexpr (std::is_same_v<C, std::list<int>>) {
        cout << "list<int>:   ";
    }

    if constexpr (std::is_same_v<C, std::deque<int>>) {
        cout << "deque<int>:  ";
    }

    for (auto i : c)
    {
        cout << i << ", ";
    }
    cout << '\n';
}

Архитектура кода — только выигрывает от применения современных возможностей языков программирования.
Так, применение приведенного выше метода, позволит тебе забыть о трудно-понимаемом SFINAE

lpd>Для программиста C++ главное вовсе не C++.

Хорошо, перефразирую твоё выражение так:
— Для хирурга — главное вовсе не умение оперировать.

...а теперь представь, что ты пациент именно этого врача...
Re[5]: Templates
Здравствуйте, lpd, Вы писали:

lpd>Можно привести большой список того, что нужно уметь квалифицированному программисту, и в нем будет множество гораздо более важных вещей, чем шаблоны или C++17.


IMHO, cтранная точка зрения. Но твоё право — продолжать придерживаться ли её, или же прозреть...

lpd>Как раз логика 'лучший программист лучше знает язык программирования' звучит несколько сферично. А на практике практикующий программист C++ получит больше от изучения баз данных, устройства ОС и электроники...

В наше время есть понятие: разделение труда...

lpd>...когда он это изучит, для проекта будет важнее архитектура кода, который он пишет, чем использование сложных шаблонов или других фич C++17.

Фичи языка — это твои друзья, а НЕ враги!
Кстати, открою тебе маленький секрет — применение конструкции if constexpr из набора C++17 —
позволяет работать с шаблонами удобнее, чем раньше!!!
Вот простой пример:
template <typename C>
void print (const C &c)
{
    if constexpr (std::is_same_v<C, std::vector<int>>) {
        cout << "vector<int>: ";
    }

    if constexpr (std::is_same_v<C, std::list<int>>) {
        cout << "list<int>:   ";
    }

    if constexpr (std::is_same_v<C, std::deque<int>>) {
        cout << "deque<int>:  ";
    }

    for (auto i : c)
    {
        cout << i << ", ";
    }
    cout << '\n';
}

Архитектура кода — только выигрывает от применения современных возможностей языков программирования.
Так, применение приведенного выше метода, позволит тебе забыть о трудно-понимаемом SFINAE

lpd>Для программиста C++ главное вовсе не C++.

Хорошо, перефразирую твоё выражение так:
— Для хирурга — главное вовсе не умение оперировать.

...а теперь представь, что ты пациент именно этого врача...