За последние 7-8 лет какие самые большие влияния на программирование на C++?

Я начал программировать на С++. Это был мой первый язык, но я не использовал его много лет.

Каковы новые разработки в мире С++? Каковы БОЛЬШИЕ вещи - технологии, книги, рамки, библиотеки и т.д.?

За последние 7-8 лет какие самые большие влияния на программирование на C++?

Возможно, мы могли бы сделать одно влияние на почту, и таким образом мы можем проголосовать за них.

Ответы

Ответ 1

Boost:

бесплатные рецензируемые переносные исходные библиотеки С++.

Мы подчеркиваем библиотеки, которые хорошо работают с стандартной библиотекой С++...

Мы стремимся установить "существующую практику" и предоставить справочные реализации, чтобы библиотеки Boost были пригодны для возможной стандартизации. Библиотеки Ten Boost включены в Технический отчет Комитета по стандартам С++ (TR1) и в новом стандарте С++ 11. С++ 11 также включает еще несколько библиотек Boost в дополнение к тем из TR1. Дополнительные библиотеки Boost предлагаются для стандартизации в С++ 17...

Ответ 2

" Modern С++", STL, метапрограммирование шаблонов и общее программирование.

(И да, это один единственный ответ, потому что они довольно тесно переплетаются и вместе представляют собой полный сдвиг парадигмы в развитии С++. Хотя некоторые из них старше 8-9 лет, это в значительной степени в последнем лет, что они действительно набрали силу и действительно оставили "C с классами" в пыли.

Ответ 3

С++ 0x

Современный С++ - это не только язык ООП. С++ 0x (новый стандарт) будет включать множество новых дополнений. Это может занять некоторое время, прежде чем оно будет применено полностью в каждом IDE/компиляторах, но оно добавит много к уже отличному языку.

Вот список новых возможностей нового стандарта: С++ 0x

** Изменить: С++ 0x - результат последних 8-9 лет (спасибо jalf).

Ответ 4

Qt также очень полезен, "хорошенький", хорошо документированный, портативный и бесплатный (теперь под LGPL).

Ответ 5

Разработчики, которые фактически понимают OO, а не C с классами.

Хотя в поле по-прежнему полно программистов C, которые думают, что знают С++ (но не они просто C с людьми классов).

Ответ 6

Несмотря на то, что он начался в 1998 году, но в последние 7-8 лет он действительно продвигался вперед, библиотеки ускорения добавили огромное количество высококачественного кода, что во многом помогло С++ немного обновиться с возможностями более современных языков.

Ответ 7

Хорошие книги, которые помогут потенциальным программистам на C++ научиться правильно использовать язык. Эффективный С++ Скоттом Мейерсом оказал мне огромную помощь. Есть другие темы в книгах на С++.

Ответ 9

Коммерчески доступный целая программа и оптимизация на основе профиля из различных компиляторов С++, в частности, Intel и Microsoft. В частности, кросс-модульная вставка облегчает запись хорошо продуманного кода, который прорывается.

Ответ 10

  • Обычно это не первый язык вы учитесь в колледже или университете больше. Это делает перспективным учащиеся с благодарностью С++ и облегчает их в это.

  • Интернет, сайты для редактирования видео, и форумы, которые помогают программистам все уровни, чтобы получить помощь и обратную связь очень своевременно.

Ответ 11

Для меня, помимо уже упомянутого boost, TMP, MС++ D и т.д., переход от обучения С++ как "C плюс некоторые дополнительные функции" к "С++ - это совсем другой язык, который нельзя использовать как C" очень важно. Это сделало бы Koenig/Moo "Accelerated С++" - огромное влияние, хотя это книга новичков, и хотя это книга новичков, которая (всего 250 страниц) слишком крутой кривой обучения.

Страуструп говорил о лучшем языке, скрытом в С++, и о необходимости научить его лучше, но я никогда не понимал, что он имел в виду до тех пор, пока через 10 лет программирования на С++ и опыта в TMP я не прочитал книгу и не был с подсветкой. :^> Не то, чтобы я узнал из книги новые технические факты. Это просто научило меня лучше смотреть (и учить) С++.

И, да, с тех пор я программировал разные.

Ответ 12

За последние 7-8 лет какие самые большие влияния на программирование на C++?

Boost уже упоминался, и я второй.

Важность Boost - это не только его эффективность и спектр, но и продвижение концептуальных методов.

Известное выражение Степанова на http://www.stlport.org/resources/StepanovUSA.html

Я считаю ООП философски необоснованным. Он утверждает, что все является объектом. Даже если это правда, это не очень интересно - говоря, что все это объект, ничего не говорит.

все еще сохраняется, понятие "все" - это все-таки все, а не "объект" - если бы это был "объект", что было бы тогда "классом"?

И продвижение этих концептуальных методов в порядке, потому что вопреки общей мудрости OOADP часто удивительно концептуальна:

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

OOD имеет большее значение в нем, если оно используется как средство для достижения надлежащего разложения больших систем и как средство выражения мышления в шаблонах (что вполне естественно для нас), но оно никогда не должно восприниматься как самость цель. Я до сих пор помню OO "проекты" от ~ 2000 года, которые были представлены с большим шумом и новичком и футуризмом, но даже не были самосогласованными.

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

Наконец, ООП, в самом близком смысле, естественно стремится создать состояние, которое затем тщательно и, конечно же, больше OO, поэтому "Больше того же" (Watzlawick), чтобы быть защищенным от одновременного доступа. В таких ситуациях часто необходимо было что-то делать, а не на сборке OO.


С++ кодирование было 10 лет назад, особенно из-за его "конкуренции" с Java, вполне восприимчивого к упомянутым выше шансам OO, поэтому я считаю, что основанные на концепции методы были отличным средством. Boost libs - это образцы для подражания для успешного применения этих методов.