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

Содержание

Какой язык программирования выбрать для изучения?

С программированием я впервые столкнулся в школе, на уроках информатики. Это были какие-то нудные объяснения принципов n-ричных систем счисления. Ну а в качестве зачёта нужно было написать свой сайт. Тогда мне казалось, что нет более скучного занятия на свете. Как же я ошибался! К сожалению, школьная программа информатики не дает полной картины о работе IT, и как выбрать язык программирования — непонятно.

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

Порог вхождения: высокий, низкий, средний

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

Коротко «порог вхождения» складывается из знания:

  • особенностей синтаксиса и нюансов языка
  • библиотек
  • алгоритмов и структур данных

На самом деле даже работу в Excel можно назвать своего рода программированием. Кстати, эта знакомая всем офисная программа не так проста, как кажется. Для одного порогом вхождения будет умение построить таблицу, для другого — знание сложных формул и макросов. В любом случае, этот порог невелик.

Дальше идут квази-языки: например, -программирование.

Затем — наиболее простые в освоении языки: например, PHP

Далее — языки с нативным (обычно, образованным от английского языка) синтаксисом, не требующие ручного взаимодействия с памятью: например, Java, JS

Затем — языки, требующие крайне внимательного обращения с памятью, структурами данных и алгоритмами: например, C, C++.

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

Но в первую очередь при выборе языка стоит определиться, чем ты хочешь заниматься дальше: разрабатывать web, enterprise, desktop или мобильные приложения.

Web или не Web?

Web

Web-программистов можно разделить на Frontend- и Backend-разработчиков. Стоит разобраться, что означают эти термины. «Фронтенд» разработчики занимаются так называемой клиентской стороной — тем, что увидит пользователь. «Бэкенд» — это программно-аппаратная часть сервиса — то, что работает на сервере.

Для Frontend-разработчика, решающего какой язык программирования выбрать, must-have это JavaScript и его фреймоврки: Angular JS, React и другие. Диалекты JS не так популярны, как их родитель, но тоже могут быть полезны: CoffeeScript, TypeScript. Есть ещё flash AS, раньше были JScript и VBScript, но это помнят только динозавры =). Кроме того, необходимо разобраться в HTML и CSS.


Многие новички думают, что JavaScript и Java — это почти одно и то же, не следует путать эти языки. JS раньше назывался «LiveScript» и получил свое сегодняшнее имя именно благодаря популярности слова “Java”.

Для web backend’a подойдут PHP, Python, Ruby, Pearl, Java. Здесь хочу обратить внимание на PHP — про другие языки мы поговорим далее — один из самых простых в освоении ЯП, имеющий низкий порог вхождения. Ruby, судя по опросу знакомых web разработчиков, медленно но верно набирает популярность: его любят за лаконичность и красоту.

Не Web (Enterprise, Desktop, Mobile)

Я специально объединил эти языки программирования в категорию с таким странным названием. На большинстве из них можно писать и enterprise, и desktop, и даже мобильные приложения.

Python — простой в понимании ООЯП, стал невероятно популярным в последнее время в связи с развитием Machine Learning, его адепты широко используют Python. ML достаточно молодое направление в IT, и хотя первые плоды уже получены, я бы не стал спешить с погружением в эту отрасль при выборе языка программирования. Во-первых, нужно ОЧЕНЬ хорошо разбираться в математике. Во-вторых, волна популярности может пройти так же, как и с «блокчейном» или «нанотехнологиями». Кроме того, как ты помнишь, Python используется в web разработке.

C++ — классика, на основе «плюсов» строится всё и вся. Этот язык был прародителем всех популярных ООЯП, новичку безусловно стоит обратить внимание на этот язык. На его основе написано множество популярных приложений. Но большая вероятность «выстрелить себе в ногу» и сложный для восприятия синтаксис, сводит на нет вероятность освоения новичком этого мастодонта программирования.

Kotlin — Java для хипстеров — безумный микс ООП и функционального программирования. В последнее время популярен благодаря тому, что опытный разработчик, перешедший с Java на Kotlin, серьезно повышает свою производительность. Опытный девелопер быстро освоится в этом ЯП. Кстати, то же относится к Scala, но Kotlin популярен именно в Android.

Java — прост для освоения новичком (в том числе, благодаря JavaRush, именно здесь я понял как выбрать язык программирования =)). Синтаксис Java понятен, вероятность «выстрелить себе в ногу» имеется, но не критична.

ООП или ПОП?

Процедурный подход

Процедурно-ориентированный подход предполагает написание программы, состоящей из последовательных операторов, которые можно собрать в единое целое для эффективного решения конкретного круга зада. К таким языкам можно отнести: C, PureBasic и Pascal. Те самые, что навевают уныние на старшеклассников и студентов младших курсов. Также существует относительно молодой GO. Тем не менее, знакомство с процедурными языками очень полезно для потенциального разработчика.

