LINUX.ORG.RU

Написал небольшую книгу для C/C++ программистов

 , , , ,


13

8

Здравствуйте. Меня зовут Андрей Карпов. Сфера моих интересов - язык C/C++ и продвижение методологии статического анализа кода. На протяжении пяти лет я являюсь Microsoft MVP в номинации Visual C++. Основная цель моих статей и работы, сделать код программ немножко безопасней и качественней. Буду рад, если эта мини-книга научит вас писать более надежный код и предостережет от некоторых типовых ошибок. Немало полезного здесь можно будет почерпнуть и тем, кто занимается написанием стандартов кодирования для своих компаний.

Немного истории. Не так давно я создал ресурс, на котором делился различными полезными советами по программированию на языке С++. Ресурс не собрал ожидаемое количество подписчиков, поэтому я не вижу смысла приводить здесь на него ссылку. Сайт просуществует какое-то время, после чего уйдет в небытие. А вот советы достойны сохранения. Поэтому я доработал, пополнил эти советы и объединил их в единый текст. Желаю приятного чтения.

UPD: PDF-версия: https://yadi.sk/i/RCHauHFBr2cSs

P.S. Пользуясь случаем приглашаю всех желающих последовать за мной в Twitter: @Code_Analysis.

>>> Главный вопрос программирования, рефакторинга и всего такого

На протяжении пяти лет я являюсь Microsoft MVP в номинации Visual C++

Товарищи, которые шарят в этих делах, стоит уже кричать ВАУ!? Этот самый MVP, что это такое? Master Visual Plus?

Kompilainenn ★★★★★ ()
Ответ на: комментарий от Kompilainenn

Этот самый MVP, что это такое?

MVP (англ. Most Valuable Professional - рус. Наиболее ценный специалист) - это лидеры технических сообществ, которые продемонстрировали образцовую готовность помочь другим извлекать максимальную отдачу от использования технологий Microsoft. Они с энтузиазмом делятся своими практическими навыками и техническими знаниями с сообществом.

Andrey_Karpov_2009 ()

сделать код программ немножко безопасней

я, как немножко программист, вас понимаю

gray ★★★★★ ()
Ответ на: комментарий от Andrey_Karpov_2009

Microsoft MVP
помочь другим извлекать максимальную отдачу от использования технологий Microsoft

Причем здесь linux?

log4tmp ★★★★ ()
Ответ на: комментарий от log4tmp

Причем здесь linux?

Спросили, что такое MVP - я ответил. А новость вообще об ином. Предлагаю почитать мини-книгу и давайте поболтаем на программистские темы. Это интереснее.

Andrey_Karpov_2009 ()

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

alexferman ()

Желаю приятного чтения.

Спасибо, но сайт у вас недоступен.

spec_po_kiskam ★★ ()
Ответ на: комментарий от spec_po_kiskam

Написано же:

Сайт просуществует какое-то время, после чего уйдет в небытие.

Т.е. видно уже.

subwoofer ★★★★★ ()
Ответ на: комментарий от Andrey_Karpov_2009

давайте поболтаем на программистские темы

Давайте. С/С++ не нужен, устарел и калечит ноги.

cipher ★★★★★ ()
Ответ на: комментарий от subwoofer

ЛОР-еффект. Подумав пару минут линк таки открылся. Полистал — там в самом деле дельные советы.

Andrey_Karpov_2009 правьте сайт или выложите куда-нибудь в более отказоустойчивое место. ;)

Failed to connect to http://www.viva64.com port 80: Connection refused
beastie ★★★★★ ()
Последнее исправление: beastie (всего исправлений: 2)
Ответ на: комментарий от spec_po_kiskam

Спасибо, но сайт у вас недоступен.

«Эффект демонстрации». Сайт упал. Перезагружаем. Прошу немного терпения и вновь попробовать его посетить.

Andrey_Karpov_2009 ()
Ответ на: комментарий от subwoofer

Сайт просуществует какое-то время, после чего уйдет в небытие.

Т.е. видно уже.

Про закрытие имелся в виду сайт cpphints. А наш просто сейчас упал. Подождите.

Andrey_Karpov_2009 ()
Ответ на: комментарий от spec_po_kiskam

А новость о чем тогда? «Я написал книгу, но вам ее не дам»?

Зато какая интрига! :)

Andrey_Karpov_2009 ()
Ответ на: комментарий от beastie

выложите куда-нибудь в более отказоустойчивое место

Эх. Это уже 3 хостинг. Не везет нам с хостерами. Ну или мы не доросли до каких-то совсем дорогих и волшебных вариантов.

Andrey_Karpov_2009 ()
Ответ на: комментарий от Andrey_Karpov_2009

