|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.08.2012, 17:37 | #1 |
Регистрация: 04.08.2012
Сообщений: 4
|
Литература
Не могли бы вы дать список книг, в которых рассматриваются общие вопросы программирования, алгоритмов, "философия программирования", история и общие аспекты вычислительной техники, операционных систем и так далее. Хотелось бы почитать "классиков жанра". Можно на английском.
|
04.08.2012, 17:40 | #2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Ну тогда - в первую очередь Дональд Кнут "Искусство программирования". Н. Вирт "Алгоритмы и структуры данных". Ч. Петцольд "Код".
|
04.08.2012, 17:54 | #3 |
Регистрация: 04.08.2012
Сообщений: 4
|
Да, Кнута только что сам нашел, спасибо. Я хочу основательно изучить вопросы, касаемые вычислительной техники, по-большей степени, конечно, высокоуровневое программирование, но также хочу иметь хорошее представление и о низкоуровневых, аппаратных процессах, знать, что происходит "на корню", а также изучить специальные разделы математики, которые необходимы. Если бы вы могли дать список книг и по этим вопросам, я был бы вам чрезвычайно признателен.
|
04.08.2012, 18:21 | #4 |
Форумчанин
Регистрация: 15.03.2011
Сообщений: 272
|
Немного не то, что вы хотите, наверное.
Стив Макконел - Совершенный код. Рассказывается про общие принципы написания программ. Всё мое понимание(пусть и скудное) ООП в основном почерпнуто оттуда. Некоторые философские мысли можно почитать в автобиографии Торвальдса. Еще у Джоэла Спольски(книги его не читал, но пару статей видел). Опять же, возможно, не то, что Вам нужно Последний раз редактировалось Sna1L; 04.08.2012 в 18:23. |
04.08.2012, 23:29 | #5 |
Регистрация: 04.08.2012
Сообщений: 4
|
Спасибо, посмотрю. Я не ищу чего-то конкретного, просто хочу настроить мозги на нужную волну перед изучением конкретных вопросов^^
|
05.08.2012, 11:52 | #6 | |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Цитата:
Это что касается вообще программирования. Если хоть каким-то образом интересует 3D-графика, то подробное изучение аналитической геометрии. А по "железу" - даже и не знаю, что посоветовать. Дело в том, что большая часть информации стремительно устаревает, поэтому с одной стороны желательно хорошо представлять общие архитектурные принципы, с другой - уметь выделить, что из новинок является принципиальным, а что - преходящим. К сожаления в работах, посвященных "околоаппаратной" оптимизации (т.е. оптимизации с учетом конкретных особенностей "железа"), очень часто действительно полезные сведения перемежаются с давно устаревшими. Не говоря о том, что сама книга может быть выпущена 10 лет назад, так и еще на момент выхода часть сведений могла устареть еще на 10 лет. Бывает и наоборот. Например в одной из книг Бартеньева, посвященной оптимизации на Фортране, приводится пример, что в зависимости от порядка перебора элементов двумерного массива время выполнения программы может меняться более чем в 3 раза. Проверив пример на своем компьютере, я обнаружил разницу более чем 10 раз. Т.е. с течением времени эта разница не только не "устаревает", но становится все более актуальной. А для того, чтобы отслеживать такие вещи, нужно интересоваться историей развития вычислительной техники чуть не с самого начала. А это отнимает довольно много времени, поэтому если это не представляет явного профессионального интереса, то, мне кажется, все это отслеживать нереально. Я, например, когда перестал писать для "Мира ПК", как-то почти и перестал следить за новинками. |
|
05.08.2012, 15:30 | #7 |
Регистрация: 04.08.2012
Сообщений: 4
|
Спасибо за столь подробный ответ, мне сейчас чрезвычайно необходимо "расширение кругозора" в этой области х)
Да, на булеву алгебру и логику я уже вчера обратил внимание, читая Петцольда. Можно было и так догадаться об их важности х) Я думал еще в первую очередь изучить теорию чисел, функциональный анализ и статистику. Я пока, конечно, не знаю необходимого соотношения математика/программирование, потому что мой практический опыт равен нулю, но мне кажется, что почти для каждой задачи программирования можно почерпнуть идею из "чистой" математики. Вот, например, перебор двумерного массива, о котором вы упомянули. Я никогда с этим не сталкивался, но мне кажется, что для разработки наиболее оптимального алгоритма можно использовать, например, теорию графов (вспоминаю знаменитые Кёёнингсбергские мосты х). Что касается профессиональной деятельности, то я вообще в этом году начинаю учиться на биолога, но меня крайне интересуют эксперементы in silico, моделирование обобщенных биосистем (как внутри- так и надорганизменных), нейросетей и так далее. Поэтому я хочу посвятить бОльшую часть свободного времени этим вопросам х) Еще раз благодарю. UPD: 3D графика - да! В детстве я обожал часами играться в 3D-Max'e, перебирать различные параметры, которых там целая туча, особенно интересно было разбираться в визуализаторе (я, кажется, V-ray пользовался). До сих пор помню статьи о методе Монте-Карло, о фотонных картах, о переотражениях и прочем... Хорошо, что вы напомнили об этом, а то я как-то совсем забыл - надо будет изучить эти вопросы с новых позиций х) Последний раз редактировалось rushmod; 05.08.2012 в 15:38. |
05.08.2012, 15:57 | #8 | ||||
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Цитата:
Могу еще обратить внимание на численные методы, по крайней мере, на особенности представления в компьютере вещественных чисел, проблемы точности и условия устойчивости вычислений. Цитата:
Цитата:
Тут, скорее, знание "железа" - особенности организации и функционирования на физическом и логическом уровне, а именно того факта, что динамическая память, хоть и называется Random Access Memory - Память с Произвольным Доступом, но на самом деле этот произвольный доступ раз в 20-30 медленнее последовательного. Цитата:
|
||||
17.08.2012, 21:31 | #9 |
Новичок
Джуниор
Регистрация: 17.08.2012
Сообщений: 5
|
"Рефакторинг" Мартина Фаулера
Полезные книги для целеустремленных людей - http://actualbooks.blogspot.com
|
18.08.2012, 13:25 | #10 |
Участник клуба
Регистрация: 15.05.2009
Сообщений: 1,222
|
Эдгар Дейкстра - Дисциплина Программирования, Н. Вирт "Алгоритмы и структуры данных", Никлаус Вирт.Алгоритмы+структуры данных=программы, Никлаус Вирт - Систематическое Программирование, Джон Бентли - Жемчужины творчества программистов
Единственное, что ограничивает полет мысли программиста-компилятор
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Литература по С++ | rrrFer | Общие вопросы C/C++ | 73 | 12.05.2021 18:02 |
Литература | revaldo666 | C/C++ Сетевое программирование | 0 | 07.10.2011 18:05 |
Литература по VS C++ | arcer | Visual C++ | 6 | 30.08.2011 22:40 |
Литература | 13th | Помощь студентам | 7 | 01.01.2009 17:05 |
Литература бд | Proof | БД в Delphi | 7 | 05.04.2008 18:26 |