Для меня погружение в процедурные языки связано с системой Mathematica (Wolfram) и университетской научной деятельностью. Благодаря правильным алгоритмическим подходам и простым процедурам, линейно двигаясь от начала программы к ее концу, мне удавалось вычислять значения, актуальные для современной теоретической физики.

Именно благодаря этим «последовательным» ЯП, начинаешь понимать, что иногда проще написать код, чем считать самостоятельно. Изучение ПОП дает неплохую алгоритмическую подготовку, которую работодатель почти всегда хочет видеть у кандидата при приеме на работу. Основы всего и вся в ИТ строятся именно на процедурных языках, так что не стоит их недооценивать. Кстати, новички, решающие какой язык программирования выбрать для изучения, часто думают о том, что многопоточность — прерогатива исключительно ООП. Это не так. Процедурные ЯП тоже позволяют выполнять параллельные вычисления.

Объектно-ориентированный подход

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

Особенность такого подхода в схожести с реальным миром:

  • Различные объекты взаимодействуют между собой и существуют независимо друг от друга.
  • Объекты имеют иерархию и способны перенимать или изменять поведение своих предков.
  • Можно оперировать абстрактными понятиями, но взаимодействовать могут только реально существующие объекты.

Пример

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

Представим программу, описывающую автосалон, реализующий легковые и грузовые автомобили, как новые, так и подержанные. В процедурном языке для каждого объекта нужно описать функции, обрабатывающие ввод или вывод данных для нового легкового, нового грузового, б/у легкового и б/у грузового автомобилей. А что предлагает ООП? При объектно-ориентированном подходе нужно просто описать базовый класс ТРАНСПОРТ, который будет хранить в себе характеристики, присущие и тому, и другому типу автомобилей:

  • Марка
  • Объем двигателя
  • Мощность
  • Год выпуска
  • Новый или б/у
  • Цена

И методы для ввода-вывода информации. Затем создадим объекты, наследующие характеристики класса ТРАНСПОРТ: ЛЕГКОВУШКА и ГРУЗОВИК. Они содержат уточнённую информацию, присущую именно таким видам транспорта, а также методы ввода-вывода.

Внезапно руководство салона решило расширить ассортимент и продавать еще и мотоциклы. Процедурный подход предложит переписать всю логику для новых и б/у мотоциклов с самого начала, в то время как ООП-язык позволит просто создать новый объект МОТОЦИКЛ, наследующий все характеристики суперкласса ТРАНСПОРТ и содержащий уточнения.

А что будет, если добавлять разные транспортные средства? Процедурная реализация будет требовать больших трудозатрат, чем ООП. Причем, чем больше ассортимент, тем меньше нужно будет делать манипуляций с объектами.

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

Для себя я выделяю три причины, по которым ООП — более прогрессивный подход:

  1. ООП предполагает независимую разработку отдельных модулей, предоставляя программисту или команде выбирать способ и границы соприкосновений и обмена информацией,
  2. Разбиение на небольшие модули намного проще для восприятия, чем монолитные процедуры. Благодаря этому сторонний разработчик быстро разберется в твоем коде, а ты при необходимости войдешь в новый проект.
  3. Изменение одного объекта может никак не отразиться на взаимодействии с другим, но способно повлиять на иерархию дочерних объектов. Освоив такой подход, расширение и доработка программы становится тривиальной задачей.

Нужно помнить о том, что один подход не противоречит другому, но иерархически ООП всё же находится выше.

Собственно, почему я рекомендую именно Java? Я бы выделил следующие причины:

  • Кроссплатформенность

    Java работает везде благодаря JVM —виртуальной машине Java. Один из главных плюсов этого языка — кроссплатформенность ¬— не нужно думать о том, какую библиотеку подключить, какова архитектура у конкретного процессора. «Написано однажды —работает всегда».

  • Документация

    Широчайшая база документации: официальная документация Oracle, обучающие порталы, постоянно развивающееся комьюнити. Ответы на большинство вопросов, возникающих в ходе разработки, можно найти за несколько минут, главное — понять, что забивать в поисковик =)

  • Популярность

    Java — самый популярный язык программирования в мире: кроме вышеупомянутых Android и web разработчиков, на Java пишет почти каждый первый энтерпрайз разработчик. Enterprise — внутрикорпоративная разработка, необходимая для нужд больших корпораций.

    Ежегодно хейтеры предсказывают «смерть Java», дескать: «Oracle перестанет его поддерживать, и вообще вы ерундой занимаетесь». Это не так! Новые версии Java обещают выпускать раз в полгода. Наиболее важные нововведения и фичи последней версии можно прочитать здесь.

    Для меня переворотом и открытием были лямбды в Java 8, что уж говорить о новых версиях! Сейчас я работаю на «ретроградском» проекте, поэтому не вникаю в нововведения, но то, что Java живет — факт.

  • Android

    Android уверенно занимает более 80% рынка мобильных телефонов последние 4 год, под этой операционной системой работают телевизоры, медиаплееры и даже медиасистемы в автомобилях. А разработка под эту ОС ведется преимущественно на Java, только представь какие перспективы открываются. Когда я устроился на работу в качестве Android разработчика, мне стало интересно: а сколько стоит продукт, разработкой которого я занимаюсь? Оказалось, что цена за год составляет примерно 5$. Возник резонный вопрос: откуда средства на этот офис, на зарплаты, печеньки, теннисный стол, роботов и прочие «ништяки»? Дело в количестве: у нашего приложения — 20 млн пользователей.

  • Зарплаты

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

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

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

