@Zema22

Список литературы для самостоятельного изучения программированию?

Здравствуйте. Мне 30 лет и только в этом возрасте появилась голова на плечах. Я решил изучать программирование для того чтоб полностью сменить род деятельности. Сейчас есть серьезная мотивация для самообразования. Подскажите пожалуста список литературы по основам программирования, фундаментальным знаниям и желательно по математике так как с ней у меня проблемы. Область в которой хотелось бы развиваться это разработка игр а так же приложений на iOS и Android
  • Вопрос задан
  • 3812 просмотров
Решения вопроса 1
@seledkapod
Ну во первых, как выше уже сказали, никто вам разжёвывать и в рот ложить не будет абсолютно нигде. Даже в Гарвардском университете. А вот тот бред про бесплатные курсы и Ютуб каналы хауди хо и ему подобных, вообще полный П. Курсы бесплатны для того чтобы ты потом пришел и купил платные. А эти всезнайки тупо топят только лишь бы канал раскрутить, а в своих видеокурсах несут полную ересь. Хороший программист это тот, который сам может найти ответы на свои вопросы, так что если хотите с самого начала быть не говнокодером учитесь гуглить. Второе, прежде чем игры писать и под Андроид разработку вести, нужно определиться вообще, а нужно ли вам это? Все что тут посоветовали, юнити х...юнити, это вам сейчас ни в коем случае не нужно. Для быстрого старта и изучения именно программирования начните с такого языка как Python, прям с нуля. Изучите что такое переменные, функции, циклы, и прочие конструкции этого языка. Потом учим алгоритмы, хорошая книга "Грокаем Алгоритмы", автора не помню найдете сами. Потом плавно переходите к ООП, объекты, классы, наследование. На это у вас уйдет около года - двух. Потом бросаем Python и с той базой что у вас уже есть, если до сих пор не перехотелось программировать, быстренько учим синтаксис C#, типы данных и все с этим связанное. Усиленно углубляемся в ООП, учим наследование, инкапсуляцию, сокрытие, учим паттерны, тот же PIDOR(это не мат, это аббревиатура названия паттерна), всякие там методики, SOLID, DRY и т.п. И каждый раз при обучении ставьте себе задачу, ну например написать калькулятор, там написать бота для игры, так обучение будет профитнее. На все это вам ещё года 2. И если вы не перегорите, не умрёте от коронавируса, или ещё какой нибудь напасти которая ожидает нас в будущем, и все ещё будете хотеть писать игры и приложения под Андроид, то милости просим. Всю базу для осуществления вашей мечты за это время вы наберёте. Ну а как игры писать, или под Андроид кодить, вы уже и сами разберётесь после всего этого)) А если вы хотите все и сразу, то такого не бывает, лучше сразу идите заразитесь короной, чтобы ни себя ни других не мучать. Программированию не научишься за месяц или за два, да даже за год. За год вы максимум станете говнокодером, который чутка изучил синтаксис какого либо языка, но программирование это не знание какого-либо языка. Будучи программистом, но не зная синтаксиса языка, на изучение синтаксиса уйдет действительно месяц. Но для такого нужна база, именно программирования. Все выше что я расписал, лишь малая часть этой базы. А языки подобраны чтобы обучение было более простым. В случае с C# это тоже простой язык на самом то деле, и он отлично даёт понимание ООП. Но опять же, ЯП это всего лишь инструмент программиста.

По поводу книг, полный бред выше написали. Не книги устаревают, а новые версии языков и библиотек выходят, но база которую дают книги никогда не устареет. Сомневаюсь что если в книге расписан например какой нибудь паттерн, то он устареет раньше чем программист который будет его использовать)) С таким же успехом и видеокурсы аналогично устаревают. Просто книги, как и любую техническую литературу нужно уметь читать. И по большинству своему книги не читаются от начала и до конца. Особенно те в которых под 1000 страниц. А вот как справочник ее можно использовать)

