Мне любопытно узнать Увеличение. Но я хотел спросить:
Почему мне интересно узнать о Boost, так это то, что многие люди говорят о Boost на каналах IRC и здесь, в StackOverflow.





Boost имеет богатый набор библиотек, которые вы получаете бесплатно. Узнайте, какие все библиотеки доступны в Boost, чтобы вы могли использовать их, если в этом возникнет необходимость. Что касается обучения, выберите библиотеки, которые включены в C++ 0X, чтобы что вы можете его использовать, и скоро компиляторы будут поддерживать его. О конкретной библиотеке выучите ее, когда захотите.
Обсуждалось ранее: каковы преимущества использования библиотек C++ boost.
Я думаю, что любой, кто серьезно рассматривает разработку C++ как карьеру, должен изучить Boost и хорошо его изучить. Как только вы начнете серьезно программировать, вы поймете, насколько полезными могут быть эти библиотеки и насколько они могут сделать вас более продуктивным. Мало того, что они кроссплатформенные, но как только вы начнете обрабатывать данные с большими числами, математические библиотеки особенно покажутся подарком свыше.
Судя (с научной точки зрения :-) по огромному количеству вопросов по SO о C++, на которые есть самые популярные ответы типа «Use Boost :: SomethingOrOther», я бы сказал, что это очень важно.
Что привлекло меня от C к Java вместо C++, так это количество огромный предоставленных классов в Java. Boost почти удается убедить меня вернуться, за исключением того факта, что я сейчас сильно погряз в веб-сервисах, где Java - это лингва-франка.
Как разработчик игр я был шокирован тем, сколько людей не знают о Boost. Я говорил об этом контактам в различных игровых студиях, и он не только часто не используется (проблема с лицензированием или переносом?), Но многие люди даже не слышали о нем. Это наводит меня на мысль, что с точки зрения карьеры изучать Boost не так уж важно, но с точки зрения личного развития это определенно жизненно важно. :)
Многие профессиональные программисты считают True Boost мифическим зверьком. Жаль, что больше людей не используют его.
В игровой компании, в которой я работал, действительно возникла проблема с лицензированием. Хотя ничто в лицензии на ускорение не мешало нам разрабатывать игры с ее помощью, мы не были застрахованы от возможных будущих судебных разбирательств по поводу ее использования. Так что нам фактически платили за то, что мы неоднократно изобретали велосипед, но плохо.
Я спросил своего друга-программиста, использовал ли он boost около года назад, на что он ответил: «Boost? Это в основном связано с пользовательским интерфейсом, никогда не использовал его». :П
boost не имеет библиотек пользовательского интерфейса? Имеет ли это?
Это очень важно, особенно с учетом того, что многие библиотеки Boost переходят на стандарт C++ - используя Boost, вы можете заранее увидеть, как будет выглядеть стандарт (shared_ptr, кто-нибудь?).
Более того, даже если вы их не используете, библиотеки Boost очень хорошо написаны и часто интересны для просмотра; они делают действительно продвинутый C++.
Что касается предварительных условий, вы должны быть знакомы с STL, и некоторый опыт работы с шаблонами не помешает. Меня всегда удивляло, сколько программистов на C++ на самом деле не используют ни STL, ни шаблоны.
Помните, что boost - это просто набор библиотек, которые можно использовать для повышения производительности (хватит изобретать колесо).
Они, по общему мнению, хорошо написаны и используют методы, которые вы, возможно, не придумаете (то есть определенно не будете) сами. Если вы намерены просмотреть исходный код, чтобы изучить продвинутые методы C++, тогда вышибите себя, но я думаю, что вместо этого я куплю хорошую книгу.
С другой стороны, если вы просто хотите использовать некоторые функции библиотеки для повышения производительности, рассмотрите свои варианты. Что вы разрабатываете и какие библиотеки вам нужны?
У нашей компании есть кроссплатформенные продукты, которые широко используют ускорение, но у нас также есть продукты только для Windows, которые используют некоторое ускорение, но по большей части полагаются на библиотеки Microsoft. Библиотеки MS хорошего качества и имеют (imo) отличную документацию (часть успеха MS заключается в том, чтобы сделать окна максимально простыми для программирования для сторонних разработчиков). Я особо упоминаю MS, поскольку они предлагают широкий спектр библиотек для многих целей, таких как ускорение. Мы также используем множество других более специализированных сторонних библиотек (то есть библиотек, которые предоставляют функциональные возможности в одной области, например, в криптографии).
Я чувствую, что Boost настолько повышает продуктивность, что не думаю, что согласился бы на работу в магазине C++, не использующем Boost.
Язык - это инструмент. Используйте его, если это поможет вам в достижении чего-либо.
Мне так надоели эти религии. «Следует ли мне использовать Boost? Если я не использую Boost, значит ли это, что я не настоящий программист на C++? Буду ли я нравиться другим программистам на C++?» Пожалуйста. Любой программист на C++, которому небезразлично, использует ли ты Boost или любую другую библиотеку, тупой придурок, и вы не должны иметь с ним ничего общего.
Лучше найдите умного, непредубежденного человека, который расскажет вам, как Boost и неизвестно-какая-другая библиотека помогли ему в его собственной работе. Он даже признает, что иногда вам не нужны эти библиотеки.
Альтернативный ответ: повторная реализация части Boost или STL самостоятельно - хороший способ сохранить свои навыки программирования. Другими словами, программист на C++, который не может вернуться к C, потому что у него нет своих библиотек, является слабым программистом.
Очень хороший ответ! Более того, я думаю, вы упустите большую часть C++, если продолжите использовать библиотеки для болезненных вещей, таких как сериализация, создание сетей и т. д. Наконец, когда вы подадите заявку на размещение вакансий, они будут задавать вам вопросы, которые часто эквивалентны тому, что эта библиотека делает, сортировка была бы хорошим примером. Как бы вы могли ответить на эти вопросы, если бы всегда для всего использовали библиотеки! ;)
Я бы предпочел, чтобы мои программисты знали и активно использовали библиотеки, а не изобретали колесо (как правило, колесо похуже). Знание, когда использовать данную библиотеку и как может быть своего рода искусством само по себе. Я согласен с тем, что важно помнить и основы (базовое - это вещи более низкого уровня, а не проще).
Boost (начинает) поднимает C++ от его корней в C (красивый ассемблер) и помогает ему достичь удобства использования, которое другие языки уже давно используют (Java / Python / Ruby / Lisp / и т. д.).