Java:106
python:100
c#:90
c++:88
php:82
ruby:5
scala:2
kotlin:1

Даже популярный в последнее время Python не смог опередить Java.

Но это субъективные данные: конкретный город, конкретный день. Есть официальные источники, к ним и обратимся. На июль 2018 по данным TIOBE Java занимает первое место. В рейтинге PYPL Java занимает второе место, далеко оторвавшись от JS и соперничая с «модным» Python.

ИТОГИ

Вот на что стоит обратить внимание новичку при выборе языка программирования:

  • Популярность (Java стабильно занимает лидирующие позиции)
  • Порог вхождения (Для Java — средний: разброс компетенций, которые требует работодатель, достаточно широк)
  • Доступные материалы (на русском языке порталов, аналогичных JavaRush нет, следовательно, пальма первенства уходит угадайте кому =)).
  • Области применения: чем больше отраслей, в которых можно применять язык программирования, тем больше специалистов требуется на рынке. Про кросс-платформенность я уже говорил, но не устану это повторять.

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

Успехов в обучении!

javarush.ru

Как выбрать подходящий вам язык программирования

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

Интернет открывает каждому множество путей познания искусства программирования, начиная с бесплатной 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.

Начинать свой путь iOS-разработчика стоит с изучения раздела iOS на Code School, а также руководства разработчика от Apple.

Мой ребёнок хочет научиться программировать

Это вполне похвально и очень перспективно. Если дитя совсем ещё мелкое, то попробуйте дать ему Hopscotch — приложение, о котором мы рассказывали в одной из наших статей. Процесс кодинга здесь реализован через игру. С некоторого момента приложение русифицировали, что может сильно помочь чаду в освоении сего инструмента.

Ещё одним прекрасным средством изучения программирования может стать «Скретч». Сервис ориентирован на пользователей от 8 до 16 лет.

Здесь также помогут сервисы наподобие Code.org — их принципы предполагают популяризацию программирования в школах и университетах.

Что ещё почитать

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

lifehacker.ru

ɯǝʚɯо ņıqнqvиʚɐdu) / Блог компании RUVDS.com / Хабрахабр

Многие начинают путь к изучению программирования, открыв поздним вечером Google. Обычно ищут что-то вроде «Как выучить…». Но как тот, кто ищет подобное, решает, какой именно язык программирования выбрать?

Кто-то, начитавшись сайтов и блогов крупнейших компьютерных компаний, рассуждает так: «В Кремниевой долине что ни слово –  то Java. Думаю, это – то, что мне нужно». Бывает и так: «Haskell. Он ведь на пике популярности. Страшно подумать, что будет дальше. Определённо – Haskell». И даже так: «Этот суслик на логотипе Go – такая няшка. Хочу знать Go».


Некоторые, движимые стремлением научиться программировать, ищут вот что: «Какой язык программирования выучить первым?».

Бывают вопросы, которые задают так часто, что, для ответа на них создают целые схемы. Вот, например, одна из них, посвящённая выбору первого языка программирования, подготовленная командой этого сайта.

Кликабельно:

Если рассмотреть эту схему, окажется, например, что Ruby подходит тем, кто ребёнком любил лепить из пластилина.

Выбор первого языка программирования может стать увлекательным занятием, как полусерьёзные опросники, вроде: «Кто вы из героев Квентина Тарантино?».

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

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

Выбирая первый язык стоит трезво оценить следующие факторы:

  • Рынок труда.
  • Долгосрочные перспективы языка.
  • Сложность изучения языка.
  • Что именно вы сможете создать в процессе изучения, и, показав окружающим, поддержать мотивацию.

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

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

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

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

