Программирование для тех кто хотел бы его изучить часть 2. С чего начать?

Перво наперво должна быть идея, без идеи программирование перейдет из разряда "интересно" в разряд "пытка", быстрее чем вы скажете слово "Миссисипи".
Итак давайте разбираться по поводу идей.
Первое, идея должна быть простой, и вы должны понимать, что идея простая (чем больше вы программируете, тем больше вы будете оценивать идеи по силам). Идеи могут быть разные так что вот вам несколько примеров:
1 - автоматический тестировщик сайтов по пограничным значениям
2 - автоматический подбор контента, хотя на picabu
3 - мониторинг погоды с различных ресурсов
3 - http://habrahabr.ru/post/167459/
Какой язык программирования выбрать?
Рано или поздно, программист вырабатывает стойкое отвращение к 1 из языков программирования в то же время обожествляя другой язык (С - Паскакаль, PHP-ASP.net, Ruby-Phyton, C-C++-C#, Assembler - любой язык в принципе, включая тот же ассемблер (Tasm Masm и прочие)).
мой вам совет: НЕ ВЕДИТЕСЬ. Будьте объективны и доброжелательны к любым языкам и с пониманием относитесь к людям и их выбору, мнению, возможно вам придется с ними работать.
Краткий перечень языков с моей колокольни:
Phyton 2.7- простой и красивый язык. Подходит для задач, по автоматизации тестирования и просто выдирания контента с сайтов, мне очень приятно было разрабатывать такие небольшие программки (скрипты) по : опросу теплосчетчиков / электросчетчиков/ датчиков давления в реальном времени. Так же я использую пайтон для того чтобы объяснить племяннику программирование.
С - базука среди языков программирования, я достаточно много выстреливал себе в ноги и уважительно отношусь к нему и ко всем адептам , тем кто хотя бы раз ставил указатель на указатель. Последний раз я использовал язык С для реализации системы определения задымления внутри стойки.
C# - для прикладных задач под windows, где не так важна скорость самого приложения, но необходимо написать огромное количество кода для последующей сдачи на сборку.
С++ - тоже самое под Linux
Assembler - программировал электронные часы, делал пищалку, программировал графику на ZX. Понял что Assembler очень хорошо перестраивает голову в "нужном" ключе.
Pascal- Basic - На basic рисовал домики, круги, движение символа влево и вправо (да мне было 10 лет (1995 год), что вы хотите? движок Doom?) Паскаль был для меня наказанием, когда я слышу слово Паскаль - то в голове возникает преподаватель и его излюбленное "пишем лабораторную на паскале, никаких СИ!"
Есть фортраны, cobol-ы, браинфаки, если вы на них пишите, то вам эта статья покажется бесполезной и "детской" (да я пишу её для людей, которым кажется что программирование - магия и они бы хотели тоже научиться этой "магии").
Какую ОС выбрать?
Без разницы. Вы программист, просто выберите яд по вкусу. Главное не рассказывать всем как "винда сосет, а линукс рулит", главное пользователи, ведь лучше потратить время на доводку программы, чем ругаться на форумах. Или я не прав?
Какую IDE выбратиь?
Можно писать хоть в блокноте, главное чтобы было комфортно.
Моя программа не работает/некомпилируется/ПОЧЕМУ ЭТА ПРАААИСХОДИТ?
Во первых вам надо успокоиться, во вторых ВЫ должны понять, что 99% ваших ошибок сделаны ВАМИ же. Чем больше вы практикуетесь тем меньше ошибок вы будете совершать в дальнейшем. И чем дальше вы будете идти в программировании тем менее уловимыми будут ваши же ошибки (проблема четности, переполнения списков, израсходованная память, потерянные адреса, почему у меня работает а у тебя нет).
Какие бывают программисты?
Промышленные - это программист который весь рабочий день пишет код. Я работал в большой компании и честно слабо себе представлял что из моих классов в конце концов составит сборщик (специалист который соединяет код от программистов в 1 целое). Что ты пишешь? Зачем и почему? Неизвестно, известны только ТВОИ задачи. По мне лучший способ научиться программировать. Кстати, если у вас есть девушка или личная жизнь - забудьте о всех этих посторонних вещах.
Вынужденное программирование - чем сейчас занимаюсь я. Если есть возможность что-то автоматизировать - я начинаю придумывать. Чтобы все работало без моего участия, а данные обрабатывал кто-то другой (да я ленивая жопа), но эти данные я предоставляю в человеческом виде, а не абы как на "отвали".
Хобби программирование - на данный момент я хочу скопировать систему повреждений Dwarf Fortress. У меня нет начальника, нет сроков, я не заставляю себя, но и не ленюсь и стараюсь выделять своему хобби время.
Как писать хороший код?
Я не знаю. Некоторые говорят что мой стиль очень даже хороший, некоторые его терпеть не могут. Просто стараюсь сделать хорошо.
Почему пользователи козлы?
Если вы так думаете козел лично ВЫ. Пользователь дает нам, программистам, работу, деньги, и использует написанное нами ПО. Разве это не похвала за наш серый и невидимый труд? Когда ко мне не приходят баг репорты, я начинаю нервничать, думая, что моя программа никому не нужна и я зря потратил время.
Долго ли учиться, чтобы стать хорошим программистом?
Всю жизнь и ещё чуть чуть.

Литература для того чтобы научиться думать как программист:
http://e-maxx.ru/bookz/files/golub_cord.pdf
любой справочник по С-С++
Специально для Пикабу.
P.S. Не ругайте за ошибки - я не Пушкин.
Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий
В целом статья хорошая) Автор молодец))
п.с. а я братишку не смог заинтересовать в программировании) хотя возможно потому, что показывал ему дельфу xD
раскрыть ветку (3)
Автор поста оценил этот комментарий
надо к этому подходить с умом, дети и подростки любят ВСЕ и СРАЗУ. пайтон дает такую возможность (с pygame, ОСОБЕННО с ним, хочешь линию - рисуй, хочеш квадрат пожалуйста). Больше конечно его привлекает железо, квадрокоптеры, умные котокормушки, мобильная связь, ассемблер и си для него темный лес, надо чтобы он набил руку и начал думать, разбивать идею на задачи задачи на подзадачи итак далее. Дальше хочу купить ему небольшой лабораторный стенд для опытов с Assembler ом.
раскрыть ветку (2)
1
Автор поста оценил этот комментарий
похвально, последую твоему примеру, попробую показать ему питона)
блин.... звучит двусмысленно..
раскрыть ветку (1)
Автор поста оценил этот комментарий
пайтона от шоу монти пайтон.
Ну да звучит странно, особенно когда это слышит посторонний, что-то например "оседлать питона", "питон не встает на пользователя чье имя написано кириллицей".
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку