Здравствуйте, d Bratik, Вы писали:
DB>Здравствуйте, _Obelisk_, Вы писали:
_O_>>Здравствуйте, d Bratik, Вы писали:
_O_>>Пишу на С++ шесть лет и ни разу перечисленные проблемы не являлись для меня проблемами.
DB>Вы наверное писали очень небольшие программы, без GUI. Для создания программ С++ подходит, но для создания систем — нет.
Здравствуйте, Amidlokos, Вы писали:
A>Здравствуйте, d Bratik, Вы писали:
A>Я поставил -1. Но ты, при желании, легко можешь преобразовать это значение в четыре миллиарда
Здравствуйте, d Bratik, Вы писали:
DB>Здравствуйте, Glоbus, Вы писали:
DB>Проблема шалонов не хреновой читаемости, а в том, что они unsafe — невозможно указать ограничений (constraints) для параметров. Шаблонов в своих программах можно избегать. Без сборщика мусора трудно, но существуют подходы (например, концепция владения), которые позволяют обойтись без него. А вот без остального действительно туго.
Проблема некоторых программистов не в их хреновых мозгах, а в том, что они unsafe — невозможно указать ограничений(constrains) для их логики. Таких программистов в своей жизни можно избегать. Без сборщика бреда трудно, но существуют подходы(например, концепция бана), которые позволяют обойтись без него. А вот без головы на плечах действительно туго.
Да расслабься. Братик наверное пишет всякую бухгалтерскую шнягу (пардон, Систему) на дебилдере, вот у него и наболело — тем более, что в родственном дельфи есть try-finally и на конструкторы можно забивать, а в дебилдере нет.
Здравствуйте, _Obelisk_, Вы писали:
_O_>>>Пишу на С++ шесть лет и ни разу перечисленные проблемы не являлись для меня проблемами. DB>>Вы наверное писали очень небольшие программы, без GUI. Для создания программ С++ подходит, но для создания систем — нет.
_O_>Отнюдь. Я, к примеру, один из разработчиков вот этого : http://www.telelogic.com/products/tau/developer/index.cfm. (список поддерживаемых фич тут _O_>http://www.telelogic.com/products/tau/developer/features.cfm). Продукт, включая GUI, полностью написан на С++. Работает под Win, Linux, Solaris.
Здравствуйте, ansi, Вы писали:
A>А ты бы по-простецки писал int i = v.size(); и проблем бы не было. A>Короче вывод готов: C++ и d Bratik, так же, как и женщина за рулем, есть эквивалент мартышки с гранатой...
Здравствуйте, d Bratik, Вы писали:
DB>4.Отсутствие встроенных средств инициализации динамической памяти нулями при конструировании объектов оператором new. Оборачивается не выигрышем, а проигрышем в производительности, поскольку приводит к необходимости писать код инициализации в конструкторах.
Э-э-э-э.... Гм... Реальные пацаны объекты ничем кроме нулей, видать, не инициализируют.
DB>Проблема шалонов не хреновой читаемости, а в том, что они unsafe — невозможно указать ограничений (constraints) для параметров.
Нельзя ограничения установить??? Мояяяяяя девочкааааааа...
DB>Шаблонов в своих программах можно избегать.
Да че, и виртуальных функций тоже к примеру нужно избегать. Ну и разделение на х- и срр-файлы — не понятно же нихрена — где и что...
DB>Без сборщика мусора трудно, но существуют подходы (например, концепция владения),
А что ж это за такая кОнцепция, дорогой коллега, которая спасет нас от несчастья неимения сборщика мусора?
DB>которые позволяют обойтись без него. А вот без остального действительно туго.
Ну уж как пить дать...
Ваще хорошо ты, братан, задвинул, внушаеть
MN>Да согласен — ваша правда... это я поторопился... но как-то у меня такой проблемы никогда не было... наверное потому, что для работы с контейнерами C++ всегда использовал итераторы, а для доступа к массивам в стиле pure C использовал знаковый int и никогда не путал эти понятия между собой, чего и вам советую... ну или если вы моему совету не внемлите, то обращайтесь к С. Ю. Губанову — он вам других советов надаёт
для любителей signed int'ов:
положим захотелось нам искать среднее двух чисел и написали мы функцию:
int kaka (int a, int b){return (a+b)/2;}
и всё вроде тип-топ, но вот тут сунули нам два числа (вполне корректных):
int a = 2113929216;
int b = 2113929210;
и что? а какое решение-то простое есть? ассемблер в три команды не предлогать, всё на с++
p.s. я решение знаю, но не сказал бы что оно простое
Сайт выглядит очень профессионально. Интересно было бы взглянуть на внешний вид самой программы, а также узнать, на чем она написана (Qt?), и поддерживает ли она расширение своей функциональности на каком-нибудь языке программирования.
Re[10]: Почему настоящие программисты избегают C++
Здравствуйте, nixite, Вы писали:
MN>>Да согласен — ваша правда... это я поторопился... но как-то у меня такой проблемы никогда не было... наверное потому, что для работы с контейнерами C++ всегда использовал итераторы, а для доступа к массивам в стиле pure C использовал знаковый int и никогда не путал эти понятия между собой, чего и вам советую... ну или если вы моему совету не внемлите, то обращайтесь к С. Ю. Губанову — он вам других советов надаёт
N>для любителей signed int'ов:
N>положим захотелось нам искать среднее двух чисел и написали мы функцию: N>int kaka (int a, int b){return (a+b)/2;}
N>и всё вроде тип-топ, но вот тут сунули нам два числа (вполне корректных):
N>int a = 2113929216; N>int b = 2113929210;
N>и что? а какое решение-то простое есть? ассемблер в три команды не предлогать, всё на с++ N>p.s. я решение знаю, но не сказал бы что оно простое
Решение состоит в том, что система должна генерировать исключение (exception) при переполнении. Отсутствие этой возможности я забыл добавить в качестве 7-го пункта в списке ошибок проектирования языка.