Programming | Part#4

Одним из самых распространенных вопросов на стековерфлоу или тостере является «Выбор языка программирования»:

  • «С чего начать?»
  • «Java forevor!!!1111»
  • «СиШарпники нубы!!!1»

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

Для начала обратимся к инфографике взятой с блога codeeval.

В 2013 году распределение выглядело следующим образом

programming_languages_2013
image-1507

Как видно — преобладают Питон и Джава, практически 50%. Ну что можно сказать про Питон — начинать с него советуют очень многие, НО этот язык намного проще той же Джава или тем более С++. И стоит как следует подумать о том, что выучив простой язык и добившись в нем каких-либо положительных результатов «переучиваться» на более сложный язык будет «тупо лень».

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

Такие языки как C#, Java, C++ в ближайшие несколько лет абсолютно точно будут «жить и здравствовать» и специалисту найти работу труда не составит. В свою очередь выучив Джаву, C# выучить проблем не составит т.к. языки практически родственные, но С++ будет уже сложнее, очень уж высокий порог вхождения.

Лично мое мнение, что начинать стоит именно с Java. Выучить синтаксис, разобраться в структурах данных и ООП в целом, потом перейти к БД, а дальше уже смотреть в какую сторону двигаться. Также хочется сразу отметить, что если вы знаете допустим С# или Java и хотите «прокачать себя как программиста» — учите Ruby или Smalltalk (в них отсутствует статическая типизация). Если владеешь только ООП — функциональный язык Haskell ждет тебя! Не останавливайся на достигнутом ни-ко-гда!

К слову сказать все что я тут пишу, очень хорошо изложено в одной из рекомендуемых мной книг в прошлом посте, а именно «Программист-фанатик», всем новичкам must read! Так вот, далее, у меня есть несколько вариантов продолжения данной рубрики, а именно:

  • Java — будем делать мобильный приложения (никаких Хелоуворлдов я нигде делать не буду, с установкой сред разработки тоже сами справитесь, я считаю, что самый эффективный способ обучения это сразу кодить, т.е. решать поставленные задачи);
  • Lisp — ага, я сам его не знаю, но уча других научиться самому крайне просто, а выучить его одна из моих целей на 2016ый год;
  • С# — честно в вузе еще надоел, но если будет много желающих, то будет C#;
  • Любой другой язык — если я его знаю (или не знаю, но меня заинтересует — будем учить вместе).

В комментах (опять открываю) голосуем, срок две недели, т.е. в посте Programming | Part#6 уже будет начало проекта, какого — зависит от комментов к этому посту.

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

З.Ы.Ы. Напоследок еще одна инфографика с того же сайта, но уже за 2015 годы=) Видим, что С# набирает обороты…

programming_languages_2015
image-1508

 

Поделиться:

You may also like...

4 комментария

  1. Daremon:

    Опрос где, сцук…
    По теме — Java

  2. Diora D:

    Не разбираюсь.
    Пусть будет Java

  3. Ява
    А еще разберись с блогом его ддосят периодически

Добавить комментарий

Войти с помощью: