-
- Что значит не нужно? Тебе значит колёса, педали, руль дай, а всё
что под капотом -- не нужно. Вот как-то так звучит. Без того, что
"не нужно" -- элементарно не сделать библиотечных функций. Тех,
которые "в обычной разработке". Ты говоришь, мол не нужно, а сам
пользуешься но не замечаешь. Как-то так. - fk0(06.10.2020 02:16)
- Любую библиотечную функцию можно написать на ассемблере,
гарантирую. - s_h_e(06.10.2020 10:09)
- Очевидно, что std::sort ты на ассемблере не напишешь при всём
желании. И даже на подмножестве C++ без шаблонов. В том у суть
метапрограммирования, оно лежит уже в другом пространстве,
измерении, не достигаемом любнми "классическими" средствами. - fk0(06.10.2020 21:03)
- Ну ладно вам, эти все шаблоны в динамических языках вообще не
нужны, кек. А если сильно нужны - то генерируется текст и eval() на
него (нет, правда) - lloyd(06.10.2020 21:07)
- Шаблоны работают не на уровне текста, а в пространстве типов. На уровне текста далеко не уедешь, ведь захочется не просто подставлять, а ещё понимать что именно тебе подсунули и в зависимости от аргумента делать выбор. В динамических языках динамическая же диспетчеризация. И в ряде статических (где нет статического полиморфизма). Что в лучшем случае -- далековато от оптимального кода. Если этот случай вообще наступит, возвращаясь к сортировке, а не припомню где можно fk0(1888 знак., 07.10.2020 12:29)
- В чём сила шаблонов C++?
В правде.В том, что они не ломают строгую статическую типизацию, так что сравнивать их с динамическими языками абсолютно некорректно даже по функционалу. Про скорость я даже заикаться не буду. - йцyкeн(06.10.2020 22:05)- Вообще-то не ломают никакую типизацию, только отодвигают время
опредления типа к моменту компиляции в месте использования. Хотя
сравнивать действительно некорректно, в динамиеских языках можно
натворить еще больше дичи, чем с шаблонами. - Kabdim(07.10.2020 11:37)
- Ключевое слово было "статическую". - йцyкeн(07.10.2020 12:24)
- Давайте с другого конца, вот к примеру: Kabdim(54 знак., 07.10.2020 12:31)
- Если это C++, то конечно статическая. То же самое, что int i = 0; - йцyкeн(07.10.2020 12:47)
- А если: #define MAKE_VAR(a,b) auto a = b MAKE_VAR(i, 0); ---- А
почему тогда статическая типизация ломается в таком (к примеру)
выражении Kabdim(519 знак., 07.10.2020 15:24)
- В вашем примере статическая типизация работает как доктор прописал:
если при объявлении переменной она получила тип
vector<int>, потом его поменять нельзя. - йцyкeн(07.10.2020 18:14)
- Мои глаза, из-за жарких споров с другим участником конфы, прочитали не то что было вами написано. Извиняюсь. - Kabdim(08.10.2020 15:44)
- В вашем примере статическая типизация работает как доктор прописал:
если при объявлении переменной она получила тип
vector<int>, потом его поменять нельзя. - йцyкeн(07.10.2020 18:14)
- А если: #define MAKE_VAR(a,b) auto a = b MAKE_VAR(i, 0); ---- А
почему тогда статическая типизация ломается в таком (к примеру)
выражении Kabdim(519 знак., 07.10.2020 15:24)
- Если это C++, то конечно статическая. То же самое, что int i = 0; - йцyкeн(07.10.2020 12:47)
- Давайте с другого конца, вот к примеру: Kabdim(54 знак., 07.10.2020 12:31)
- Ключевое слово было "статическую". - йцyкeн(07.10.2020 12:24)
- Вообще-то не ломают никакую типизацию, только отодвигают время
опредления типа к моменту компиляции в месте использования. Хотя
сравнивать действительно некорректно, в динамиеских языках можно
натворить еще больше дичи, чем с шаблонами. - Kabdim(07.10.2020 11:37)
- Ну ладно вам, эти все шаблоны в динамических языках вообще не
нужны, кек. А если сильно нужны - то генерируется текст и eval() на
него (нет, правда) - lloyd(06.10.2020 21:07)
- Вот не надо так говорить в присутствии людей, которые реально писали на ассемблере. Когда-то у меня не было выбора, теперь выбор есть, и добровольно на эти галеры я не вернусь. - йцyкeн(06.10.2020 11:31)
- Очевидно, что std::sort ты на ассемблере не напишешь при всём
желании. И даже на подмножестве C++ без шаблонов. В том у суть
метапрограммирования, оно лежит уже в другом пространстве,
измерении, не достигаемом любнми "классическими" средствами. - fk0(06.10.2020 21:03)
- Любую библиотечную функцию можно написать на ассемблере,
гарантирую. - s_h_e(06.10.2020 10:09)
- F1 из семейства стм32 ещё вполне себе в ходу, вообще-то. - SciFi(05.10.2020 12:19)
- Что значит не нужно? Тебе значит колёса, педали, руль дай, а всё
что под капотом -- не нужно. Вот как-то так звучит. Без того, что
"не нужно" -- элементарно не сделать библиотечных функций. Тех,
которые "в обычной разработке". Ты говоришь, мол не нужно, а сам
пользуешься но не замечаешь. Как-то так. - fk0(06.10.2020 02:16)