Як вивчити мову програмування JavaScript

JavaScript - мова програмування

Визначення

JavaScript – мова програмування, на якій сьогодні працює все – від веб-додатків до мобільних додатків і серверів. Підтримує об’єктно-орієнтований, імперативний і функціональний стилі. Є реалізацією мови ECMAScript (стандарт ECMA-262. ЇЇ популярність різко зросла за останні кілька років, обійшовши такі мови, як Java і PHP.

Назва «JavaScript» є зареєстрованим товарним знаком компанії Oracle Corporation у США.

JavaScript - логотип, бренд, торгова марка

Застосування

JavaScript зазвичай використовується як вбудований мова для програмного доступу до об’єктів додатків. Найбільш широке застосування знаходить в браузерах як мова сценаріїв для додання інтерактивності веб-сторінок.

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

Особливості

Мова має наступні архітектурні риси:

  • динамічна типізація
  • слабка типізація
  • автоматичне керування пам’яттю, прототипне програмування
  • функції як об’єкти першого класу

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

JavaScript - вивчення, навчання

Історія розвитку

JavaScript був створений Бренданом Ейхом в 1995 році. Брендан був прийнятий в компанію Netscape Communication, завданням якої було зробити веб більш динамічним. Через 10 днів, Брендан створив прототип мови, з синтаксисом, дуже схожим на Java. Це був день народження JavaScript.

У 1996 JavaScript був переданий ECMA (Європейська асоціація виробників комп’ютерів), щоб зареєструвати новий стандарт мови. Це призвело до офіційного випуску ECMA-262. Незважаючи на те, що JavaScript вживається частіше, офіційна назва стандарту – ECMAScript.


У 1992 році компанія Nombas почала розробку вбудованої скриптової мови CMM (Сі-мінус-мінус), яка, за задумом розробників, повинна була стати досить потужною, щоб замінити макроси, зберігаючи при цьому схожість із Сі, щоб розробникам не складало труднощів вивчити її. Головною відмінністю від Сі була робота з пам’яттю. У новій мові все управління пам’яттю здійснювалося автоматично: не було необхідності створювати буфера, оголошувати змінні, здійснювати перетворення типів. В іншому мови сильно схожі одна на одну: зокрема, Cmm підтримував стандартні функції і оператори Сі. Cmm була перейменований в ScriptEase, оскільки початкова назва звучала надто негативно, а згадка в ньому Сі відлякувала людей. На основі цієї мови був створений закритий продукт CEnvi. В кінці листопада 1995 року Nombas розробила версію CEnvi, впроваджувану у веб-сторінки. Сторінки, які можна було змінювати за допомогою скриптової мови, отримали назву Espresso Pages — вони демонстрували використання скриптової мови для створення гри, перевірки введення в форми і створення анімації. Espresso Pages позиціонувалася як демоверсія, покликана допомогти уявити, що станеться, якщо в браузер буде впроваджено мова CMM. Працювала вони тільки в 16-бітовому Netscape Navigator під управлінням Windows

Перед Бренданом Эйхом, найнятим в компанію Netscape 4 квітня 1995 року, було поставлено завдання запровадити мова програмування Scheme або щось схоже в браузер Netscape. Оскільки вимоги були розмиті, Ейха перевели в групу, відповідальну за серверні продукти, де він пропрацював місяць, займаючись поліпшенням протоколу HTTP.

У травні розробник був перекинутий назад, в команду, яка займається клієнтською частиною (браузером), де він негайно почав розробляти концепцію нової мови програмування. Менеджмент розробки браузера, включаючи Тома Пакіна, Міхаеля Тоя, Ріка Шелла, був переконаний, що Netscape повинен підтримувати мову програмування, що вбудовується в HTML-код сторінки.

Крім Брендана Ейха, у розробці брали участь співзасновник Netscape Communications Марк Андресс і співзасновник Sun Microsystems Білл Джой: щоб встигнути закінчити роботу над мовою до релізу браузера, компанії уклали угоду про співпрацю в розробці. Вони ставили перед собою мету забезпечити «мову для склеювання» складових частин веб-ресурсу: зображень, плагінів, Java-аплетів, яка була б зручна для веб-дизайнерів і програмістів, що не володіють високою кваліфікацією.

Спочатку мова називалася Mocha, потім була перейменована в LiveScript і призначалася як для програмування на стороні клієнта, так і для програмування на стороні сервера (там він повинен був називатися LiveWire). На синтаксис вплинули мови Сі і Java, і, оскільки Java в той час було модним словом, 4 грудня 1995 року LiveScript перейменували в JavaScript, отримавши відповідну ліцензію в Sun.

Анонс JavaScript з боку представників Netscape і Sun відбувся напередодні випуску бета-версії Netscape Navigator. У ньому декларується, що 28 провідних ІТ-компаній висловили намір використовувати в своїх майбутніх продуктах JavaScript як об’єктну скриптову мову з відкритим стандартом.

В 1996 році компанія Microsoft випустила аналог мови JavaScript, названий JScript. Анонсована вона була 18 липня 1996 року. Першим браузером, що підтримує цю реалізацію, був Internet Explorer 3.0.

За ініціативою компанії Netscape була проведена стандартизація мови асоціацією ECMA. Стандартизована версія має назву ECMAScript та описується стандартом ECMA-262. Першій версії специфікації відповідав JavaScript версії 1.1, а також мови JScript і ScriptEasy.

Критика

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

Визначитися із напрямками

JavaScript - вивчення

Спершу треба зрозуміти, для чого вам потрібен JS
JavaScript – це нативна мова, база, а бібліотеки і фреймворки – все те, що вже “накладається” зверху. Мова програмування “ДжаваСкріпт” клієнтська і виконується на стороні браузера. Грубо кажучи, все навантаження лягає саме на ПК користувача, а не на сервер, як було б у випадку з PHP. Тому кривий скрипт також буде безпосередньо зачіпати клієнта, а не сервер: добре для вас, але погано для користувача.

JavaScript має цілий ряд фреймворків, бібліотек та інших інструментів:

  • jQuery – додаткова бібліотека, здатна полегшити роботу з XHR-запитами і селекторами.
  • Node.js являє собою серверну варіацію JS.
  • Gulp – автоматизація робіт (наприклад по складанню проекту).
  • Webpack замінює собою і Gulp, і багато інших інструментів. Це складальник модулів, який дозволяє зібрати всі js-файли у необхідну кількість пакетів, а також переконатися в правильності порядку зібраних файлів.
  • Angular/Vue/React – виберіть один інструмент з трьох перерахованих. Решта – по мірі необхідності.

Ідеальної послідовності не існує. Все залежить від того, чим ви займаєтеся і на що орієнтовані: фронтенд або full-stack. Вивчати JavaScript ви можете і склавши свій план.

Що робити після опанування теоретичної бази

JavaScript - вивчення з нуля, на курсах

Величезний інструментарій JS і тонни матеріалів з нього. З чого почати?

Для початку перейдіть на будь-який каталог плагінів для JavaScript або jQuery. Знаходьте цікавий, не дуже складний плагін (наприклад карусель, лайтбокс, слайдер і т.п.) і намагаєтеся зробити схожий, тільки краще. Спочатку буде важко, але це буде вже реальне завдання, де ви почнете стикатися з особливостями мови. Ось тут знання і почнуть отримувати якусь структуру у вас в голові.

Якщо ви плануєте майбутнє як фронтенд-фахівець, і хочете писати код для браузерів, то рекомендую почати з вивчення jQuery-фреймворка. Він допоможе уникнути зайвих на даний момент проблем з кросбраузерністю. Наявність jQuery зовсім не скасовує знання JS, там все ті ж змінні, об’єкти, масиви, функції, цикли, умови і т.д.

Не намагайтеся брати відразу складні речі, починайте з малого. Спочатку не беріть до уваги занадто складні книжки та системи самонавчання, до них можна перейти згодом, добре засвоївши основи.

Коли люди намагаються вивчити JavaScript або яке-небудь інше вміння, вони часто стикаються з одними і тими ж проблемами.

Деякі моменти можуть збивати з пантелику, особливо, якщо ви прийшли з іншої мови програмування
Важко знайти час(і, іноді, мотивацію) для вивчення
Коли ви зрозуміли, це легко забути
Інструменти змінюються так швидко, що незрозуміло, з чого почати
На щастя, ці проблеми можуть бути вирішені. У цій статті я збираюся представити вам 6 порад, які допоможуть вам вивчити JavaScript швидше і стати щасливим, більш продуктивним програмістом.

1. Не дозволяйте майбутнім рішенням зупиняти вас від розвитку зараз

Багато початківці вивчати JavaScript задаються питанням, який фреймворк почати використовувати. Але, якщо ви ще погано знаєте чистий JavaScript, то це неправильно ставити таке питання. Ви будете витрачати весь свій час на пошуки різних фреймворків, а не рухатися вперед у своєму розвитку.

Один із способів вирішення цієї проблеми – це мати список того, чого ви повинні навчитися. Наприклад, щоб стати фронт-енд розробником, ваш список повинен виглядати так:

  • HTML
  • CSS
  • JavaScript
  • JQuery
  • Можливо, який-небудь фреймворк
  • Основи GitHub
  • Основи WordPress
  • Хостинг

Вивчивши все це, ви зможете створити функціональну сторінку тільки з допомогою html і css. Маючи такий список, вам буде легше зрозуміти, що потрібно вивчати зараз, і не витрачати час на те, що слід вивчати пізніше.

2. Не дозволяйте собі забувати те, що вже вивчили

Вивчення чого-то занадто швидко може стати однією з найбільш руйнівних речей у вашому вивченні JavaScript. Дозвольте мені пояснити.

Коли ви читаєте щось і відразу це розумієте, ви можете спокуситися і почати вивчати щось далі негайно. Можливо, ви зрозумієте і наступну тему і почнете вивчати наступну. Але незабаром ви дійдете до точки, коли зрозумієте, що ви забули якусь із попередніх тем і вам потрібно вернутья назад і згадати її. Ви швидко проглядываете попередню тему, щоб освіжити її в пам’яті, і рухаєтеся далі. Але тепер ви розумієте, що щось забули. Ви продовжуєте цей танець туди-сюди до тих пір, поки не розумієте, що ви повністю загубилися. Ви збентежені, берете перерву і потім, коли вирішуєте продовжити навчання, розумієте, що забули абсолютно все.

На щастя, є кілька простих кроків для вирішення цієї проблеми:

Обмежте кількість матеріалу, який ви вивчаєте за раз
Практикуйтеся – пишіть код
Коли ви вивчили якусь тему, відразу ж попрактикуйтесь, відчуйте себе комфортно при написанні коду і навіть постарайтеся поєднати цю тему з попередніми, вже вивченими.

3. Підходьте до практики правильно

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

Спробуйте наступне:

Що, якщо ви вивчили нову тему з JavaScript, але не попрактикувалися? Як ви будете себе почувати? Особисто я був би засмучений. Це виглядає так само, як якщо б купили дитині нову іграшку, але не дозволили б пограти з нею.

Коли ви вивчаєте що в JavaScript, уявляйте, що ви граєте з новою іграшкою, автомобілем, парою черевиків або чим-небудь ще, що вам подобається. <Потім сприймайте практику не як роботу, а як гру. Зробіть що-небудь круте з вашими новими знаннями. Здивуйте себе. Покажіть своїм друзям.

Сприймаючи вивчення чого-то в ігровій формі, ви здобудете швидше, будете пам’ятати їх довше і це буде вам в радість.

4. Знайдіть час для програмування, використовуючи Facebook трюк

Одна з найчастіших проблем, яка є у людей, це те, що вони не можуть знайти час для програмування, але ті ж люди дуже часто проводять час на таких сайтах, як Facebook, YouTube, Wikipedia або Reddit. Не важливо, стосується це вам чи ні, ви все одно знайдете, чого тут повчитися.

У мене дійсно був час, коли я тільки й хотів, що сидіти в Facebook, але я не проводив там годинник. Як так вийшло? А сталося це тому, що я і не збирався залишатися там довго. Почати працювати над чимось – це найважча частина, тому, зберігаючи первісне зобов’язання, мені здається це зробити простіше. Якби хтось запитав мене, я готовий проводити години в Facebook, я б відповів немає, тому що у мене немає часу на це. Мені більше подобається заходити туди, щоб щось перевірити по-швидкому, і тільки.

Хороші новини в тому, що ви можете використовувати цей метод при вивченні програмування. Не беріть на себе зобов’язання провести кілька годин за написанням коду, тому що тоді у вас ніколи не буде на це часу. Просто скажіть собі, що ви збираєтеся спробувати якийсь код протягом трьох хвилин і ви більше ніколи не будете шукати час на практику.

5. Думайте повільніше і ви будете вивчати швидше

Це суперечить здоровому глузду, тому я поясню це історією.

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

“Почекай!” – сказав я йому. “Не квапся і розкажи мені кожен крок цього коду”.

Мій друг продовжив говорити мені про коді загалом.

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

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

У подібних випадках краще думати повільніше, і ви будете вчитися швидше.

6. Пишіть складний код простою мовою

Якщо шматок коду здається складним або незнайомим, напишіть його спочатку на простому мовою. Таким чином, ви зможете з’ясувати, що ви хочете, щоб код робив перед тим, як ви його напишіть. Ось дві переваги такого підходу:

Ваш код буде легше і швидше написати, тому що вам не доведеться періодично зупинятися, щоб обміркувати, як ви хочете, щоб він себе вів
Ви знайдете помилки перед тим, як вони відбудуться, тому що у вас буде чітке уявлення, що слід робити кодом

Підхід до навчання

Ми розглянули купу способів, які допоможуть вам вивчити JavaScript швидше, але ви можете застосувати їх і для інших умінь. Ось короткий зміст того, що ми розглянули:

  • Перестаньте турбуватися про майбутні рішення і пориньте у вивчення зараз
  • Зробіть практику веселою, представляючи нові вміння, як нові іграшки
  • Знайдіть час для програмування так само, як ви знаходите його на соц. мережі
  • Не поспішайте, робіть все поступово, і ви будете вчитися швидше

Висновок

Повністю вивчити JS дуже важко, всі мови програмування дуже обширні, у кожної з них є бібліотеки і т.д. Проте за умови навчання 3-4 годин в день, за 2-3 місяці можна освоїти базові основи і невелику кількість додаткових знань. Завчити базовий синтаксис можна і за тиждень, а ось використовувати його треба вчитися довго. Якщо вчитися на курсах, то справа піде швидше, але курси щось не щоденні так що час розтягнеться. Якщо бути самоучкою і без “таланту” то піде багато часу просто на розбір того як будуються алгоритми.

Як підсумок кілька варіантів розвитку подій:

  1. З курсами: результат буде йти повільно але впевнено, буде багато вільного часу тому курси не щоденні але це збільшить період вивчення до 3 місяців так точно.
  2. Без курсів і без розуміння алгоритмів: результат буде йти повільно, будуть зустрічатися тупики, невеликі нерозуміння і годинник пошуку рішень і їх розбір, теж займе 3-4 місяців і забере багато часу, але зате безкоштовно і далі можна буде продовжити більш глибоке навчання самостійно.
  3. Без курсів і з розумінням алгоритмів: все пройде гладенько і швидко, тупики будуть але набагато рідше, швидше за все рішення шукати і не доведеться, вільного часу буде мало, але безкоштовно і всього за місяць-півтора.

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


Дивіться також: Як вивчити веб-дизайн

Поділитись:
Теги

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *