>Читайте все книги, на которых есть фамилии Майерс, Саттер и
Александреску. Несколько раз подряд.
>Останавливайтесь, когда поймёте почему нет частичной специализации
для функций.
Гитлер. Сталин и Мао.
Останавливайтесь чтобы выдохнуть смрад полуразложившегося трупа.
> Читайте все книги, на которых есть фамилии Майерс, Саттер и Александреску. Несколько раз подряд. Останавливайтесь, когда поймёте почему нет частичной специализации для функций.
Понимаешь, есть содержательные знания. А то что ты пишешь это ненужный мусор. Это как искусство пукнуть в лужу так чтобы получился большой пузырь.
>Бьерна Страуструпа читай. Не нужно изучать язык с привязкой к определенной ОС.
>Имхо сначало простой С освой, а потом основы ООП.
Имхо, оба совета довольно спорны. Страуструп пишет довольно сложным языком как для новичка. И очень часто те, кто начинает с C, а потом переходит на C++, пишут на непонятном суржике, который сочетает худшие качества обоих языков:).
Я бы посоветовал для начала - Дейтелов, для дальнейшего изучения - Скота Мейерса (Effective C++, More Effective С++ и Effective C++), Саттера и Александреску.
ну хотя бы в книжках по логике, математике, алгоритмам.
Да просто посмотреть какие задачи становятся в реальной жизни. То что действительно нужно для их решения это обычно и есть содержательно. Может быть нужно уметь строить системы так чтобы их было легко поддерживать и т.д. Но детали синтаксиса типа шаблонов и перегрузки функций нужны для решения реальных задач в последнюю очередь.
Твои Мейерс, Александреску и Саттер занимаются не программированием, а непонятной игрой в бисер, замкнувшись в своём затхлом мирке, напоминающем провинциальный НИИ, до которого все новости мирового прогресса доходят с задержкой лет на 20. А вам, любезный, рекомендую ознакомиться с лиспами и хаскелем и понять, что есть и другие, не столь вульгарные, взгляды на вещи. Пока вы ещё способны усваивать новые знания. Чтобы не повторить судьбу этих убогих.
Куда уж мне, убогому вульгарному недобыдлокодеру, осилить сию великую истину, о Великий Гуру! :)
P. S. LISP я немножко знаю, с хаскелем и эрлангом также ознакомился. Замечательные языки, вот только предназначены они для других задач, нежели C++ (хотя знать схему в объеме SICP, по-моему, должен каждый уважающий себя человек, вне зависимости от того, какой язык программирования он использует в повседневной деятельности).
Для задач сопровождения унаследованного кода на C++. Для задач дёрганья за библиотеки с C++-only интерфейсом. Да и просто, сам по себе не такой уж и плохой язык, бывает гораздо хуже.
> Нужно что-то типа:"c++ под линукс с нуля"(на русском)
Судя по постановке проблемы, тебе ЦеПП не нужен. Забудь как страшный сон -- в мире есть такие замечательные платформы, как Жабка и ДотНет, там все понятно и по-русски можно купить...
По-русски про ЦеПП нет ничего вразумительного. Страуструпа ИМХО лучше не читать -- его откровения вредно влияют на интеллект. Единственная (ИМХО) нормальная книга про ЦеПП есть только на английском:
http://www.icce.rug.nl/documents/cplusplus/
Выбор пал на "Освой c++ за 21 день" + kdevelop, в принципе ранее упражнялся с Си(K&R) + gtk,но как-то не срослось, выбрал qt imho как более перспективный тулкит, отсюда и возник сабж.
Какие у него плюсы по сравнению хотя бы с чистым С? Не говоря уж о языках более высокого уровня (Python, Lisp, Haskell)... Зато граблей завались... ООП вообще голимая парадигма - она в реальности не дает того, что обещают...
>C++ - унылое говно. Лучше уж чистый С - там хоть граблей меньше + (Python || Ruby) как clue-language и логику писать.
А если не нужна общирная стандартная библиотека вроде питоновской, а важна производительность и небольшой объём дистрибутива, то можно вообще взять Lua+C. Судите сами, Lua - это:
- вменяемый синтаксис
- вменяемая лямбда
- замыкания
- возможности для создания простенького ООП
- сопрограммы
- простая интеграция с С
- интерпретатор + стандартная библиотека ~ 150Кб
- высокая для интерпретатора скорость работы в силу простоты языка.
Lua прост, как яйцо, но от этой своей простоты он не теряет присущую ему элегантность.
Все так говорят, а на практике оказывается, что для приличного быстродействия вообще всё приходится переписывать на сях, а на высокоуровневом языке остаётся только интерфейс. Потому как если ты в глубоко вложенном цикле будешь из си вызывать функции на луа или питоне, сам знаешь, что будет. А зачем, собственно, си? Ни матриц нормальных, ни ФП нормального, ни даже строк нормальных. Для математики есть более подходящие языки, тысячи их.
Хех, меня немножко обламали:) Ожидал услышать о том, как классно работать с высокоуровневыми структурами данных на сях, или же как быстро работает джава/шарп :).
Действительно, OCaml - хороший вариант даже несмотря на garbage collector (анафема!). Только вот библиотек для него, имхо, маловато.
> Какие у него плюсы по сравнению хотя бы с чистым С?
Из чистого Си без геморроя нельзя дергать библиотеки, написанные на C++. А их много.
> она в реальности не дает того, что обещают...
Она ничего такого особого не обещают. Просто некоторые особо озабоченные думают примерно как "она на меня посмотрела - она мне даст!", тогда как никаких обещаний и не было, всего лишь методика анализа и проектирования, на универсальность не претендующая. Особенно не претендующая ни на что в C++, который для этого слишком мультипарадигмный. Чай не Smalltalk и не Симула.
Как минимум еще generic programming. Некоторые извращенцы-задроты также говорят про template metaprogramming, но я не сказал бы, что в C++ оно реализовано элегантным образом :)