это лидеры технических сообществ, которые продемонстрировали образцовую готовность помочь другим извлекать максимальную отдачу от использования технологий Microsoft

огого! Вот это вброс! Годный вброс, очень даже. Чувак пришел на линуксовый ресурс помогать прогерам извлекать отдачу от технологий МС....жесть какая

Kompilainenn ★★★★★ ()

По-прежнему недоступен.

hobbit ★★★★★ ()
Ответ на: комментарий от Kompilainenn

Чувак пришел на линуксовый ресурс помогать прогерам извлекать отдачу от технологий МС

Насколько мне известно, такая технология, как MS Core fonts, например, оказалась полезна многим линуксоидам.

hobbit ★★★★★ ()

Спасибо за труд, книжку было бы интересно увидеть, например, в epub или PDF формате. Раз уж она бесплатная и распространяется свободно. И выложить куда-нибудь в отказоустойчивое место.

EXL ★★★★★ ()

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

Xenon ★★★ ()

Спасибо. Книга в виде PDF-файла ожидается?

grem ★★★★★ ()
Ответ на: комментарий от Xenon

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

Кажется, сайт поднялся. Милости просим. Приношу извинение за накладку.

Andrey_Karpov_2009 ()
Ответ на: комментарий от cipher

зачем так сразу толсто набрасывать? Тоньше надо дискуссию начинать :)

Harald ★★★★★ ()
Ответ на: комментарий от Kompilainenn

огого! Вот это вброс! Годный вброс, очень даже. Чувак пришел на линуксовый ресурс помогать прогерам извлекать отдачу от технологий МС....жесть какая

На самом деле текст связан с MS очень слабо, и будет одинаково полезен C++ программистам, работающим как в Windows, так и Linux. За редким исключением, рассматриваемые темы универсальны.

Andrey_Karpov_2009 ()
Ответ на: комментарий от Harald

Хейтеры C++ не могут тонко. Специфика такая. Возрастная.

EXL ★★★★★ ()
Ответ на: комментарий от Andrey_Karpov_2009

Выложите на мегу, на яндекс.диск, на OneDrive в конце концов?

Aceler ★★★★★ ()

Если что, то в РФ и на постсоветском пространстве широко распространён формат fb2. Книжки в html как-то немного дурной тон.

Displacer ★★ ()
Ответ на: комментарий от grem

Спасибо. Книга в виде PDF-файла ожидается?

Пока не хотел делать и выкладывать PDF-файл, так как возможно ещё будут исправляться какие-то ошибки и ляпы. Но поскольку сайт ведёт себя нестабильно, изготовил PDF: https://yadi.sk/i/AcAZqdhkqzTff

Тем не менее, прошу не ссылаться на PDF-файл, а отправлять друзьям/коллегам ссылку на сайт.

Andrey_Karpov_2009 ()

Круто, спасибо! Я ни разу не C++ программист, но хорошо написанный материал в свободном виде всегда полезен.

unlog1c ★★★ ()
Ответ на: комментарий от Andrey_Karpov_2009

Не везет нам с хостерами. Ну или мы не доросли до каких-то совсем дорогих и волшебных вариантов.

Закупайте выделенный сервак, учитесь на RHCE и дело в шляпе :-)

Aceler ★★★★★ ()
Ответ на: комментарий от Displacer

Если что, то в РФ и на постсоветском пространстве широко распространён формат fb2. Книжки в html как-то немного дурной тон.

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

Andrey_Karpov_2009 ()
Ответ на: комментарий от Kompilainenn

Дык сейчас под Windows можно писать и запускать линуксовые приложения из коробки. Что тут такого?

Ghostwolf ★★★ ()

Благодарю. Встретились интересные сведения, пусть и про оффтопик

XMs ★★★ ()

Спасибо, почитаю на досуге. Надеюсь, оно не MS VS специфично, а в общем?..

Hasek ★★ ()

29, раздел «Рекомендации»:

е, кто скажут: «Ну и что?

Поправьте, хотя это и не критично.

knovich ()

1. Не берите на себя работу компилятора

Сложно профилировать такой примитивный код. Но с clang и -fno-inline, valgrind говорит, что Ваш вариант с циклом, на 60% медленнее.

Да, разворачивание циклов - это усложнение, но если стоит вопрос производительности, то ручной вариант зачастую лучше.

RazrFalcon ★★★ ()
Ответ на: комментарий от Hasek

Спасибо, почитаю на досуге. Надеюсь, оно не MS VS специфично, а в общем?..

Можете смело читать. Про Win там очень мало.

Andrey_Karpov_2009 ()

скажите пожалста, а Карпов, который был деканом факультета кибернетики в ТулГУ, вам случаем родственником не приходится?

Harald ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.