Одним из самых распространенных вопросов на стековерфлоу или тостере является «Выбор языка программирования»:
- «С чего начать?»
- «Java forevor!!!1111»
- «СиШарпники нубы!!!1»
И огромное количество других высказываний с этих холиваров только и делают, что сбивают новичка с выбора своего «первого» языка. Так что в данном посте я затрону именно тему различия языков программирования, с точки зрения востребованности, простоты и пр.
Для начала обратимся к инфографике взятой с блога codeeval.
В 2013 году распределение выглядело следующим образом
Как видно — преобладают Питон и Джава, практически 50%. Ну что можно сказать про Питон — начинать с него советуют очень многие, НО этот язык намного проще той же Джава или тем более С++. И стоит как следует подумать о том, что выучив простой язык и добившись в нем каких-либо положительных результатов «переучиваться» на более сложный язык будет «тупо лень».
Я не спорю, что хороший программист не зависит от языка, язык лишь инструмент, куда важнее знание алгоритмов, парадигм и паттернов разработки, но об этом позже.
Такие языки как C#, Java, C++ в ближайшие несколько лет абсолютно точно будут «жить и здравствовать» и специалисту найти работу труда не составит. В свою очередь выучив Джаву, C# выучить проблем не составит т.к. языки практически родственные, но С++ будет уже сложнее, очень уж высокий порог вхождения.
Лично мое мнение, что начинать стоит именно с Java. Выучить синтаксис, разобраться в структурах данных и ООП в целом, потом перейти к БД, а дальше уже смотреть в какую сторону двигаться. Также хочется сразу отметить, что если вы знаете допустим С# или Java и хотите «прокачать себя как программиста» — учите Ruby или Smalltalk (в них отсутствует статическая типизация). Если владеешь только ООП — функциональный язык Haskell ждет тебя! Не останавливайся на достигнутом ни-ко-гда!
К слову сказать все что я тут пишу, очень хорошо изложено в одной из рекомендуемых мной книг в прошлом посте, а именно «Программист-фанатик», всем новичкам must read! Так вот, далее, у меня есть несколько вариантов продолжения данной рубрики, а именно:
- Java — будем делать мобильный приложения (никаких Хелоуворлдов я нигде делать не буду, с установкой сред разработки тоже сами справитесь, я считаю, что самый эффективный способ обучения это сразу кодить, т.е. решать поставленные задачи);
- Lisp — ага, я сам его не знаю, но уча других научиться самому крайне просто, а выучить его одна из моих целей на 2016ый год;
- С# — честно в вузе еще надоел, но если будет много желающих, то будет C#;
- Любой другой язык — если я его знаю (или не знаю, но меня заинтересует — будем учить вместе).
В комментах (опять открываю) голосуем, срок две недели, т.е. в посте Programming | Part#6 уже будет начало проекта, какого — зависит от комментов к этому посту.
З.Ы. Про более конкретные различия языков возможно будет в следующем посте, на данный момент оно вам нафиг не нужно.
З.Ы.Ы. Напоследок еще одна инфографика с того же сайта, но уже за 2015 годы=) Видим, что С# набирает обороты…
Опрос где, сцук…
По теме — Java
Не разбираюсь.
Пусть будет Java
Ява
А еще разберись с блогом его ддосят периодически
«Java forevor!!!1111»