2 июня 2013 2.06.13 21 5209

Юный программист

С недавнего времени я решил попробовать себя в программировании. Выбрал C#, так как мне он показался наиболее распространённым в наше время. И после моего выбора, у меня возникла проблема. Суть этой проблемы в том, что я не знаю с какой стороны подступиться, чтобы начать моё путешествие в мир программирования. Так вот собственно не могли бы вы посоветовать мне какую-нибудь литературу, чтобы начать постигать сей язык.

UPD. Я уже начал сомневаться правильно ли я выбрал предмет изучения. И я подумал и решил немного поменять вопрос. Так как мои знания в программировании ограничиваются школьной программой по Pascal я был бы рад выслушать ваши предложения насчёт того с чего именно начать, чем при этом воспользоваться и какие вспомогательные ресурсы выбрать.


Поддержи Стопгейм!
Комментарии отключены

Лучшие комментарии

Если ты начнешь своё знакомство с программирования с C#, то так и будешь скорее всего на .NET программировать в рабстве у майков, пока платформа не загнется =)
Посмотри внимательней в сторону других языков вроде Java или (хардкорного) C++: тут ты и с OpenGL, и DirectX сможешь поиграться и игру свою со временем написать, а потом перейти на Android какой-нибудь. С .NET путь к мультилатформе и более-менее крутой графике тебе заказан.
Если всё же решишь осваивать C# сразу изучай WPF и не трогай Windows Forms.
Книжку не посоветую, сам читаю «Нэш Трей — C# 2010. Ускоренный курс для профессионалов» — тебе наверно будет сложно, хотя тут всё вплоть до основ излагается.
Народ, а насколько трудно освоить питон? Из всех языков немного знаю Java, да и то на уровне экспрешна для After Effects
ИМХО, всё-таки лучше учиться на конкретных задачах, а не по книжкам. Это эффективнее (выучиться можно всего за пару месяцев), но такой подход требует умения придумывать себе задачи и ставить себе цель.

Лично я советую попробовать начать с Python. Для этого языка много хорошей литературы, на рынке фриланса этот язык весьма востребован, да и вообще, он прост именно для обучения, так как прощает много ошибок. Рекомендую почитать статью на HabrHabr'е по этому языку, там очень хорошо расписано: и зачем оно надо, и с чего начинать.

Если же тебе привычнее строгая типизация либо ты считаешь, что учение должно быть в строгости, настоятельно рекомендую C (именно C, без плюсов и решётки). Самая хорошая замена для Pascal и Delphi, которая только может быть. Вообще, хорошо изучив C, учить другие языки становиться гораздо проще. Другое дело: да, выучить его хорошо сложно. Для начала советую почитать всё тот-же Хабр :)

Вообще, я учу ЯП так: придумываю себе задачу и начинаю придумать, как написать программу, которая решает её. Придумываю алгоритм, пытаюсь его реалиховать. Если что-то не знаю — иду на StackOverflow, HabraHabr или Cyberforum и ищу решение там, в последствии детально его разбирая. Итог: при должном старании язык учиться достаточно хорошо и быстро.

А вот начинать с C# я категорически не советую. Всё-таки ООП требует от человека навыков программирования: бОльшая часть программ на C#, Java и проч. требует создания классов, без которых потенциал языка раскрывается очень-очень слабо. Сам начинал с него, и кончилось это печально: в последствии всё-равно пришлось открывать этот язык с нуля после хорошего изучения Delphi.
Как базу думаю лучше начать учить обычный С, после освоения переходить на С++, затем на java, а там уже к чему душа лежит.Книжку посоветую от создателей языка :«Керниган, Ритчи — Программирование на C».