Начнём наш разговор о первом языке с рассмотрения того, как сегодня учат программировать.

Основы информационных технологий и обучение программированию


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

Наверняка вы знакомы с этим высказыванием Эрика Рэймонда: «Образование в сфере компьютерных технологий точно так же не сделает из вас отличного программиста, как изучение кистей и красок не сделает вас прекрасным художником».

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

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

И те, кто принимают решения о том, чему учить на курсах по программированию, обычно придерживаются всяческих официальных источников, регулярно публикующих отчёты с рейтингами языков. Среди таких отчётов, например, TIOBE Index. А вот — таблица лидеров по версии IEEE.


Такие вот «таблицы лидеров» выглядят практически точно так же, как десять лет назад. Однако, всё меняется, даже в академических кругах.

Так, в 2014-м году Python обошёл Java, став самым популярным языком программирования в ведущих курсах по информационным технологиям в США.


И я уверен, что ещё одно изменение обязательно произойдёт, да что там говорить – это уже происходит.

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

Вот результат опроса, который проводился на Stack Overflow в 2016-м году. В нём участвовало 49397 разработчиков. Более половины из них используют JavaScript.

Без JavaScript невозможна разработка веб-интерфейсов, а в последнее время, благодаря Node.js, растёт актуальность JavaScript в серверном коде. Этот язык стремительно распространяется и в другие области, такие, как разработка игр и интернет вещей.

Среди программистских вакансий JavaScript упоминается чаще, чем другие языки, если не брать в расчёт Java. Вот данные с крупнейшего агрегатора вакансий Indeed.com.

Неслучайно и то, что мы, на freecodecamp.com, собрали сообщество разработчиков, занятых проектами на JavaScript с открытым исходным кодом. За прошедшие два года более 5000 человек воспользовались Free Code Camp для того, чтобы найти свою первую работу в роли программиста.

Я, кстати, не ратую за JavaScript только потому, что обучаю на нём программировать. Всё, как раз, наоборот. Я обучаю этому языку именно потому что знание JavaScript – это верная дорога к первой работе программиста.

Но подходит ли JavaScript именно вам? Стоит ли ему становиться вашим первым языком программирования? Рассмотрим подробнее те факторы выбора языка, о которых я говорил выше.

Фактор №1: рынок труда

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

Как я уже говорил, в объявлениях о вакансиях чаще всего упоминается Java. На втором же месте стоит JavaScript.

Но в случае с JavaScript надо учесть одну важную вещь. Хотя язык существует уже два десятка лет, лишь сравнительно недавно он превратился в серьёзный инструмент, с помощью которого гиганты вроде Netflix, Walmart и PayPal создают полноценные приложения.

В результате множество компаний нанимают JavaScript-разработчиков, но разработчиков этих не так уж и много.

Вот данные с Indeed.com, здесь показано соотношение вакансий и соискателей.


Итак, что мы видим. На одно место Java-разработчика приходится 2.7 программиста. В сфере вакансий, где требуется знание PHP, а также в среде iOS-разработки, складывается похожая ситуация.

Если же взглянуть на данные по JavaScript, то окажется, что на одну вакансию приходится всего 0.6 программиста. Для JavaScript-разработчиков это, определённо, рынок продавца.

Фактор №2: долгосрочные перспективы

JavaScript-проекты на GitHub получают, в среднем, в два раза больше pull-запросов, чем проекты на Java, Python или Ruby. И, кроме этого, JavaScript растёт быстрее, чем любой другой популярный язык.

Вот соответствующие данные GitHub Octoverse:

На экосистему JavaScript, кроме того, благотворно влияют серьёзные инвестиции, как финансовые, так и выражающиеся в человеческом капитале талантливых инженеров, от таких компаний, как Google, Microsoft, Facebook и Netflix.

Например, вклад в язык программирования с открытым исходным кодом TypeScript (расширенная версия JavaScript со статической типизацией) внесли более 100 разработчиков. Многие из них – сотрудники Microsoft и Google, которые получают зарплату за эту работу.

Подобную форму совместной работы компаний в среде Java найти сложнее. Например, Oracle, которая фактически владеет Java, поглотив Sun Microsystems, часто судится с компаниями, которые пытаются работать над этим языком.

Фактор №3: сложность изучения языка

Вот карикатура о сложности языков программирования от XKCD.

Большинство программистов согласится с тем, что высокоуровневые скриптовые языки сравнительно легки в изучении. JavaScript подпадает под эту категорию, вместе с Python и Ruby.

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

Фактор №4: проекты, которые можно создать, используя полученные знания

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

Повсеместное распространение JavaScript привело к такому знаменитому высказыванию Джефа Этвуда, сооснователя Stack Overflow: «Любое приложение, которое можно написать на JavaScript, будет в итоге написано на JavaScript».

