Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Другие языки, такие как C#, позволяют одному конструктору класса вызвать другой.
Что интересно отметить, грядущая версия языка C# будет реализовывать аналогичное поведение с помощью ключевого слова var.
. .* :: ?: перегружать нельзя.Что касается сабжа - интересна секция про потоки... Правда как-то все куце выглядит... Синхронизаций мало, active - это OpenMP фактически (дубляж?)Да, мне тоже как-то странным показалось это. и так большинство компиляторов поддерживают OpenMP, зачем же такой огород городить? Уж лучше или переводить все прагмы из него в язык, либо оставить всё как есть, собственно не думаю, что разработка чего-то параллельного таким вот образом пострадает.
Быть может, скоро можно будет хоть часть работы для веба писать на C++.
Быть может, скоро можно будет хоть часть работы для веба писать на C++.
XML-RPC сервер на чистом С++, с обработкой HTTP запросов и всем прочимА почему бы и нет? Другое дело что NIH - опасный синдром, лучше всего использовать готовые библиотеки, благо их найти несложно...
мда, написано новичком в с++, да и вообще...Ну насчёт новичка - вы явно не туда смотрели: если 15 лет опыта - это "новичковое" состояние, то нормальные гуру бывают только в языках типа COBOL или FORTRAN.
кстати, понятие "объектно-ориентированный" и "объектный"И в чём разница? В том, что объектно-ориентированный язык не содержит нормальных объектных средств, а содержит слабую пародию существующую только на этапе компиляции? ООП в том виде, в каком он реализован в C++ не работает - иначе бы его не обвешивали кучей костылей все кто реально пытается его использовать.
А ставить вопрос "язык должен быть ОО" - так он и так ОО, в чем проблема?Контрольный вопрос: в с нормальными объектными языками работали? Пусть даже Java (хотя это не лучший пример). Хотя бы Python, Ruby (про Common Lisp или Smalltalk я молчу). Если работали - то меня удивляет как вы могли не придти к тому же выводу, что и автор, если не работали - попробуйте и давайте обсудим C++ после этого. C++ - это плохая пародия на нормальную объектность, но в силу ряда причин он завоевал широкую популярность и, видимо, теперь уже не умрёт (как не умрут те же COBOL и FORTRAN). Удовольствия написание на нём кода не приносит - хотя по разным причинам делать этого приходится частенько. Проблема в том, что многие вещи, которые нормальные объектные языки предоставляют программисту в C++ приходится либо реализовывать с помощью тех или иных хаков, либо с помощью средств внешних по отношению к языку.
просто рвёт в клочья от такой глупости, вы уж проститеДа уж прощаю. Я-то наивно полагал, что сравнивать можно любые языки между собой - ибо они имеют разные плюсы и минусы. То есть я не понимаю почему я не могу сравнить, скажем, Prolog и JavaScript. Ну да - это языки из разных областей. Ну и что? Любую задачу можно решить на любом языке - вопрос в том как.
Я-то наивно полагал, что сравнивать можно любые языки между собой - ибо они имеют разные плюсы и минусы.
...
Соответственно мне действительно неясно почему я не могу сравнивать C++ с питоном и руби
я тоже могу 10 лет пялиться на обложку книги и потом заявлять, что я гуру.Собственно вы это и делаете, как я понял. Кроме заявлений о своей гигапуперкрутизне и отсылок "к крутым дядям" от вас пока ничего добиться не удалось.
Однако это не мешает быть ему эффективным инструментом в умелых руках.Мешает. В большинстве случаев попытки сделать что-то на плюсах порождают кучу новых инструментов, которые по хорошему дорлжны быть встроены в язык. Получаются такие мини-вселенные в разных библиотеках, которые при попытке их объединить в одной программе рождают мегабайты кода. Работает ли всё это? Да - работает, но это - не более, чем подтверждение RFC 1925 в приложении к языкам программирования...
std::vector<int> gen() { ... }
std::vector<int> x = gen();
boost::shared_ptr<std::vector<int> > gen() { ... }
boost::shared_ptr<std::vector<int> > x = gen();
void gen(std::vector<int> & x) { ... }
std::vector<int> x;
gen(x);
vector(vector && other) { swap(other); }
C++ 2009