Стоит ли сейчас учить JavaScript? Как потом найти работу?
Здравствуйте.
Я работал (хотя скорее игрался) со многими языками, с каждым понемногу. Немного серьезнее изучал PHP и Java. PHP забросил. Что касаеться Java - прошел сертификацию Java SE 6, есть самый базовый сертификат. Но больше всего мне нравиться программировать на JS. Очень нравиться сам язык. Также нравиться, что его можно использовать для решения широкого спектра задач (сервер, фронт-енд, скрипты для ос и пр.).
Вопрос в том, стоит ли сейчас его изучать. Всерьез я им не занимался, но как раз сейчас хочу начать изучение фреймворков, NodeJS. Можно ли будет найти хорошую работу? И как обстоят дела с фрилансом? Спрашиваю, т.к. сейчас еще не поздно одуматься и учить Java, но очень хочеться писать на JS.
Особенно интересует мнение тех, кто сам занимаеться разработкой на JavaScript.
Да бросьте дурное. JS уже никому не нужен. Он всего-лишь единственный выбор для разработки под web-браузеры, что вынуждает фронтэндщиков его использовать. А наличие всяких cordova/node-webkit всего-то игрушки на которых фронтэдщики пытаются делать что-то кросплатформенное. node.js же это просто v8 отдельно от браузера что бы всякие чуваки могли писать свои тулзы для сборки ресурсов для фронтэнда, чатики, реалтайм системы, демоны...
Короче пустое это, эта ниша явно пуста и там нету заказов/проектов/клиентов/компаний... Достаточно просто на гитхабе посмотреть.
@YemSalat: да ну, просто игра цифрами. Если у вас проект с жирным фронтэндом, не важно что у вас 49% кода на руби/python, репозиторий будет помечен как js-ный потому что js-кода больше.
@ischmiedel: обычно его редко используют как основную платформу, но частенько его применяют для отдельных систем.
Почему тогда на stackoverflow вопросы с тегом javascript на втором месте? stackoverflow.com/tags причем разрыв с первым минимален , скоро думаю обойдет.
@YemSalat: не обязательно, достаточно человека который ко всему прочему умеет и фронтэндить. Таких еще full-stack называют.
А если серьезно - то среди фронтэндщиков есть такая чудная практика как коммитить сторонние библиотеки, даже если разработчик использует NPM или bower. Посему из 1 мегабайта кода половину может составлять какой angular + jquery + lodash +
модули и еще 10 килобайт непосредственно приложение.
Если уж совсем серьезно, я пытался как-то намекнуть на то что JS это довольно жирный кусок вэба без которого сейчас никак. Даже если вы не фронтэндщик то желательно его знать.
Andrey Zenkov: "Почему тогда на stackoverflow вопросы с тегом javascript на втором месте?", ...потому что за последние 10 - 20 лет было создано очень много программ, которые потолстели в результате расширения и их до сих пор сопровождают в сегменте аутсорса. Куча комплексов, которые создавались долгие годы и написаны (к примеру) на таких древних инструментах как java, и которые - жалко выбросить и тащить тяжело. Недавно хотел выбрать себе новую работу, ...и, в итоге, предлагают сопровождать одно старое говно, ...в сопровождении имеет смысл сидеть только новичкам, advanced разработчики предпочитают работать с новыми технологиями. Округлю все в виде аллегории - вы же НЕ любите употреблять в пище не свежие продукты, всегда вкусно что то свеженькое, правда, ...а позавчерашний бутерброд еще попробуй скушать без ущерба своему здоровью!?
Сергей Протько: Java был приведен к примеру, ...а по поводу JavaScript - ...отличный инструмент, потому как вполне решает свои задачи, ему не хватает только расширения стандарта. Ну можно изобрести очередной велик, ...но пока его будут изобретать, я буду зарабатывать на том что уже есть. Это вообще тупая тема, потому как каждый язык (инструмент) был создан для конкретных задач. Если уже брать в целом, то на JS стандарте существует куча технологий, которые успешно решают бизнес задачи и кормят миллионы программистов. Ну напишите VK или Facebook на Java, Delphi или C/C++, ...я посмотрю кто тут "выдохнет".
Javascript - единственный вариант делать что-то фронтэнде. Он не хороший и не плохой, он единственный (ну как, есть конечно еще и flash и silverlight но у вас нет гарантии что пользователь возжелает ставить тот же сильверлайт только ради вашего приложения).
Что до "расширения стандарта" и велосипедов - я не понял мысли. Если вы посмотриет на стандарты ES5/ES6 а так же на HTML5 API на настоящий момент - всего достаточно. Фреймворки - так же, для SPA есть AngularJS, для сложного UI - ReactJS/KnockoutJS, модели и коллекции - Backbone... Куча и куча инструментов которые каждый день улучшаются.
Что для "написать ВК или Фэксбук на Java" - да не вопрос. Мы же о бэкэнде говорим. Ну или на C++ с QtQuick в виде отдельного десктопного приложения. Но что бы это все в браузере работало придется брать JS. Нет выбора.
Сергей Протько: Последние 3 года работаю ActionScript разработчиком (AS3/Flex/AIR). Не в сфере game dev., и последний год не слезаю с JS, и всеми усилиями перевожу все свои труды на JS. Вы все верно описали, ...и речь не о backend`е, ...мы в JS топике, в следствии не будем терять основу обсуждения. Мы говорим о frontend инструменте. Например HTML5 не так давно вырос до функционала Adobe FlashPlayer`а, ...в итоге все будет один в один. Я сам не слезаю с jQuery и AngularJS, ...и это объясняет обратное от того что: "Сергей Протько: Да бросьте дурное. JS уже никому не нужен". Конечно нужен, другого не дано. А backend - это в другом топике.
Хочешь пройти обучение или постажироваться в html5-играх? Мы как раз работаем с java/js.
Напиши training@jspro.ru
Как найти работу?
1. Мониторить вакансии, не только на российском рынке. В рунете сейчас значительно отстает активность по js-направлениям, но рост спроса стабильный, разработчиков уже немало, и будут приучать клиентов постепенно переходить на Node в том числе.
2. Самим продвигать js-стек на текущих рабочих местах, проектах.
3. Иметь код на github, привлекающий работодателей
4. Дружить с другими разработчиками js
Мне кажется что из языков с динамической типизацией JavaScript сейчас самый привлекательный. Как в плане поиска работы, так и в плане равития технологий.