С течением времени это высказывание, которое ещё называют «Законом Этвуда», не утрачивает актуальности.

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

Python страдает от похожих проблем. Вот что по этому поводу написал Джеймс Хэг в статье о том, что пришла пора отказаться от Python, как от основного языка, используемого при обучении программированию. Ученик спрашивает: «Как мне дать эту вот игру, которую я написал, друзьям? Или, это будет даже лучше, можно ли как-нибудь записать её на мой телефон, чтобы я мог показать её всем в школе, а им не пришлось бы её устанавливать?». Учителю же, если речь идёт о Python, остаётся лишь хмыкнуть. В двух словах тут и не ответишь.

Если же говорить о JavaScript, то вот живые ответы на вышеупомянутый вопрос. Это – приложения, которые написали члены сообщества Free Code Camp в CodePen, пользуясь браузером.

Вот игра «Simon», созданная в стиле 1970-х.


Вот – реализация математической игры Джона Конвея «Жизнь».

Вот – страница поиска для Wikipedia, стилизованная под «Звёздные войны».

А вот – игра-«рогалик» с традиционным подземельем.

Первый язык: пройтись по верхам, или копнуть поглубже?

Сначала как следует изучите один язык. Затем принимайтесь за следующий.

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

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

  • Изучение C – это отличный способ разобраться с тем, как, на самом деле, работают компьютеры, в частности, в плане управления памятью. C особенно хорош в высокопроизводительных вычислениях.
  • C++ отлично подходит для разработки игр.
  • Python нет равных в научных и статистических расчётах.
  • Java пригодится тем, кто видит себя программистом в крупной компании.

Но сначала, повторюсь, стоит изучить JavaScript.

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

Возражение №1. JavaScript – язык медленный

JavaScript, для большинства практических целей, так же быстр, как языки, которые традиционно считают высокопроизводительными.

JavaScript (речь идёт о Node.js) на порядки быстрее, чем Python, Ruby и PHP. Его быстродействие приближается к C++, Java и Go. Вот результаты одного весьма серьёзного теста производительности для различных языков программирования.

Возражение №2. В JavaScript нет статической типизации

Как Python и Ruby, JavaScript – это язык с динамической типизацией. И это, с одной стороны, удобно, а с другой – способно завести разработчика в лабиринт ошибок. Вот, например, здесь мне хочется, чтобы переменная exampleArray была массивом. Я записываю в массив значения, проверяю его длину, то есть – количество содержащихся в массиве элементов. Выглядит это так:

exampleArray = [1, 2]
-> [1, 2]
exampleArray.length
-> 2

Затем я случайно записываю в переменную строку, при этом, что ещё хуже, благодаря особенностям строкового типа данных в JavaScript, я вполне могу получить длину того, что считаю массивом, обратившись к свойству length:

exampleArray = "text"
-> "text"
exampleArray.length
-> 4

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

Если же вам, в первом языке программирования, совершенно необходима статическая типизация, я всё равно рекомендую начать с JavaScript. После этого вы сможете быстро освоить TypeScript. Вот что говорит на эту тему Алекс Эверлоф: «Для того, чтобы освоить TypeScript, нужно время, но, если вы уже знаете JavaScript, всё будет гораздо быстрее и проще».

Возражение №3. Я очень хочу создавать мобильные приложения, поэтому JavaScript не для меня

Даже если так, я всё равно советую сначала изучить JavaScript. И, кстати, он вполне подходит для разработки мобильных приложений, причём, как их клиентской, так и серверной частей. А именно:

  1. В экосистеме JavaScript имеются несколько инструментов для разработки полноценных мобильных приложений. Например, это Angular Cordova и React Native.
  2. Для того, чтобы ваше мобильное приложение делало что-нибудь по-настоящему интересное, вероятно, ему понадобится серверная часть, построенная на некоей подходящей платформе, вроде Node.js + Express.js.

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

Для начала, хотя мобильными приложениями пользуются буквально все, по данным опроса Stack Overflow, в котором приняли участие 49525 программистов, практически половина из них занята в сфере веб-разработки. И лишь немногим более восьми процентов занимаются мобильными приложениями.

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

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

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

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

Из вышесказанного следует простой вывод: учите JavaScript.

Возражение №4: Разве JavaScript это не игрушечный язык, который был создан за десять дней?

Когда слышу подобное, сразу на ум приходит этот твит. А вообще, у JavaScript, конечно, необычная история. Это провоцирует. Наверняка вам доводилось читать и слышать, как кто-то отпускает шутки об этом языке.

