2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Посоветуйте литературу хорошую. [С++ ]
Сообщение03.10.2016, 20:33 


06/07/16
17
Добрый вечер (день, может даже, зависит от времени)!
Изучаю программирование на языке С++ пока что, т.к вроде бы он наиболее перспективен. Хотя знаю, что одним вроде как не обойдёшься. Изучаю очень детально, серьёзно. Очень интересует и память, и железо как отдельная дисциплина тоже когда знания о нем помогают наиболее эффективно написать программу, хотя как отдельную дисциплину с удовольствием изучил бы, все тонкости самого языка вроде как и чего компилятор и когда делает, что бы было по больше инструментов для придумывания внутренней конструкции и внешней для своего творения. Да и это просто интересно, но хочется писать очень хорошие программы. Если выбирать учебник по программированию - то самый хороший. Ещё я изучаю математику детально - если что то с этим связано, то проблемы нет, я лишь рад использовать мат методы.

Вот что я хорошо изучил, и, собственно почти единственное что нашёл рекомендованное:

1. С. Прата Язык программирования С плюс плюс.

2. Потом прочитаю и Страуструпа.

Полагаю там содержания чем то эквивалентны в основных чертах.
Но, что мне изучать дальше ? В Прата лишь синтаксис, объектно ориентированное программирование, но как создавать программы, которые не в чёрном окошке вылезают, а подобны всем современным программам. Мне бы хотелось понимать и знать как писать современный софт, где окна и прочее появляются, рисуются изображения на экране и прочее, программа на мышь реагирует..
Я бы хотел уметь много-много,создавать разнообразные программы, эффективные, но что мне качественного почитать ещё и, такого, где содержатся эти знания ? Хотя бы от куда начать, что логичнее, т.к книг и областей много. Но максимально общий кусок, при этом, я бы пожелал принять.
Я могу очень усердно что то изучать, главное чтоб книга хорошая была.

Посоветуйте пожалуйста. Мне бы как то начать "оживлять" свои программы.

 Профиль  
                  
 
 Re: Посоветуйте литературу хорошую.
Сообщение03.10.2016, 20:56 
Заслуженный участник


02/08/11
7003
Изучите библиотеку Qt (названий книг я не знаю, но они есть). А если вы заинтересованы в изучении программирования для Windows, то я бы весьма рекомендовал вначале изучить WinAPI - даже сегодня, когда вряд ли кто пишет приложения на чистом WinAPI, знание этой низкоуровневой кухни весьма полезно. Небесполезно также заняться велосипедостроением: WinAPI - это чистый C, и немало программистов оттачивали навыки программирования на C++, создавая свою собственную тру-C++ обёртку над этим интерфейсом.

 Профиль  
                  
 
 Re: Посоветуйте литературу хорошую.
Сообщение03.10.2016, 23:45 
Заслуженный участник


26/05/14
981
Вы упомянули эффективность. Есть две стороны этого понятия: первое - эффективность примитивов, они должны быстро обрабатываться, язык должен обладать хорошей библиотекой контейнеров и алгоритмов. Второе - эффективность решения задачи (алгоритмическая эффективность).

C++ ориентирован на эффективность примитивов. С этим проблем нет. Так как вы уже прошли базовый уровень, то Герб Саттер, Решение сложных задач на С++. Там 87 задач с решениями. Задачи ориентированы на использование стандартной библиотеки.

Алгоритмическая эффективность не зависит от используемого языка программирования. В большинстве задач этот вид эффективности важнее чем первый. Начните с Джона Бентли, Жемчужины программирования. Вы получите представление об О-большом. Дальше можно получить представление почему STL устроена так, а не иначе.

Есть третья сторона эффективности - выразительность языка. Эффективная программа ни кому не нужна, если вы её так никогда не написали из-за того ваш язык не выразителен. К сожалению, это больное место C++ - он недостаточно выразителен. Тут я вам помочь не могу. Если вы хотите написать много и быстро, то C++ плохой выбор.
Помните, что C++ - инструмент. Таких инструментов в вашем чемоданчике должно быть несколько. Язык выбирается под задачу.

 Профиль  
                  
 
 Re: Посоветуйте литературу хорошую.
Сообщение04.10.2016, 00:42 
Заслуженный участник


06/07/11
5627
кран.набрать.грамота
Leon_06 в сообщении #1156996 писал(а):
Изучаю программирование на языке С++ пока что, т.к вроде бы он наиболее перспективен.
А мужики-то не знают... :wink:
Leon_06 в сообщении #1156996 писал(а):
но как создавать программы, которые не в чёрном окошке вылезают, а подобны всем современным программам.
Современные программы - слишком размытое понятие. Некоторые никуда не вылезают, вы даже черного окошка не увидите. А у некоторых вообще окошко отсутствует (как устройство) и никогда не появится. Поэтому я бы вам рекомендовал сначала как-то обозреть окрестности - какое вообще бывает программирование. Не какие языки используются, а какие задачи решаются. Выбирать все равно придется, лучше сделать это осознанно.
Если вы решили взять С++ как первый язык - ну пусть будет С++, какие-то базовые вещи (структуры данных, алгоритмы и прочее), общие для всех языков, все равно так или иначе изучить придется.
Leon_06 в сообщении #1156996 писал(а):
хочется писать очень хорошие программы
Хорошие программы - это тоже широкое понятие. Помимо эффективного использования памяти и процессора (которое вы упомянули) есть еще эффективность в плане командной работы (не всю же жизнь вам писать в одиночку, рано или поздно кодом придется делиться), эффективность в плане поддержки и развития (насколько просто будет править баги и раширять функциональность), юзабилити (насколько удобно пользователю пользоваться вашей программой). И если вы хотите программу "с окнами", юзабилити вам заниматься придется. В этом плане могу посоветовать Алана Купера "Об интерфейсе" (3-е издание) и "Психбольница в руках пациентов" (обе книги примерно об одном и том же, но первая немного основательнее и академичнее, а вторая лучше объясняет, зачем это надо).

-- 04.10.2016, 01:58 --

(минутка грустного юмора на тему юзабилити)

Изображение

 Профиль  
                  
 
 Re: Посоветуйте литературу хорошую.
Сообщение04.10.2016, 09:40 
Заслуженный участник


20/08/14
11782
Россия, Москва

(Оффтоп)

rockclimber в сообщении #1157060 писал(а):
"минутка грустного юмора на тему юзабилити"
Думаю сравнимое количество человеко-часов пользователей убили программисты 1С чуть не каждый квартал тасуя отчёты по менюшкам ... Или программно замедляя старт и закрытие программы, в чём сами признаются (неофициально).

 Профиль  
                  
 
 Re: Посоветуйте литературу хорошую.
Сообщение04.10.2016, 12:13 


19/07/15
74
Leon_06 в сообщении #1156996 писал(а):
создавать программы, которые не в чёрном окошке вылезают, а подобны всем современным программам. Мне бы хотелось понимать и знать как писать современный софт, где окна и прочее появляются, рисуются изображения на экране и прочее, программа на мышь реагирует..


К уже сказанному выше другими участниками хотелось бы добавить, что даже если современная программа имеет графический интерфейс, доля ответственного за этот интерфейс кода может быть мала. Иногда даже пренебрежимо мала. И чем сложнее программа, тем более вероятно такое распределение.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group