Е голям ентусиаст е твоя приятел да казва, че на JavaScript ще се научиш най-лесно
)) Определено лесно се подкарва, трябва ти единствено текстов редактор и браузър. Можеш да си пишеш функцийки, да си събираш числа и такива елементарни работи по-бързо, отколкото аз пиша този пост. Но лесното свършва тук. Бързо ще откриеш, че е цяла Вселена. JavaScript е само слънцето, около което се въртят други неща като HTML, CSS, NodeJS, TypeScript, React, Webpack и мнооого други. JavaScript не е себедостатъчен. Но е интересен свят.
Само ако ти е интересно да правиш неща за front-end. Тогава ще ти трябват и HTML+CSS. Ако проучиш историята на JavaScript, през по-голямата част от съществуването си е могъл да работи само на браузъра.
- Някога ролята му се е изчерпвала с това да местиш разни елементи насам-натам, да засичаш кога и къде някой е кликнал и в общи линии да добавяш някаква елементарна интерактивност в браузъра.
- По едно време добавиха Ajax - възможността да изпращаш заявки към сървър и така да получаваш данни без да се презарежда страницата. Малко след това се появи Facebook, който използва тези възможности и като сайт изглеждаше доста по-различно от всичко останало.
- Преди 10-тина години се появява NodeJS, което позволява JavaScript да се използва и извън браузъра. Така вече се използва и за back-end.
- Пак през последните години (даже по-малко от 10) се развива самия език, добавя се синтаксис за значително по-лесно писане на код. Класове, querySelector, async-await и други благинки. Различни библиотеки се налагат, такива които също целят по-лесното писане на код. За front-end това са Angular, React, Vue и подобни. TypeScript пък добавя типизация на променливите, което е добре за по-големи проекти.
JavaScript си има своите недостатъци, заради това ги има всички тия библиотеки, с които тепърва ще се запознаеш. Но с времето се развива, защото към него има огромен интерес. Все още е най-добър за уеб, това е неговото специфично амплоа. Но кой знае, може с времето да го направят да се конкурира с бързите езици по performance и да започне да се използва и за различни цели.
Все пак имай предвиди, че синтаксиса е едно, а машината (превръщането на синтаксиса в програма е и използването на тази програма) е съвсем друго. Дори имат различни имена тези неща. Синтаксиса е
ECMAScript, а най-често използваната машина е
V8 на Google. Т.е. когато пишеш програма на JavaScript, ти я пишеш по спецификациите на ECMAScript, след което този синтаксис се превръща в програма и прави каквото трябва да прави заради V8. И двете неща се развиват с времето. При синтаксиса се появяват неща от другите езици. Нямам търпение да му добавят типизация, че май само това остана. Докато машината се развива откъм performance. Тук чакам някой ден да направят възможност кода да се компилира преди да се използва.
Накратко, от гледна точка на научаване на програмиране, може би има по-правилни езици за това, защото самия JavaScript е доста forgiving и дори предразполага писането на
. Но при JavaScript е по-интересно, някак те въвлича