1. Swift Playgrounds
Вряд ли найдется человек, который еще не слышал об этом удобном приложении для iPad. Если вы ищете программы, которые быстро научат вас программировать на языке Swift – Swift Playgrounds окажется настоящей находкой. Интуитивно понятная затягивающая игра с качественной анимацией в деталях «расскажет» о том, как именно работает Swift. Нет, вы не станете с этим приложением профи, но отлично поймете азы и сможете быстро перейти к более серьезной практике своих навыков.

2. Lrn
Для любителей веб-разработки, а также Python и Ruby. Это приложение соединило в себе обучающие программы по работе с Python, Ruby, JS, HTML и CSS. Доступно в App Store и скоро появится в Google Play, так что ограничений касаемо мобильной ОС (Android или iOS) здесь не предусмотрено. Начинается все с базиса, после чего программа переходит к более сложным и комплексным темам. Также подойдет в качестве материала для повторения: присутствуют вопросы в тестовой форме, которые не дадут забыть основные термины и инструменты.

3. Javvy
Удобное интерактивное пособие, одно из тех, которые действительно научат вас программировать. Основы ООП, ЯП Java, базовые понятия, которые станут надежной отправной точкой в мире программирования. Все это заключено в более чем 150 уроках. Приложение доступно для Android-устройств. Скачать его можно в Google Play.

4. Swifty
Название говорит само за себя. Это еще одно iOS-приложение, разработанное специально для «мобильного» осваивания Swift. Все очень удобно и интуитивно понятно, как и сам «яблочный» язык программирования. Вы можете освоить с приложением азы или повторить уже пройденный материал для закрепления знаний.

5. Научиться программированию
Интерактивный учебник интернет-технологий, собравший в себе свыше 35 языков программирования (функц., ООП), множество фреймворков, 19 языков для удобного отображения учебного материала и многое другое. Есть тест способностей и система наград. В целом наличествует платный контент и реклама (+ опция удаления рекламы). Но рейтинг приложения «Научиться программированию» на Google Play приличный, так что цель оправдывает средства. Тем более, такое огромное количество языков в одной программе – это настоящий клондайк для любого программиста.

6. Udacity
Качественное приложение, в котором есть тесты, видео и инструкции от ведущих разработчиков таких именитых IT-компаний, как Facebook, Google, etc. Представленные в Udacity курсы бесплатные и доступны для владельцев «яблочных» и Android-устройств. Программу можно найти в iTunes и Google Play соответственно.

7. SoloLearn: Учимся программировать
Слоган – «Свежий контент каждый день». В приложении можно ознакомиться с веб-разработкой (JS, HTML, CSS, Jquery, PHP), Java, Python, C, C++, Ruby, Swift, SQL, алгоритмами/структурами данных, машинным обучением и т. д. По сути, это целый набор приложений, которые научат вас программировать посредством специально разработанных для этого игр. Как уже можно догадаться по наличию в перечне ЯП Swift, программа доступна как для Android-, так и для iOS-девайсов. Ссылки для скачивания на Google Play и iTunes.

8. EdX: онлайн-курсы
Бесплатные онлайн-курсы от лучших учебных заведений. Здесь собраны материалы от специалистов из Гарвардского университета, Массачусетского технологического института, компаний Microsoft, Linux, etc. Да, курсы затрагивают не только IT. Но и материалов по информационным технологиям (в т. ч., по программированию) – море. Достаточно скачать приложение с Google Play или iTunes и установить на свое мобильное устройство.

9. Programming Hub, Learn to code
Еще одно приложение с большим набором языков программирования. Также есть реклама и платный контент, но в целом это очень удобный набор обучающих инструментов: здесь и курсы, и примеры, и компилятор. Все необходимое под рукой. Поддерживаются Java, C, C++, HTML, JS, R, CSS, Python и многое другое.

10. Tynker
Завершает нашу подборку Tynker – приложение для детей, которое также доступно для iOS-устройств. Одна из самых популярных платформ, которая используется в 8000 школах по всему миру. Если вы хотите помочь ребенку развить навыки программирования, Tynker – именно то приложение, которые вам нужно.
Программирование для себя: почему всем нужно научиться писать код

