Среди опытных разработчиков возникает много споров о том, какой язык программирования стоит выучить первым. Чтобы не прыгать с одного языка на другой, важно определиться с тем, какие задачи вы хотите решать программированием, и провести свое исследование.

Отмечу, что HTML и CSS - это не совсем языки программирования. HTML - это язык гипертекстовой разметки, а CSS - набор стилей. В веб-разработке JavaScript преподносится как язык «по умолчанию». Он идеально подходит в том случае, если вы хотите создавать что-то большее, чем красивые, но все же статичные сайты. Но это не единственная причина, по которой стоит выбрать JavaScript в качестве первого языка программирования.

Писать код можно прямо из браузера

Чтобы работать с JavaScript, не нужно ничего скачивать, устанавливать и компилировать, как для большинства других языков. Для новичка в программировании это особенно важно. Освоить командную строку и компилятор легко, но на первом этапе они усложняют восприятие и отбивают интерес к изучению. Все, что нужно для работы с JavaScript, - это браузер.

Как открыть консоль разработчика в браузере Google Chrome

Кликните правой кнопкой мыши в любом месте на странице, выберите Просмотреть код.

Попробуйте написать первую стандартную команду - console.log("Hello, JS!"); и нажмите Enter. В скобках вместо "Hello, JS!" может быть любое слово или число. Главное, не забудьте кавычки, если это набор букв (для чисел кавычки не нужны). Ниже строкой консоль выведет ваше сообщение.

Ресурсы по JavaScript для начинающих:

Книга «Выразительный JavaScript» .

Современный учебник Javascript .

Ресурсы по JavaScript на Mozilla Developer Network .

Курс JavaScript от CodeCademy (на английском).

FreeCodeCamp (на английском).

Язык Java, который тоже рекомендуют в качестве первого, сложнее в восприятии для новичка. Чтобы начать работать с Java на MacOS, нужно скачать и установить пакет, разобраться, как работает командная строка, проверить, установлен ли компилятор, написать программу в текстовом редакторе, сохранить, а затем скомпилировать с помощью Терминала.

Команды для ввода в Терминал для создания директории, компиляции и запуска кода на Java

Новичок может сам разобраться с Терминалом и установкой, но, на мой взгляд, на первых порах важно видеть результат работы кода. В этом плане JavaScript отличается от большинства других языков программирования.

JavaScript позволяет создавать реальные интерактивные вещи.

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

Базовых знаний JavaScript и принципов работы DOM достаточно для создания хоть и примитивных, но все же рабочих приложений: приложение для ведения списка дел, калькулятор, конвертер температур. Два месяца активного изучения основ JavaScript было достаточно, чтобы разобраться с простейшим приложением по составлению списка гостей - RSVP app.

Пример кода для приложения RSVP

Другой пример - конвертер температур, написанный на ванильном Javascript (без использования библиотеки jQuery и фреймовиков).

В приложении3 документа: index.html, style.css и app.js

Пример визуализации данных с D3.js. Источник: mbostock.github.io/d3/talk/20111116/airports-all.html

Фреймовики и библиотеки JavaScript позволяют создавать десктопные приложения (Electron), мобильные приложения (React Native), игры (Phaser), а также работать с визуализацией данных (D3.js), базами данных (mongoDB), анимацией (Three.js).

JavaScript - один из самых популярных и быстроразвивающихся языков.

Ваш первый язык программирования не обязательно будет основным, мало кто ограничивается одной технологией. Но если вы планируете сделать JavaScript профильным языком, то международное js-сообщество вам в помощь. Согласно исследованию GitHub , крупнейшего веб-сервиса для хостинга IT-проектов, в 2017 году JavaScript был на первом месте среди 15-ти наиболее популярных языков.

15 наиболее популярных языков по версии GitHub

JavaScript уже пять лет подряд является самым популярным языком на одном из крупнейших ресурсов для программистов - StackOverflow.

Наиболее популярные языки по версии StackOverflow

JavaScript неидеален, и кто-то считает, что это слишком хаотичный, бессистемный и бесконтрольно развивающийся язык, который только запутает новичков. По моему опыту, бесполезно гуглить «какой язык программирования мне выучить первым», потому что только вы знаете, для чего вам программирование и веб-разработка.

Вместо этого изучите статистику вакансий вашей страны и региона и определитесь, в каком из многочисленных направлений программирования вы себя видите.

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

Борис Горячев

backend-разработчик Meduza

Ниже приведена таблица плюсов и минусов наиболее популярных языков программирования помимо Javascript.

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

JavaScript

JavaScript подойдёт тому, кто связывает своё будущее с веб‑разработкой. Большинство веб‑приложений на стороне клиента пишутся именно на этом языке, на нём создаются сценарии взаимодействия с пользователями веб‑сайтов. Правда, за пределами браузера JavaScript бессилен.

После изучения языка JavaScript новичок получит основные знания о таких фундаментальных в программировании вещах, как структура данных, алгоритмы, объектно‑ориентированные технологии в программировании. Также начинающему программисту, особенно не “технарю”, облегчит жизнь тот факт, что код JavaScript – это простой текст, который можно написать в любом текстовом редакторе. JavaScript похож на базовый язык программирования C. Если наскучит веб‑разработка, то выучить сиобразные языки, такие как С++, C#, Java, PHP, будет намного проще.

JavaScript в данный момент – главный язык фронтенда, он переживает пик популярности. На его основе постоянно появляются новые инструменты, которые облегчают жизнь разработчику, но знание JavaScript остаётся необходимым, чтобы легко адаптироваться к стремительно развивающимся веб‑технологиям.

Python

Python отлично подойдёт для изучения основ программирования. Этот язык идеален для новичков, которые не хотят вникать в огромное количество руководств, и разбираться в громоздком машинном коде. Python имеет open‑source лицензию, поэтому использовать его можно бесплатно. На данный момент Python поддерживается популярными операционными системами: iOS, Windows, Unix и Linux.

На языке программирования Python можно разрабатывать веб‑приложения, анализировать данные, заниматься машинным обучением, писать скрипты для автоматизации задач. Этот язык хорошо связывает уже существующие компоненты программ, но также является отличной основой для разработки высокофункциональных программ. Многие популярные веб‑сайты были разработаны с использованием Python. Например, он использовался при разработке таких крупных проектов, как YouTube, Google, Dropbox, Quora, Reddit.

Python – интерпертируемый язык, поэтому новичок сразу увидит результат выполнения кода, не нужно будет дожидаться компиляции программы. Язык имеет низкий порог вхождения, так как обладает простым синтаксисом, уже существующий код не отпугнёт новичка: он читается легко и выглядит аккуратно. Python приучит начинающего программиста к соблюдению стиля оформления и следованию строгой структуре кода, что будет также полезно для изучения других языков программирования.

C#

C# – язык программирования, который был разработан корпорацией Microsoft в 2010 году. Это объектно‑ориентированный язык программирования (ООП), который используется для разработки программного обеспечения, десктопных и веб‑приложений. ООП означает, что в языке используется методология, основанная на разбивке сложных, больших программ, на небольшие объекты с атрибутами. Программирование на языке C# широко распространено не только в веб‑разработке, но и в разработке программного обеспечения и приложений, поэтому спрос на C# программистов остаётся стабильно высоким.

С# является относительно несложным языком, который поможет развить общие навыки программирования, что в дальнейшем поможет разобраться в работе языков сверхвысокого уровня.

JAVA

Другой язык, с помощью которого можно сделать первые шаги в программировании объектно‑ориентированный Java.

Язык программирования Java используется в веб‑разработке и создании мобильных приложений, значительно реже в разработке программного обеспечения. В данный момент спрос на Java разработчиков возрос из‑за активного распространения устройств на операционной системе Android.

Для новичка изучение Java может стать хорошей школой, потому как язык предъявляет строгие требования к указанию типов данных, а значит заставляет думать о внутреннем устройстве системы. Также язык капризен в отношении синтаксиса, он научит начинающего программиста помнить о фигурных скобках и тем самым поможет понять, как работает вложенность блоков кода. Ключом к пониманию того, как работает язык, интерпретируются и обрабатываются командные строки является виртуальная машина Java, которая в данный момент поддерживается большинством устройств, что довольно удобно для начинающего программиста.

С++