Кстати, некоторым невероятно нравится критиковать C++. Но, как и JavaScript, C++ преуспел несмотря ни на что. Теперь он, точно так же, практически повсюду.

JavaScript – это ни разу не игрушка.

Удачной учёбы!

В итоге хочу сказать вот что. Если кто-нибудь станет вас доставать только потому, что вы изучаете JavaScript, а не «хит сезона», просто вспомните знаменитые слова Бьёрна Страуструпа, человека, который создал C++: «Существует лишь два вида языков программирования: те, которые постоянно ругают, и те, которыми никто не пользуется».

Удачи в изучении вашего первого языка программирования!

habr.com

самый востребованный или самый легкий в изучении?

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

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

Какой язык программирования самый востребованный на рынке услуг IT в 2016 году?

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

  1. Java и JavaScript занимают лидирующие позиции в 2016 году. Их популярность связана с простотой в работе языка, надежностью и гарантированной долгосрочности созданного программного обеспечения, а также их совместимостью.
  2. SQL применяется практически в любой сфере деятельности. Технологии и программы, написанные с его помощью, используются в работе больших и малых предприятий, больниц, госучреждений, университетов и школ. Базу данных языка используют многие приложения. Например, Skype.
  3. C# — результат эволюции С и С++. Язык предназначен для создания большого программного обеспечения и системного администрирования баз данных. Он дает возможность полноценной работы по созданию приложений для Microsoft и мощных игр на платформе Unity.

    Java и JavaScript — самые простые языки программирования

  4. Python не теряет актуальности за счет свей многофункциональности. В нем основной акцент сделан на повышение производительности разработчика и улучшения кода. 30 из 39 лучших американских университетов в сфере информатики используют язык для обучения студентов.
  5. Swift был создан не так давно компанией Apple. Язык за пару лет завоевал доверие за современность инструментов и так называемую безопасность от внесения критических ошибок при написании кода.
  6. PHP – классика программирования. Но он полностью заточен под веб. Множество вариантов решения одной задачи сделало его одним из самых популярных за последние десятилетие. Но с каждым годом он теряет свои позиции по практическому интересу пользователей.

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

Какой язык программирования самый легкий для изучения новичку?

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

Python

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

Java

Разработка приложений для мобильных приложений занимает немалую нишу на рынке. Для ОС Android в этом помогает Java. У молодых разработчиков есть возможность сразу тестировать созданную программу. Язык поможет понять основной принцип функционирования современных смартфонов.

JavaScript

JavaScript помогает делать веб-сайты красивее и функциональнее. Он существует десяток лет и в ближайшие годы будет оставаться на пике популярности. К тому же, доминирование в сфере с каждым годом только увеличивается.

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

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

Типичные ошибки программистов-новичков

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

Постоянно практикуйтесь, чтобы стать настоящим профессионалом

  • выбор языка программирования и платформы без учета тенденций и спроса на рынке. Можно выбрать не перспективное направление и время на изучение будет потрачено зря;
  • изучение литературы без практики. Именно закрепление знаний приносит основные плоды и поддерживает интерес к обучению;
  • непостоянство. Выучив несколько аспектов одного языка, молодые специалисты часто забрасывают его и начинают изучать новый;
  • пренебрежение иностранными языками. Английский по праву считается международным и основным в программировании. Необходимо обладать, как минимум, базовым уровнем, чтобы стать профессионалом;
  • саморазвитие. Никто не заинтересован в продвижении других, поэтому доведется самостоятельно работать над собой и проходить тернистый путь.

Также не следует недооценивать общение с соратниками и коллегами. Они найдут и покажут ошибку, дадут совет и оповестят о последних тенденциях в IT.

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

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

Выбираем язык для изучения программирования с нуля — видео

viborprost.ru

Какой язык программирования выбрать новичку для изучения

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

Веб-программирование – это особый, очень быстро развивающийся раздел программирования, нацеленный на создание динамических интернет-приложений. Знакомство с веб-программированием непременно следует начинать с изучения HTML, CSS, JavaScript (+ jQuery), затем PHP. Указанные в данном случае HTML и CSS нельзя назвать полноценными языками программирования, однако, выучить их все-таки придется, поскольку именно с их помощью создается основная часть страницы сайта.

В настоящее время написано множество учебников на тему «программирование для новичков». Кроме того, существует масса специальных курсов обучения, выложенных в открытом доступе в сети. Потому, если есть желание что-либо освоить, проблем с поиском материала возникнуть не должно.

Итак, какой язык программирования выбрать для начала?

