Обучение программированию: поэтапная разработка, инструменты, материалы и пр. для новичка. Что к чему в мире программирования?
================================================================================================================================

 Доброго времени суток. Я студент второго курса одного из столичных ВУЗов, учусь на специальности "прикладная информатика в экономике", что, по сути, является обычным обучением на программиста, и, как повелось в столичных ВУЗах, а, возможно, дело лишь в собственной лени (а осуждать преподавание я не могу в силу отсутствия опыта и незнания альтернатив), но, тем не менее, ничего не знаю о программировании. Два года нас учат программированию на Delphi, была короткая практика об простейших вещах верстки, создание БД в Access. Я описываю это для понимания уровня моих знаний читающими. Повторюсь - я работал ТОЛЬКО в Delphi, и научился рисовать кнопочки и присваивать им процедурки.   

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

 1. Как строится разработка сайта (поэтапно, начиная с создания рисунка на бумаге/в фотошопе).  

 2. Разработка сайта. Я понимаю, что, грубо говоря, "картинка" создается с помощью HTML/CSS, понимаю, для чего нужны базы данных и... все. Объясните простым языком или покажите где посмотреть информацию о том, как:   

- залить эту "картинку" в интернет;   

- как привязать к этой картинке БД;   

- с помощью чего разработчик взаимодействует с БД;   

- для чего нужен PHP;   

- для чего нужны Python и Ruby в вебе;   

- является ли Python заменой PHP;   

- как происходит разработка приложений для веба, ведь, насколько я понял, "нарисовал кнопку - написал процедуру" это фишка Delphi;   

- если я не прав в предыдущем вопросе, то как настроить среду разработки и какие вообще есть среды.   

 3. Является ли Visual Studio альтернативой Delphi или это абсолютно разные вещи. Насколько я знаю, в VS можно работать и разработчику десктопных приложений, и мобильному разработчику, и веб-разработчику, так почему же его не используют повсеместно?   

 4. Для чего нужны фреймворки и что это такое, опять же, простым языком.   

 5. Что такое "система контроля версий Git", для чего это нужно и как это работает.  

 6. Что включает в себя интерфейс веб-программиста (программы, сайты и т.д.)  
  

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

 Всем отписавшимся сверху: ну что вы пристали? А слабо попростому ответить что такое гит, что б ребенок понял. Или только бла бла бла можете и посылать книжки учить?  

Кстате, автор вопроса, по хорошему нужно МНОГО почитать вам еще в гугле по каждому вопросу.  
  

1) Прототип, потом верстка, потом натягивание на CMS, потом наполнение.  

2) Залить картинку в интернет – это значит выложить на хостинг.  

Привязать к картинке БД – указать БД в настройках CMS  

С помощью языка программирования (php, ruby)  

Питон и Руби - альтернатива PHP  

"нарисовал кнопку - написал процедуру" работает и в вебе, просто рисуете вы и пишете на других языках.  

2. Я не знаю  

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

4. Git.. гит... Гит позволяет экспериментировать в программировании. Можно сделать классную прогу. Сохраниться с помощью гита (как в игре). Потом программировать ее дальше, накосяпорить, все поломать. Понять, что лучше оставить прежний вариант программы, и вернуться к "сейву".  

5. IDE (phpstorm например) - в нем пишут код. Локальный сервер (openserver например), он дает пользоваться php на компьютере. Браузер – позволяет смотреть на то, что ты нагородил. 

 Самое главное сделано - вопросы заданы.  

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

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

 Я вот специально тебе линк дам -даже гуглить не нужно   

"Как задавать вопросы" [goo.gl/spqRI2](http://goo.gl/spqRI2) 

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

Это вообще ни о чём не говорит. "Программист"-магистр и тот может на эти вопросы не ответить. Дань нашего образования. Только самообучение.  
  

Про самообучение. Задавать подобные вопросы - гарантия на провал. За вас никто не будет разжёвывать информацию и класть вам в рот. Вы никому не нужны. В интернете существуют ответы на все интересующие вас вопросы. Нужно только уметь их искать. Это один из ключевых навыков в IT.  

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

Третье - как освоите язык, устраивайтесь на работу стажером/джуниором, на полставки или за еду. Там познакомитесь со всем остальным.