C++ считается предком всех популярных ныне языков программирования. Начать его изучение лучше студенту, который имеет профильную специальность с уклоном в сторону IT (например, «Прикладная математика и информатика»), потому как порог вхождения выше, чем у вышеперечисленных языков.

Язык программирования C++ идеален для тех, кто планирует заниматься системным программированием, работать с железом, писать драйверы и десктопные приложения. С помощью данного языка начинающий программист изучит процесс взаимодействия компонентов компьютерной системы, таких как процессор, оперативная память, устройства ввода‑вывода, сетевое оборудование с пользовательскими приложениями.

Данный язык является компилируемым, то есть написание кода формирует у новичка понимание того, как запускается код, усвоение, что процесс сборки программы можно настраивать и исходный код может быть обработан сторонними программами. Благодаря C++ начинающий программист постигнет все тонкости, касающиеся типов данных.

Изучение С++ займёт немалое количество времени и потребует значительного упорства, в идеале найти преподавателя, который поможет освоить основы языка.

Программирование постепенно подминает под себя одну индустрию за другой: ещё не так давно вызов такси казался абсолютно офлайновым процессом, а теперь в Uber работает множество разработчиков. Глядя на это (а также на уровень зарплат специалистов), даже далёкие от программирования люди задумываются: «А не попробовать ли и мне».

Часто от подобной мысли сразу отпугивает многообразие языков программирования: приходится выбирать из множества не совсем понятных вариантов. Чем различаются языки и почему не существует одного лучшего и универсального, за какой из них браться в первую очередь и для каких задач?

Разобраться в этом помогают такие курсы, как « », где можно определиться, с какими перспективами ИТ лучше всего соотносятся ваши интересы..

Материал подготовлен при поддержке .

В закладки

Выбор языка во многом зависит от того, что предполагается сделать с его помощью. Самые популярные сейчас применения языков - веб-разработка, мобильная и игровая разработка. Веб-разработка, в свою очередь, делится на фронтенд (то, с чем напрямую взаимодействует пользователь) и бэкенд (незаметная пользователю, но необходимая «техническая» часть).

Фронтенд

HTML и CSS - лицо сайта

Используемые в связке, HTML и CSS по сути не являются языками программирования. Они определяют не то, как будет действовать сайт, а лишь то, как он будет выглядеть. Если написать сайт, применяя только HTML и CSS, он окажется набором статических страниц, где единственными интерактивными элементами будут ссылки.

Однако сайты не обходятся без HTML, поэтому его базовое знание необходимо каждому, кто планирует заниматься веб-разработкой. И владение CSS может быть вполне ценным навыком: задача «правильно расположить элементы» не всегда оказывается тривиальной.

JavaScript - чтобы научить сайт понимать вас

Язык JavaScript отвечает за интерактивность и динамически меняющуюся информацию на страницах сайта. Например, когда вы вводите в форму сайта номер телефона в неверном формате или забываете о значке @ при вводе электронного адреса, JavaScript позволяет сайту моментально об этом узнать и подсветить поле красным. А вот счётчик просмотров этой страницы, меняющийся в реальном времени: на HTML-сайте можно было бы показать только статическое число.

...

JavaScript стал главным языком фронтенда и сейчас переживает настоящий пик популярности: интерес к нему растёт, а в JavaScript-мире постоянно появляются новые инструменты. Нюанс в том, что для разработчика постоянное появление чего-то нового - не всегда плюс: приходится часто переучиваться, и новое не всегда работает стабильно, вызывая неприятные сюрпризы. Однако никто не запрещает использовать стабильные и популярные инструменты.

Помимо этого, существует платформа Node.js, которая позволила использовать JavaScript и в бэкенде. В отличие от фронтенда, там он не является лидером и конкурирует с целым рядом других языков.

Веб-разработка: бэкенд

Java - надёжный, как дедушкин сюртук

Хотя название порой путают с JavaScript, Java - не просто другой язык, а почти противоположность JavaScript: это более консервативный выбор, проверенный годами. Его предпочитают использовать в бэкенде тех проектов, для которых надежность куда важнее веяний моды, - например, банковских систем. В рейтинге популярности языков TIOBE Java занимает первую строчку, а это значит, что в мире есть миллионы рабочих мест Java-разработчиков.


