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

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

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

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

11.12.2008 06:00:44
10 ОТВЕТОВ
РЕШЕНИЕ

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

39
11.12.2008 06:35:21
Boost (начинает) поднимает C ++ из его корней в C (симпатичный ассемблер) и помогает ему достичь удобства использования, которым другие языки наслаждались довольно давно (Java / Python / Ruby / Lisp / и т.д.).
Trey Jackson 11.12.2008 18:09:56

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

2
11.12.2008 06:13:30
8
23.05.2017 10:32:49

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

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

1
11.12.2008 06:43:37

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

14
11.12.2008 07:54:06
Похоже, что True Boost считается мифическим чудовищем среди многих профессиональных программистов игр. Жаль, что больше людей не используют это.
Robert Gould 11.12.2008 08:28:40
В игровой компании, в которой я работал, это была действительно проблема с лицензированием. Хотя ничто в расширенной лицензии не помешало нам разрабатывать игры с ней, мы не были застрахованы от возможных будущих судебных разбирательств в отношении ее использования. Таким образом, нам фактически заплатили, чтобы повторно изобрести колесо, плохо.
Drew Dormann 11.12.2008 15:27:29
Я спросил моего друга-программиста, использовал ли он год назад, и на что он ответил: «Повышение? Это в основном на стороне пользователя, никогда не использовал его». : P
radman 3.06.2010 05:25:16
Boost не имеет пользовательского интерфейса? Является ли?
Roman A. Taycher 11.05.2011 06:37:38

Это очень важно, особенно с учетом того, что многие библиотеки Boost переходят на стандарт C ++ - с помощью Boost вы получаете представление о том, как будет выглядеть стандарт ( shared_ptrкто-нибудь?).

Более того, даже если вы их не используете, библиотеки Boost написаны очень хорошо и на них часто интересно смотреть; они делают действительно продвинутый C ++.

4
11.12.2008 08:30:55

Что касается любых предварительных условий, вы должны быть знакомы с STL, и некоторый опыт работы с шаблонами не повредит. Я всегда удивляюсь тому, сколько программистов на C ++ на самом деле не используют ни STL, ни шаблоны.

6
11.12.2008 09:18:20

Помните, что boost - это просто набор библиотек, которые можно использовать для повышения производительности (прекратите изобретать велосипед).

По общему мнению, они хорошо написаны и используют методы, которые вы не могли бы (то есть определенно не придумали) самостоятельно. Если вы намереваетесь просмотреть исходный код, чтобы изучить продвинутые методы с ++, то выведите себя из себя, но я думаю, что вместо этого я бы купил хорошую книгу.

С другой стороны, если вы просто хотите использовать некоторые библиотечные функции для повышения производительности, рассмотрите ваши варианты. Что вы разрабатываете и какие библиотеки вам нужны?

У нашей компании есть кроссплатформенные продукты, которые широко используют boost, но у нас также есть продукты только для Windows, которые используют некоторые boost, но по большей части полагаются на библиотеки Microsoft. Библиотеки MS хорошего качества и имеют (imo) отличную документацию (часть успеха MS заключается в том, чтобы максимально облегчить программирование окон для сторонних разработчиков). Я упоминаю MS конкретно, поскольку они предлагают широкий спектр библиотек для многих целей, таких как boost. Мы также используем многочисленные другие более специализированные сторонние библиотеки (то есть библиотеки, которые обеспечивают функциональность в одной области, такой как криптография).

1
11.12.2008 15:28:34

Я чувствую, что повышение - это такой улучшитель производительности, что я не думаю, что я бы согласился на работу с магазином C ++, не использующим повышение.

4
12.12.2008 01:02:58

Язык - это инструмент. Используйте его, если это поможет вам чего-то достичь.

Я так устал от этих религий. «Должен ли я использовать Boost? Если я не использую Boost, значит ли это, что я не настоящий программист C ++? Буду ли я похож на других программистов C ++?» Пожалуйста. Любой программист на C ++, которому небезразлично, используете ли вы Boost или какую-либо другую библиотеку, - придурок, и вы не должны иметь с ним ничего общего.

Скорее, найдите интеллектуального, непредубежденного человека, который может рассказать вам, как библиотека Boost и библиотека «кто знает, что такое» помогли ему в его собственной работе. Он даже признает, что иногда вам не нужны эти библиотеки.

Альтернативный ответ: повторная реализация части Boost или STL самостоятельно - это хороший способ сохранить ваши навыки программирования острыми. Другими словами, программист C ++, который не может вернуться к C, потому что он не имеет своих библиотек, является слабым программистом.

4
3.06.2010 05:09:04
Очень хороший ответ! Более того, я думаю, что вы пропустите большую часть C ++, если продолжите использовать библиотеки для выполнения болезненных задач, таких как сериализация, работа в сети и т. Д. Наконец, когда вы обращаетесь к публикации вакансий, они будут задавать вам вопросы, которые часто эквивалентны тому, что эта библиотека делает, сортировка была бы хорошим примером. Как вы могли бы ответить на эти вопросы, если вы всегда использовали библиотеки для всего! ;)
ForceMagic 21.12.2012 01:42:23
Я бы предпочел, чтобы мои программисты знали и энергично использовали библиотеки вместо того, чтобы изобретать колесо (как правило, худшее колесо). Знание, когда использовать данную библиотеку и как может быть чем-то вроде искусства само по себе. Я согласен с тем, что важно помнить и основы (базовые вещи - вещи более низкого уровня, а не проще).
Marc Claesen 24.05.2013 17:41:27