LINUX.ORG.RU

хочу освоить c++


0

0

Сабж , но не определился с литературой.Нужно что-то типа:"c++ под линукс с нуля"(на русском), есть такое вприроде?

anonymous

Джесс либерти, C++ за 21 день. Неплохо, на Русском, но этого не хватит.

wfrr ★★☆
()

Дейтелы, они на русском, но осваивать компилятор нужно самому - там подобное не описано

generatorglukoff ★★
()

Бьерна Страуструпа читай. Не нужно изучать язык с привязкой к определенной ОС.

Demon37 ★★★★
()

Читайте все книги, на которых есть фамилии Майерс, Саттер и Александреску. Несколько раз подряд.

Останавливайтесь, когда поймёте почему нет частичной специализации для функций.

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

>Автору C++ место в дурке или на погосте.

Осилил, согласен, за Haskell +(1/0)

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

>Читайте все книги, на которых есть фамилии Майерс, Саттер и
Александреску. Несколько раз подряд. 

>Останавливайтесь, когда поймёте почему нет частичной специализации
для функций.

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

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

>> Автору C++ место в дурке или на погосте.

> А вот и неосилившие и обиженные подтянулись.. (:

Это почитатели творчества Луговского :)

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

> Читайте все книги, на которых есть фамилии Майерс, Саттер и Александреску. Несколько раз подряд. Останавливайтесь, когда поймёте почему нет частичной специализации для функций.

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

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

>Бьерна Страуструпа читай. Не нужно изучать язык с привязкой к определенной ОС.

>Имхо сначало простой С освой, а потом основы ООП.

Имхо, оба совета довольно спорны. Страуструп пишет довольно сложным языком как для новичка. И очень часто те, кто начинает с C, а потом переходит на C++, пишут на непонятном суржике, который сочетает худшие качества обоих языков:).

Я бы посоветовал для начала - Дейтелов, для дальнейшего изучения - Скота Мейерса (Effective C++, More Effective С++ и Effective C++), Саттера и Александреску.

И еще обязательно изучение GoF.

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

>А где почитать про эти содержательные знания?

+1, было бы интересно узнать, что является содержательными знаниями в данном контексте ("хочу освоить с++"), если не Мейерс, Александреску и Саттер.

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

> А где почитать про эти содержательные знания?

ну хотя бы в книжках по логике, математике, алгоритмам.

Да просто посмотреть какие задачи становятся в реальной жизни. То что действительно нужно для их решения это обычно и есть содержательно. Может быть нужно уметь строить системы так чтобы их было легко поддерживать и т.д. Но детали синтаксиса типа шаблонов и перегрузки функций нужны для решения реальных задач в последнюю очередь.

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

Твои Мейерс, Александреску и Саттер занимаются не программированием, а непонятной игрой в бисер, замкнувшись в своём затхлом мирке, напоминающем провинциальный НИИ, до которого все новости мирового прогресса доходят с задержкой лет на 20. А вам, любезный, рекомендую ознакомиться с лиспами и хаскелем и понять, что есть и другие, не столь вульгарные, взгляды на вещи. Пока вы ещё способны усваивать новые знания. Чтобы не повторить судьбу этих убогих.

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

Куда уж мне, убогому вульгарному недобыдлокодеру, осилить сию великую истину, о Великий Гуру! :)

P. S. LISP я немножко знаю, с хаскелем и эрлангом также ознакомился. Замечательные языки, вот только предназначены они для других задач, нежели C++ (хотя знать схему в объеме SICP, по-моему, должен каждый уважающий себя человек, вне зависимости от того, какой язык программирования он использует в повседневной деятельности).

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

>по шаблонам можно почитать Вандервуда "Шаблоны С++"

Хорошая книжка, но не уверен, что она есть на русском, как просит автор топика.

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

> не уверен, что она есть на русском

есть, у меня на полке лежит :)

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

> Это почитатели творчества Луговского :)

Программерские снобы :)

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

> вот только предназначены они для других задач, нежели C++

Не удержусь. А для каких задач предназначен C++? Я что-то ни одной назвать не могу.

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

Для задач сопровождения унаследованного кода на C++. Для задач дёрганья за библиотеки с C++-only интерфейсом. Да и просто, сам по себе не такой уж и плохой язык, бывает гораздо хуже.

anonymous
()

> Нужно что-то типа:"c++ под линукс с нуля"(на русском)

Судя по постановке проблемы, тебе ЦеПП не нужен. Забудь как страшный сон -- в мире есть такие замечательные платформы, как Жабка и ДотНет, там все понятно и по-русски можно купить...

По-русски про ЦеПП нет ничего вразумительного. Страуструпа ИМХО лучше не читать -- его откровения вредно влияют на интеллект. Единственная (ИМХО) нормальная книга про ЦеПП есть только на английском: http://www.icce.rug.nl/documents/cplusplus/

Die-Hard ★★★★★
()

C++ - унылое говно. Лучше уж чистый С - там хоть граблей меньше + (Python || Ruby) как clue-language и логику писать.

imp ★★
()

Выбор пал на "Освой c++ за 21 день" + kdevelop, в принципе ранее упражнялся с Си(K&R) + gtk,но как-то не срослось, выбрал qt imho как более перспективный тулкит, отсюда и возник сабж.

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

Какие у него плюсы по сравнению хотя бы с чистым С? Не говоря уж о языках более высокого уровня (Python, Lisp, Haskell)... Зато граблей завались... ООП вообще голимая парадигма - она в реальности не дает того, что обещают...

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

>C++ - унылое говно. Лучше уж чистый С - там хоть граблей меньше + (Python || Ruby) как clue-language и логику писать.

А если не нужна общирная стандартная библиотека вроде питоновской, а важна производительность и небольшой объём дистрибутива, то можно вообще взять Lua+C. Судите сами, Lua - это:

- вменяемый синтаксис
- вменяемая лямбда
- замыкания
- возможности для создания простенького ООП
- сопрограммы
- простая интеграция с С
- интерпретатор + стандартная библиотека ~ 150Кб
- высокая для интерпретатора скорость работы в силу простоты языка.

Lua прост, как яйцо, но от этой своей простоты он не теряет присущую ему элегантность.

anonymous
()

На месте автора я бы не парился и взялся бы за Джаву. В любом случае Джава - это всерьёз и надолго. Или C#, на выбор.

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

Да можно и Lua - если для задачи хватает.

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

>Какие у него плюсы по сравнению хотя бы с чистым С

ООП, шаблоны => более высокий уровень абстракции; более строгая типизация.

>Зато граблей завались...

Граблей много и в C, и в Питоне, и в Хаскеле

>ООП вообще голимая парадигма - она в реальности не дает того, что обещают

например?

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

>Не удержусь. А для каких задач предназначен C++? Я что-то ни одной назвать не могу.

В качестве примера: на каком языке вы бы посоветовали писать _высокопроизводительную_ EDA-систему вроде Mentor ModelSim или Aldec Riviera?

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

Хороший вариант. А вообще, коль скоро нужна производительность, рецепт известен - C + FFI + что угодно высокоуровневое.

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

> C + FFI + что угодно высокоуровневое

Все так говорят, а на практике оказывается, что для приличного быстродействия вообще всё приходится переписывать на сях, а на высокоуровневом языке остаётся только интерфейс. Потому как если ты в глубоко вложенном цикле будешь из си вызывать функции на луа или питоне, сам знаешь, что будет. А зачем, собственно, си? Ни матриц нормальных, ни ФП нормального, ни даже строк нормальных. Для математики есть более подходящие языки, тысячи их.

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

>OCaml

Хех, меня немножко обламали:) Ожидал услышать о том, как классно работать с высокоуровневыми структурами данных на сях, или же как быстро работает джава/шарп :).

Действительно, OCaml - хороший вариант даже несмотря на garbage collector (анафема!). Только вот библиотек для него, имхо, маловато.

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

После этой книги уже стоит (даже нужно) читать александреску, а сразу не зная языка, ИМХО глупость.

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

> Какие у него плюсы по сравнению хотя бы с чистым С?

Из чистого Си без геморроя нельзя дергать библиотеки, написанные на C++. А их много.

> она в реальности не дает того, что обещают...

Она ничего такого особого не обещают. Просто некоторые особо озабоченные думают примерно как "она на меня посмотрела - она мне даст!", тогда как никаких обещаний и не было, всего лишь методика анализа и проектирования, на универсальность не претендующая. Особенно не претендующая ни на что в C++, который для этого слишком мультипарадигмный. Чай не Smalltalk и не Симула.

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

Как минимум еще generic programming. Некоторые извращенцы-задроты также говорят про template metaprogramming, но я не сказал бы, что в C++ оно реализовано элегантным образом :)

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

> generic programming

Дрючелко, в нормальном ООП таких задротских терменов просто нет, потому что типы там тоже являются полноценными объектами.

anonymous
()

Я могу посоветовать книгу "Философия С++" Брюса Эккеля. Одна из лучших книг по программированию на С++! Она начинает с самых азов, а заканчивает вещами весьма продвинутыми. Очень рекомендую. http://www.piter.com/book.phtml?978594723763 - том 1 http://www.piter.com/book.phtml?978546900043 - том 2

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

> Не удержусь. А для каких задач предназначен C++? Я что-то ни одной назвать не могу. Да всех и не упомнишь... Круг задач весьма широк.

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