-
- Ну ладно вам, эти все шаблоны в динамических языках вообще не
нужны, кек. А если сильно нужны - то генерируется текст и 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)