HTML – язык разметки гипертекстовой информации в сети. Практически все страницы сайтов, которые можно найти в Интернете, созданы с использованием HTML. Данный язык составляет основу верстки, интерпретируется всеми браузерами и отображается в них в виде определенного документа. HTML довольно прост. Его усвоение под силу школьнику средних классов. Основную структуру языка составляет набор особых элементов, заключающихся в теги: div, footer и т.п. Каждому из них присущ набор атрибутов: class, style, title и т.д. В настоящее время активно используется последняя версия языка – HTML5, которая отличается от предыдущих появлением дополнительных тегов (asid, menu и т.д.).

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

Какой язык программирования выбрать: JavaScript или PHP?

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

JavaScript (JS) – язык программирования, используемый при создании страниц сайта для увеличения функциональности этих самых страниц и возможности непосредственного взаимодействия с пользователем. К примеру, все всплывающие окна написаны на JS. Говоря более простым языком, JavaScript представляет собой набор определенных команд, на которые реагирует браузер. Элементарными являются: alert (), [removed] () и т.п. Не следует путать JS с Java.

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

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

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

fb.ru

Какой язык программирования лучше учить первым и почему

Выбор первого языка программирования может показаться такой же забавой, как прохождение тестов в духе «Какой вы персонаж из фильмов Тарантино?». Но прежде чем вы выберете Ruby, потому что в детстве вам нравилась игрушка с похожим названием, позвольте мне напомнить: ставки здесь довольно высоки.

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

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

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

И этим языком должен быть JavaScript.

По информации самого крупного сообщества разработчиков Stack Overflow , JavaScript является популярнейшим языком среди всех опрошенных пользователей. Он жизненно необходим для создания браузерной части сайтов и становится всё более подходящим для разработки их серверных компонентов. Кроме того, JavaScript быстро распространяется на такие сферы, как разработка игр и интернет вещей.

Фактор №1. Рынок труда

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

Среди всех языков программирования по количеству вакансий лидирует Java. JavaScript следует сразу за ним.

Но есть один важный нюанс. Хотя JavaScript существует уже больше 20 лет, он только недавно стал серьёзным инструментом, с помощью которого компании вроде Netflix, Walmart и PayPal могут целиком разрабатывать свои приложения.

Многие работодатели ищут JavaScript-разработчиков. Последних даже не хватает на рынке труда.

По данным крупнейшего агрегатора вакансий Indeed.com , на каждую открытую вакансию Java-программиста претендует 2,7 соискателя. Конкуренция за позиции PHP- и iOS-разработчиков тоже довольно высока.

Но на каждую вакансию JavaScript-программиста приходится лишь 0,6 соискателя. Другими словами, спрос выше предложения.

Фактор №2. Долгосрочные перспективы

JavaScript развивается быстрее, чем любой другой популярный язык. Его экосистему поддерживают крупные денежные и интеллектуальные инвестиции таких компаний, как Google, Microsoft, Facebook и Netflix.

К примеру, над TypeScript (специальная версия языка, которая расширяет возможности JavaScript) трудится более сотни специалистов, многие из них получают финансирование от Microsoft и Google.

Такое сотрудничество разных компаний сложно организовать для развития Java. Корпорация Oracle, завладевшая правами на этот язык после покупки Sun Microsystems, часто подаёт в суд на организации, которые хотят внести свой вклад.

Фактор №3. Лёгкость изучения

Большинство разработчиков согласится, что высокоуровневые скриптовые языки даются относительно легко. JavaScript относится к таковым, как и Python с Ruby.

Несмотря на это, в университетах по-прежнему первым делом изучают языки вроде Java и C++, которые значительно более сложные.

Фактор №4. Какие проекты можно создать

В этом плане JavaScript на высоте. Он работает на любом устройстве, на котором есть браузер. С помощью JavaScript вы можете разработать почти что угодно и легко предоставить доступ другим.

Соучредитель сообщества для разработчиков Stack Overflow Джефф Атвуд (Jeff Atwood) сформулировал закономерность, которая отражает вездесущность JavaScript.

Любое приложение, которое можно написать на JavaScript, в конце концов будет написано на JavaScript.

Джефф Атвуд

И с течением времени эта закономерность становится всё точнее.

Когда-то разработчики Java тоже обещали этому языку повсеместность. Вы можете помнить о Java-апплетах. Но Oracle официально отказалась от них ранее в этом году.

И Python страдает от подобных проблем.

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

Джеймс Хью, разработчик игр

Хорошо разберитесь в первом языке. Затем учите второй

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

Со временем вы сможете расширять свои знания и превращаться во всесторонне подкованного программиста, изучая другие языки:

  • C помогает разобраться в компьютерах с точки зрения памяти. Он также полезен при работе с высокопроизводительными вычислениями.
  • C++ отлично подходит для разработки игр.
  • Python великолепен для научных вычислений и статистики.
  • Java играет важную роль для тех, кто хочет работать над корпоративными сервисами.

