Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];

Вниз

Самообразование   Найти похожие ветки 

 
PaRL ©   (2004-05-10 22:35) [0]

У кого нибудь есть список книг и план для изучения программирования? В частности Си? Просто я тут наслушался на счет систематизированности знаний... может у кого есть под рукой? Ну там... может преподавал кто-то... я поискал на сайтах факультетов там этим и не пахнет. Верней есть план, но на счет книг вообще туго.


 
Palladin ©   (2004-05-10 22:50) [1]

зависит от твоего текущего уровня, на самом деле попробуй хотя бы месяца три-четыре (а может и больше) поварится в собственном соку, то есть держа перед собой книжку про си (или паскаль, лучше всего обучатся программированию именно на нем) только ради бога не надо читать лажу типа "за 14 дней, за 20 часов, за 10 минут, только на обложку посмотрите..." и прочей лажи...
систематически решать одно упражнение за другим, если что то не получается решить сколько бы ты не бился можно посмотреть и в ответ, это совсем не страшно

а параллельно с этим заниматься матанализом и вышкой


 
Игорь Шевченко ©   (2004-05-10 23:35) [2]

Palladin ©   (10.05.04 22:50)


> а параллельно с этим заниматься матанализом и вышкой


А можно вопрос - каким боком тут матан и прочая вышка ?


 
Palladin ©   (2004-05-10 23:40) [3]


> [2] Игорь Шевченко ©   (10.05.04 23:35)

парню всего 18...


 
Игорь Шевченко ©   (2004-05-10 23:49) [4]

Palladin ©   (10.05.04 23:40)

Вопрос на самом деле был более отвлеченным, математика безусловно нужна, равно как и прочие науки, но вот что нужно, для того, чтобы настроить мозги на программирование ?


 
Nick Denry ©   (2004-05-11 00:17) [5]

что нужно, для того, чтобы настроить мозги на программирование ?

1. Программирование.
2. Математика

В удобном вам порядке... :)


 
Игорь Шевченко ©   (2004-05-11 00:20) [6]

Nick Denry ©   (11.05.04 00:17)

Да я серьезно вообще-то. Я не могу сказать, что матан развивает программистские способности. А вот что именно развивает, я и пытаюсь понять.

ЗЫ: Пиво тоже не развивает :))


 
Nick Denry ©   (2004-05-11 00:26) [7]

Игорь Шевченко ©   (11.05.04 00:20) [6]

Нет  сегодня серьезно не могу,смешинка в рот попала...

а хто его знает, чего его развивает...

Программист - это не профессия - это стиль жизни и состояние души...

А пиво - это часть стиля жизни...


 
KilkennyCat ©   (2004-05-11 01:45) [8]

Ну, если из собственной жизни, то развитие было такое:
математика - программирование - электроника.

Обожал математику. Когда в магазине увидел книжку "Фортран для БЭСМ-66" посмотрел, понял, что это таже математика, только круче, купил. прочитал запоем. а поскольку работать сам-себе-интерпретатор было не очень увлекательно (особенно после того, как грохнулась "МИР-2") взялся за паяльник.


 
Nick Denry ©   (2004-05-11 01:54) [9]

стопудово наоборот развитие: программирование (а+и на бейсике, от деда) - электроника - математика - программирование...

возвращаюсь к матемматике...


 
KilkennyCat ©   (2004-05-11 01:58) [10]

значит, стандартного пути нет.


 
Sergey Masloff   (2004-05-11 06:23) [11]

Nick Denry ©   (11.05.04 00:26) [7]
>Программист - это не профессия - это стиль жизни и состояние >души...

>А пиво - это часть стиля жизни...

Бред. Большинство хороших программистов пиво употребляют редко или вообще к нему равнодушны. ИМХО + личные многолетние наблюдения.


 
Паниковский ©   (2004-05-11 06:27) [12]

Богатырев,
Шилдт,
Стивенсон,
Керниган и Ричи.

в любом порядке.

ссылки то что нашел ...
http://www.kulichki.com/inkwell/comp/c.htm

зы
 Всем раздать лопаты.


 
