Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Философия программирования > Мой путь изучения программирования


Автор: mastermedia 24.10.2011, 00:35
Я студент троечник. Опыта программирования не имею максимум это университетские методички, задания которых сдавал на одни тройки. Сейчас я немного образумился и взялся за ум. Фактически с нуля буду браться за программирование. Заинтересовал C#, платформа .Net и те возможности, которая эта платформа представляет для веб-программирования . Определился с литературой, начну с книжки Уотсон К. Visual C# 2010. Полный курс(недавно вышла данная книга. Первая цель моя научиться основам базового программирования, разобраться с , потом непосредственно буду переходить к веб-программированию. Под веб-программированием я имею виду изучение технологии asp.net(webmatrix, asp.net web forms, asp.net mvc 2), знакомство со скриптовыми языками, html, css. javascript и ajax. Для закрепления практики по основам программирование буду ограничиваться сперва упражнениями из озвученной мною книгой выше. После прочтения и выполнения всех упражнений из книги по ищу для себя интересный учебный проект и использую полученные знания на нем для закрепления навыков и поисков недостатков в полученных знаниях. Прошу по критиковать ход моих мыслей, посоветовать как и что лучше сделать. Заранее спасибо.
 
    

Автор: kosmonaFFFt 25.10.2011, 13:05
Я лично считаю, что главное, если уже есть базовые знания какого-то языка и его конструкций - это просто сесть и начать что-то делать, а разбираться уже в процессе...

Автор: kemiisto 25.10.2011, 13:37
Цитата(mastermedia @  23.10.2011,  23:35 Найти цитируемый пост)
Прошу по критиковать ход моих мыслей, посоветовать как и что лучше сделать.

Ход мыслей в корне не верный, но критиковать бестолку.

Цитата(kosmonaFFFt @  25.10.2011,  12:05 Найти цитируемый пост)
просто сесть и начать что-то делать

Если сесть и начать что-то делать, то в результате что-то и получится. smile А хотелось бы получить программу.

Автор: mastermedia 26.10.2011, 15:17
kemiisto, что же не верно?

Автор: baldina 26.10.2011, 16:25
Цитата(mastermedia @  24.10.2011,  00:35 Найти цитируемый пост)
Прошу по критиковать ход моих мыслей, посоветовать как и что лучше сделать. 

ход мыслей не совсем в ту сторону, без понимания что для чего.
1. любое программирование подразумевает знакомство с дискретной математикой, которая есть наука весьма обширная и содержит множество интересных и нужных разделов http://ru.wikipedia.org/wiki/%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0
2. веб-программирование, несмотря на доступность средств и низкий порог вхождения, гораздо сложнее "обычного" программирования, т.к. приходится иметь дело с клиент-серверной архитектурой и различными (на клиенте и сервере) языками программирования.
3. хороший программист имеет понятие об устройстве и возможностях аппаратуры. например, в ряде случаев можно кардинально повысить производительность программы, умело используя кэш или многопоточность
4. хороший программист имеет понятие об устройстве и возможностях (различных) ОС, в которых исполняется его программа
5. задачи, работающие в сети подразумевают знание сетей - TCP/IP, HTTP, SMTP.
6. программирования в чистом виде не бывает, всегда есть некоторая прикладная область, в которой требуется разбираться. например, программирование инженерных расчетов, игр и бухгалтерских задач требует различных весьма специфических знаний.
7. существуют разные парадигмы программирования, реализуемые конкретными языками. часто язык поддерживает несколько парадигм. естественно, их нужно понимать
8. конечно, нужно знать конкретные языки программирования (язык может быть любой, но не все хороши для первоначального обучения программированию)
9. конечно, нужно знать библиотеки, которые будут использоваться (начать со стандартных)
10. конечно, нужно знать инструменты разработки (не забыть систему управления версиями)
11. кстати, процесс разработки это тоже отдельная тема. есть такое понятие "инженерия программного обеспечения" - системный подход к процессу разработки ПО

на законный вопрос "а оно мне действительно нужно? вообще-то я хотел начать с простых приложений в web" отвечу так:
если Вы собираетесь заниматься этим профессионально, то и подход должен быть серьезный и последовательный.
профессиональное программирование от непрофессионального отличается только масштабом: количеством строк и файлов, сроком жизни программы, количеством изменений, которые придется в течение этого срока внести, количеством пользователей, количеством целевых платформ (или конфигураций окружения).
построить скворечник многие смогут, даже без чертежей. строительство многоквартирного дома потребует много чертежей и знаний различных специалистов.

 smile 
