Programming Mentor
3.24K subscribers
150 photos
1 video
12 files
339 links
Ти живеш, поки вчишся
Download Telegram
Які часи, такі й відосики на каналі.
А взагалі мій пойнт в тому, що наші айтішники мають забезпечити собі умови для роботи, незважаючи ні на що. Це дасть змогу працювати, платити податки і допомагати ЗСУ.
Інакше наша галузь просто перестане існувати.
https://youtu.be/WEe4n165yYA
Найближчі реалії штучного інтелекту в програмуванні. Сам придбав платну підписку GitHub Copilot, і хоча в цілому він продуктивність пришвидшує суттєво, часто треба не по-дитячому розбиратися та правити в тому що він там собі понакодував
Що нас чекає на ринку праці і чи справжній ти сеньйор?

Для нас новини з фронту та обстріли енергентичної інфраструктури на передньому плані, проте не варто упускати події кількох останніх тижнів в американській IT-галузі. А там дійсно коїться дещо нетривіальне: як тільки Маск на початку листопада оголосив про скорочення половини персоналу твіттеру (3,7 тис співробітників), то слідом за ним про масові скорочення оголосили інші компанії. Список очолила Meta зі скороченням понад 11 тис. людей, буквально вчора про скорочення 10 тис. людей оголосили в Amazon, також про це оголосили інші крупні компанії - Intel, Strype, Cameo, Shopify, Coinbase, Lyft. Apple та деякі інші компанії оголосили про зупинку найму. І це все далеко не вичерпний список. Якщо врахувати, що скорочення в галузі відбувалися протягом всього року, то ситуація виходить досить загрозлива.

В твіттері взагалі відбувається якийсь треш. Щоб довести свою цінність розробникам дали вказівку роздрукувати свій свіжий код, потім сказали, що можна не друкувати, бо, виявляється (!), код можна і так подивитися. Але в дійсності код ніхто не дивився, під скорочення потрапляли цілими підрозділами без розбору хто і як там працював. Потім з’явилася інформація, що декого зі звільнених почали кликати назад, бо треба робити фічі, які Маск вже встиг наобіцяти.

Звичайно, що на місці звільнених я би взагалі радив не повертатися. Але вже якщо й повертатися, то просити зарплату в півтора-два рази більшу за попередню. І я переконаний, що в більшості випадків їм змушені будуть її платити, бо просто взяти “людину з вулиці” щоб вона почала закривати складні фічі в крупній продуктовій компанії - то питання навіть не тижнів, а місяців. Навіть супердосвідченому сеньйору потрібно буде півроку-рік, поки він не вийде на той рівень розуміння проекту і технологій, який буде потрібен для продуктивної роботи.

Причому ця особливість притаманна саме продуктовим компаніям, які дуже часто мають величезні обсяги різного легасі, якісь самописні фреймворки та інструменти - це вам не той випадок, коли відкриваєш типовий проєктик на ангулярчику чи реактику і відразу розумієш де що лежить. Тут доведеться перелопатити тони всяких діаграмок та порозбиратися з сорсами, написаних напівзрозумілими мовами та бібліотеками, які існують лише в межах самої компанії. Зверніть увагу, що навіть інтерв’ю в продуктові компанії часто проходить не по конкретним мовам і фреймворкам, а по більш загальним темам Computer Science, алгоритмам і тому подібному - одна із причин саме в тому й полягає, що не можна провести інтерв’ю на знання якоїсь бібліотеки, якої за межами компанії ніхто не знає, треба розраховувати на те, що вдастся взяти людину, яка зможе її швиденько вивчити.

Отже, що робити за такого розкладу?

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

Чи означає, що найм зупиняється в принципі? То навряд - таке можливе хіба за повного колапсу в умовах тотальної світової війни. У всіх інших сценаріях IT-галузь буде продовжувати “поїдати” інші, що вона успішно робила кожної можливості. Останнього разу це було зовсім недавно, під час ковідного карантину. Просто в якийсь момент сама галузь потребує корекції і зазвичай фахівці “перетікають” не лише між компаніями, а і між різними технологіями. Власне це і підтвердив Цукерберг, у своєму зверненні стосовно масових звільнень: компанія сильно зросла саме під час карантину за рахунок постійного росту рекламних доходів, але зараз має скоригувти свою траєкторію, і зупинятися не збирається, просто затягне пояс і продовжить активно рухатися в напрямку метавсесвіту.