Sergey Masloff   (2004-05-11 06:29) [13]

Ну не абсолютное большинство, скажем так чтобы никого не обидеть. Но...


 
Паниковский ©   (2004-05-11 06:29) [14]

KilkennyCat
Стандартный путь есть береш любой язык и начинаеш писать одновременно идеш в один из техникумов или вузов и там тебе и вышку и мат анализ сделают.

не слушай про пиво это легенды


 
Думкин ©   (2004-05-11 06:31) [15]

> KilkennyCat ©   (11.05.04 01:45) [8]
> Обожал математику. Когда в магазине увидел книжку "Фортран
> для БЭСМ-66" посмотрел, понял, что это таже математика,
> только круче, купил.

А чем круче?


 
Sergey Masloff   (2004-05-11 06:35) [16]

Кстати по развитию в себе - ссылка с королевства Delphi
Teach Yourself Programming in Ten Years
http://www.norvig.com/21-days.html

еще оттуда же:

Вот достаточно типичный план изучения CS в западных университетах.

Введение в программирование
 Основные конструкции языка программирования.
 Базовые алгоритмы и структуры данных.

Алгоритмы и теория сложности
Основы анализа алгоритмов.
Фундаментальные алгоритмы
 Теория вычислимости.
 Классы сложности.

Архитектура и организация ЭВМ
Цифровая логика и цифровые системы
Представление данных в памяти компьютера
Организация машины на уровне ассемблера
Альтернативные архитектуры

Операционные системы
Обзор операционных систем
Планирование и диспетчеризация
Управление памятью
Файловые системы
Управление устройствами
Безопасность и защита данных
Сети и телекоммуникации
Распределенные вычисления
Встроенные системы
Системы реального времени

Языки программирования
Обзор языков программирования
Виртуальные машины
Управление, переменные и типы данных
Механизмы абстракции
Объектно-ориентированное программирование
Парадигмы программирования
Семантика языков программирования
Введение в трансляцию

Взаимодействие человека и машины
Основы взаимодействия человека и машины
Разработка программного обеспечения, ориентированного на человека
Компьютерная графика
Проектирование графического интерфейса

Искусственный интеллект
Поиск решений
Представление знаний и вывод
Обучение машины
Обработка естественного языка
Робототехника

Базы данных
Моделирование данных
Системы баз данных
Реляционные базы данных - модели, языки запросов, проектирование
Распределенные базы данных

Программная инженерия
Процессы разработки ПО
Спецификации и требования к ПО
Проектирование и реализация
Надежность ПО, верификация
Формальные методы
Управление программными проектами

Социальные и профессиональные вопросы

Математика
Функции, отношения и множества
Основы логики и методы доказательства
Графы и деревья
Вероятность
Численные методы.
Исследование операций
Моделирование

Можно посмотреть и более современные рекомендации
http://se.math.spbu.ru/cc2001/


 
Sergey Masloff   (2004-05-11 06:36) [17]

В смысле последний пост это ответ
Паниковский ©   (11.05.04 06:27) [12]
о том что программирование != C или C++


 
Паниковский ©   (2004-05-11 06:43) [18]

Sergey Masloff  
А я в том смысле что начинать с чего то надо...
А С это Васик или Pascal как то разници начинающий не видит не какой ему бы писать начать и тут конечно очень ему помогут разглагольствавания о пиве , алгоритмах  и криптографии.
Человеку помощь нужна а не высокие идеалы...


 
y-soft ©   (2004-05-11 08:01) [19]

Из математики на первом этапе необходимы только знание 4-х основных арифметических действий и логика. Без понимания логики программирование вообще невозможно. Далее уже необходимо осваивать алгоритмы, начиная с простейших (в смысле: порядок действий в зависимости от логических условий).

Можно начинать обучение без компьютера, имея под руками только карандаш и бумагу (и полезно даже вообще в уме :) ), но надо сразу же начать решение алгоритмических задач. Причем упор делать на поиск различных вариантов решения, анализ премуществ и недостатков различных и поиск оптимального для разных условий. Условия можно брать из задачников, но очень важно научить себя видеть эти задачи в окружающем мире и научиться вычленять и обобщать похожие, не теряя связи с целым. Именно так вырабатывается то, что и называется "программистским стилем мышления"

