Насколько важно изучить Boost для разработчиков C++?

Мне любопытно узнать Увеличение. Но я хотел спросить:

  • Насколько важно прилагать усилия для изучения Boost?
  • Какие предварительные условия должны быть выполнены перед тем, как перейти на Boost?

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
25
0
8 124
10
Перейти к ответу Данный вопрос помечен как решенный

Ответы 10

Boost имеет богатый набор библиотек, которые вы получаете бесплатно. Узнайте, какие все библиотеки доступны в Boost, чтобы вы могли использовать их, если в этом возникнет необходимость. Что касается обучения, выберите библиотеки, которые включены в C++ 0X, чтобы что вы можете его использовать, и скоро компиляторы будут поддерживать его. О конкретной библиотеке выучите ее, когда захотите.

Ответ принят как подходящий

Я думаю, что любой, кто серьезно рассматривает разработку C++ как карьеру, должен изучить Boost и хорошо его изучить. Как только вы начнете серьезно программировать, вы поймете, насколько полезными могут быть эти библиотеки и насколько они могут сделать вас более продуктивным. Мало того, что они кроссплатформенные, но как только вы начнете обрабатывать данные с большими числами, математические библиотеки особенно покажутся подарком свыше.

Boost (начинает) поднимает C++ от его корней в C (красивый ассемблер) и помогает ему достичь удобства использования, которое другие языки уже давно используют (Java / Python / Ruby / Lisp / и т. д.).

Trey Jackson 11.12.2008 21:09

Судя (с научной точки зрения :-) по огромному количеству вопросов по SO о C++, на которые есть самые популярные ответы типа «Use Boost :: SomethingOrOther», я бы сказал, что это очень важно.

Что привлекло меня от C к Java вместо C++, так это количество огромный предоставленных классов в Java. Boost почти удается убедить меня вернуться, за исключением того факта, что я сейчас сильно погряз в веб-сервисах, где Java - это лингва-франка.

Как разработчик игр я был шокирован тем, сколько людей не знают о Boost. Я говорил об этом контактам в различных игровых студиях, и он не только часто не используется (проблема с лицензированием или переносом?), Но многие люди даже не слышали о нем. Это наводит меня на мысль, что с точки зрения карьеры изучать Boost не так уж важно, но с точки зрения личного развития это определенно жизненно важно. :)

Многие профессиональные программисты считают True Boost мифическим зверьком. Жаль, что больше людей не используют его.

Robert Gould 11.12.2008 11:28

В игровой компании, в которой я работал, действительно возникла проблема с лицензированием. Хотя ничто в лицензии на ускорение не мешало нам разрабатывать игры с ее помощью, мы не были застрахованы от возможных будущих судебных разбирательств по поводу ее использования. Так что нам фактически платили за то, что мы неоднократно изобретали велосипед, но плохо.

Drew Dormann 11.12.2008 18:27

Я спросил своего друга-программиста, использовал ли он boost около года назад, на что он ответил: «Boost? Это в основном связано с пользовательским интерфейсом, никогда не использовал его». :П

radman 03.06.2010 09:25

boost не имеет библиотек пользовательского интерфейса? Имеет ли это?

Roman A. Taycher 11.05.2011 10:37

Это очень важно, особенно с учетом того, что многие библиотеки 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++, если продолжите использовать библиотеки для болезненных вещей, таких как сериализация, создание сетей и т. д. Наконец, когда вы подадите заявку на размещение вакансий, они будут задавать вам вопросы, которые часто эквивалентны тому, что эта библиотека делает, сортировка была бы хорошим примером. Как бы вы могли ответить на эти вопросы, если бы всегда для всего использовали библиотеки! ;)

ForceMagic 21.12.2012 05:42

Я бы предпочел, чтобы мои программисты знали и активно использовали библиотеки, а не изобретали колесо (как правило, колесо похуже). Знание, когда использовать данную библиотеку и как может быть своего рода искусством само по себе. Я согласен с тем, что важно помнить и основы (базовое - это вещи более низкого уровня, а не проще).

Marc Claesen 24.05.2013 21:41

Другие вопросы по теме