Про buffer overflows и т.п.. Кстати, опыт PHP (не только, конечно, просто с PHP пример наиболее близкий и распространённый) наглядно доказывает, что разруха - в головах. PHP лишён проблем с управлением памятью и т.п., присущих C[++] - т.е. никаких buffer overflows, memory corruption и т.п. в нём сделать практически невозможно - однако проблемы с безопасностью в весьма распространённых программах на PHP довольно часты. Потому что плохому танцору никакие сапоги-самоплясы не помогают, как видно.
no subject
Все остальные проблемы - это проблемы не языка, а программистов.
no subject
int idx(String container, String contained) {
return container.toLowerCase()indexOf("/" + contained);
}
то есть, могу свободно писать f(g(x), h(y)), где g и h возвращают какие-то объекты, не задумываясь при этом не только о распределении регистров, но и о необходимости удалить ненужные объекты, после того, как f ими воспользовался.
А как в таком случае поступит сиплюсплюс программист? Или сиплюсплюс программист считает функциональное программирование вредной буржуазной выдумкой?
no subject
no subject
no subject
no subject
Ну, то, что Вы написали, переводится на C++ вот так:
size_type idx(const std::string& container, const std::string& contained) { return container.find(contained, 0); }Я не очень понял пример чего Вы приводите, при чем тут функциональное программирование, распределение регистров и необходимость удалять объекты. Я совсем не понял агрессивный тон.
Далее, каждый язык хорош для того, для чего он сделан. И, хотя есть библиотеки, дающие возможность заниматься функциональным программированием на C++ (или Джаве), но ведь можно и гвозди забивать плоскогубцами, да?
И уж тем более ни один слесарь, заслуживающий называть себя слесарем, не станет спрашивать - считаю ли я забивание гвоздей буржуазной выдумкой на том основании, что он знает как забивать гвозди гаечным ключом, но не знает как - плоскогубцами.
no subject
no subject
no subject
no subject