И уже только потом по важности стоит изучение "матчасти": внутренние механизмы компьютера, операционная система, конкретные языки программирования и еще многое другое...


 
Паниковский ©   (2004-05-11 08:05) [20]

PaRL
Начинай писать кароче.
Сылка в помошь там и компиляторы есть
http://www.sources.ru/


 
Nick Denry ©   (2004-05-11 08:17) [21]

2>Sergey Masloff   (11.05.04 06:23) [11]

Не бред, а (не)удачная шутка.
см. [6], [7] :)


 
Sergey_Masloff   (2004-05-11 09:11) [22]

Nick Denry ©   (11.05.04 08:17) [21]
Да, я что-то слишком серьезно воспринял ;-)) Тяжелое утро ;-)))


 
Sergey_Masloff   (2004-05-11 09:36) [23]

Кстати исходный вопрос действительно про С был. Проклятая привычка чтения наискосок :(

Про то что читал сам:
1) Керниган, Ричи. Язык C  -> must have, к счастью это одна из первых книг по программированию которую я прочитал. У меня есть оригинальное издание на англ. языке - заодно и английский в свое время чуть развил. Книжка написана ОЧЕНЬ простым языком (да я ее и сейчас иногда почитываю - просто перед сном как беллетристику)
2) Бьерн Страуструп. Язык программирования С++ Читать довольно нудно. Но как справочник - очень неплохо. Открываешь нужную главу и читаешь все что нужно в 1 месте.
3) Герберт Шилдт "С" для профессиональных программистов - если не путаю то книжка тоже хорошая. Но в памяти что-то отложилась не очень...
4) Гради Буч Объектно-ориентированный анализ и проектирование с примерами приложений на С++.  Ну это классика (хотя к собственно С отношение постольку поскольку). Несмотря на многочисленные критические высказывания в адрес книги ИМХО крайне полезная и рекомендуемая к прочтению вещь.
5) Ален И. Голуб. "Веревка достаточной длины, чтобы выстрелить себе в ногу" Правила программирования на С и С++ Читать ОБЯЗАТЕЛЬНО!
6) A draft copy of the ANSI C standard. Почитать не мешает но это не совсем для начинающих.
7) Modern C++ Design: Generic Programming and Design Patterns Applied - (Andrei Alexandrescu) это для продвинутых но вобщем рекомендую (даже готов поделиться но чтобы кто-нибудь выложил. Слать всем не смогу...)
8) Джефф Элджер C++ БИБЛИОТЕКА ПРОГРАММИСТА - тоже очень рекомендую. Это для тех кто язык чуть-чуть знает но метит в продвинутые ;-)
9) Herb Sutter - More Exceptional C++  ну тоже можно почитать
10) C++ Templates: The Complete Guide
By David Vandevoorde, Nicolai M. Josuttis - ну по крайней мере можно будет гнуть пальца - "а у вас в дельфе нет шаблонов. ацтой!"


 
_Alanjuk ©   (2004-05-11 10:01) [24]

По поводу, что же помогает программировать и еще лучше программировать;
Лично я ощутил прогресс в значительной степени после того, как начал заниматься ACM"ом(олимпиадное программирование).
Возможно, в будущем, на работе, ты далеко невсегда будешь использовать самую быструю сортировку, или модифицированный алгоритм Дейкстры с использованием k-ичной кучи.

Но именно ACM настраивает твое мышление на "програмиский лад".)


 
Паниковский ©   (2004-05-11 10:02) [25]

Sergey_Masloff
Богатырев????


 
Sergey_Masloff   (2004-05-11 10:10) [26]

Паниковский ©   (11.05.04 10:02) [25]
>Богатырев????
Он родственник ваш этот богатырев?! Дядя ваш? Жалкая ничтожная личность этот ваш богатырев! ;-))