Можно придумать множество классификаций, но в первую очередь я бы разделил программирование на две большие категории: программирование для кого-то, когда вы пишете программу, которой будут пользоваться люди, и программирование для себя. Профессиональное программирование — это в основном деятельность для других, и я бы не сказал, что она всегда приятна. Вне зависимости от того, заплатили вам за программу или вы пишете свободный софт, которым может пользоваться кто угодно, огромное количество людей предъявит претензии, что у них что-то не работает, и их всегда будет больше, чем тех, кто вас похвалит. А программирование для себя — занятие очень приятное, и сегодня мы обсудим именно его.
Опрос профессиональных программистов этого года показал, что 81% из них программируют в качестве хобби. Это означает, что программирование доставляет удовольствие, что это не просто работа, но и развлечение. Вы можете пользоваться готовыми программами, и в 95% случаев вы будете это делать, даже если вы профессиональный программист. Но в любой области есть задачи, которые никто до вас не решал, и умение программировать позволяет решать их гораздо эффективнее. Однажды я был в , и меня попросили объединить две таблицы. Человек, который поручил мне эту задачу, ожидал, что я начну по одной копировать ячейки из первой таблицы во вторую. Я перенес пару записей, мне надоело, и я написал короткий скрипт, который брал данные из одной таблицы и вместо меня заполнял гугл-форму, что не очень сложно. Мне это понравилось, но больше всего мне понравилось то, что коллеги смотрели на меня так, будто я владею какой-то магией.
Писать код интересно, но, с другой стороны, это испытание. Ты взаимодействуешь с компьютером, и очень часто это взаимодействие, особенно если ты осваиваешь новую технологию, новый язык, выглядит так. Ты пишешь код, считаешь, что написал его верно, а компьютер говорит, что у тебя ошибка синтаксиса. Действительно, забыл точку с запятой, исправил, запустил заново. А компьютер говорит: «Закрой скобку». Через несколько таких итераций программа начинает работать, и становится ясно, кто в доме хозяин. Дело в том, что и у навыка программирования, и у процесса обучения ему есть некоторые побочные (в том числе положительные) эффекты.
1. Экстремальный опыт руководства
Компьютеры по сравнению с людьми очень глупые, они все понимают буквально, и если вы научились управлять машиной, то, скорее всего, вы справитесь с руководством любыми людьми.
2. Новый подход к информации
Вы начинаете по-другому смотреть на обработку информации, организацию информационных потоков и управления. Например, собирая массивы данных, вы уже задумываетесь, чтобы они были пригодны для последующей автоматической обработки. Это очень важно, если у вас большая организация или проект со множеством информационных потоков, с которыми нужно работать эффективно. Если у вас есть опыт автоматизации, вы довольно быстро поймете, в каком виде нужно получать информацию, чтобы потом ее ловко обрабатывать.
3. Профессиональная коммуникация
Если вы научитесь программировать хотя бы чуть-чуть, вам будет гораздо проще общаться с программистами. Полезно хотя бы на базовом уровне понимать, как устроен мир IT, и коммуницировать в этой сфере без посредников. Люди учат языки, чтобы лучше понять другую культуру, а языки программирования — технологии.
Почему уметь программировать может быть опасным? Первая причина — «тыжпрограммист». Если вдруг кто-то узнает, что вы умеете программировать, на вас начинают сыпаться запросы: «Переустанови мне операционную систему, пожалуйста, ты ж программист», «Почини чайник, ты ж программист» и так далее. Это не самая страшная проблема, есть пострашнее. Например, в 2001 году на первом курсе, когда интернет еще был медленным, я решил, что нужно сделать какую-то штуку, чтобы быстрее обмениваться информацией с друзьями. Я подумал: есть почта, и она работает. Тогда я завел отдельный почтовый ящик для нашей тусовки и написал скрипт. Робот заходил в этот ящик, брал письма, которые туда пришли, и пересылал их всем, кто был подписан на эту штуку. Так сейчас работают гугл-группы. Если я хотел написать всем, я отправлял письмо на этот общий ящик; если кто-то хотел ответить, он отвечал на него же, письмо попадало ко всем, и можно было что-то обсуждать.
Но у переполнился ящик, а когда ящик переполняется, почтовый сервер в ответ на любое письмо направляет отлуп, который тоже является письмом. Оно тоже попало в общий ящик, мой скрипт разослал его по всем адресам, в том числе и по тому, который переполнился. Почтовый сервер сгенерировал новый отлуп и так далее. В результате в воскресенье утром меня разбудил звонок моего друга, который аккуратно сказал: «Возможно, там проблема, потому что у меня в почтовом ящике 6 тысяч писем, и их количество увеличивается». Ничего особенно страшного не произошло, но это была проблема. Тогда я понял, что код легко может выйти из-под контроля и натворить бед, поэтому надо действовать аккуратно.
Это история как в «Маленьком принце»: вы в ответе за тех, кого приручили. Люди и процессы зависят от кода, который вы написали. То есть, как только вы делаете что-то полезное для других, цена ошибки возрастает.
Как научиться?
На эту тему есть две противоположные точки зрения. Первая: учиться программированию очень просто, основные команды можно освоить за три дня. Но тут высока вероятность, что, когда человек столкнется с трудностями, он решит, что его обманули и программирование — это не его. Программировать не просто, трудности возникают. Одна из причин этого состоит в том, что, когда вы программируете, вы каждый раз осваиваете новые технологии, а это всегда мучение.
Противоположное мнение заключается в том, что если вы не программируете со школьных лет, то нечего и начинать. Это тоже неправда. Программирование требует усилий, но вход в эту область открыт, даже если вы никогда им не занимались.
Вполне вероятно, что задача, с которой вы столкнулись, уже решена и это решение где-то лежит. Иногда разобраться с тем, как оно работает, сложнее, чем написать заново. Это стандартная программистская проблема, но для этого у нас есть Stack Overflow, одно из главных изобретений человечества в сфере программирования. Это сайт, где разработчики делятся опытом и отвечают на вопросы друг друга. У каждого участника свой уровень репутации, все очень удачно спроектировано, поэтому на простые вопросы можно получить ответ в течение десяти секунд. Это очень помогает. В современном мире вы не просто пишете программу — вы одновременно используете огромное количество программ и инструментов, уже созданных другими людьми.
Хороший способ научиться программировать — поставить перед собой задачу, которой вам было бы интересно заниматься, и потом попытаться ее решить. Конечно, есть множество онлайн-курсов — почитайте отзывы, чтобы выбрать подходящий. Первый язык программирования — это сложно, потому что нужно перестраивать то, как вы взаимодействуете с компьютерами и анализируете процессы. Универсальных ответов нет, все очень индивидуально. Кому-то достаточно почитать документацию, посмотреть примеры кода, и все понятно. В другой ситуации хорошо иметь наставника, который ответил бы на базовые вопросы. Вот несколько советов, которые кажутся мне важными.
1. Самый лучший способ что-то понять — найти работающий кусок кода, начать его модифицировать и изучать, что получится. Это нужно сделать после того, как вы разобрались с базовым синтаксисом. Подгоняйте код под свои задачи или просто экспериментируйте.
2. Если вы только учитесь программированию, не нужно сразу пытаться писать много кода до тех пор, пока вы не сможете корректно объяснять, чего хотите. Это нужно для того, чтобы компьютер выполнял команды четко и маленькими шажками. Всякий раз ваши эксперименты должны заканчиваться не тем, что вы случайно наткнулись на правильное решение, а пониманием, почему и как это работает.
3. Не беспокойтесь по поводу математики. Желательно знать, что такое остаток от деления числа на другое число, но все зависит от задач, которые перед вами стоят. Конечно, если вы хотите хитро обрабатывать данные, то вам нужна математика в том объеме, который нужен для такой обработки.
4. Не бойтесь. Когда вы будете начинать программировать для себя, наверное, вы будете писать не тот код, который понравится профессиональным разработчикам. Они скажут, что так не пишут, что это избыточно, что такой код будет сложно поддерживать, и так далее. Наверное, они будут правы. Но если вы пишете для себя и если вы только начинаете, это нормально, что ваши первые попытки не являются текстами уровня Льва Толстого. Если вы напишете программу, которая будет работать и решать вашу задачу, то это хорошо.
Есть мнение, что на фоне развития искусственного интеллекта и машинного обучения программисты скоро будут не нужны: компьютеры сами научатся себя программировать. Но мне кажется, что это не так. До тех пор, пока есть задачи и пока нужно объяснять, как их решать, программирование будет существовать. Безусловно, программирование сильно эволюционирует, за последние 20 лет оно изменилось очень сильно. Но от того, что компьютеры стали умнее, разработчиков меньше не стало — наоборот, их стало гораздо больше. И мне кажется, что дальше будет происходить то же самое.
15 приложений для изучения программирования с нуля
О чем должен знать современный программист? Во-первых, ему нужно изучить основной для работы язык программирования, а во-вторых — постоянно апгрейдить навыки, изучая перспективные технологии и сложные языки.
Tynker

Начнём с малых Зачем детям сидеть за скучными книжками, если можно учиться играючи? Мало того, они смогут программировать свои игры и персонажей. Возможно, именно ваш ребёнок создаст гейм-шедевр.
Learn Java
Бесплатное приложение для Android и iOS, где вы найдете более 150 уроков в рамках курса обучению Java.
Lynda Apps

У вас есть возможность учиться всем языкам программирования в удобном приложении и на всех популярных платформах. За $25/мес. вы получите доступ ко всем обучающим курсам Lynda.
Lynda — это одна из самых крупных образовательных платформ от LinkedIn, специализирующаяся на изучении дизайна, языков программирования и улучшении скиллов web-разработки.
CodeWars

В вас живет дух соревнования? Попробуйте это приложение! Здесь вы сможете сражаться и соревноваться с другими участниками в мастерстве программирования. В CodeWars вы найдете все самые популярные языки программирования, поэтому участвовать в челленджах сможет каждый.
Learn programming

Интерактивный учебник программирования, в котором вы найдёте более 35 языков программирования, огромное количество фреймворков.. Здесь есть тест способностей и полноценная система наград.
Рекомендуем скачать это приложение для Android каждому, кто хочет изучить программирование с нуля.
SoloLearn: учимся программировать
Их слоган: «Свежий контент каждый день» полностью оправдан. В приложении можно ознакомиться с востребованными и популярными языками программирования, алгоритмами, машинным обучением.
Programming Hub. Learn to code

Еще одно приложение, которое обучит вас программированию. Здесь есть всё: курсы, тестирование, примеры, компилятор. Учитесь и практикуйтесь в одном месте. В приложении есть все популярные языки программирования: Java, C, C++, HTML, JS, Python.
Swift 4
Хотите программировать для iOS? Установите Swift 4: как уже понятно из названия, он учит языку программирования Swift, что используется в macOS, iOS, watchOS и tvOS продукции.
Swift Playgrounds

Крутейшее приложение, которое научит вас программировать на языке Swift. Учитесь программированию на практических примерах прямо на iPad.
Codecombat
Приложение, которое в игровой форме позволяет начинающим программистам схлестнуться в состязании и понять, кто же их них лучше кодит.
P. S.: создано для детей, но ограничений по возрасту нет. Главное, чтобы пользователь хотел учиться программированию.
Lightbot
Как вы уже поняли, лучший способ заинтересовать ребенка IT — превращать процесс обучения в игру. Lightbot представляет собой настоящую головоломку с уклоном в программирование.
Цель игры: заставить робота подсветить все плитки на решетке. И это нужно сделать за один подход, иначе всё придётся делать заново. Игра для обучения программированию познакомит с базовыми понятиями. Идеальный выбор для мальчиков и девочек от 6 до 106 лет.
Udacity
Ресурс, на котором вы найдете тысячи текстов, видео и руководства от настоящих IT-гуру.
Codemurai

Хотите почувствовать себя настоящим самураем? Приложение Codemurai обучит программированию в основных языках. Кроме этого, вы разберетесь в объектно-ориентированном программировании и узнаете много захватывающих малоизвестных фишек от настоящих гуру своего дела.
Encode: Learn to Code
Интересна сфера программирования, но не хватает времени для обучения из-за основной работы? Разработчики сделали процесс обучения максимально простым в понимании, не требующим усилий для изучения. С помощью Learn to code вы начнёте кодить на Java, Python, HTML и CSS с нуля.
Code Hub
Научитесь программировать в HTML5 и CSS, не отрываясь от своего телефона. Приложение для Android с чистым интерфейсом подходит даже для тех, у кого нулевой опытом в кодинге.
Эта подборка с полезными материалами для программирования поможет вам стать лучше уже сегодня.