Для розробників (і не тільки) варто нагадати просту істину: треба завжди пам’ятати про ризик втрати доходів і слідкувати за витратами, не влізати в непомірні борги та завжди мати можливість забезпечити себе певний час.
Але найважливіше - це бути конкурентним на ринку праці, бо кількість кандидатів на вакансію в якийсь момент починає зростати багатократно і розсилка резюме починає походити на гру в лотерею. Проте насправді це не лотерея, де від вас нічого не залежить, якраз навпаки: від вас залежить все. І на ринку праці не обов’язково бути найкращим, достатньо просто обійти інших кандидатів, які зазвичай бувають вельми посередньої якості.

У цьому контексті я би сказав про те, що серед розробників насправді досить багато “несправжніх” мідлів/сеньйорів, які ставали такими виключно за вислугою років, чи просто тому що стрибали між компаніями, закриваючи гарячі вакансії.

У першому випадку людина не розвивається просто тому, що сидить на якомусь одному проекті з фіксованим стеком технологій і може мімікрувати під сеньйора лише за рахунок знання проекту, а не тому, що вона насправді такий гарний розробник. Насправді коли активна фаза створення проекту вже завершена (архітектурні рішення прийняті, стек технологій сформований та ключові фічі реалізовані), то його підтримка стає значно простішою задачею, і мова не лише про багфіксинг чи внесення змін. Навіть створення нових фіч сильно спрощується за рахунок можливості подивитися як щось вже було зроблено іншими, відповідно від людини можна отримати цілком собі “сеньйорний” код, хоча по-справжньому до такого рівня вона й не доросла. Але промоції в таких випадках зазвичай відбуваються достатньо формально - роки вислуги є, таски закриваються, колеги не скаржаться, значить все ок, можна промоутити.

Інший випадок - це коли розробник часто “стрибає” між роботодавцями з відповідним підвищенням рівня. Таке часто відбувалося в умовах нестачі кваліфікованих людей на ринку - а це майже завжди, крім кризових періодів. То достатньо посередній розробник, що не має особливих перспектив для швидкої промоції на поточній роботі може просто податися на купу вакансій, походити по інтерв’ю та й застрибнути на вищу сходинку без особливих проблем. Хтось смертельно боїться інтерв’ю, але насправді навик проходження інтерв’ю - то окремий навик, здобувається як і все інше - підготовкою та практичним досвідом. І після кількох інтерв’ю стає зрозуміло, що вони дуже схожі як по структурі, так і по питанням, і в їх проходженні немає нічого екстраординарного.

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

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

Потрібно постійно вчитися, дивитися що з’являється новеньке на ринку, куди йдуть тренди, за що гарно платять і т.п. Варто прокачуватися не лише в поточному стеку, а і бавитися з зовсім іншими технологіями просто для загального розвитку, що в сучасних умовах можуть бути всякі там AI, VR, AR, метаверси і тому подібне. Також треба обов’язково тримати свої кодінг скіли актуальними незалежно від того, скільки фреймворків ви вивчили, у цьому допомагають CodeWars, LeetCode, HackerRank.
Дехто в цьому питанні покладається виключно на роботодавця, але то не дуже правильно. Роботодавець насправді далеко не завжди зацікавлений в тому, щоб вас прокачувати, часто йому вигідно щоб ви просто робили ту роботу, яку робите зараз за ті гроші, які отримуєте зараз. Пам’ятайте, що єдиною по-справжньому зацікавленою стороною вашого розвитку є ви, і лише ви.

То власне й самі все знаєте: у будь-якій незрозумілій ситуації качайте скіли.
Як справжній гік, я би не проти завести собі якусь потужну екофлоу. Наприклад, мені подобається Delta 2 за гарний баланс потужності/ємності та портативності, також чи не з моменту анонсу споглядаю за Delta Pro. Проте, якщо думати головою і враховувати поточні захмарні ціни, то це не найкраща покупка зараз, оскільки є чудові альтернативи на основі змінних АКБ ручного та садового інструменту. Оскільки акумуляторним інструментом я користуюся вже багато років, то мені є про що розказати. Запрошую подивитися свіженьке відео на моєму ютубчику https://youtu.be/zCDVl4hlk-E
Тут свіженький StateOfJS вийшов

В полку JS-фреймворків прибуло. Цікавий тренд - використання JSX, завдяки цьому подібність до React і можливість реакт-девелоперам максимально швидко почати їх використовувати. Серед багатообіцяючих новачків Qwik - цікавий фокусом на швидкості завантаження сторінки за рахунок SSR і відмови від процесу hydration, а також SolidJS - схожий на React, але без Virtual DOM. Svelte активно не вистрілив, тим не менше, поступово популярність набирає. Подивимося як воно піде, взагалі я би сказав, що React трохи засидівся на троні.