Шутка. Просто не читал, сказать ничего не могу. Да и в ближайшем будущем не прочту так как на данный момент развитие скила C++ в мои планы не входит. Моего довольно скромного уровня хватает для решения текущих задач а для собственного развития я сейчас читаю литературу из совсем других областей.


 
Паниковский ©   (2004-05-11 10:11) [27]

Sergey_Masloff
Душевно пишет между прочим


 
Sergey_Masloff   (2004-05-11 10:26) [28]

Да вот еще несколько.
- "Learn C under Windows 95/NT®" Dave Mark для совсем начинающих разжевано все до предела. Правда все примеры для среды которую фиг достанешь (там какие кнопки нажимать тоже есть) но если абстрагироваться от этого (что легко) то все можно любым компилятором компилировать

- Stanley B. Lippman "Essential C++" Выходила в русском переводе кажется "С++ для профессионалов"

ну и для фанатов паттернов проектирования советую ознакомиться с "AntiPatterns Refactoring Software, Architectures, and Projects in Crisis" авторы William J. Brown, Raphael C. Malveau
Hays W. McCormick III, Thomas J. Mowbray. Чтобы оценить взгляд с другой стороны. Правда это снова не про С


 
Nick Denry ©   (2004-05-11 10:43) [29]

Sergey_Masloff   (11.05.04 09:11) [22]

Принято. Тяжелое утро после пива? :LOL:


 
Паниковский ©   (2004-05-11 10:55) [30]

Sergey_Masloff
Липман с другим названием и есть в сети для скачивания...


 
Sergey_Masloff   (2004-05-11 11:05) [31]

Паниковский ©   (11.05.04 10:55) [30]
Я привел точное название. Можешь свериться по ISBN: 0-201-48518-4
У липмана не одна книжка, та что ты имеешь в виду толще но в ней больше воды. В сети доступны обе.


 
Сергей Суровцев.   (2004-05-11 11:41) [32]

>KilkennyCat ©   (11.05.04 01:45) [8]
>а поскольку работать сам-себе-интерпретатор было не очень >увлекательно (особенно после того, как грохнулась "МИР-2") >взялся за паяльник.

И не жалеет. А что - работа не пыльная, с людьми да и бабла навалом. Чем не жизнь?

>Паниковский ©   (11.05.04 06:27) [12]
>Богатырев,
>Шилдт,
>Стивенсон,
>Керниган и Ричи.

А Козлевич!!! Тьфу ты, в смысле Страуструп?


 
Паниковский ©   (2004-05-11 12:05) [33]

Сергей Суровцев
Человек пишет что он начинающий так что Страуструпа imho рано


 
Igor_thief ©   (2004-05-11 12:47) [34]

http://forums.realcoding.net/forum59.html
В этой ветке можно полусить ссылки на електронную литературу по Си, Дельфи и всякой всячине. Вибор очень богат. Вам надо только регернуться, просмотреть список книг и послать запрос на те, которыве вам понравились. Ссылки получите в ПМ. Но сразу же прндупреждаю! Почти все книги на английском языке. Но если решили взяться за программирование, то без английкого вам просто будет тяжелее.


 
Palladin ©   (2004-05-11 21:00) [35]


>  Игорь Шевченко ©   (10.05.04 23:49)

Настроить мозги на что то, в том числе и на программирование, может только желание и дикий интерес к изучаемому предмету - так получаются программисты
все остальное на уровне технического исполнения без полета фантазии и соответственно трафаретное исполнение - так получаются кодеры не очень высокого уровня, пишушие китайским методом C&P


 
Игорь Шевченко ©   (2004-05-11 21:10) [36]

Palladin ©   (11.05.04 21:00)

Согласен на все 100 :) Только вот насколько помню себя, первая моя программа была написана для облегчения себе расчета трансформатора (витки в обмотках, и т.п.).

Кстати, первая книжка по программированию - это МакКракен и Дорн, "Численные методы и программирование на Фортране", затем бессмертный Денни Ван Тассел (я считаю, из серии must have, книга по программированию вообще).