Но сначала освойте JavaScript.

lifehacker.ru

Какой язык программирования учить первым (если вы в России)?

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

За помощь в подготовке комментариев благодарим школу Moscow Coding School и ее преподавателей, которые согласились ответить на вопросы.

Сергей Чикуенок

Ведущий разработчик Innova Systems

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

Сегодня JavaScript – достаточно универсальный язык: с помощью него можно создавать не только сайты, но и серверные приложения, системные утилиты, игры, мобильные приложение и многое другое. Когда освоитесь с первыми принципами программирования, можно начать изучать другие языки в зависимости от того, чем хотите заниматься: Python, Ruby, Go – если интересует серверное программирование; Swift, C/C++/Objective-C, Java – если хотите писать программы для компьютеров и мобильных устройств.

Вячеслав Баласанов

Сооснователь 4REAL (Нью-Йорк, США)

Начинать изучать программирование лучше всего, конечно, с JavaScript. Это простой и гибкий язык, освоив который можно создать любой вебсайт, интерактивную инсталляцию или виральное приложение. Он работает на всех устройствах и браузерах, и для него не нужно мучиться, устанавливая специальный IDE. Примеров неимоверное количество: открывай любой сайт и жми «View Source», не говоря уже о куче библиотек и демонстраций. По крайней мере, если не собираешься работать программистом в банке или на бирже, JS выигрывает во всех отношениях.

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

Бэкенд-разработчик Meduza (Рига, Латвия)

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


По теме: «Вышка» запустила бесплатные курсы


Антон Домашнев

iOS-разработчик Сonichi (Берлин, Германия)

Я не могу выделить какой-то определенный язык, с которого лучше начинать карьеру программиста. Все зависит от предпочтений и от того, каким направлением хочется заниматься: разработка серверной части, разработка клиентской части под мобильные платформы или под декстоп. После того, как вы определились с выбором направления, имеет смысл начать с популярного языка – c хорошим сообществом, чтобы можно было быстро получать ответы на вопросы, которые в первое время будут возникать постоянно. Ruby, Python – бэкенд. Java, Objective-C, Swift – мобайл. C#, Java – десктоп.

Василика Климова

Разработчик интерфейсов Artec 3D

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

Мика Налбандян

Ведущий веб-инженер WOS

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

На мой взгляд, идеальным первым языком стоит назвать Python. Динамическая типизация, минималистичный синтаксис, отсутствие ненужных новичку типов и конструкций, но в то же время – четкая объектно-ориентированная структура. Все это делает язык максимально понятным для изучения.

Фил Рукин

Разработчик Empatika

Начинать нужно с JavaScript. Большое комьюнити, есть много примеров и уроков. Можно писать почти под все платформы, можно писать как приложения, так и игры, для десктопа и мобил. Быстро можно показать друзьям, не надо ничего устанавливать. JavaScript прощает ошибки, которые очень часто совершают новички. Знание JavaScript рано или поздно пригодится любому разработчику. Кстати, строгой типизации тут тоже нет.

Никита Комарков

Ведущий разработчик Look At Media

На мой взгляд, важно начать с понимания принципов и логики приложений, а языки – это просто разные способы записи логики.

Артем Леготин

Веб-инженер WOS

Пожалуй, начинать нужно с JS. На нем легко прочувствовать основные принципы вроде объектно-ориентированного программирования, и при этом нет жесткой **** [ужасных мучений] с динамической памятью и прочим, как в C.

Для начала нужно определиться с тем, в какой сфере хочется развиваться. Программирование веб-приложения, сервера для этого приложения, приложения под iOS или Android, приложения под Mac или Windows, или программирование микроконтроллера для управления какой-нибудь интерактивной инсталляцией – это все достаточно разные вещи. Безусловно, везде есть схожие парадигмы, паттерны и прочее, но есть и кардинально различающиеся концепции, которые будет непросто сразу понять. Несмотря на это, JavaScript становится все более универсальным языком, хоть и не является панацеей. Однако я бы не сказал, что он простой «для начала». Я бы посоветовал пройти какой-нибудь базовый онлайн курс по Ruby или Python, чтобы понять основные концепции. Синтаксис там поприятней.

JavaScript. Почему? Потому что потребуется минимальное время для честной проверки реальности и обоснованности своих притязаний на программистскую стезю. Начать программировать на JS без особенной подготовки просто, также в комплекте поставляются сотни примеров для вдохновения и крайне короткая дистанция между усилием и достижением визуально доступного результата, что снимает большинство вопросов по поводу мотивации.

Фото на обложке: Shutterstock.


Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

rb.ru

Отправить ответ

avatar
  Подписаться  
Уведомление о