четверг, сентября 21, 2006

Хорошие книги по C++ для продолжающих

Итак, вы уже прочитали одну или несколько вводных книг по C++, успели попрограммировать на этом языке и считаете, что уже все про него знаете. В таком случае вам помогут следующие книги.




"Effective C++: 55 Specific Ways to Improve Your Programs and Designs", автор Scott Meyers. Чаще всего название сокращают до "Effective C++". Скотт Мейерс рассказывает, что книга оказалась очень удачна тем, что разбита на маленькие независимые друг от друга главы. И ее очень удобно читать урывками, когда нет времени: в транспорте, в перерывах между занятиями. У этой книги есть продолжение - "More Effective C++: 35 New Ways to Improve Your Programs and Designs". Вот по ее поводу Мейерс сокрушается, что не удалось выдержать тот же стиль, и она по популярности проигрывает первой.
Книга эта написана довольно давно, поэтому осторожнее относитесь к фразам "это еще не во всех современных компиляторах реализовано" и подобным. Это современность была несколько лет назад.
Обратите внимание на цифры в названиях. Изначально в "Effective C++" было 50 советов, но в третьем издании Мейерс добавил еще 5 и получилось, что их теперь 55. В наших книжных магазинах названия переводены слегка по-разному, но по числам в названии всегда можно понять о какой именно книге идет речь.
"Эффективное использование C++. 55 верных советов улучшить структуру и код ваших программ" на Ozon.ru
"Наиболее эффективное использование C++. 35 новых рекомендаций по улучшению ваших программ и проектов" на Ozon.ru




"Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions." Книга Герба Саттера, которая также имеет продолжение - More Exceptional C++. Составлена на основе его Guru of the Week. Это набор интересных вопросов по C++ с ответами на них. Я не читала книгу, а читала Guru of the Week. У Саттера на сайте написано какие именно выпуски входят в какие книги, плюс в книгах есть еще дополнительные, для затравки, я так понимаю. :-)
"Решение сложных задач на С++" на Ozon.ru
"Новые сложные задачи на C++" на Ozon.ru




"Язык программирования С++", Бьерн Страуструп. Часто на вопрос "Я хочу изучать С++, что бы мне такое почитать?" отвечают - "А почитай Страуструпа!". Это безопасный совет - Страуструп не мог написать плохо о языке своего собственного сочинения. Но вот начинать с этой книжки нельзя категорически. Её рекомендуют еще со стародавних времен, когда по С++ особенно нечего было читать. Но те времена давно прошли. Для человека незнакомого с С++ (возможно, и не знакомого с программированием вообще) - это как нокаутирующий удар. Он не просто ничего не поймет, но больше никогда и не вернется к изучению этого ужасного сложного языка. Почему так? Книга написана очень тяжелым языком. Ёмкие предложения, ничего лишнего. Остальные книги читаются легче, некоторые даже разбавлены веселыми примерами, анекдотами, а здесь такого нет. Не надо начинать с нее. А вот продолжить - стоит. Во-первых, несмотря на тяжелый язык есть что-то в ней неуловимо притягательное, когда втянешься в чтение. Во-вторых, считается, что каждый достойный С++ программист просто обязан прочитать эту книгу, так уж сложилось. Читать ее следует медленно, проникаясь духом великого и могучего языка С++, у меня ее чтение вызывает философско-пофигистические настроения...
Возможно, кому-то покажется интересным такой момент: главы этой книги сопровождаются упражнениями.
В оригинале эта книга называется "The C++ Programming Language", тут никаких сюрпризов.

"Язык программирования С++" есть на lib.ru.
"Язык программирования C++ Специальное издание" на Ozon.ru




"Современное проектирование на C++", Андрей Александреску. Книга посвящена в основном шаблонам. Это сложная в чтении книга, не надо спешить при ее чтении, над каждым примером кода придется подолгу медитировать. Процесс чтения напоминает американские горки - дух захватывает периодически.
После некоторых размышлений, я все-таки решила включить эту книгу в этот раздел, а не в раздел для фанатов. Потому что эта книга стала очень модной в последние годы и пользуется бешеной популярностью. Модный хардкор такой. :-)
При применении изложенных там приемов нужно полностью понять код и идею, иначе можно такого наворотить... Несмотря на то, что я из этой книги узнала много нового, применять эти приемы на практике мне не приходилось. Я все же стараюсь обходиться более простыми решениями.
Название оригинала: Modern C++ Design: Generic Programming and Design Patterns Applied
"Современное проектирование на C++" на Ozon.ru


Это продолжение разговора о хороших книгах по С++. Начало тут.

вторник, сентября 19, 2006

Хорошие книги по С++ для начинающих

Это продолжение рассказа о книгах по C++. Начало можно найти тут: Хорошие книги по C++

Я начала изучать С++ на семинарских занятиях. Потом, помню, очень мне понравилась книжка "Turbo C++: язык и его применение" Цимбала и Моисеева. Но сейчас это не очень актуально. Существуют две книги, которые чаще всего рекомендуют новичкам. Это Thinking in C++ и C++ Primer. Когда я начинала изучать С++, я о них ничего не знала, увы.




"Thinking in C++" - это сборник из двух томов, Автор Bruce Eckel.

На каком-то форуме видела следующий отзыв об этих книгах: "I fell in love with C++ reading those books". Несмотря на то, что читать я ее не читала, я внимательно просмотрела ее наискосок. Там как-то мягко и ненавязчиво разъясняются вещи, сначала простые, а потом постепенно все сложнее и сложнее. Там и множественное наследование есть, и вложенные шаблоны... Что особенно приятно, она совершенно легально выложена онлайн, но на английском. Есть несколько переводов этой книги, русского я не видела ни в онлайне, ни в книжных магазинах.
Update 20.09.2006: на русском не нашла, потому что не смогла угадать как ее перевели. В русском переводе она называется "Философия C++."


"Философия C++. Введение в стандартный C++." (это первый том) на Ozon.ru
"Философия C++. Практическое программирование." (это второй том) на Ozon.ru




"Язык программирования C++. Вводный курс", Стенли Липпман, Жози Лажойе

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


"Язык программирования C++. Вводный курс" на Ozon.ru




"Основы программирования на С++. Том 1", Стенли Липпман

Я не знаю, почему в наших интернет-магазинах к названию приписывают Том 1. И где тогда остальные тома? Изначальное название этой книги Essential C++ и на amazon.com о томах нет ни слова.
Рекомендуется как краткий и сравнительно легкий курс введения в С++. Иногда ее предлагают прочесть перед C++ Primer.


"Основы программирования на С++. Том 1" на Ozon.ru

понедельник, сентября 18, 2006

Хорошие книги по C++

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


  • Для начинающих. Сюда вошли книги, с которых хорошо начинать изучение языка С++. Хорошо подойдут и тем, кто не хочет что-либо разрабатывать на С++, а хочет ознакомиться с языком "для общего развития".
  • Для продолжающих. Книги для тех, кто активно занимается разработкой программ на С++ и собирается заниматься этими разработками и дальше.
  • Для фанатов. Для тех, кто очень любит язык С++. Также должно быть интересно разработчикам компиляторов.
  • Остальные. Книги, которые стоят у меня в списке "надо прочесть", ничего подробного я о них сказать не могу, кроме того, что знающие люди говорят, что они хорошие.

Ссылки по теме:
Хорошие книги по организации кода

Недавно Скотт Мейерс опубликовал несколько подборок на тему языка С++, которые я очень рекомендую почитать.
The Most Important C++ Books...Ever
The Most Important C++ Non-Book Publications...Ever
The Most Important C++ Software...Ever
The Most Important C++ People...Ever
My Most Important C++ Aha! Moments...Ever

понедельник, сентября 11, 2006

Несколько редких книг по программированию

Случайно нашла сканы нескольких редких книг по программированию. Все на английском.

Theory of Self-Reproducing Automata by von Neumann (& Burks)
Combinatorial Algorithms by Nijenhuis and Wilf
A Discipline of Programming by Edsger Dijkstra

четверг, сентября 07, 2006

О найме разработчиков

Сразу несколько ссылок по поводу найма на работу разработчиков. Во-первых, Джоэл Спольски начал серию статей по этому поводу. Вот первая из них, Finding Great Developers. К тому же Джоэл открыл свой собственный сайт для поиска специалистов, jobs.joelonsoftware.com. Что интересно, он призвал работодателей пристегивать к объявлению Тест Джоэла и многие так и делают.

Далее, Сет Годин о том, чем плохи интервью при приеме на работу: The end of the job interview. Тут речь идет не только о программистах, а вообще о найме. Весьма радикальное и спорное мнение, я бы сказала... Но интересно.
Ну и раз об этом зашел разговор, старая статья с artima.com How to Interview a Programmer.

суббота, сентября 02, 2006

Microsoft Robotics Studio

Микрософт выпустило некое Microsoft Robotics Studio, которое, по их заявлениям, позволяет легко создавать приложения для роботов. Пользоваться я им не пользовалась, только почитала объяснения на сайте Микрософта. Интересно, что оно умеет эмулировать робота как трехмерную картинку на экране. Все же, чтобы действительно понять, насколько это полезная штука надо смотреть и пробовать.



Sergey_, спасибо за ссылку.