P.S. И кстати да, не для каждых задач в программировании нужна математика(ну прям высшая), хватает обычно базовой школьной или какая у вас там есть. Усиленные познания нужны для ML, DS, там для игр(но опять же не везде), для каких то специфических инженерных задач. Но тот же бот написать для игры, вообще математика не нужна. Ну разве что вы двоечник, и даже 2 + 2 * 2 не решите.

P.P.S. А и самое главное, программирование это такая штука, которой учатся всю жизнь. Если среди присутствующих объявится несогласный с этим, то знайте, вы отсталый программист(динозаврам привет). Технологии постоянно развиваются, и нужно поспевать за ними. Всегда будет какой нибудь новый язык, который лучше для ваших текущих задач(ну если из коммерческих побуждений вы не вынуждены будете использовать тот который придется), всегда будут новые методики, да даже алгоритмы будут новые появляться. И все это вам нужно будет учить. И помимо учить, ещё и уметь применять. А не просто, а я вот выучил новый паттерн проектирования.

P.P.P.S. А ещё если у вас все получится, то рекомендовал бы не брезговать изучать и низкоуровневые языки, тот же ASM, это даст вам понятие как вообще работает компьютер(процессор, контроллер, железо кароч которое выполняет ваш код), а ещё лучше даже прям с этого и начать. Да будет трудно, но зато вы будете понимать сразу что такое стек, что такое регистры, что такое оперативная память и для чего она нужна, ну и прочее прочее отсюда вытекающее. Сто пудов уверен большинство считающих себя JS программистами(разработчиками) и знать не знают даже что такое переменная в их даже JS. Оттого то им и сложно переучиваться потом на более серьезные языки.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
Jacen11
@Jacen11
Вот вам первый урок по программированию.
А что вы сами сделали чтобы ответить на этот вопрос, прежде чем сюда придти? Если ничего, то шли бы вы отсюда и от программирования подальше. Везде уже обсосан этот вопрос. Юнити или анриал для игр, Юнити проще для новичков. Книга хедферст от орейли, стартанлроид на Ютубе для андроида
Ответ написан
mindtester
@mindtester
http://iczin.su/hexagram_48
и только в этом возрасте появилась голова на плечах.. && .. есть серьезная мотивация для самообразования
точно???.. мне 55 и я все еще не уверен! (upd.. ну или уже понял некоторые иллюзии.. и не факт что все ;))..

просто если бы все было так - гугла было бы за уши

ps подчеркну еще раз
есть серьезная мотивация для самообразования
точно???

pps Zema22,
Очень странный ответ на четко заданный вопрос. Я сюда пришел не философией заниматься
тогда вы все еще не понимаете четкий смысл слова самообразование

.. когда поймете, все станет веселее, быстрее, интереснее.. поверьте ))
Ответ написан
@McBernar
Курс CS50.

Сразу после — погружение в ту область, где хотите работать. Если игры, то unreal engine и c++. Но в эту область порог входа выше, чем в тот же веб или обычные мобильные приложения. Если без игр, то swift для ios, java для андроида. Книги не нужны — смотрите курсы на ютубе или идите в онлайн-школы.

По книгам уже давно никто не учится — они к моменту печати уже устаревают, плюс часто печатают откровенную ересь. Конечно, есть вечная неустаревающая классика, но без опыта за плечами вы все равно не поймете — про что эти книги.

Хотите войти в профессию — заварили чай, нагуглили видео-курс и погнали. Прям вот сейчас.
Ответ написан
Lucian
@Lucian
https://t.me/MakeFreelance
марк лутц программирование на python
Ответ написан
Комментировать
centroid
@centroid
bat/bash/Python3
По мне так не важно на каком курсе будешь учиться, потому что везде все одно и тоже, где-то есть одно но нет другого, у других наоборот. Курс от книги вероятно не отличается. Я книги не пробовал.

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

Имхо.
Я еще не программист
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ФЛАЙ НЭТ Москва
от 70 000 до 70 000 ₽
IXORA Нижний Новгород
от 115 000 ₽
Wanted. Москва
от 60 000 до 120 000 ₽