Чи варто JavaScript вивчати, якщо ви не плануєте бути веб-розробником?


26

Я чув, що Javascript - це повна мова, як і c ++. Це правда? Що ще добре для програмування, крім веб-речей?


насправді це корисно лише для веб-продуктів, оскільки він вимагає певної форми аналізатора, більшість з яких вбудована лише у веб-браузери. Я маю на увазі, ви можете створити свій власний JS-аналізатор для використання на робочому столі, але він не використовує більшість javascript, який взаємодіє з html на вашій сторінці ...
dkuntz2

3
@ DKuntz2 Я думаю, що Chrome V8 JS Engine - це незалежна бібліотека, і ви можете повторно використовувати його в настільному додатку. Вам все одно доведеться розробити власний API. Посилання: code.google.com/apis/v8/embed.html
Vitor Py

1
Там також spidermonkeyє Mozillas javascriptparser. Він також є окремим і може використовуватися в будь-якій програмі.
jgauffin

@ dkuntz2 Javascript не просто підходить для "веб-матеріалів" - я використовую node.js як інструмент сценаріїв загального призначення та для розробки настільних додатків.
Андерсон Грін

@VitorBraga Я думаю, що розробка програм із node.js була б одним із хороших варіантів - у ньому є повний набір бібліотек, які корисні для сценаріїв загального призначення, таких як редагування зображень та читання / запис файлів.
Андерсон Грін

Відповіді:


23

Я думаю, що це варто вивчити, тому що це зовсім інше, ніж ваша мова про стан роботи на заводі, і, принаймні, ви навчитеся різній парадигмі програмування.

Чи може він бути корисним де-небудь, окрім браузера? Впевнений: перевірте node.js , який використовує асинхронність javascript для створення чисто неблокуючої платформи розробки та couchapps , що дозволяє створити за допомогою неї весь веб-додаток.

Якщо ви вірите деяким людям, javascript буде головним майбутнім мовою розробки, виключно через його широке використання. Це, безумовно, найпопулярніша мова на github, і майже кожен розробник має певну експозицію до неї. З такими проектами, як node.js, javascript має цікаве майбутнє.


6

Наскільки я знаю, окрім веб-програмування, JavaScript використовується і для якогось нового робочого середовища. Наприклад, GNOME 3 (середовище робочого столу для Linux) за допомогою JavaScript + CSS, щоб дозволити користувачам та розробникам налаштовувати їх робоче середовище.


KDE може також підтримувати це, оскільки QtScript має QtScript, але я не впевнений у цьому.
Vitor Py


3

Хоча Javascript синтаксично орієнтований на повну мову, тощо, але в основному йому не вистачає бібліотек для взаємодії з речами, які ще не вбудовані. Він добре призначений для доступу та зміни XML-даних, наприклад, але насправді не забезпечує багато інтерфейсів. до апаратних засобів.

Це запитання щодо переповнення стека стосується деяких прикладів того, де він є і може бути використаний поза веб-програмуванням.


2

Я б сказав, що мову з динамічними та функціональними можливостями варто вивчити, але це не обов'язково повинен бути Javascript.

LISP сприймає вищезазначені поняття набагато далі, ніж Javascript, і тому вважається відмінною мовою для вивчення, навіть якщо вам ніколи не потрібно використовувати сам LISP.


2

JavaScript може бути використаний для сценаріїв оболонки "з коробки" для обох вікон та Mac:

На мою думку, для Windows це найприємніший вибір, оскільки альтернативами є файли VBScript та BAT (принаймні, якщо ви не можете розраховувати на додаткові встановлення).


Також є PowerShell на Windows.
JBRWilkinson

Наскільки я знаю, PowerShell не встановлений за замовчуванням у версіях Windows до 2008/7.
Joeri Sebrechts

2

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

З технічної точки зору, це все-таки "веб-речі", але він відрізняється тим, що веб-розробники не є (тільки), хто їх використовує.


1

Навчатися поза основам не варто.

Навіть якщо ви працюєте у веб-додатках, але в бекенді, присвятіть свої навчальні ресурси предметам, більше пов'язаним з вашою галуззю. Javascript - це ще одна мова без спеціального повідомлення, яке б значно збагатило вас.


2
Я не погоджуюсь. Це єдина поширена мова, заснована на прототипі. Більше того, серед мов, що широко розповсюджуються, він є однією з найкращих підтримки для закриття. Тож можна дізнатися щось цінне, використовуючи це. Нарешті, це є надзвичайно швидким для інтерпретованої мови.
Андреа

@Llistes_Sugra Якщо ви серйозно дотримуєтесь і вважаєте цю думку, ви недостатньо знаєте JavaScript. Я рекомендую вам дізнатися більше про це і побачити, чи хочете переглянути цю думку; Я майже впевнений, що ви будете
Джей

1

Є інші технології, засновані на Javascript, які ви могли навчитися замість цього, якщо хочете. Вивчення їх, принаймні, дозволить зрозуміти синтаксис javascript, коли ви переходите на нього, читаючи вихідний код для веб-сторінок. І визнаємо це, ми всі кажемо, що не збираємось ніколи робити X , але врешті-решт у якийсь момент ми це робимо. Хоча б трохи.

Хороша мова, схожа на javascript, для перевірки - це нова мова QML Qt , яка є синтаксисом javascirpt, але для звичайного графічного інтерфейсу програми. З нею дуже цікаво грати, і ви дізнаєтесь якийсь JavaScript у процесі написання веб-сторінок.


1

Я збирався додати це як коментар до прийнятої відповіді, але потім зрозумів, що це може бути краще подано як окрему відповідь. Сказане, мається на увазі скоріше як доповнення до прийнятої відповіді, а не конкурентоспроможної відповіді.

Розширення для сценаріїв

Існує багато механізмів Javascript для більшості великих мов, які можна вбудувати в систему. Це робить хорошим вибором для розширення вашої платформи з можливостями сценаріїв і б'є руками придумувати свою власну мову. Ви миттєво отримуєте весь навчальний матеріал, тому отримання ресурсів для налаштування та сценаріїв вашої системи буде набагато простіше.


1

Javascript - чудова основна мова

Це є :

  • потужний
  • легко вчитися
  • підтримує як процедурні, так і об'єктно-орієнтовані парадигми
  • швидко писати і бігати
  • популяризувало багато сучасних мовних понять - закриття, анонімні функції, асинхронне / кероване подіями програмування, динамічні типи / умовиводи
  • має чудові інструменти (редактори, час виконання, інструменти для ворсинок, браузери)
  • має чудову онлайн-підтримку з великою кількістю активних спільнот
  • може виконувати математичні функції
  • має графічні здібності (через HTML / полотно)
  • може використовувати його для написання програм

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

Я бачив, як люди використовують це для стискання чисел / відвалів даних швидше, ніж професійні інструменти, вставляючи свої дані у текстову область HTML сторінки сторінки, яку вони створили з деяким кодом JS позаду для роботи над даними.

Для чого ще це добре?

Вбудовування всередині чогось іншого:

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

Перед тим, як з'явився jQuery / Prototype і весь рух AJAX, вибір JS видався неочевидним - чому б не використати VBA (здригання), щось lex + yacc-здатне або прокатати свою власну мову? Сила JS як мови в поєднанні з багатими віджетами / фреймворками означала не багато коду, необхідного для написання, тому нестандартне рішення було привабливим, оскільки можна було витратити більше зусиль на решту продукту.

Оскільки мова зросла на можливості та швидкість, ставка на JS окупилась. Завдяки більшій кількості розробників, які можуть заробляти JS, найняти роботу також простіше.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.