Сам недавно озадачился изучением программирование, ну и поскольку программа моего учебного заведения убога чуть более чем полностью(вообще учить программированию по заранее написанному учебному плану во всяких заведениях бредовая идея и да я учусь на программиста) я сразу полез в гугол и более опытным прогерам, почти все советовали начинать с С, говорят отличная основа для дальнейшего продвижения, учить сразу С++ не посоветовали, так как велика вероятность его просто со временем забыть… Такие вот дела…
меня на курсах учили бейсику и паскалю, а синтаксис C++ изучал по задачнику (читал условие, открывал ответ, переписывал, смотрел какой оператор что делает, выписывал в тетрадь). Новое я тогда изучить не смог, да и не успел, но то что знал из первых двух языков нашёл. В университете смог по тем записям написать программы к зачету. По-моему, так изучать легче и интереснее, чем читая книги. К сожалению, ни названия, ни автора я не помню.
Синтаксис у языков, кстати, забывается мгновенно, если не пишешь.
Кстати С++, почему считается хардкорным? Если не заморачиваться о низкоуровневых возможностях, то, вроде, он ничем особо не отличается от других языков.
А чем же так плох C# он же вроде наравне с Java и C++?
Спасибо Приму к сведению.
Ещё, я думаю, можно поставить цель: что нибудь написать (хеллоу ворлд (вывод на экран), угадай число (генератор случайных чисел, условия), решение квадратных уравнений, перебором найти число счастливых билетов в пачке (циклы), посчитать по дате рождения в год кого ты родился (там было много условий, проще пользоваться оператором селект кейс), шифрование текста (чтение и запись в файл, работа с текстом), нарисовать что нибудь (графика), потом заставить это двигаться по экрану...), и уже обращаться к учебникам, когда возникают вопросы
вот ещё вспомнил, можно разобраться, как пишутся функции, и писать все мелкие программки в один файл в виде процедур/подпрограмм (это в паскале было, в си просто функции с нулем на выходе). Когда накопиться какое-то количество программок, можно начинать писать что-то более серьезное, причем операторы подсматривать в этих программках.
А он не плох. Как по мне, так он приятней Java будет. Писать легко и просто, есть просто офигительный LINQ. Но к нему и его удобствам очень привыкаешь и потом сложно на тот же C++ или что-нибудь ещё пересесть. С плюсами сравнивать его некорректно наверно.
ну вот насчет наравне с Java, это может быть, а C++ это по-моему немного другая песня…
Как человек его осваивающий могу сказать, что питон освоить легко. Основы, типа объявления переменных, условий и циклов, не сказал бы чтоб сложнее, чем в языках типа Плюсов или той же Явы, а про функции из библиотек можно по мере надобности на офф. сайте смотреть…
Если что-то выбрал, то пробуй, никто о лучшем выборе для тебя, кроме тебя, сказать не сможет.
Не понравилось, можешь смотреть в другую сторону.

Любое программирование начинается с «Hello, world!» (ну кроме Perl ;) ), так что начать можно с этого.

Книги не читаю, поэтому не рекомендую. Но если будешь искать примеры в интернете, то ищи сразу несколько на одну и туже тему, чтобы знать о вариациях кода и выбирай, то что считаешь лучше подходит для тебя.
Паскаль учить думаю смысла не много. По моему опыту, С++ не сильно его сложнее (если не лезть глубоко во все «плюсЫ»), но зато более гибкий и применяемый на практике.
Также в последнее время становится всё более популярен Python; тоже неплохой выбор, учит писать красивый, форматированный код, и является очень функциональным, так сказать, «из коробки».
Python учить легче, чем C++, но для «фундамента» я бы всё же порекомендовал С++; из литературы — «Павловская — С/С++. Программирование на языке высокого уровня». Сам читал, и написано доходчиво, и много задачек для практического написания прилагается…
Многие языки очень похожи на С, постигнешь его — другие будешь подхватывать «на лёту».
Герберт шилдт полный справочник c#, по нему нас препод учила. Если хочешь, могу скинуть её задания, довольно интересные. Для дебилов тоже пойдёт.
Це не Java, а JavaScript, не путай.
Пайтон прощает? Акстись. Пайтон как раз довольно строг. PHP — он прощает. И получаются из него говнокодеры (сам работаю с PHP, но у меня была приличная выучка по другим языкам). Вообще, да. Я бы тоже порекомендовал учиться с Пайтона, приучает к красоте кода, функциональный, проработанный, на многих ОС реализован. Но, с другой стороны: C# — основной язык для Unity, если дело касается игр, JAVA — очень распространенный язык, почти полностью заточенный под работу с классами.
Ну, вообще, да. Если начинать, то с Пайтона.
Читай также