C++

Single

пилот капсулы
Подскажите хорошую книгу по основам C++.
Сам смотрю на Visual C++ 2010. Полный курс т.к. направление книги соответствует моим интересам но не знаю достаточно ли в этой книге материала по освоению самого ЯП.
В плане общего опыта как разработчика на сегодняшний день достаточно свободно ориентируюсь в Питоне.
Когда то начинал читать Страуструпа но это оказался такой поток сознания что на некоторое время закрыл вопрос знакомства с Си.
 

fixxxer

К.О.
Партнер клуба
Так С или С++? Если С не знаешь, начни с него. Хотя бы с K&R.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Absinthe ))))) ты считаешь, эту тайну надо держать в секрете?
 

Вурдалак

Продвинутый новичок
Там требуется понять адресную арифметику, так что K&R обязательно к прочтению. Книжка тоненькая. А ООП оно и в Африке ООП, язык тут ни при чём.
 

Вурдалак

Продвинутый новичок
Absinthe, адресную арифметику, на мой взгляд, проще понять по K&R. И вообще это классика, в любом случае будет полезно. А правильную книгу по C++ ещё надо уметь выбрать.
 

fixxxer

К.О.
Партнер клуба
Во первых. Все зависит от того, зачем :)

Скажем, чтобы ковырять код php, mysql или nginx (да и вообще в 99% случаев при написании всяких серверных штук для юникса) С++ вообще не нужен.

Во вторых, С++ это очень сложный язык. Самый сложный из мейнстримных. Я вот хоть и писал на нем достаточно, до сих пор его не знаю :)

А С довольно простой. Понял указатели - понял С.
 

Single

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

Скажем, чтобы ковырять код php, mysql или nginx (да и вообще в 99% случаев при написании всяких серверных штук для юникса) С++ вообще не нужен.
как то так сложилось что мне сейчас ближе технологии MS
 

tz-lom

Продвинутый новичок
Технологии MS на С++ .... мне что то ничего кроме MFC в голову не приходит
 

Вурдалак

Продвинутый новичок
Single, если просто так, то лучше попробуй C# или Java. Пользы, наверное, будет больше. C++ в каком-то смысле отвратительный язык, удовольствия много не получишь.
 

fixxxer

К.О.
Партнер клуба
Если речь о технологиях MS в рамках десктопных приложений, я бы смотрел на C# и .net.
MFC это такая штука, на которой удобно писать только ворд и ексель :) Да и то не очень.

Есть еще, конечно, managed C++, но это очень в специфичных случаях имеет смысл
 

whirlwind

TDD infected, paranoid
Чем C++ сложнее Java например, кроме ручного управления памятью?

PS. Кстати, в курсе что в октябре скончался один из разработчиков языка C Деннис Ричи?
 

tz-lom

Продвинутый новичок
Шаблоны
Нет рефлексии
этого достаточно чтобы любой интересный трюк превращался в адовую кучу угловых скобок
 

fixxxer

К.О.
Партнер клуба
whirlwind
С++ в современном представлении - это не только "си с классами".

Ну вот например что такое и в каких случаях следует использовать auto_ptr, shared_ptr, weak_ptr?
 

whirlwind

TDD infected, paranoid
Ну вот кстате и шаблоны (так и не понял что подразумевал tz-lom про них).
Reference Counted (да да, то что автоматом делают яп с динамическим управлением памятью)
Когда использовать shared чесслово - без понятия кроме weak (и то из Java по причине класс лоадера) за всю жизнь надобности не возникало, так же как и с рефлексией, я ведь не хакер. Авто поинтер надо использовать всегда. Важно только понять как оно работает. А работает оно по принципу того, что деструктор вызывается при выходе переменной из области видимости, соответственно деструктор автоптр это возможность освободить память сложной структуры, которая по сути не важна ибо шаблон либо класс - все!

PS. Кстате, не путайте C++ и stl или boost которые к самому языку никакого отношения не имеют. Все что имеет отношение к языку - шаблоны и ооп - вполне себе тривиальное, если не учитывать некоторых тонкостей типа отработки деструкторов в иерархии наследования и прочих низкоуровневых тонкостей, которые возникают довольно нечасто.
 
Сверху