Молодые разработчики зачастую считают Java скучной и устаревшей, а её сторонники отвечают, например, такой GIF о том, что никакой Node.js не сравнится с ней по мощи:

Python - прогрессивный и популярный

Если сравнивать Python с Java, то он будет выигрывать в объёме кода, но проигрывать в скорости выполнения. Для большого высоконагруженного проекта, где важна производительность, Python будет не лучшим выбором. Язык отлично подойдёт для стартапа: например, чтобы показать инвестору прототип до того, как закончатся все инвестиционные деньги.

В 2016 году язык неожиданно получил ещё одно преимущество: на нём удобно писать ботов для мессенджеров.

PHP - популярный и относительно несложный

Популярность PHP бесспорна: его используют Facebook, «ВКонтакте», «Википедия» и, к слову, сайт. На нём также основана система WordPress, под управлением которой работает около четверти всех сайтов.

PHP лёгок в освоении, однако у него спорная репутация, и две эти вещи связаны. Из-за простоты языка в индустрии появилось много новичков с непреодолимым желанием профессионально заниматься PHP-разработкой, не вникая в детали. Так появилось много плохого PHP-кода. Именно из-за этого одни люди критикуют PHP, а другие возражают, что в умелых руках он показывает себя только с лучшей стороны.

В списке вариантов есть и несколько менее популярные альтернативы - от Ruby до набирающего обороты Go.

Разумеется, список языков не ограничивается упомянутыми: кто-то предпочитает молодой Kotlin, созданный в Петербурге, а кто-то с 1980-х привык к Smalltalk. И круг задач тоже не ограничивается перечисленными: есть и «низкоуровневые», такие как написание драйверов.

Однако всё то, что не вошло в список, обычно либо узкое и нишевое (Smalltalk-вакансии в дефиците), либо плохо подходит начинающим (низкий уровень требует серьёзной подготовки). Поэтому в первую очередь стоит обратить внимание на перечисленные языки, а потом нетрудно будет разобраться и с остальным.

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

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

Первый машинный язык был придуман в 1941 году Конрадом Цузе, который является изобретателем аналитической машины. Чуть позже, в 1943 г., Говард Эйкен создал машину "Марк-1", способную считывать инструкцию на уровне машинного кода.

В 1950-х годах начался активный спрос на разработку программного обеспечения, а машинный язык не выдерживал большие объемы кода, поэтому был создан новый способ общения с компьютерами. "Ассемблер" является первым мнемоническим языком, заменившим машинные команды. С годами список языков программирования только увеличивается, ведь область применения компьютерных технологий становится обширнее.

Классификация языков программирования

На данный момент существует более 300 языков программирования. Каждый из них имеет свои особенности и подходит для одной определенной задачи. Все языки программирования можно условно разделить на несколько групп:

  • Аспектно-ориентированные (основная идея - разделение функциональности для увеличения эффективности программных модулей).
  • Структурные (в основе лежит идея создания иерархической структуры отдельных блоков программы).
  • Логические (в основе лежит теория аппарата математической логики и правил резолюции).
  • Объектно-ориентированные (в таком программировании используются уже не алгоритмы, а объекты, которые принадлежат определенному классу).
  • Мультипарадигмальные (сочетают в себе несколько парадигм, и программист сам решает, каким языком воспользоваться в том или ином случае).
  • Функциональные (в качестве основных элементов выступают функции, которые меняют значение в зависимости от результатов вычислений исходных данных).

Программирование для начинающих

Многие задаются вопросом, что же такое программирование? По сути, это способ общения с компьютером. Благодаря языкам программирования мы можем ставить перед различными устройствами определенные задачи, создавая специальные приложения или программы. При изучении данной науки на начальном этапе самое главное - это выбрать подходящие (интересные для вас) языки программирования. Список для начинающих приведен ниже:

  • Basic придуман в 1964 году, относится к семейству высокоуровневых языков и используется для написания прикладных программ.
  • Python ("Питон") довольно легко выучить благодаря простому читаемому синтаксису, преимущество же в том, что на нем можно создавать как обычные десктопные программы, так и веб-приложения.
  • Pascal ("Паскаль") - один из древнейших языков (1969 г.), созданных для обучения студентов. Его современная модификация имеет строгую типизацию и структурированность, однако "Паскаль" - вполне логичный язык, который понятен на интуитивном уровне.

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

