С другой стороны, организация работы с дочерними процессами как в Apache, это ужасный геморрой — архитектура сильно усложняется.
С третьей, вот IPlanet процессы ресайклить не умеет, и зачастую имеет проблемы с памятью из-за кривых плагинов. Наверное, его только малая распространенность и спасает :)
Я так думаю, что единственный нормальный способ с этим бороться, это порождать дочерние процессы как в Apache и рециклить (перезапускать) их периодически. На солярке еще libumem должен проде помогать — судя по паре постов в Интернете, он умеет память отдавать (там mmap() используется вместо sbrk()).
Некоторые ветвления могут привести к тому, что вместо С++ выгодней изучать другой язык — например C# :) Недавно я общался с head hunter-ом в моем регионе, и он сказал, что работы на С++ становится меньше (но если есть опыт, то найти не проблема, разве только времени больше займет). Зато оплачивается лучше Java и .NET.
Самый выгодный вариант, если можно решать несложную задачу на работе, и при этом есть с кем консультироваться.
Для самообучения дома — можно скачать Visual Studio Express, и написать игру Жизнь, к примеру…
Тогда начинать надо с авторов, рекомендованных выше, а продолжать:
Андрей Александреску (англ. Andrei Alexandrescu) Современное проектирование на С++: Обобщенное программирование и прикладные шаблоны проектирования = Modern C++ Design: Generic Programming and Design Patterns Applied.
Герб Саттер (англ. Herb Sutter) Решение сложных задач на С++. — Москва: Вильямс, 2008
И, конечно, решать конкретные задачи — проще всего, если что-то по работе нужно (и разрешают заниматься самообразованием)
А еще была Quattro Pro — отличная эл. таблица под DOS, но они прошляпили переход на Windows. Хотя Borland много возможностей упустили — технологически сильная была компания, но маркетинг слабый…
С третьей, вот IPlanet процессы ресайклить не умеет, и зачастую имеет проблемы с памятью из-за кривых плагинов. Наверное, его только малая распространенность и спасает :)
Хотя, я согласен, один пример не показателен
Хотя это очень частный случай — у меня было много работы по интеграции native кода с managed (Java, .NET) и разного рода инструментации.
Самый выгодный вариант, если можно решать несложную задачу на работе, и при этом есть с кем консультироваться.
Для самообучения дома — можно скачать Visual Studio Express, и написать игру Жизнь, к примеру…
Андрей Александреску (англ. Andrei Alexandrescu) Современное проектирование на С++: Обобщенное программирование и прикладные шаблоны проектирования = Modern C++ Design: Generic Programming and Design Patterns Applied.
Герб Саттер (англ. Herb Sutter) Решение сложных задач на С++. — Москва: Вильямс, 2008
И, конечно, решать конкретные задачи — проще всего, если что-то по работе нужно (и разрешают заниматься самообразованием)
А если серьезно, то сначала нужно определится с задачей — для чего — Сдать сессию? Переквалифицироваться? Добавить еще один скилл? Просто для фана?