Цитата

...старика слеза прошибла и он сознался, что столько лет вел себя дурак дураком, а теперь хочет начать новую жизнь, чтобы никому не стыдно было вести с ним знакомство, и надеется, что судья ему в этом поможет, не отнесется к нему с презрением. Судья сказал, что просто готов обнять его за такие слова, и при этом прослезился; и жена его тоже заплакала; а отец сказал, что никто до сих пор не понимал, какой он человек; и судья ответил, что он этому верит. Старик сказал, что человек, которому в жизни не повезло, нуждается в сочувствии; и судья ответил, что это совершенно верно, и оба они опять прослезились. А перед тем как идти спать, старик встал и сказал, протянув руку:
      — Посмотрите на эту руку, господа и дамы! Возьмите ее и пожмите. Эта рука прежде была рукой грязной свиньи, но теперь другое дело: теперь это рука честного человека, который начинает новую жизнь и лучше умрет, а уж за старое не возьмется. Попомните мои слова, не забывайте, что я их сказал! Теперь это чистая рука. Пожмите ее, не бойтесь!
      И все они один за другим, по очереди, пожали ему руку и прослезились. А жена судьи так даже поцеловала ему руку. После этого отец дал зарок не пить и вместо подписи крест поставил. Судья сказал, что это историческая, святая минута... что-то вроде этого. Старика отвели в самую лучшую комнату, которую берегли для гостей. А ночью ему вдруг до смерти захотелось выпить; он вылез на крышу, спустился вниз по столбику на крыльцо, обменял новый сюртук на бутыль сорокаградусной, влез обратно и давай пировать; и на рассвете опять полез в окно, пьяный как стелька, скатился с крыши, сломал себе левую руку в двух местах и чуть было не замерз насмерть...

М.Твен "Приключения Гекльберри Финна"

Добавлено через 9 минут и 4 секунды
mastermedia, я не хочу Вас пугать или отговаривать. Только сказать, что все преподаваемые в университете предметы важны (и не только они), просто "выучить С#" не получится. 

Автор: mastermedia 26.10.2011, 18:04
baldina, спасибо за ваш совет. Каким образом мне тогда заниматься в выбранной мною области, языком и т.д.? Если в веб программирование, то насколько я понял ваш совет хороший программист должен понимать хорошу платформу .Net, хорошо знать ОС Windows Server, Windows 7,TCP/IP, HTTP, SMTP, задачи, работающие в сети подразумевают знание сетей - TCP/IP, HTTP, SMTP, в случае С# это понимание и знание объектно ориентированного программирования, знать стандартные классы, библиотеки в платформе .net, уметь работать со средой visual studio. Верно я вас понимаю?

Автор: baldina 26.10.2011, 22:15
Цитата(mastermedia @  26.10.2011,  18:04 Найти цитируемый пост)
 понимать хорошу платформу .Net, хорошо знать ОС Windows Server, Windows 7

это частности. все ОС имеют общее. все платформы типа .net имеют общее. лучше учиться концепциям.

разделите хотя бы на две части: технологии интернет и собственно программирование.
веб, вообще говоря, может существовать и без программирования (статический контент). даже в этом случае есть много чего изучать: HTTP, HTML, CSS
программирование тоже делится: серверная часть (asp.net в Вашем случае) и клиентсткая - JavaScript, DOM, Ajax
на серверной, конечно, не обойдется без БД, поэтому придется и теорию реляционных БД и sql изучать

Автор: mastermedia 26.10.2011, 23:38
можете пожалуйста обобщить, что мне нужно изучать параллельно с программированием?

Автор: baldina 27.10.2011, 00:01
Цитата(baldina @  26.10.2011,  22:15 Найти цитируемый пост)
есть много чего изучать: HTTP, HTML, CSS


Добавлено через 4 минуты и 15 секунд
а обобщенно - см. 11 пунктов первого поста)))

Добавлено через 7 минут и 42 секунды
купите книжку по алгоритмам. по объектно-ориентированному подходу. по операционным системам. по сетям. по базам данных.
параллельно изучайте что-нить типа "создание веб приложений на платформе asp.net", оттуда вырастут ноги в остальные разделы.
html и иже с ним хорошо описаны в интернете (w3schools) 

Автор: kemiisto 28.12.2012, 15:37
Ну чем закончилось?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)