Новички имеют возможность ускорить изучение программирования и его основ благодаря специальным инструментам. Основной помощник - это интегрированная среда разработки программ и приложений Visual Basic («Визуал Бейсик» одновременно является и языком программирования, который унаследовал стиль языка Basic 1970-х годов).

Уровни языков программирования

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

Низкоуровневые языки предназначены для создания машинных команд для процессоров. Главное их преимущество в том, что они используют мнемонические обозначения, т. е. вместо последовательности нулей и единиц (из двоичной системы счисления) компьютер запоминает осмысленное сокращенное слово из английского языка. Самые известные языки низкого уровня - это "Ассемблер" (существует несколько подвидов этого языка, каждый из которых имеет много общего, а отличается лишь набором дополнительных директив и макросов), CIL (доступен в платформе.Net) и Байт-код JAVA.

Языки программирования высокого уровня: список

Высокоуровневые языки созданы для удобства и большей эффективности приложений, они являются полной противоположностью низкоуровневых языков. Их отличительная черта - наличие смысловых конструкций, которые емко и кратко описывают структуры и алгоритмы работы программ. В языках низкого уровня их описание на машинном коде было бы слишком длинным и непонятным. Языки же высокого уровня обладают независимостью от платформы. Вместо них функцию транслятора совершают компиляторы: они переводят текст программы в элементарные машинные команды.

Следующий список языков программирования: C ("Си"), C# ("Си-шарп"), "Фортран", "Паскаль", Java ("Ява") - входит в число самых используемых высокоуровневых синтаксисов. Он обладает следующими свойствами: эти языки работают с комплексными структурами, поддерживают строковые типы данных и операции с файлами ввода-вывода информации, а также имеют преимущество - с ними гораздо проще работать благодаря читабельности и понятному синтаксису.

Самые используемые языки программирования

В принципе, написать программу можно на любом языке. Вопрос в том, будет ли она работать эффективно и без сбоев? Вот почему для решения различных задач следует выбирать наиболее подходящие языки программирования. Список по популярности можно охарактеризовать так:

  • языки ООП: Java, C++, Python, PHP, VisualBasic и JavaScript;
  • группа структурных языков: Basic, Fortran и Pascal;
  • мультипарадигмальные: C#, Delphi, Curry и Scala.

Область применения программ и приложений

Выбор языка, на котором написана та или иная программа, во многом зависит от области ее применения. Так, например, для работы с самим "железом" компьютера (написания драйверов и поддерживающих программ) лучшим вариантом станет C ("Си") или С++, которые входят в основные языки программирования (список смотрите выше). А для разработки мобильных приложений, в том числе игр, следует выбрать Java или С# ("Си-шарп").

Если вы еще не определились, в каком направлении работать, то рекомендуем начать изучение с языков C или C++. Они имеют весьма понятный синтаксис, четкое структурное разделение на классы и функции. К тому же, зная C или С++, можно с легкостью выучить любой другой язык программирования.

Программирование стало мейнстримом, модным трендом мирового масштаба. И стар, и млад открывают для себя этот удивительный мир. В США дошло до того, что сам президент говорит всей стране о пользе изучения программирования.

Интернет открывает каждому множество путей познания искусства программирования, начиная с бесплатной Codeacademy , и заканчивая дорогими многотысячными курсами, вроде Devbootcamp , обещающими превратить чайника в матёрого программера за 9 недель.

Нужно ли изучать программирование конкретно мне?

Мы в Лайфхакере считаем, что, в любом случае, ответ «да». Даже если дело не зайдёт далеко и останется лишь своего рода хобби в свободное время, программирование всё равно заставляет работать наши мозги, а это всегда хорошо.

Если смотреть на сферу бизнеса, то навыки программирования пригодятся всем, чья деятельность связана с технологиями.

Грег Поллак, основатель обучающего сервиса Code School , говорит так:

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

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

А не староват ли я для этого?

С чего начать

Учите английский. Серьёзно. Ниже по тексту статьи вы поймёте, почему для успешного освоения профессии программиста вам понадобится инглиш. Что-то русифицируется, что-то адаптируют энтузиасты, но факт остаётся фактом - английский знать надо.

Если на данный момент вам интересна сама концепция программирования, то начинать можно с чего угодно. Вы поиграетесь с разными языками и средами, найдёте что-то, что вам больше по душе, ну а дальше как пойдёт. Впрочем, многие цели идут намного дальше абстрактного «хочу уметь программировать». У них есть конкретная цель. Например, написать своё мобильное приложение. И тут уже нужны вполне определённые правильные инструменты разработки.

Я ничего не знаю

В случае, когда опыта нет вообще, то лучше начинать с чего-то более простого для понимания. Хорошими примерами могут быть основы HTML и CSS.

HTML не является языком программирования - это язык разметки. Благодаря нему вы сможете представлять слова, картинки, ссылки и видео в формате, понятном браузеру. С этого начинаются простые любительские сайты и блоги. CSS отвечает за шрифты, их размер, размещение элементов и другие дизайнерские составляющие представления веб-страниц.

На самом деле, с большой вероятностью, вы уже имели дело с HTML, просто не знали этого. Если у вас есть или был блог, то вы гарантированно сталкивались с разметкой. Любой вменяемый WYSIWYG редактор представляет содержимое, как в визуальном, так и в текстовом режиме. Стоит посмотреть в текстовый режим представления, и там окажется тот самый HTML. Более глубокое освоение HTML поспособствует выходу за пределы видимых возможностей редактора вашего блога или сайта, позволит сделать страницы вашего уголка в Интернете функциональнее и интереснее. В общем, учить HTML полезно, как ни крути.

Я хочу делать красивые веб-приложения

В этом деле вам понадобится знание JavaScript. Именно он позволяет делать веб-сайты красивее, эффектнее и функциональнее. Существует несколько популярных (и совместимых) сред разработки JavaScript, такие как Ember, Angular и Backbone.

JavaScript живёт уже 20 лет и не собирается никуда уходить. По факту, его доминирование в сфере лишь усиливается. Ввиду своей популярности, JavaScript есть где подучить. К примеру, упоминавшийся выше Поллак называет курсы этого языка самыми популярными на Code School.

Если вы что-то делаете в вебе, то вам необходимо учить JavaScript.

Хочу быстро делать прототипы

Если вы - дизайнер, и вам хочется получить навыки бэкэнд-программирования, чтобы самим тестить приложения, то надо учить Ruby или Python. Оба варианта довольно легки для освоения и открывают путь к одним из наиболее востребованных специальностей 2013 года. Как вы понимаете, их актуальность будет сохраняться и в обозримом будущем.

Ruby отличается развитой экосистемой и одним из самых активных и отзывчивых сообществ. Разработанный в далёком 1995 году, язык начал набирать особую популярность с 2003 года, когда появился фреймворк Rails. Благодаря нему процессы создания сайтов и веб-приложений значительно упростились.

Python также может похвастать мощным сообществом , и если вам импонируют проблемы разработки и создания искусственного интеллекта и подобных крутых штук, то вам дорога в Python.

Для быстрого старта можно порекомендовать Learn Python The Hard Way , либо раздел Ruby на Code Academy.

Хочу сделать Android-приложение

Разработка Android-приложений, в основном, осуществляется в Java. Прелесть в том, что для работы вам подойдёт и Windows, и OS X. Обе операционные системы дают возможность устанавливать среды разработки для Android. Ещё один плюс - возможность бюджетно тестировать свои приложения, ведь на рынке есть куча дешёвых смартфонов и планшетов на Android.

Ещё один очень важный момент: если буквально пару лет назад ключевой платформой была iOS, то уже сейчас разработчики предпочитают стартовать с Android.

Бесплатный вводный курс программирования на Java можно найти на Udacity . Когда основы изучены, ваш путь ляжет в сторону официального сайта разработчиков под Android . Тут можно научиться тонкостям создания своего первого Android-проекта.

Хочу сделать iOS-приложение

Разработка под iOS куда более требовательна к инструментам. Помимо знания Objective-C, вам потребуется Mac с OS X версии 10.7 или выше, Xcode - бесплатный инструмент для создания приложений, а также комплект средств разработки для iOS.