Серед інструментів цікавий Vite, який максимально оптимізований по швидкості і нарешті вирішує проблему довгого очікування поки підтягнуться npm-пакети. Побудований на його платформі фреймворк для тестування Vitest теж цікавий своєю швидкістю.

Загалом багато цікавого, запрошую досліджувати: https://2022.stateofjs.com/
Так штучний інтелект за освіту, чи проти?

Думаю що 2023-й буде проривним, коли штучний інтелект твердо увійде в людське життя, і комусь від того буде добре, а комусь - зле 🙂

Близько місяця тому ChatGPT вийшов в публічну бету і встиг наробити багато шороху. Я теж недавно добрався до нього, і хочу сказати вам, що ця штука ну прям топчик, власне цей перший ШІ, який на мою думку по-справжньому проходить тест Тюринга.

Нагадаю, що ідея тесту Тюринга дуже проста: чи зможе людина зрозуміти, що спілкується з машиною? Як ні - то тест вважається пройденим. І в спілкуванням з ChatGPT дійсно є відчуття, що спілкуєшся з ерудованою людиною, а не бездушною машиною, це факт. І в роботі він чи подібні системи вже цього року стануть незамінним помічником у багатьох, а когось неповороткого залишить без роботи - теж факт.

Прогнозую, що воно вже прямо зараз почне витісняти професії, і виглядати це буде наступним чином: поступово працівники різних галузей з використанням ШІ будуть продуктивніші ніж ті, хто його не використовує. Залишатися фахівцем доведеться хоча б для того, щоб поставити завдання та валідувати результат, але попит на кількість фахівців в певних галузях почне суттєво скорочуватися саме завдяки тому що людина з ШІ буде 10x продуктивніше за людину без ШІ.

Про те що все до цього рухається я вже говорив/писав кілька останніх років, і про те що воно кодити навчиться швидко, але професію розробника замінить останньою - говорив теж. Бо вміння писати код - то насправді досить чорнова і малокваліфікована складова професії розробника, і немає нічого поганого в тому, щоб її комусь доручити та результат перевірити. Але кваліфікованим людям боятися ШІ не варто, варто почати його використовувати, бо якщо ти умовно не розбираєшся в програмуванні , то наплодити в 10 разів неякісного коду - то не є в 10 разів продуктивніше 🙂
Мало того, скажу, що чекав на щось подібне ще з початку 90-х, бо вже тоді сам процес написання коду здавався архаїчним, оскільки ти занадто багато часу витрачаєш не на обдумування конкретної бізнес-задачі, а на возню з її імплементацією з урахуванням обмеженостей мов/фреймворків. Ще років 30 тому здавалося, що підходи звичайних мов програмування застаріли і пора б вийти на якийсь наступний рівень, схоже, що нарешті дочекався. Як конкретно воно допомагає в програмуванні - розкажу іншим разом.

Але зараз хочу увагу на наступне - тут виявляється освітяни почали плакатися, що ШІ, нібито, якості освіти загрожує, вже навіть перші заборони пішли. Ось це мене вже мене не на жарт розвеселило, я вам скажу. 🙂

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

Загалом університетська робота насправді непильна і своїми бенефітами затягує: півроку це канікули/сесії, де на роботі багато колег може не показуватися взагалі, а в інший час дехто може з’являтися раз на тиждень-два, коли треба приходити “на пари”. Не дивно, що багато з колег хворіє зірковою хворобою, особливо у відношенні до студентів.

Бо ця вся система насправді є каральною по суті, оскільки в руках викладачів є потужний механізм для того щоб вершити долі студентів - це виставляти оцінки та заліки/незаліки, які безпосередньо впливають на долю студента аж до відраховувати з навчання взагалі. Якщо раніше на тему відрахування хлопців часто викладачі жартували “відправити в армію”, то зараз це зовсім не жарт. Деякі викладачі настільки сильно входять в роль, що й до колег починають так ставитися, а якщо врахувати, що серед цих колег є і аспіранти, і викладачі-стажери, які насправді теж є свого роду студентами, то нічого дивного тут немає - з аспірантури теж можна “відправити” туди ж, куди і студента-першокурсника.

