Книга по C++ (особые требования:))

Обсуждение различной литературы о Linux

Модератор: Модераторы разделов

Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux
Контактная информация:

Re: Книга по C++

Сообщение eddy »

frp писал(а):
09.01.2011 21:10
не зная (и не желая знать) ничего, кроме C?

Я плюсы начал изучать чуть ли не раньше С. Поковырялся с "хеллоуворлдами" разного уровня. Затем почитал кое-что по С и понял, что плюсы мне совершенно не нужны - ну не могу я придумать задачу, в которой плюсы имели бы преимущество над сями.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Sora
Сообщения: 243
ОС: RFR_14

Re: Книга по C++

Сообщение Sora »

eddy писал(а):
10.01.2011 02:53
frp писал(а):
09.01.2011 21:10
не зная (и не желая знать) ничего, кроме C?

Я плюсы начал изучать чуть ли не раньше С. Поковырялся с "хеллоуворлдами" разного уровня. Затем почитал кое-что по С и понял, что плюсы мне совершенно не нужны - ну не могу я придумать задачу, в которой плюсы имели бы преимущество над сями.

Извиняюсь за оффтоп, сам сижу курю Кернигана и Ритчи, но возник вопрос, какие можно использовать библиотеки для построения графического интерфейса на чистом Си? Я так понял что GTK, Qt и тп только под ООП языки?
AMD 4600+, 4Gb DDRII-800, GF GTS250 512Mb, HDD 750Gb WD
Спасибо сказали:
Аватара пользователя
Hvzh
Сообщения: 711
Статус: Gone with Linux
ОС: Linux Mint 18.1

Re: Книга по C++

Сообщение Hvzh »

Sora писал(а):
10.01.2011 11:07
Извиняюсь за оффтоп, сам сижу курю Кернигана и Ритчи, но возник вопрос, какие можно использовать библиотеки для построения графического интерфейса на чистом Си? Я так понял что GTK, Qt и тп только под ООП языки?

По старой памяти вспомнилось: http://www.svgalib.org/
Старенькая она, правда...
HP 255 G4 A6-6310 + Linux Mint 18.1 + Windoze7 under VmWare + OS X Mavericks under VmWare
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux
Контактная информация:

Re: Книга по C++

Сообщение eddy »

Sora писал(а):
10.01.2011 11:07
Я так понял что GTK, Qt и тп только под ООП языки?

Не правильно вы поняли. Как раз GTK - под С (и сама библиотека написана на кошерных сях).
Сам сейчас сижу, ГИП рисую к самописной консольной утилите. Заодно узнаю много нового о GTK и openGL (последний будет использоваться для отображения изображений).

Да, как я мог забыть: еще есть удобный openmotif, но он вроде как уже deprecated...
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
agentprog
Сообщения: 362
Статус: Ad Astra per aspera
ОС: openSUSE 11.4, Arch

Re: Книга по C++

Сообщение agentprog »

раньше был холивар Pascal vs C. сейчас наблюдается C vs C++
No problems - just solutions!
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux
Контактная информация:

Re: Книга по C++

Сообщение eddy »

agentprog писал(а):
10.01.2011 17:24
раньше был холивар Pascal vs C. сейчас наблюдается C vs C++

Вообще-то, было не Pascal vs C, а FORTRAN vs C. Правда, от старых фортрановских математических библиотек никуда не деться - приходится и их использовать...
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
VoidExp
Сообщения: 208
Статус: Lead guitar adept
ОС: Ubuntu

Re: Книга по C++

Сообщение VoidExp »

eddy писал(а):
10.01.2011 02:53
frp писал(а):
09.01.2011 21:10
не зная (и не желая знать) ничего, кроме C?

Я плюсы начал изучать чуть ли не раньше С. Поковырялся с "хеллоуворлдами" разного уровня. Затем почитал кое-что по С и понял, что плюсы мне совершенно не нужны - ну не могу я придумать задачу, в которой плюсы имели бы преимущество над сями.


Вполне возможно что ты просто не можешь абстрактно мыслить, вот и процедурный подход/логика не позволяют найти преимущество С++ над С.
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: Книга по C++

Сообщение frp »

eddy писал(а):
10.01.2011 17:28
Правда, от старых фортрановских математических библиотек никуда не деться - приходится и их использовать...

Если это на производстве, в котором ничего не менялось уже лет 10-15, то да. Иначе - не знаю, зачем?
VoidExp писал(а):
10.01.2011 20:12
Вполне возможно что ты просто не можешь абстрактно мыслить, вот и процедурный подход/логика не позволяют найти преимущество С++ над С.

+1.
Кроме того, обрести умение правильно использовать ООП и увидеть его преимущества над процедурным программированием после нескольких хеллоуворлдов практически невозможно, даже имея самое абстрактное мышление в мире.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux
Контактная информация:

Re: Книга по C++

Сообщение eddy »

frp писал(а):
10.01.2011 20:58
умение правильно использовать ООП и увидеть его преимущества над процедурным программированием после нескольких хеллоуворлдов практически невозможно, даже имея самое абстрактное мышление в мире.


Мои "хеллоуворлды" - обработка изображений (много различных методов, в т.ч. и новые), CGI, сбор и обработка данных, работа с простыми базами данных, работа с "железом". И нигде я не вижу возможности выделить "объекты" или использовать другие преимущества "плюсов", поэтому и пользуюсь только С.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Фантом
Сообщения: 452
ОС: openSUSE

Re: Книга по C++

Сообщение Фантом »

frp писал(а):
10.01.2011 20:58
Если это на производстве, в котором ничего не менялось уже лет 10-15, то да. Иначе - не знаю, зачем?

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

Ну и, кстати, современный Фортран - весьма и весьма удобная штука, для соответствующих задач ничего более эффективного (или даже близкого по эффективности) просто нет.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux
Контактная информация:

Re: Книга по C++

Сообщение eddy »

Фантом писал(а):
11.01.2011 01:53
современный Фортран - весьма и весьма удобная штука, для соответствующих задач ничего более эффективного (или даже близкого по эффективности) просто нет.

Синтаксис у него некрасивый, да и дальше математики его сложно использовать. Попробуйте-ка напишите на фортране модуль ядра для какой-нибудь железяки или просто программку для работы с самодельным устройством по RS-232 :)
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: Книга по C++

Сообщение frp »

eddy писал(а):
11.01.2011 09:21
Попробуйте-ка напишите на фортране модуль ядра для какой-нибудь железяки или просто программку для работы с самодельным устройством по RS-232 smile.gif

Для этих задач фортран использовать не эффективно. Модуль ядра можно написать (если не ошибаюсь) только на C или ассемблере, на других - только через костыли.
Программу для работы с самодельным устройством по RS-232 лучше писать тоже на C, C++, D, Pascal, но никак не на фортране.
Поэтому данные примеры ничего о удобстве фортрана не говорят.
Спасибо сказали:
Аватара пользователя
Фантом
Сообщения: 452
ОС: openSUSE

Re: Книга по C++

Сообщение Фантом »

eddy писал(а):
11.01.2011 09:21
Синтаксис у него некрасивый, да и дальше математики его сложно использовать. Попробуйте-ка напишите на фортране модуль ядра для какой-нибудь железяки или просто программку для работы с самодельным устройством по RS-232

По поводу синтаксиса - как говорится, "на вкус и цвет...". А не для вычислительных задач его использовать и не надо, он для этого не предназначен. Фактически Фортран - хороший пример DSL (хотя формально он Тьюринг-полон, и тот же модуль ядра написать на нем можно... но не нужно).
Спасибо сказали:
Аватара пользователя
VoidExp
Сообщения: 208
Статус: Lead guitar adept
ОС: Ubuntu

Re: Книга по C++

Сообщение VoidExp »

