TECH · 25 апреля 2015, 09:30 · Отдел информации dev.by
10 способов научиться программировать самостоятельно

Программирование — один из ценнейших навыков для карьерного роста, саморазвития и создания чего-нибудь удивительного. Десять советов для тех, кто только начинает своё путешествие в мир программирования, от Lifehacker

Фото: lifehacker.com.au

10. Выясните, почему вы хотите программировать

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

9. Выберите правильный язык

Не существует лучшего языка программирования, и как только вы выучите один, вам будет нетрудно освоить и второй. Так что не стоит зацикливаться на выборе первого языка. Тем не менее, считается, что некоторые языки даются новичкам легче, чем другие.

Язык, с которого стоит начать, зависит от причины изучения. (К примеру, если вы хотите создать приложение под iOS, вам лучше начать с изучения Swift). Если вы со всей серьёзностью отнеслись к намерению программировать, можно начать с языка C. Хотя выбрав Python, вам будет проще влиться в струю программирования. Приводим инфографику для сравнения нескольких популярных языков программирования.

8. Начните с малого… и будьте терпеливы

Независимо от выбора языка или метода обучения, вам следует начать с самого начала. Когда Дэвид Сински (David Sinsky) научился программировать за восемь недель, он, к примеру, потратил одни выходные на изучение основ Python, а другие — на Django. Взяв учебник, он удалял написанный код и снова проходил обучающий материал с нуля. Начните с основ и будьте терпеливы к себе. Взяв первый проект в программировании, разделите его на несколько этапов. И если один из способов обучения вам не подходит, не опускайте руки — попробуйте другой.

7. Попробуйте приложения для детей

Сейчас даже малыши учатся программированию. Несмотря на то, что многие программы для детского обучения весьма просты, некоторые из них (например, Scratch) подходят для любого возраста. Не имеет значения, сколько вам лет, даже детские анимационные приложения могут научить основам программирования (у edX есть новый курс обучения по Scrtach).

6. Воспользуйтесь бесплатными онлайн-тренингами

Бесплатные онлайн тренинги и проекты (Codecademy, Hour of Code и др.) могут помочь вам в написании первой программы. Учебные пособия от Khan Academy, Codecademy, Code.org и других познакомят с основами программирования и всем необходимым для создания игры, сайта или другого проекта. Найдите нужный источник в зависимости от языка программирования, воспользовавшись Bento. Это хорошая отправная точка, однако дальнейшее обучение вам нужно взять на себя.

5. Пройдите онлайн-курс

Онлайн-курсы по программированию предполагают более обширную образовательную подготовку по сравнению с сайтами, предлагающами онлайн-тренинги по одному языку. Такие курсы предназначены для обучения основным навыкам в течение нескольких месяцев на занятиях университетского уровня. Я большой поклонник гарвардского онлайн-курса CS50 (его можно пройти бесплатно). Существуют также другие возможности. Вы даже можете получить образование университетского уровня, выбрав один из 15 онлайн-курсов.

4. Бесплатные книги по программированию

Если вы застряли на какой-то проблеме или вам нужно найти ответ на свой вопрос, не стоит забывать о справочниках. На GitHub можно найти огромную коллекцию из более чем 500 бесплатных книг по программированию. Также доступна коллекция электронных книг, охватывающая 24 языка программирования.

3. Изучайте, играя

Иногда лучшим способом обучения являются игры. В то время, как многие учебники по программированию обучают вас программировать простые либо сложные игры, некоторые обучающие сайты сами являются играми: Code Combat и CodinGame — инструменты, используя которые вы можете весело провести время.

2. Найдите наставника или станьте им

Сообщество программистов полно людей, готовых помочь следующему поколению программистов. Hack.pledge() — сайт, который поможет вам найти наставника. Либо вы сами можете стать наставником для кого-то другого. Преподавание изученного поможет вам лучше запомнить информацию.

1. Разберите чужой код

Переписывая чужой код, исследуя каждую строчку на предмет ошибок, вы сможете лучше понять общую картину. Благодаря открытым исходникам кода, вы имеете возможность узнать всё, что угодно — продолжайте учиться, используя инкрементально-хакерский подход. Только не забудьте поделиться своим кодом, если вам удастся улучшить часть ПО. 

Источник: Lifehacker.com.au
Нашли в тексте ошибку — выделите её и нажмите Ctrl+Enter.

Обсуждение

Missing-male

Лучше бы оригинальную статью перевели, без пафоса и воды из инфографики

Bc55d5ca2d18e51ec43e5a5d4f9f60fb?1529540552
+2

А это по-вашему что, если не перевод?

Или претензия к тому, что статья неоригинальная?

Picture?type=square
+2

"К примеру, если вы хотите создать приложение под iOS, вам будет необходимо освоить Swift"... для того, чтобы понять, что сначала необходимо было осваивать Objective C.

220b18ebcbc6b461570af69990356f74?1529540420
AnthonyBY
– iOS Developer в Лаборатория А

+3

+1 по поводу Objetive-C

Кстати, встретил недавно интересную мысль, о том что начинать с прохождения online курса по конкретному языку не совсем хорошая идея. В начале нужно:

Foundations of Programming: Fundamentals

Foundations of Programming: Object-Oriented Design

Потом

Step 2: Learn Objective-C

Now I know what you’re thinking. You’ve heard all of these amazing things about Swift. Maybe you’re coming from another language that looks similar to Swift so you finally feel comfortable learning iOS development.

Listen, I get it, Objective-C looks like an alien language compared to most languages. You will notice people love to get into Swift vs. Objective-C debates online. Guess what? Total waste of time. You could be building instead.

Here is why you should learn Objective-C:

Tons of GitHub repos written in Objective-C

Tons of Stack Overflow questions written in Objective-C

Tons of legacy code written in Objective-C

Are you seeing a pattern here? When you are first learning, and you hit a roadblock, would you rather be able to find a time tested answer with 300 upvotes and solve your problem, or waste precious learning time because you decided to start with Swift?

If your goal is to eventually become a full time iOS developer, you need to learn Objective-C. Many employers expect you to know it, and a lot of them don’t even care about Swift right now because it’s too unstable to bet their hard earned business on.

Trust me, if you start right now with Objective-C, you will have an easier time, plain and simple. Plus, Objective-C is not going to disappear any time soon. It’s going to be around for years to come.

You should use the following book to learn Objective-C:

Objective-C Programming: The Big Nerd Ranch Guide 2nd Edition

----

How to become a Badass iOS Developer

https://medium.com/ios-os-x-development/how-to-become-a-badass-ios-developer-a87a1c78f609

2273a56f280b75933f0c8bd7408e1bcd?1491400162

Сравнение этой статьи с классическим текстом Эрика Реймонда "Как стать хакером" хорошо показывает, сколь велики перемены в нашей индустрии за последние годы. http://www.catb.org/~esr/faqs/hacker-howto.html

Missing

Все советы конечно полезные но они бессмыслены если человек подходит к ним без должной подготовки. Онлайн трененги не дадут эффекта если их просто выполнять. Материал нужно обязательно записывать а не просто изучать. Записывать кратко куданибудь в файл, гугл доки или еще лучше в какой-нибудь специальный сервис типо https://maketips.net/about Записывание инфы само по себе позволит создать в мозге правильную систему знаний и приучит к порядку. Весело смотреть когда люди которые провели уйму времени и денег за курсами говорят "Я уже все забыл, я не могу это сделать, ну его это прогрммирование...". Записывать записывать и еще раз записывать. кратко, понятно, и ни в коем случае ни чего не зазубривать. Мозг это как оперативная память - в нем должно находится самое главное. Все остальное должно быть красиво разложено на постоянном носителе.

7ed31605c7412831c8c954b9087c97c2?1529540624
+1

Рекомендую начать изучать программирование с основ, на сегодня лучшим из лучших является курс Гарвардского университета по основам программирования CS50. который стал своеобразным бестселлером во всем мире. Курс совершенно бесплатный и доступен на английской на сайте courseera.org. перевод CS50 на русский 2016 года доступен по адресу:

https://level-80.com/cs50-na-russkom-2016-nedelya-0/

Missing

Самостоятельно сложно научиться программировать

Missing-female

*** Комментарий удалён в соответствии с п 2.3.4 Пользовательского соглашения. ***

Missing

Большинство современных книг и ит-курсов называются "Программирование на языке x для чайников" "Технология y для начинающих" "Cоздаём приложения для Android" и т.д. Может сложиться впечатление что нужно просто знать какой-то язык или какуюто технологию и можно написать любую программу, но это не так. Язык программирования это просто набор правил и команд, чтобы обьяснить компьютеру какие действия вы хотите чтобы он выполнил. Можно знать и 4-5 языков программирования и не уметь написать сколь-нибудь полезной программы.

Missing

А теперь к сути - программист помимо языка должен знать, пусть и неглубоко следующие дистиплины Сomputer Science, математические основы информатики, архитектура компьютера, алгоритмы и структуры данных, строение операционных систем, компьютерные сети и протоколы.

Missing

Многие веб-девелоперы, сайтостроители и юзабилити оптимизаторы мне возразят, ну зачем все это надо, мол у нас есть какой-то волшебный фреймворк который сам все настроит и с оптимизирует. Недавно наткнулся в сети на подобного кадра который обучает новичков программированию за деньги. Он утверждал что писал на PHP но однажды сайт который он делал лег, и теперь он пишет на питоне на технологии Django, мол это более надежно и сайт будет держать больше онлайна и не ляжет.

Cамо сабой данный кадр например впринципе не знает что такое Data Structures, или что такое Масштабирование приложений, и как оно осуществляется. Хотя если бы он например прочитал эту книгу: PHP 7 Data Structures and Algorithms, Mizanur Rahman, то возможно была бы надежда на просветление.


Авторизуйтесь, чтобы оставлять комментарии

Использование материалов, размещенных на сайте, разрешается при условии прямой гиперссылки на dev.by. Ссылка должна быть размещена в подзаголовке или в первом абзаце публикации.
datahata — хостинг в Беларуси