﻿# Коллекция интересных ресурсов по тематике программирования на языке Си/Си\+\+

Я постоянно изучаю интернет на тему новых статей по программированию на языке Си/Си\+\+/Си\+\+11\. Если мне они кажутся интересными, я делюсь ссылками на них в твиттере @Code\_Analysis, в реддите /r/Viva64 и голосую в StumbleUpon\. Если вы присутствуете на одном из этих сайтов, то приглашаю следовать за мной\. Со временем вам попадется немало интересных статей\. А чтобы заинтересовать вас, я решил сделать небольшую подборку материалов\.

В первую очередь я, конечно, хочу порекомендовать наш сайт viva64\.com\. Здесь можно найти много [статей](https://pvs-studio.ru/ru/blog/posts/) и записей в [блоге](https://pvs-studio.ru/ru/blog/posts/), касающихся разработке качественного кода\. Например, предлагаю познакомиться с [28 уроками](https://pvs-studio.ru/ru/blog/lessons/), посвященными разработке 64\-битных приложений на языке Си/Си\+\+\.

Для удобства я разбил ссылки на несколько тем\. Желаю приятного чтения\.

_Примечание\._ Как правило, мы оборачиваем ссылки, чтобы контролировать их целостность\. Про это бесстрашное сражение с хаосом, я писал в статье "[Д'Артаньян и интернет, или работа над проблемой битых ссылок](https://pvs-studio.ru/ru/blog/posts/0075/)"\. К сожалению, в этот раз я буду давать прямые ссылки\. Эти материалы существенно увеличат базу ссылок, а значит, существенно прибавят нам работы в случае перемещения статей\.

## Си\+\+ живее всех живых

* Большой список известных проектов, которые разрабатываются на языке Си/Си\+\+: C\+\+ Applications\. И после этого кто\-то говорит, что язык Си\+\+ вымирает?
* Computer Language Benchmarks Game\. Как всегда, по скорости лидируют языки Fortran, Си и Си\+\+\. И вряд ли что\-то в обозримом времени изменится\. Если вы разрабатываете ресурсоемкое программное обеспечение, то Си\+\+ может оказаться оптимальным выбором\.
* [Why is C\+\+ still a very popular language in quantitative finance?](https://quant.stackexchange.com/questions/1764/why-is-c-still-a-very-popular-language-in-quantitative-finance)
* [9 reasons to start using C\+\+11](http://cpprocks.com/9-reasons-to-start-using-c11/)

## Интересные блоги

* [Steve Hanov's Blog](http://stevehanov.ca/blog/)
* [Visual C\+\+ Team Blog](https://devblogs.microsoft.com/cppblog/)
* [The Old New Thing](https://devblogs.microsoft.com/oldnewthing/)



## Арифметика с плавающей запятой

* [Tricks With the Floating\-Point Format](https://randomascii.wordpress.com/2012/01/11/tricks-with-the-floating-point-format/)
* [Stupid Float Tricks](https://randomascii.wordpress.com/2012/01/23/stupid-float-tricks-2/)
* [Comparing Floating Point Numbers](https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/), 2012 Edition

## Разные приёмы при программировании

* [Bit Twiddling Hacks](http://graphics.stanford.edu/~seander/bithacks.html)
* [Table\-driven methods with no relocations](https://macieira.org/blog/2011/07/table-driven-methods-with-no-relocations/)
* [Cool C Tricks](https://web.archive.org/web/20160304013819/http:/www.endofunctor.org/~rpearl/blog/cool-c-tricks.html)

## О кодировках символов и управляющих символах

* [Unicode, UTF\-8 and all that](https://triptico.com/docs/unicode.html): An intentionally incomplete character set introduction for hasty C programmers
* [Control character](https://en.wikipedia.org/wiki/control_character)
* The [UTF\-8 Everywhere](https://utf8everywhere.org/) manifesto

## Стандарты кодирования

* [Google C\+\+ Style Guide](https://google.github.io/styleguide/cppguide.html)
* CERT\. [C Secure Coding Standard](https://wiki.sei.cmu.edu/confluence/display/c/sei+cert+c+coding+standard) 

## Группы

* Reddit: [Cpp](https://www.reddit.com/r/cpp/), [C\_Programming](https://www.reddit.com/r/c_programming/)\.
* Facebook: [C\+\+ Programming](https://www.facebook.com/groups/cppprogramming/), [For the love of C\+\+](https://www.facebook.com/groups/4200526117/), [C Programming](https://www.facebook.com/groups/11366002065/), [Visual C\+\+ Developer](https://www.facebook.com/groups/2248174480/), [C Plus Plus \(C\+\+\)](https://www.facebook.com/groups/2204920930/)
* LinkedIN: [C\+\+ Community Group](http://www.linkedin.com/groups?home=&gid=133720&trk=anet_ug_hm), [C\+\+ Developers Forum](http://www.linkedin.com/groups?home=&gid=87434&trk=anet_ug_hm), [C\+\+ Developers Group](http://www.linkedin.com/groups?home=&gid=86998&trk=anet_ug_hm), [C\+\+ Professionals](http://www.linkedin.com/groups?home=&gid=100895&trk=anet_ug_hm)

## Разное

* [What's Wrong With GNU make?](http://www.conifersystems.com/whitepapers/gnu-make/)
* Почему strncpy не безопаснее strcpy: [strncpy? just say no](https://blog.liw.fi/posts/strncpy/)
* A Guide to Undefined Behavior in C and C\+\+\. Part [N1](https://blog.regehr.org/archives/213), [N2](https://blog.regehr.org/archives/226), [N3](https://blog.regehr.org/archives/232)
* [Windows Data Alignment on IPF, x86, and x64](https://www.microsoft.com/en-us/download/details.aspx?id=55979)
* [Translate](https://cdecl.org/) C declaration
* [Arbitrary Data Sizes with C](https://dashmorethan.wordpress.com/2012/03/26/arbitrary-data-sizes/)