Что-то тут холивар разводится... C++ крут и применим в очень обширном спектре задач. Я, как начинающий game developer и средний программист в общем, назвал бы его идеальным языком, если бы не древний препроцессор, который к сожалению останется ещё надолго из соображений обратной совместимости. В остальном С++ - мощь и сила, крутой язык для крутых программистов. С - это твердые, неразрушимые, обладающие идеальными формами и испытанные временем кирпичи из которых можно построить все. Но то что на нём можно написать что угодно вовсе не означает что "всё" это писать надо на С (на асме тоже можно написать все что хочешь). Например, современный игровой движок, с типичным для него огромным количеством объектов и сложными отношениями между ними, написанный на С - это нечто среднее между мазохизмом и фанатизмом. "Скорость по сравнению с С++!" скажут некоторые. НЕВЕРНО. Без применения Объектно-Ориентированной модели к такому масштабному проекту, баги будут плодиться один за другим и вылавливать их будет сложно, ООП - лучше понятно человеку так как нам естественней видеть мир объектами, а значит и интуитивность и элегантность всего проекта будет более наглядной. На С код будет в разы больше, все равно будут предприняты попытки выразить сущности в форме объектов, а многочисленные struct и функции для работы с ними, во-первых все равно не дадут полноценную объектную модель, во-вторых ниразу не слышал что большее количество инструкций и вызовов приводит к приросту скорости. А на С их будет больше, однозначно... И у каждой другое имя, хотя выполняют многие одни и те-же вещи, просто над разными объектами. А если надо реализовать ещё одну какую-то сущность, сюрприз!, придется и для неё писать кучу служебных функций, которые на 90% повторяют уже имеющийся код! И вот ещё очередная лишняя порция кода. А ещё и пойми во всем этом что-нибудь, тем более если новичок в уже разрабатываемом проекте. В результате - трудность понимания, использования и поддержания (что ОЧЕНЬ ВАЖНО) кодовой базы возрастают экспоненциально.

P.S: Автор просил книжку про С++, а не высказывания троллей типа "А по-моему, только более-менее узнав С, человек может понять, что С++ в 99.99% случаев ему не нужен... ".
P.P.S: Наряду с книжкой которую я привел в начале поста, советую почитать что-то про паттерны проектирования. В гугле хотя-бы поискать, книжку на данном этапе рано ещё брать. Паттерны - вещь хорошая, позволяют сэкономить кучу времени (замечу, это не шаблоны, это просто готовые методики решения распространенных видов задач).
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: Книга по C++

Сообщение frp »

VoidExp писал(а):
11.01.2011 20:58
P.P.S: Наряду с книжкой которой я привел в начале поста, советую почитать что-то про паттерны проектирования. В гугле хотя-бы поискать, книжку на данном этапе рано ещё брать. Паттерны - вещь хорошая, позволяют сэкономить кучу времени (замечу, это не шаблоны, это просто готовые методики решения распространенных видов задач).

ИМХО к паттернам можно приступать только после детального изучения самого языка.
Спасибо сказали:
Аватара пользователя
VoidExp
Сообщения: 208
Статус: Lead guitar adept
ОС: Ubuntu

Re: Книга по C++

Сообщение VoidExp »

Хм, возможно. :)
Спасибо сказали:
Аватара пользователя
kottavasya
Сообщения: 17
ОС: Debian/Ubuntu

Re: Книга по C++

Сообщение kottavasya »

Бьeрн Страустрап рулит http://lib.ru/CPPHB/cpptut.txt

и ещё раз рулит http://lib.ru/CPPHB/cppref.txt

P.S. На счёт печатной продукции ничего сказать не могу - книг Страуструпа в продаже не видно давно.
P.P.S. По книгам Бьeрна Страустрапа выучилось не одно поколение программистов и в течении многих лет учебники Страуструпа считаются классикой литературы по-программированию.
Здесь был я
Спасибо сказали:
Slimy
Сообщения: 1689
ОС: openSuSE 11.2 GM (GеMор едишн)

Re: Книга по C++

Сообщение Slimy »

Страуструп хорош. Но местами суров весьма. Также его идея с лексическим анализатором имхо не хороша для примеров. Я думаю что примеры для каждой конкретной темы должны быть не зависимы хотя бы на этапе примеров кода и объяснений. Т.к. в данном случает приходится еще и разбираться что имел виду автор и зачем тут такой огород накручен при минимуме комментариев. В остальном у него поделу и без лишней воды, как любят обычно про переменную целую главу написать а про более сложные вещи "на разгоне" в середине как правило весьма сжато. Тут такого впечатления не остается.
Если уже ничего не помогает - прочти инструкцию.
sysinstall - гадость :)
ASUS A6q00Vm Pentium-M 1.7 GHz, 2Gb RAM, 160Gb HDD,
GeForce Go 7300 64Mb video
Спасибо сказали:
Ответить