Стоит ли изучать javascript, если вы не планируете быть веб-разработчиком?

26

Я слышал, что Javascript - это полноценный язык, такой же, как c ++. Это правда? Что еще это хорошо для программирования, кроме веб-материалов?

Matt
источник
на самом деле это хорошо только для веб-материалов, потому что требует некоторой формы синтаксического анализатора, большинство из которого встроены только в веб-браузеры. Я имею в виду, что вы могли бы создать свой собственный JS-парсер для настольных компьютеров, но он не использовал бы большую часть javascript, который взаимодействует с html на вашей странице ...
dkuntz2
3
@ DKuntz2 Я думаю, что Chrome V8 JS Engine - это независимая библиотека, и вы можете использовать ее в настольном приложении. Вам все равно придется разрабатывать свой собственный API. Ссылка: code.google.com/apis/v8/embed.html
Vitor Py
1
Theres также, spidermonkeyкоторый является Mozillas javascriptparser. Он также автономен и может быть использован в любом приложении.
jgauffin
@ dkuntz2 Javascript не просто хорош для "веб-материалов" - я использую node.js в качестве инструмента сценариев общего назначения и для разработки настольных приложений.
Андерсон Грин
@VitorBraga Я думаю, что разработка приложений с помощью node.js была бы хорошим вариантом - у нее есть полный набор библиотек, которые полезны для задач сценариев общего назначения, таких как редактирование изображений и чтение / запись файлов.
Андерсон Грин

Ответы:

23

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

Может ли это быть полезным где-либо, кроме как в браузере? Конечно: посмотрите на node.js , который использует асинхронность javascript для создания чисто неблокирующей платформы dev, и couchapps , которая позволяет создавать целое веб-приложение с его помощью.

Если вы верите некоторым людям, javascript будет основным будущим языком разработки, просто из-за его широкого использования. Это, безусловно, самый популярный язык на GitHub, и почти каждый разработчик имеет некоторое отношение к нему. С такими проектами, как node.js, у javascript есть интересное будущее.

Бен Хьюз
источник
6

Насколько я знаю, помимо веб-программирования, JavaScript также используется для некоторой новой среды рабочего стола. Например, GNOME 3 (среда рабочего стола для Linux) использует JavaScript + CSS, чтобы позволить пользователям и разработчикам настраивать среду своего рабочего стола.

Брайан Хсу
источник
KDE может также поддерживать это, так как Qt имеет QtScript, но я не уверен в этом.
Vitor Py
3

Хотя Javascript является синтаксически полным, объектно-ориентированным и т. Д. Языком, ему, в основном, не хватает библиотек для взаимодействия с вещами, которые еще не встроены. Он хорошо подходит для доступа, например, к XML-данным и их модификации, но на самом деле не предоставляет много интерфейсов. к оборудованию.

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

Майкл
источник
2

Я бы сказал, что язык с динамическими и функциональными возможностями стоит изучать, но это не обязательно должен быть Javascript.

LISP берет вышеупомянутые концепции намного дальше, чем Javascript, и поэтому считается отличным языком для изучения, даже если вам никогда не нужно использовать сам LISP.

jonathanconway
источник
2

JavaScript можно использовать для создания сценариев оболочки «из коробки» как для Windows, так и для Mac:

На мой взгляд, в Windows это наиболее приемлемый выбор, потому что альтернативы - это файлы VBScript и BAT (по крайней мере, если вы не можете полагаться на дополнительные установки).

Джори Себрехтс
источник
В Windows также есть PowerShell.
JBRWilkinson
Насколько мне известно, PowerShell не устанавливается по умолчанию в версиях Windows до 2008/7.
Джори Себрехтс
2

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

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

Фриц
источник
1

Это не стоит учиться вне основ.

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

Ллистес Сугра
источник
2
Я не согласен. Это единственный распространенный язык на основе прототипов. Более того, среди распространенных языков он имеет одну из лучших опций для замыканий. Так что с помощью этого можно научиться чему-то ценному. Наконец, это очень быстро для интерпретируемого языка.
Андреа
@Llistes_Sugra Если вы всерьез придерживаетесь и верите этому мнению, вы недостаточно знаете о JavaScript. Я бы порекомендовал вам узнать больше об этом и посмотреть, хотите ли вы пересмотреть это мнение; Я почти уверен, что вы будете
Джей
1

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

Хороший Javascript-подобный язык , чтобы проверить, является новым в Qt QML язык, который javascirpt подобный синтаксис , но для обычного графического интерфейса приложения. С ней очень интересно играть, и вы узнаете немного javascript в процессе не-написания веб-страниц.

Уэс Хардакер
источник
1

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

Расширение сценариев

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

Newtopian
источник
1

Javascript - это отличный фундаментальный язык

Это :

  • мощный
  • легко учить
  • поддерживает как процедурные, так и объектно-ориентированные парадигмы
  • быстро писать и запускать
  • популяризировал многие современные концепции языка - замыкания, анонимные функции, асинхронное / управляемое событиями программирование, динамические типы / логические выводы
  • имеет отличные инструменты (редакторы, среды выполнения, инструменты Lint, браузеры)
  • имеет потрясающую онлайн поддержку с большим количеством активных сообществ
  • может выполнять математические функции
  • имеет графические способности (через HTML / Canvas)
  • можно использовать для написания приложений

Я лично считаю, что стоит учиться, даже если вы не будете использовать его ежедневно. Это расширит ваш кругозор, так что вы будете рассматривать разные решения при использовании других языков, таких как C ++ или C # - например, итерация против алгоритмического решения, динамическая типизация и вывод типа.

Я видел, как люди используют его для обработки чисел / дампов данных быстрее, чем профессиональные инструменты, вставляя свои данные в текстовую область HTML-страницы, которую они создали с помощью некоторого кода JS, для работы с данными.

Для чего еще это хорошо?

Встраивание внутри чего-то еще:

Все компании, в которых я работал за последние 12 лет, создали как коммерческие продукты, так и внутренние инструменты разработки, которые использовали JavaScript (или близкого родственника - ECMAScript, ActionScript и т. Д.) В качестве основы, поскольку его было легко изучить, готовые к использованию интегрированные (бесплатные) реализации (SpiderMonkey и Microsoft Active Scripting SDK), и производительность была «достаточно хорошей» для начала и только продолжала улучшаться.

До появления jQuery / Prototype и всего AJAX-движения выбор JS казался неочевидным - почему бы не использовать VBA (дрожь), что-то с lex + yacc-способным или использовать свой собственный язык? Мощь JS как языка в сочетании с богатыми виджетами / средами означала, что не нужно писать много кода, поэтому готовое решение было привлекательным, так как на остальную часть продукта можно было потратить больше усилий.

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

JBRWilkinson
источник