Звісно викладачі не всі такі, і є багато по-справжньому відданих своїй справі, і навчати вміють та бажають, але у мене склалося враження, що таких меншість, бо багатьох з тих, хто не був зіпсутим з самого початку, система перемолола в процесі. От чи знаєте ви, лайфхак як визначити статус викладача в універі? Не треба регалій, просто подивіться на його розклад. Якщо там пар обмаль, та й ще й стоять рівненько “без вікон” - то це самий що не на є елітний викладач, хто має зв’язки де потрібно, та й швидше кум/сват/брат якоїсь великої шишки. А от коли пар багато і стоять розсипом - ну ви самі зрозуміли. І таких “ознак” просто безліч, треба просто бути “в темі” щоб розрізняти.

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

Як би ти гарно щось не вивчив, завжди можна задати питання/завдання з яким ти не справишся, щоб занизити оцінку. І навпаки - навіть самому найбільшому невдасі-дармоїду можна “допомогти” з оцінкою/курсовою, та за бажанням на червоний диплом вивести. Навіть аспіранти та докторанти, які самі є “вершителями долей” студентів, є в прямій залежності від наукових керівників, секретарів вчених рад, проректорів і тому подібне. Ну і всюди де є надмірне зловживання владою, там корупція, проплачені оцінки, реферати/курсові/дипломні роботи та, звісно - дисертації і звання.
Але хто взагалі вирішив, що це правильно? Чи не краще було б, якби навчання і оцінювання були двома окремими задачами, які робили б незалежні інституції? І я не якісь риторичні питання задаю, я просто пояснюю модель роботи, за якою давно працюю сам зі своїми колегами, та й так працюють всі незалежні від державно визначеної системи курси, в тому числі онлайн-платформи.

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

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

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

Мало того, на мою думку ШІ має стати просто революційним помічником в освіті, а не противником його. Наприклад, я взяв код студента поглибленої задачі з мого джедайського курсу JavaScript і попросив ChatGPT дати поради щодо його покращення. Він відразу видав чотири рекомендації, три з яких точно є актуальними, а четверта має мало сенсу. Мені навіть не довелося просити його написати покращений код - він зробив це сам, і той став помітно краще. Цікаво, що рішення, яке він видав, не було оптимальним, і він помилився в поясненні time complexity для свого рішення. Але коли я дав йому умову задачі і попросив оптимальне рішення - він видав оптимальний код з першого разу, ще й в додачу пояснив його без помилок. То на моє переконання це просто неймовірний інструмент для навчання, який має суттєво його поліпшити, тому його треба впроваджувати в освіту, а не забороняти!

Тут пригадалося як ще в школі вчителька математики забороняла користуватися калькулятором, вимагала проводити всі обчислення на папері з аргументацією, що “ти ж не будеш весь час з калькулятором ходити”, але доля так склалася, що з калькулятором в телефоні я хочу вже понад два десятиліття, і навряд чи є якісь підстави вважати що якось воно далі по-іншому буде. Аналогічно з ШІ - я вважаю що воно увійде в наше життя дуже швидко і ми в тих же комп’ютерах/телефонах/годинниках чи якихось інших пристроях завжди будемо мати дуже розумного помічника, якому можна доручити чорнову роботу, а самому сфокусуватися на постановці задачі, перевірки результата та уточненнях/правках в процесі, якщо це буде потрібно. Погодьтеся, що це цікаві можливості, до яких треба готуватися, а не забороняти.
Переписку з ChatGPT по задачі додаю окремим зображенням, можете проглянути як це виглядає. Проблема з рішенням студента в тому, що воно має вкладений цикл для обробки даних масиву, відповідно кількість операцій зростає квадратично зростанню кількості даних в масиві. ШІ її ідентифікував і запропонував загалом кращий код, однак ця проблема залишилися, оскільки він замість внутрішнього циклу використав метод indexOf(), який цикл містить всередині, і хоча його складність лінійна, він залишається вкладним в цикл, тому принципово нічого не помінялося. Погано, що ШІ ще й помилився в оцінюванні і вирішив що складність буде О(n), хоча насправді вона буде О(n*n) Лише коли явно попросив оптимальне рішення, надавши умову задачі, тоді вже отримав код, обчислювальна складність якого є лінійною за рахунок того що цикл один, а дані кешуються в словничку, обчислювальна складність доступу до якого є сталою і не залежить від кількості даних.

То який висновок? ШІ має всі шанси здійснити революцію в освіті прямо зараз. Він є тим помічником, що дозволяє не просто розв’язати завдання, а пояснити його, знайти недоліки у вашому рішенні і запропонувати як його покращити. А ще він здатен пояснювати якісь концепції, йому можна задавати питання як вчителю і розжовувати незрозумілі речі. І так, він не є досконалим, може робити помилки, то власне тут і залишається простір для роботи справжнього вчителя. А тій “професурі”, що лише вміє віддати завдання та карати за те щоб не плагіатили, звісно, робити в цьому новому світі нічого. То звичайно вони забороняти будуть, але їх ШІ почне заміняти набагато швидше ніж здається 🙂

Під враженням останніх досягнень ШІ я вже зараз планую інтегрувати ШІ ChatGPT та GitHub Copilot в джедайський курс JS, думаю що група, яка стартує в січні буде в цьому плані дуже особлива - будемо не лише вчитися писати код, а ще й користуватися допомогою ШІ для того, думаю буде дуже цікаво🙂На всякий випадок - сайт курсу тут: https://sj42.programmingmentor.com
chat-gpt-two-sum-problem.png
167.3 KB
Переписка з ChatGPT стосовно задачі, загалом схоже на спілкування з ментором :)
Прогнозую, що 2023-й буде проривним у використанні штучного інтелекту в роботі та особливо в навчанні. Ті школи/університети, що будуть його забороняти - залишаться аутсайдерами, а той, хто знайде можливості правильно використовувати - стануть лідерами нового світу.

Спеціально під запуск чергової групи джедайського курсу з JavaScript, яка стартує сьогодні, записав відео про використання GitHub Copilot для вивчення програмування.
Тут я бачу чотири основні сценарії:
1 - безпосереднє вирішення завдання у тому числі покроково;
2 - виявлення та усунення багів;
3 - допомога у розумінні коду;
4 - покращення коду.

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

В описі до відео додав також посиланнячка на задачі, які демонстрував - спробуйте погратися.

https://youtu.be/_pFcGO7uNLI
Зараз зі стажуваннями непросто, тим не менше, варіанти є, люди періодично на програми стажування йдуть та на роботу влаштовуються також. Для цього треба гарно прокачатися технічно, мати гарні софтскіли та брати наполегливістю. Ось вийшло стаття по моєму вебінару, сподіваюся, буде корисно https://happymonday.ua/yak-potrapyty-na-stazhuvannya-v-it
На днях до мене звернулися з проханням скласти список з топ-10 мов програмування для вивчення у 2023 році. Але тут цікавий нюанс в тому, що є різні причини для вивчення - якщо хочеш роботу прямо зараз, то треба вчити те, за що платять сьогодні, а якщо хочеш бути в тренді і зробити ставку на майбутнє - вивчати треба щось з модного, що набирає оберти. Тому замість одного списку з десяти мов вийшло два по п’ять 🙂
Читайте статтю на сайті SoftServe: https://career.softserveinc.com/uk-ua/stories/top-10-programming-languages-to-learn-in-2023
Ну і де вивчити “дефолтну мову” думаю ви знаєте, недавно відкрито набір на весняну групу джедайського курсу JavaScript: https://sj42.programmingmentor.com
Що означає “script” в JavaScript?

Слово “script” - від так званої “скриптової мови програмування”, якими вважаються “не зовсім серйозні” мови призначені для виконання вузьких задач в певному середовищі. “Не зовсім серйозні” я взяв в лапки тому що це дуже умовно, оскільки будь-яка мова, що повна по Тюрингу може робити ті ж самі задачі, що і всі інші. Тут швидше про область застосування.

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

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

То власне “script” в JS мав би показати що то скриптова мова, і це слово було присутнє як в оригінальній назві “LiveScript”, так є і у стандарті “EcmaScript”, але говорити що JS сприптова мова можна було лише в 90-х, коли та вся історія починалася.

У сучасних браузерах JavaScript-код зазвичай компілюється до байт-коду, який виконується віртуальною машиною. Це забезпечує більш швидку роботу з кодом, порівняно з інтерпретацією JavaScript-коду в режимі реального часу. У кожній конкретній машині то зроблено по-різному, і якщо говорити про гугловський V8, то там взагалі дуже цікаво - спочатку код виконується за допомогою інтерпретатора Ignition, потім його підхоплює неоптимізуючий компілятор Sparkplug, а на завершення вже оптимізуючий TurboFan. Технічна реалізація навіть досконаліше, ніж у багатьох “серйозних” мов.

І звичайно що по області застосування JS набагато більш поширений ніж інші мови, що не вважаються скриптовими. То слово “script” тут - лише історична спадщина.
Як перевірити, наскільки справжній ти програміст - це скільки ти можеш написати коду без Copilot.
Щось поламалося сьогодні, сподіваюся тимчасово, бо вже звик :)
Вихід з IT є :)
Вже півгодини як ChatGPT працює з України, сьогодні запиляю відосик як використовувати для вивчання програмування його :)