Юный программист
С недавнего времени я решил попробовать себя в программировании. Выбрал C#, так как мне он показался наиболее распространённым в наше время. И после моего выбора, у меня возникла проблема. Суть этой проблемы в том, что я не знаю с какой стороны подступиться, чтобы начать моё путешествие в мир программирования. Так вот собственно не могли бы вы посоветовать мне какую-нибудь литературу, чтобы начать постигать сей язык.
UPD. Я уже начал сомневаться правильно ли я выбрал предмет изучения. И я подумал и решил немного поменять вопрос. Так как мои знания в программировании ограничиваются школьной программой по Pascal я был бы рад выслушать ваши предложения насчёт того с чего именно начать, чем при этом воспользоваться и какие вспомогательные ресурсы выбрать.
Лучшие комментарии
Посмотри внимательней в сторону других языков вроде Java или (хардкорного) C++: тут ты и с OpenGL, и DirectX сможешь поиграться и игру свою со временем написать, а потом перейти на Android какой-нибудь. С .NET путь к мультилатформе и более-менее крутой графике тебе заказан.
Если всё же решишь осваивать C# сразу изучай WPF и не трогай Windows Forms.
Книжку не посоветую, сам читаю «Нэш Трей — C# 2010. Ускоренный курс для профессионалов» — тебе наверно будет сложно, хотя тут всё вплоть до основ излагается.
Лично я советую попробовать начать с Python. Для этого языка много хорошей литературы, на рынке фриланса этот язык весьма востребован, да и вообще, он прост именно для обучения, так как прощает много ошибок. Рекомендую почитать статью на HabrHabr'е по этому языку, там очень хорошо расписано: и зачем оно надо, и с чего начинать.
Если же тебе привычнее строгая типизация либо ты считаешь, что учение должно быть в строгости, настоятельно рекомендую C (именно C, без плюсов и решётки). Самая хорошая замена для Pascal и Delphi, которая только может быть. Вообще, хорошо изучив C, учить другие языки становиться гораздо проще. Другое дело: да, выучить его хорошо сложно. Для начала советую почитать всё тот-же Хабр :)
Вообще, я учу ЯП так: придумываю себе задачу и начинаю придумать, как написать программу, которая решает её. Придумываю алгоритм, пытаюсь его реалиховать. Если что-то не знаю — иду на StackOverflow, HabraHabr или Cyberforum и ищу решение там, в последствии детально его разбирая. Итог: при должном старании язык учиться достаточно хорошо и быстро.
А вот начинать с C# я категорически не советую. Всё-таки ООП требует от человека навыков программирования: бОльшая часть программ на C#, Java и проч. требует создания классов, без которых потенциал языка раскрывается очень-очень слабо. Сам начинал с него, и кончилось это печально: в последствии всё-равно пришлось открывать этот язык с нуля после хорошего изучения Delphi.
Сам недавно озадачился изучением программирование, ну и поскольку программа моего учебного заведения убога чуть более чем полностью(вообще учить программированию по заранее написанному учебному плану во всяких заведениях бредовая идея и да я учусь на программиста) я сразу полез в гугол и более опытным прогерам, почти все советовали начинать с С, говорят отличная основа для дальнейшего продвижения, учить сразу С++ не посоветовали, так как велика вероятность его просто со временем забыть… Такие вот дела…
Синтаксис у языков, кстати, забывается мгновенно, если не пишешь.
Кстати С++, почему считается хардкорным? Если не заморачиваться о низкоуровневых возможностях, то, вроде, он ничем особо не отличается от других языков.
Не понравилось, можешь смотреть в другую сторону.
Любое программирование начинается с «Hello, world!» (ну кроме Perl ;) ), так что начать можно с этого.
Книги не читаю, поэтому не рекомендую. Но если будешь искать примеры в интернете, то ищи сразу несколько на одну и туже тему, чтобы знать о вариациях кода и выбирай, то что считаешь лучше подходит для тебя.
Также в последнее время становится всё более популярен Python; тоже неплохой выбор, учит писать красивый, форматированный код, и является очень функциональным, так сказать, «из коробки».
Python учить легче, чем C++, но для «фундамента» я бы всё же порекомендовал С++; из литературы — «Павловская — С/С++. Программирование на языке высокого уровня». Сам читал, и написано доходчиво, и много задачек для практического написания прилагается…
Многие языки очень похожи на С, постигнешь его — другие будешь подхватывать «на лёту».
Яваскрипт
Ну, вообще, да. Если начинать, то с Пайтона.