Что касается С, С++, то кроме "Веревки" и Гради Буча, который в общем-то к С++ не очень-то относится, я больше ничего не читал. Хочу купить Страуструпа, но приоритет у этой покупки невысокий.

Мое мнение - книги надо читать по программированию вообще. А книги по языкам в большинстве случаев запретить как вредные и закабаляющие мозги :).

Только Пратта можно оставить :)


 
Palladin ©   (2004-05-11 21:26) [37]


> Только вот насколько помню себя, первая моя программа была
> написана для облегчения себе расчета трансформатора (витки
> в обмотках, и т.п.).

дык :) естествоиспытания только приветствуются в начинаниях, практика очень важна в развитии, без нее никуда...


> А книги по языкам в большинстве случаев запретить как вредные
> и закабаляющие мозги :).

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

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


 
Игорь Шевченко ©   (2004-05-11 21:51) [38]

Palladin ©   (11.05.04 21:26)


> ведь самое ценное в них это упражнения в совокупности с
> описанием языка по нарастающей


Вот есть замечательная книжка (забыл упомянуть): Чарльз Уэзерелл, "Этюды для программистов", 1981 или 1982 года издания. Одни упражения, с замечательной постановкой задач, я думаю, мало кто решит их все, кстати, задачи там нетривиальные. Так в ней выбор языка оставлен на решающего, иногда даются только рекомендации по использованию или неиспользованию тех или иных языков (правда, с частью нерекомендованных языков я и не знаком вовсе, например со Сноболом).

Можно брать любой учебник языка и решать :))

Или еще: Гудман, Хидетниеми: "Введение в разработку и анализ алгоритмов", у нас издана в 1981 году, у буржуев в 1977.
Небольшая выдержка:
"В начальном курсе программирования особое внимание уделяется таким темам, как работа ЭВМ, синтаксис языка программирования, кодировка программы, ввод/вывод, элементарные аспекты и применения структур данных, понятия подпрограммы и функции, разрабтока относительно простых программ, некоторые понятия машинного языка, а также примеры прикладных программ. Существует несколько дополнительных разделов программирования, которые не рассматриваются ни в начальном курсе, ни сколь-нибудь подробно в дургих курсах по вычислительной математике и программированию. К числу этих разделов относятся:
1. Полная подготовка от начала до конца, достаточно сложной задачи.
2. Такие методы разработки алгоритма, как метод частных целей, наискорейшего подъема, отхода назад и работы в обратном направлении, ветвей и границ, рекурсия и эвристика.
3. Эффективная и правильная реализация перечисленных алгоритмов.
4. Правильность алгоритма и программы.
5. Критерий эффективности и сложности алгоритма, вопросы общей эффективности.
6. Проверка программы, включающая тесты на правильность, сложность и общее поведение программы.
7. Более изощренный математический аппарат (включающий, например, теорию вероятностей), требующийся при разработке и анализе достаточно сложных программ.

В этой книге рассмативаются все указанные аспекты программирования"

В конце каждой главы опять-таки, предлагаются упражнения, которые можно решать на любом удобном языке программирования.

С уважением,


 
PaRL ©   (2004-05-11 22:12) [39]

Спасибо за ответы.

PS Я так то лет с 14 сам во все вникаю) даже физику пришлось для вступительных самому полностью готовить) а так матан я понимаю... кстати серьезно очень сильно мозги развивает я себя полгода назад вспоминаю совсем другой уровень был.


 
OlegGashev ©   (2004-05-12 00:47) [40]

Sergey_Masloff   (11.05.04 09:36) [23]

К этому списку еще Александреску добавить надо. :-)



Страницы: 1 2 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.58 MB
Время: 0.034 c
1-1084549375
pvb
2004-05-14 19:42
2004.05.30
Текст


14-1083616673
Sanek_metaller
2004-05-04 00:37
2004.05.30
Дизайн Сайта


9-1075106393
Oyster
2004-01-26 11:39
2004.05.30
Как сделать взрыв


6-1081802587
Spirit Monster
2004-04-13 00:43
2004.05.30
cookies


8-1080131787
OlegV
2004-03-24 15:36
2004.05.30
WAV -> MP3





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский