Здравствуйте, Ka3a4oK, Вы писали:
M>>Люди саркастически издеваются над нашими любимыми языками программирования: M>>https://www.destroyallsoftware.com/talks/wat KK>Кто на C++ писал, тот в цирке не смеется.
По сравнению с JS — С++ это малый ребёнок.
Здравствуйте, Mamut, Вы писали:
M>В данном конекретном случае проблема не совсем в динамике, а в слабой типизации и идиотских спецификациях
Да про слабую типизацию я помню, ты же мне и объяснял. Но только мне от этих слов не сильно приятнее: слабый js или сильный, а всё одно говно, от которого не уйти.
Короче говоря, это всё теория. А практика такова, что динамику я ненавижу.
Здравствуйте, dimgel, Вы писали:
D>Короче говоря, это всё теория. А практика такова, что динамику я ненавижу.
Т.е. к статике идиотские спецификации почему-то в разы сложнее прикрутить. Вот есть перегруженный оператор — известно, на каких классах он перегружен и как. Жёстко и предсказуемо. Так что сдаётся мне, статика/динамика и сильная/слабая — вещи далеко не ортогональные.
D>>Короче говоря, это всё теория. А практика такова, что динамику я ненавижу.
D>Т.е. к статике идиотские спецификации почему-то в разы сложнее прикрутить.
Да ладно Сколько там IB и UB в стандарте С++?
D>Вот есть перегруженный оператор — известно, на каких классах он перегружен и как. Жёстко и предсказуемо. Так что сдаётся мне, статика/динамика и сильная/слабая — вещи далеко не ортогональные.
Здравствуйте, VladD2, Вы писали:
C>>По сравнению с JS — С++ это малый ребёнок. VD>Ну, да в нем все предсказуемо — AV. Как говорится — семь бед, одни резет.
С отладчиком AV — это не проблема. Корки даже удобнее stacktrace'ов.
Речь про другое — сам С++ хотя и переусложнён, но WTF'ов типа "{}+[]" в нём меньше.
Здравствуйте, dimgel, Вы писали:
D>Т.е. к статике идиотские спецификации почему-то в разы сложнее прикрутить. Вот есть перегруженный оператор — известно, на каких классах он перегружен и как. Жёстко и предсказуемо. Так что сдаётся мне, статика/динамика и сильная/слабая — вещи далеко не ортогональные.
Ты забываешь о шаблонах С++. А в других статических языках есть и более мощные средства метапрограммирования.
Здравствуйте, Don Reba, Вы писали:
DR>Ты забываешь о шаблонах С++. А в других статических языках есть и более мощные средства метапрограммирования.
О, тут самое время засуммонить WolfHound-а, который впрочем уже наверное задолбался всем по сто раз рассказывать, что метапрограммирование и статика/динамика — вещи ортогональные. А касательно шаблонов C++ — кажется он же с год назад в каком-то флейме (помню, там ещё был adontz) утверждал, что они — динамика, т.к. разворачиваются без контроля типизатора.
Здравствуйте, dimgel, Вы писали:
D>О, тут самое время засуммонить WolfHound-а, который впрочем уже наверное задолбался всем по сто раз рассказывать, что метапрограммирование и статика/динамика — вещи ортогональные.
В том то и дело, что ортогональные. Благодаря этому, того замечательного мира, что ты описываешь в статических языках не существует. В С++ приходится иметь дело с шаблонами, в Яве/Шарпе с интроспекцией, в Немерле с полноценным метапрограммированием. Жёстко и предсказуемо всё только в Паскале.
Здравствуйте, Don Reba, Вы писали:
DR>Здравствуйте, dimgel, Вы писали:
D>>О, тут самое время засуммонить WolfHound-а, который впрочем уже наверное задолбался всем по сто раз рассказывать, что метапрограммирование и статика/динамика — вещи ортогональные.
DR>В том то и дело, что ортогональные. Благодаря этому, того замечательного мира, что ты описываешь в статических языках не существует. В С++ приходится иметь дело с шаблонами, в Яве/Шарпе с интроспекцией, в Немерле с полноценным метапрограммированием. Жёстко и предсказуемо всё только в Паскале.
Здравствуйте, Cyberax, Вы писали:
C>С отладчиком AV — это не проблема. Корки даже удобнее stacktrace'ов.
Эту сказку ты рассказывай тем, кто не ловил блуждающих AV, которые являлись ошибкой третьего порядка.
C>Речь про другое — сам С++ хотя и переусложнён, но WTF'ов типа "{}+[]" в нём меньше.
Бесспорно, недоязыки вроде жабаскрипа имеют феерическую семантику в некоторых вопросах. Но плюсы от них не так уж и далеко ушли. В них тоже приколов хватает. И это при том что есть туча языков в которых подобных приколов нет.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Динамика тут не причем. Это называется отсутствие строгой типизации. Скрипты ею страдают чаще только потому, что их авторы пытаются по больше разрешить. Но нет никаких проблем спроектировать скрипт который был бы строго типизирован.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.