За що я люблю веб-розробку - так це за те, що тут постійно все бурлить і розвивається, нудьгувати не доводиться :)
Сьогодні вийшла моя велика стаття на DOU, enjoy: https://dou.ua/lenta/articles/web-development-status-2020/
Сьогодні вийшла моя велика стаття на DOU, enjoy: https://dou.ua/lenta/articles/web-development-status-2020/
ДОУ
Веб-розробка: вчора, сьогодні, завтра
Історія часто цинічно жартує з людськими винаходами: далеко не завжди задумане ставало реальністю, дуже часто реальністю ставало те, що задуманим не було. Схоже, вся історія вебу й відповідно веб-розробки — те, із чого воно все починалося, як розвивалося…
Минуло п'ять місяців з запуску мого унікального практичного курсу по JavaScript - ScriptJedi42, де навчання йде онлайн, але з повною моєю підтримкою протягом 42-х днів - я пояснюю всі складні речі і персонально переглядаю кожен рядок коду, який пишуть учасники курсу.
Саме час поділитися певними досягненнями та новинами.
🔥 Перше - курс виявився дуже вдалим, вже маємо кілька десятків випускників. Ті, хто дійшли до фінішу і отримали від мене сертифікат Джедая - у своїй більшості вже проходять стажування чи знайшли роботу. Цікаво, що на курсі чисто JS, немає фреймворків, то після завершення раджу не роботу шукати, а довчитися на курсах чи практиці, направляю в SoftServe IT Academy, але маємо що маємо - дехто йде прямо на роботу і отримує особливу подяку за глибокі знання JS :)
🔥Друге - з цього року не треба чекати дату початку курсу, щоб почати навчатися - відразу після реєстрації відкривається доступ до варіанту "Соло" зі всією теорією і завданнями, і можна починати готуватися. Дата старту курсу - це момент, під час якого з'являються дедлайни і треба здавати завдання на рев'ю, а також я активно включаюсь в консультування. Ті, хто зареєструвалися раніше - мають більше часу підготуватися.
🔥Третє - на курс приходять люди з різним рівнем підготовки - від абсолютних початківців до практикуючих розробників. Завдання у всіх однакові, а складність визначається результатом. З цього року ми трохи змінюємо правила. Є два рівні - Джедай і Падаван. Сертифікат Джедая означає, що ти вже вивчив JS достатньо, щоб робити за його допомогою що завгодно, і планка необхідної успішності піднімається з 80% до 84%. Падаван означає, що ти вже не повний новачок, і здатен за допомогою JS вирішувати нескладні прикладні завдання (а таких на фронтенді більшість), то планка зменшується з 50% до 42%.
🔥Четверте - оскільки за вікном 2020, то ми починаємо вивчати EcmaScript 2020 - він ще не вийшов, але його ключові нововведення вже фіналізовані - динамічні імпорти, новий тип даних BigInt, приватні члени класів, опційні ланцюжки викликів і багато іншого.
🔥П'яте - оскільки всі учасники курсу будуть отримувати доступ до версії "Соло", і саме в ній будуть всі актуальні свіжі матеріали, то це означає, що у кожного, хто зареєструвався на курс буде завжди до них доступ, незалежно від того, коли його проходив. Для всіх, хто курс проходив раніше, я доступ надам :)
🔥🔥Для тих, хто дочитав до кінця - дарую знижку на 2 тис. грн. від поточної ціни курсу у варіанти Джедай чи Ситх за промокодом, час його дії обмежений, починаємо навчання 27-го січня: BECOMEJEDI2020
🔥🔥🔥Ну і самий класний відгук, який довелося отримати: "Ваші курси хочеться забути, щоб потім пройти заново" :) :) :)
Саме час поділитися певними досягненнями та новинами.
🔥 Перше - курс виявився дуже вдалим, вже маємо кілька десятків випускників. Ті, хто дійшли до фінішу і отримали від мене сертифікат Джедая - у своїй більшості вже проходять стажування чи знайшли роботу. Цікаво, що на курсі чисто JS, немає фреймворків, то після завершення раджу не роботу шукати, а довчитися на курсах чи практиці, направляю в SoftServe IT Academy, але маємо що маємо - дехто йде прямо на роботу і отримує особливу подяку за глибокі знання JS :)
🔥Друге - з цього року не треба чекати дату початку курсу, щоб почати навчатися - відразу після реєстрації відкривається доступ до варіанту "Соло" зі всією теорією і завданнями, і можна починати готуватися. Дата старту курсу - це момент, під час якого з'являються дедлайни і треба здавати завдання на рев'ю, а також я активно включаюсь в консультування. Ті, хто зареєструвалися раніше - мають більше часу підготуватися.
🔥Третє - на курс приходять люди з різним рівнем підготовки - від абсолютних початківців до практикуючих розробників. Завдання у всіх однакові, а складність визначається результатом. З цього року ми трохи змінюємо правила. Є два рівні - Джедай і Падаван. Сертифікат Джедая означає, що ти вже вивчив JS достатньо, щоб робити за його допомогою що завгодно, і планка необхідної успішності піднімається з 80% до 84%. Падаван означає, що ти вже не повний новачок, і здатен за допомогою JS вирішувати нескладні прикладні завдання (а таких на фронтенді більшість), то планка зменшується з 50% до 42%.
🔥Четверте - оскільки за вікном 2020, то ми починаємо вивчати EcmaScript 2020 - він ще не вийшов, але його ключові нововведення вже фіналізовані - динамічні імпорти, новий тип даних BigInt, приватні члени класів, опційні ланцюжки викликів і багато іншого.
🔥П'яте - оскільки всі учасники курсу будуть отримувати доступ до версії "Соло", і саме в ній будуть всі актуальні свіжі матеріали, то це означає, що у кожного, хто зареєструвався на курс буде завжди до них доступ, незалежно від того, коли його проходив. Для всіх, хто курс проходив раніше, я доступ надам :)
🔥🔥Для тих, хто дочитав до кінця - дарую знижку на 2 тис. грн. від поточної ціни курсу у варіанти Джедай чи Ситх за промокодом, час його дії обмежений, починаємо навчання 27-го січня: BECOMEJEDI2020
🔥🔥🔥Ну і самий класний відгук, який довелося отримати: "Ваші курси хочеться забути, щоб потім пройти заново" :) :) :)
Маю звичку на початку року продовжувати свої домени - так не треба слідкувати за продовженням протягом року.
Певну кількість доменів тримаю на godaddy, і для них раніше завжди легко можна було нагуглити купон на знижку, але чомусь останнім часом з купонами проблема. То вже пару років використовую лайфхак - якщо валюту поставити на індійські рупії, то ціна в еквіваленті виходить нижче відсотків на 20% ніж в гривнях чи доларах. Користуйтеся :)
Певну кількість доменів тримаю на godaddy, і для них раніше завжди легко можна було нагуглити купон на знижку, але чомусь останнім часом з купонами проблема. То вже пару років використовую лайфхак - якщо валюту поставити на індійські рупії, то ціна в еквіваленті виходить нижче відсотків на 20% ніж в гривнях чи доларах. Користуйтеся :)
Слухаю багато подкастів - це зручно десь в дорозі. Далеко не все варте уваги, але часто зустрічаються цікаві речі, то буду ділитися з вами. Це з випуску React Podcast листопада минулого року, але надзвичайно цікаво - Kitze, автор браузера для розробників Sizzy ділиться досвідом про те як вижити в сучасному світі хайп-дрівен розробки. Взагалі айтішна галузь цим хворіє, а у вебі та на фронтенді хвороба проявляється особливо - люди постійно бігають за чимось новим, потім його затьмарює щось інше, і вони знаходяться у нескінченному пошуку досконалості. Kitze досить добре розказує що з цим робити. Ще мені сподобалися його думки про open source і про те як слід будувати комерційні продукти.
Можете сміливо пропускати три перших хвилини - там реклама. Посилання на подкаст
Можете сміливо пропускати три перших хвилини - там реклама. Посилання на подкаст
Черговий подкаст, дуже добре підходить для вихідного - гра в Jeopardy про фронтенд. Присутні питання, які задають на інтерв'ю. Можна слухати питання, ставити на паузу і пробувати відповідати до того, як це роблять учасники. На мою думку питання могли бути і дещо складнішими :)
Початок цього року відзначився цікавою подією - відомий сервіс з пошуку роботи Glassdoor опублікував рейтинг найкращих професій в США, і вперше це місце посіла професія Front End Engineer, потіснивши з трону Data Scientist, що трималася там чотири роки поспіль. До уваги приймається рівень зарплат, задоволеність роботою та кількість вакансій. Цікаво, що Java Developer на другому місці, а Software Engineer на сьомому. Зверніть увагу, що рівень зарплат на першому і сьомому практично ідентичний, а от друге місце суттєво відстає. Трохи дивний рейтинг. Але загалом вихід фронтендщиків на перше місце закономірне - давно спостерігаю тенденцію, що бекенд спрощується, перетворюється на сервіс, і вирішення справжніх задач користувача в значній мірі мігрував на фронтенд. Також показове детронування датасатаністів - схоже трохи хайп з біг дейта і т.п. згасає, а гроші як були у вебі, так і залишаються там у найближчому майбутньому. Очікую, що такі новини вплинуть на конкуренцію Python/JavaScript на користь останнього.
Нарешті реліз Angular 9 - досить важлива версія фреймворку, у ньому новий двигун рендерингу Ivy, який використовує так званий "Incremental DOM" що обіцяє суттєво збільшити швидкість роботи та зменшити розмір бандлів. Плюс багато інших дрібніших покращень. Місяць тому я робив огляд нових можливостей Angular 8&9 у форматі закритого тренінгу. До запису доступ обмежений, але лінком на слайди поділитися можу, там витяжка всього найціннішого:
https://slides.com/p-m/angular-8-9#/
https://slides.com/p-m/angular-8-9#/
Slides
Angular
A presentation created with Slides.
Люблю відвідувати різні івенти і всім іншим раджу - незалежно від того, чи шукаєте роботу, чи вже маєте - треба ходити на конференції, мітапчики, воркшопи і тому подібне. Вчора дуже фаново провів вечір - прийняв участь у змаганнях JS-розробників InLoveWithCode.js. Треба було закодити ботика, який рухається по лабіринту, сам в ньому орієнтується, уникає перешкод і збирає золото. Дуже весело, але ні разу непросто насправді, враховуючи що час обмежений і за перше місце змагається кілька десятків людей :) Нажаль перше місце не взяв, хоча шанси були - в останні хвилини мій ботик почав добре наздоганяти, але інші були проворніші. Тим не менше, в топ призерів потрапив, додому повернувся з чесно заробленим трофеєм, ну а найприємніше - своїх випускників там зустрів :)
Кому цікаво, то організатори сервер не зупили, він працює навіть зараз, можна побавитися, деякі учасники продовжуть це робити, я для задоволення ЧСВ все-таки перше місце взяв, щоб було що заскріншотити :)
Лінк на сервер тут, реєстрація і всі правила: http://34.65.11.123/codenjoy-contest
Кому цікаво, то організатори сервер не зупили, він працює навіть зараз, можна побавитися, деякі учасники продовжуть це робити, я для задоволення ЧСВ все-таки перше місце взяв, щоб було що заскріншотити :)
Лінк на сервер тут, реєстрація і всі правила: http://34.65.11.123/codenjoy-contest
Можна сказати, що Дуглас Крокфорд - це друга людина після в світі JS після Брендона Айка, його автора. Бо саме Дуглас здійснив неоціненний вклад у збільшення популярності мови за рахунок своєї книжки "JavaScript: the Good Parts", а ще далеко не кожен розробник знає, що саме він є автором формату даних JSON.
Власне тому раджу послухати подкаст з Дугласом про його історію в JS
Ну і ще можу порадити його досить свіженьку книжку - How JavaScript Works, саме зараз читаю.
Власне тому раджу послухати подкаст з Дугласом про його історію в JS
Ну і ще можу порадити його досить свіженьку книжку - How JavaScript Works, саме зараз читаю.
Нерідко навіть досвідчені люди роблять помилки в простих речах. І особливо часто це можна сказати про HTML. Дуже корисна розмова про семантичний HTML
Google Podcasts
JavaScript Jabber - JSJ 421: Semantic HTML with Bruce Lawson
Bruce Lawson is an expert in and proponent of semantic HTML. After receiving some good natured ribbing, Bruce walks the panel through the benefits of semantic HTML. He provides several examples on how it's used and in particular how it helps with other issues…
👧Сьогодні вдалий день написати про гендерну рівність в IT. Традиційно вважається, що вся та айтішна тема, особливо, якщо говорити про програмування - то не для дівчат. Однак мій власний досвід говорить, що це зовсім не так, і якихось підстав вважати, що дівчата опановують програмування гірше за хлопців абсолютно немає.
👩Особливо, якщо взяти до уваги, що першою програмісткою в світі була Ада Лавлейс, яка складала програми для комп'ютера, що існував лише на папері майже двісті років тому. Цікаво, що вона не просто була програмісткою, а винайшла програмування як таке, і придумала деякі базові терміни, такі як "цикл", наприклад.
Інша видатна жінка в програмуванні - це Грейс Хоппер, яка відома тим, що розробила мову програмування COBOL та першою ввела поняття "bug" в програмування. Історія COBOL цікава тим, що Грейс Хоппер робила її як "мову програмування з людським обличчям", яка дозволяла б зрозуміло записувати дії, максимально наближено до людської мови. Ця ідея виявилася особливо вдалою, до неї чомусь не могли дійти чоловіки, і COBOL існує вже понад 60 років, займаючи в деяких галузях просто непохитні позиції. Наприклад, вважається, що понад 90% всіх транзакцій у світі, які йдуть через банкомати, обробляються програмами, написаними мовою COBOL.
🤷♀️Взагалі, коли говорять про складність програмування, то часто це стереотип, який відлякує людей, що схильні вірити в стереотипи.
Насправді програмування буває дуже різним, і достатньо почати з чогось, а потім систематично розвиватися. Цікаво, що зазвичай більшість того коду, який пише типовий розробник джуніор-мідл рівня протягом дня є досить простим і не передбачає якихось особливих знань вище математики третього класу, приблизно на тому ж рівні, на якому виглядає типовий рецепт в кулінарній книзі.
👧🏻І я зовсім не жартую. Саме поняття "алгоритм" простими словами означає не більше ніж "послідовність дій". І рецепт в кулінарній книзі - це і є типовий алгоритм, який описує послідовність дій, щоб приготувати страву. Він також передбачає елементарні арифметичні дії, особливо якщо треба відхилитися від описаної в рецепті кількості порцій. Єдина принципова особливість кулінарного рецепту від коду програми полягає в тому, що рецепту не обов'язково дотримуватися вельми точно, можливі незначні відхилення, проте результат від цього не завжди постраждає. В той же час програмний код потрібно писати дуже чітко, навіть один невірний символ може бути причиною того, що він не буде працювати.
👩🎤До речі, якщо говорити про складність мов програмування, то я би згадав про таку річ, як словниковий запас мови - перелік ключових чи зарезервованих слів. Більшість людей сильно дивується, коли дізнається про те, що кількість цих слів є вельми невеликою, особливо якщо порівнювати з людськими мовами. Наприклад, у Java таких слів 51, у сучасному JavaScript - 49, а є мови, де їх значно менше, наприклад, у Python - 33, а в GO всього лише 25. Порівняйте це зі 100 тис. слів в англійській мові. І ви ще будете вірити, колись хтось буде говорити, що програмування вивчити складніше, ніж англійську?
Цікаво, що володіння англійською не передбачає знання всіх слів, і словниковий запас у людини без освіти це порядка 10 тис. слів, а з освітою - 20 тис. слів. Аналогічно в програмуванні - 25 слів у GO зовсім не означають, що вивчити мову вдічі простіше, ніж JavaScript, у якої ключових слів 49. Просто використовуються вони також з різною частотою, і для старту достатньо опанувати всього десяток-півтора ключових слів, які використовуються у всіх найбільш поширених конструкціях мови.
👩Особливо, якщо взяти до уваги, що першою програмісткою в світі була Ада Лавлейс, яка складала програми для комп'ютера, що існував лише на папері майже двісті років тому. Цікаво, що вона не просто була програмісткою, а винайшла програмування як таке, і придумала деякі базові терміни, такі як "цикл", наприклад.
Інша видатна жінка в програмуванні - це Грейс Хоппер, яка відома тим, що розробила мову програмування COBOL та першою ввела поняття "bug" в програмування. Історія COBOL цікава тим, що Грейс Хоппер робила її як "мову програмування з людським обличчям", яка дозволяла б зрозуміло записувати дії, максимально наближено до людської мови. Ця ідея виявилася особливо вдалою, до неї чомусь не могли дійти чоловіки, і COBOL існує вже понад 60 років, займаючи в деяких галузях просто непохитні позиції. Наприклад, вважається, що понад 90% всіх транзакцій у світі, які йдуть через банкомати, обробляються програмами, написаними мовою COBOL.
🤷♀️Взагалі, коли говорять про складність програмування, то часто це стереотип, який відлякує людей, що схильні вірити в стереотипи.
Насправді програмування буває дуже різним, і достатньо почати з чогось, а потім систематично розвиватися. Цікаво, що зазвичай більшість того коду, який пише типовий розробник джуніор-мідл рівня протягом дня є досить простим і не передбачає якихось особливих знань вище математики третього класу, приблизно на тому ж рівні, на якому виглядає типовий рецепт в кулінарній книзі.
👧🏻І я зовсім не жартую. Саме поняття "алгоритм" простими словами означає не більше ніж "послідовність дій". І рецепт в кулінарній книзі - це і є типовий алгоритм, який описує послідовність дій, щоб приготувати страву. Він також передбачає елементарні арифметичні дії, особливо якщо треба відхилитися від описаної в рецепті кількості порцій. Єдина принципова особливість кулінарного рецепту від коду програми полягає в тому, що рецепту не обов'язково дотримуватися вельми точно, можливі незначні відхилення, проте результат від цього не завжди постраждає. В той же час програмний код потрібно писати дуже чітко, навіть один невірний символ може бути причиною того, що він не буде працювати.
👩🎤До речі, якщо говорити про складність мов програмування, то я би згадав про таку річ, як словниковий запас мови - перелік ключових чи зарезервованих слів. Більшість людей сильно дивується, коли дізнається про те, що кількість цих слів є вельми невеликою, особливо якщо порівнювати з людськими мовами. Наприклад, у Java таких слів 51, у сучасному JavaScript - 49, а є мови, де їх значно менше, наприклад, у Python - 33, а в GO всього лише 25. Порівняйте це зі 100 тис. слів в англійській мові. І ви ще будете вірити, колись хтось буде говорити, що програмування вивчити складніше, ніж англійську?
Цікаво, що володіння англійською не передбачає знання всіх слів, і словниковий запас у людини без освіти це порядка 10 тис. слів, а з освітою - 20 тис. слів. Аналогічно в програмуванні - 25 слів у GO зовсім не означають, що вивчити мову вдічі простіше, ніж JavaScript, у якої ключових слів 49. Просто використовуються вони також з різною частотою, і для старту достатньо опанувати всього десяток-півтора ключових слів, які використовуються у всіх найбільш поширених конструкціях мови.
(Продовження попереднього посту...)
👸Потім все те треба закріпляти і розвивати, пропускаючи через практику, як і в будь-якій галузі, хоч в тому ж куховарінні. Власне саме сьогодні моя донька, якій ще немає 12 років, але вважає себе достатньо дорослою, вирішила зробити торт, і окремо попросила батьків не заважати. Ми придбали інгредієнти, далі вона сама відкрила ютуб і по якомусь відео почала все те робити. "Куховарила" десь пару годин, потім почала гучно кликати на допомогу, поки я біг на кухню протягом кількох секунд, вже встиг злякатися і подумав, чи часом не покалічилася вона там. Виявилося, що загорілася ганчірка, вона кинула її на підлогу і кричала, бо не знала що з тим робити, цього на відео в ютубі не було. Я швидко кинув ту ганчірку в мийку та ввімкнув воду, все вирішилося, на майбутнє вже буде знати що робити з тим і вона. Це невигаданий приклад того, чим відрізняється навчання самостійно від навчання під чиїмсь керівництвом - завжди щось може піти не так і важливо, щоб хтось був поруч, щоб прийшов на допомогу.
👩💻Цікаво, що моя донька в її неповні 12 вже програмує краще ніж куховарить - пише якийсь код по туторіалам з ютубу, може навіть робити примітивні сайти по відеозаписам моїх занять. Мене це дуже тішить, і зайвий раз дає переконатися, що помиляються ті, хто говорить, що воно не для дівчат. Власне основна риса, яка потрібна щоб те все опанувати - це цілеспрямованість і бажання приділяти час, звертатися за допомогою, якщо щось не виходить. Це не залежить від статі.
🏃🏻♀️На моєму джедайському курсі з JavaScript дівчата показують себе нічим не гірше за хлопців, що лише зайвий раз підтверджує все написане раніше.
Наступна група починає навчатися вже за тиждень, з 16-го березня. Спеціально для дівчат дарую код на знижку 1500 грн. від поточної ціни курсу "Джедай", використовуйте купон "BELIKEADA". Діє лише сьогодні і завтра до кінця доби, раніше реєструватися вигідніше, бо потім ціна зростає. Враховуючи цю знижку - це найнижча можлива ціна курсу, так би мовити - мій особистий внесок у виправлення гендерної нерівності в IT.
Посилання на сторінку курсу
👸Потім все те треба закріпляти і розвивати, пропускаючи через практику, як і в будь-якій галузі, хоч в тому ж куховарінні. Власне саме сьогодні моя донька, якій ще немає 12 років, але вважає себе достатньо дорослою, вирішила зробити торт, і окремо попросила батьків не заважати. Ми придбали інгредієнти, далі вона сама відкрила ютуб і по якомусь відео почала все те робити. "Куховарила" десь пару годин, потім почала гучно кликати на допомогу, поки я біг на кухню протягом кількох секунд, вже встиг злякатися і подумав, чи часом не покалічилася вона там. Виявилося, що загорілася ганчірка, вона кинула її на підлогу і кричала, бо не знала що з тим робити, цього на відео в ютубі не було. Я швидко кинув ту ганчірку в мийку та ввімкнув воду, все вирішилося, на майбутнє вже буде знати що робити з тим і вона. Це невигаданий приклад того, чим відрізняється навчання самостійно від навчання під чиїмсь керівництвом - завжди щось може піти не так і важливо, щоб хтось був поруч, щоб прийшов на допомогу.
👩💻Цікаво, що моя донька в її неповні 12 вже програмує краще ніж куховарить - пише якийсь код по туторіалам з ютубу, може навіть робити примітивні сайти по відеозаписам моїх занять. Мене це дуже тішить, і зайвий раз дає переконатися, що помиляються ті, хто говорить, що воно не для дівчат. Власне основна риса, яка потрібна щоб те все опанувати - це цілеспрямованість і бажання приділяти час, звертатися за допомогою, якщо щось не виходить. Це не залежить від статі.
🏃🏻♀️На моєму джедайському курсі з JavaScript дівчата показують себе нічим не гірше за хлопців, що лише зайвий раз підтверджує все написане раніше.
Наступна група починає навчатися вже за тиждень, з 16-го березня. Спеціально для дівчат дарую код на знижку 1500 грн. від поточної ціни курсу "Джедай", використовуйте купон "BELIKEADA". Діє лише сьогодні і завтра до кінця доби, раніше реєструватися вигідніше, бо потім ціна зростає. Враховуючи цю знижку - це найнижча можлива ціна курсу, так би мовити - мій особистий внесок у виправлення гендерної нерівності в IT.
Посилання на сторінку курсу
Якось один знайомий професор сказав, що основне завдання системи вищої освіти в нашій країні полягає в тому щоб приховувати реальне безробіття, і чимось зайняти ті сотні тисяч молодих людей, що пішли у вузи. Це звісно сумно визнавати, але він таки був правий, і найгірше не лише те, що воно шкодить економіці, а те, що вбиває в тих молодих людей найкращі роки їхнього життя та незворотньо травмує їхню психіку, здатність вчитися і розвиватися у їхньому професійному житті.
З вузівської системи освіти я пішов вже понад п'ять років тому - з одного боку не так вже й багато - це всього лише тривалість навчання одного студента, від першого курсу до диплома магістра. Але з іншого - саме сьогодні усвідомив, наскільки далеко ми з тим всім розійшлися, нача різниця в сотні років.
Вирішив написати про це, бо потрапив на очі відеозапис лекції з основ програмування для спеціальності "Прикладна лінгвістика" в одному з українських вузів - лекція на ютубі, в 4К, а ще й записана на камеру з повним круговим оглядом, можна крутити картинку, дивитися на викладача, на дошку та навіть на самих студентів.
Під відео майже сотня лайків та кілька десятків позитивних коментарів, все виглядає ніби класно, але насправді - ні.
Бо все це просто якийсь трешак - від початку і до кінця приклад того, як не треба робити, якщо дійсно хочеш навчити.
Почнемо з камери - крутити її весело, і мабуть в шоломі VR то все виглядає ще вражаюче, але її якості зображення недостатньо щоб нормально роздивитися дошку, на яку йде зображення з проектора, не видно жодних деталей, лише заголовки можна прочитати. Звичайна вебкамера направлена на дошку чи просто запис з екрану дали б значно більше користі.
Далі тема - "порівняння команд із різних мов програмування" (англійською в описі перекладено як "Comparison of programming languages"). Ніби непогано звучить - насправді було б гарно студентам мати якесь уявлення чим одна мова програмування відрізняється від іншої. Але ж пояснювати це можна по-різному. Можна якісь важливі концепції мови розказати, хто її створив і навіщо, які задачі вона покликана вирішувати, парадигми реалізує і тому подібне. Але тут лектор просто проходить по зібраним в табличку синтаксичним конструкціям мови, показує пальцем на дошці і розказує як, наприклад, змінна декларується в одній мові, а як у іншій, де спочатку пишеться тип даних, а де ставляться дужки для позначення масиву, і так далі. І це все на фоні такого іронічного стьобу типу "долар ставиш - вже нову мову придумав" (пряма цитата). Типу розробники мов - то якісь неповносправні ідіоти, які займалися лише тим, що ставили дужки не так як в інших.
Але навіщо ця лекція взагалі? В чому сенс порівнювати синтаксис кількох десятків мов програмування? Щоб це все запам'ятати? Так це навряд чи найкращі програмісти у світі пам'ятають, а якби й пам'ятали, то воно все одно б не приносило користі, бо відмінності між мовами зовсім не у синтаксисі, вони значно глибші, і пояснювати їх на прикладі синтаксису - це як порівнювати відмінності розумових здібностей людей по їх зовнішньому вигляду.
Ну і формат подачі у формі лекції, без комп'ютерів. Студенти мають те все запам'ятати, чи написати конспект? Яка мета того перформансу? То театр абсурду виходить, а не навчання.
Я завжди говорю, що програмування вивчають пальцями - написав код, запустив, подивився як працює, зробив кілька прикладів, щоб запам'яталося, можеш рухатися далі. Просто дивитися безглузду лекцію - то не лише витрачати час, то поступово починати ненавидіти все те, і особливо себе за нездатність навчитися, не розуміючи, що над тобою просто знущаються, а не навчають.
З вузівської системи освіти я пішов вже понад п'ять років тому - з одного боку не так вже й багато - це всього лише тривалість навчання одного студента, від першого курсу до диплома магістра. Але з іншого - саме сьогодні усвідомив, наскільки далеко ми з тим всім розійшлися, нача різниця в сотні років.
Вирішив написати про це, бо потрапив на очі відеозапис лекції з основ програмування для спеціальності "Прикладна лінгвістика" в одному з українських вузів - лекція на ютубі, в 4К, а ще й записана на камеру з повним круговим оглядом, можна крутити картинку, дивитися на викладача, на дошку та навіть на самих студентів.
Під відео майже сотня лайків та кілька десятків позитивних коментарів, все виглядає ніби класно, але насправді - ні.
Бо все це просто якийсь трешак - від початку і до кінця приклад того, як не треба робити, якщо дійсно хочеш навчити.
Почнемо з камери - крутити її весело, і мабуть в шоломі VR то все виглядає ще вражаюче, але її якості зображення недостатньо щоб нормально роздивитися дошку, на яку йде зображення з проектора, не видно жодних деталей, лише заголовки можна прочитати. Звичайна вебкамера направлена на дошку чи просто запис з екрану дали б значно більше користі.
Далі тема - "порівняння команд із різних мов програмування" (англійською в описі перекладено як "Comparison of programming languages"). Ніби непогано звучить - насправді було б гарно студентам мати якесь уявлення чим одна мова програмування відрізняється від іншої. Але ж пояснювати це можна по-різному. Можна якісь важливі концепції мови розказати, хто її створив і навіщо, які задачі вона покликана вирішувати, парадигми реалізує і тому подібне. Але тут лектор просто проходить по зібраним в табличку синтаксичним конструкціям мови, показує пальцем на дошці і розказує як, наприклад, змінна декларується в одній мові, а як у іншій, де спочатку пишеться тип даних, а де ставляться дужки для позначення масиву, і так далі. І це все на фоні такого іронічного стьобу типу "долар ставиш - вже нову мову придумав" (пряма цитата). Типу розробники мов - то якісь неповносправні ідіоти, які займалися лише тим, що ставили дужки не так як в інших.
Але навіщо ця лекція взагалі? В чому сенс порівнювати синтаксис кількох десятків мов програмування? Щоб це все запам'ятати? Так це навряд чи найкращі програмісти у світі пам'ятають, а якби й пам'ятали, то воно все одно б не приносило користі, бо відмінності між мовами зовсім не у синтаксисі, вони значно глибші, і пояснювати їх на прикладі синтаксису - це як порівнювати відмінності розумових здібностей людей по їх зовнішньому вигляду.
Ну і формат подачі у формі лекції, без комп'ютерів. Студенти мають те все запам'ятати, чи написати конспект? Яка мета того перформансу? То театр абсурду виходить, а не навчання.
Я завжди говорю, що програмування вивчають пальцями - написав код, запустив, подивився як працює, зробив кілька прикладів, щоб запам'яталося, можеш рухатися далі. Просто дивитися безглузду лекцію - то не лише витрачати час, то поступово починати ненавидіти все те, і особливо себе за нездатність навчитися, не розуміючи, що над тобою просто знущаються, а не навчають.
(продовження попереднього посту...)
Але найсумніше в тому всьому - це дивитися на студентів, точніше студенток, бо хлопців не видно, все-таки філологія (можливо десь є на задніх рядах, роздивитися заважає та низькоякісна камера). Їх там близько сотні (в описі до відео сказано навіть 180-250), і за винятком першого ряду, на якому вимушені імітувати зацікавленість - всі інші зайняті власними справами, в основному щось там скролячи в їхніх смартфонах, чи спілкуючись друг з другом (якщо додати гучності, то чути, який в аудиторії гул стоїть). Дуже сумна картина дивитися на те, як вбивають час молодих людей цією безглуздою імітацією навчання. Якщо взяти максимальну кількість людей, яка мала б відвідувати лекцію, виходячи з опису (250) і помножити на тривалість вузівської пари - 90 хвилин, то це буде 375 людино-годин безповоротно втраченого часу. А якщо помножити на 5 років навчання, то це буде 1250 людино-років (!), тільки вдумайтеся в це число!
Звісно там повно ляпів і безглуздих тверджень, ну ось для прикладу фраза: "мова Ada - прабатько всіх мов". Повна маячня, бо ця мова виникла та розроблялася в кінці 1970-х з по замовленню Міністерство Оборони США з метою замінити інші мови програмування, які використовувалися в проектах міністерства, і їх на той час налічувалося вже понад 450. Звісно не можна бути прабатьком того, що ти маєш прийти замінити.
Або ось ще прямий текст: "Еплівська мова Swift. Структура, назва, var - опис змінних. Вони вирішили вернутися до команди var. Ті відмовилися від команди var. Ті вирішили - а давайте їм на зло вернемо команду 'var'..." Це взагалі що за …!!? Ключове слово "var" в різних мовах веде себе по-різному, і в Swift дозволяє декларувати змінні, значення яких можна перевизначати, на відміну від let. В інших мовах реалізація може бути зовсім іншою, це повний абсурд якось узагальнювати і говорити про те, що хтось щось поверне комусь назло.
Ну або ось зацініть ще такий треш: "Мова Пайтон. Вони ще простіше зробили. Дужку відкрий і перелічі всьо що ти хочеш. І закрий. Тому каенщики люблять мову Пайтон. Перелічи - і всьо. Для чого людину повідомляти що конкретно ти хочеш. Чи ти хочеш морозиво, чи ти хочеш пирожене, чи ти хочеш яблучко. Просто до купи - в блендер, так, хай воно само розбирається і само програмує. Вотака мова програмування!"
Ладно, не буду вас з цим всім томити, я сам той треш до кінця не додивився, проклацав в пришвидченому режимі. Посилання навмисно не даю - хто захоче, той нагуглить, там знайти його можна за кілька секунд, ну а хто не знайде, а захоче переконатися на власні очі - напишете мені в приватні - скину. Зрозумілі стали лайки і коментарі - то мабуть зараз студенти так на оцінку назбирують, щось типу журналу відвідування.
Короткий висновок: навчання буває дуже різним, і нерідко навіть шкідливим. Не витрачайте найкращий час свого життя, а якщо ви батьки - то час своїх дітей на таке "навчання". Зараз відкриваються просто колосальні можливості в тому щоб вчитися онлайн, проходити курси у найкращих людей, які люблять і знають свою справу, а головне - переймаються тим, щоб навчити, а не просто придумати, як вбити ваш час. В мене все.
Але найсумніше в тому всьому - це дивитися на студентів, точніше студенток, бо хлопців не видно, все-таки філологія (можливо десь є на задніх рядах, роздивитися заважає та низькоякісна камера). Їх там близько сотні (в описі до відео сказано навіть 180-250), і за винятком першого ряду, на якому вимушені імітувати зацікавленість - всі інші зайняті власними справами, в основному щось там скролячи в їхніх смартфонах, чи спілкуючись друг з другом (якщо додати гучності, то чути, який в аудиторії гул стоїть). Дуже сумна картина дивитися на те, як вбивають час молодих людей цією безглуздою імітацією навчання. Якщо взяти максимальну кількість людей, яка мала б відвідувати лекцію, виходячи з опису (250) і помножити на тривалість вузівської пари - 90 хвилин, то це буде 375 людино-годин безповоротно втраченого часу. А якщо помножити на 5 років навчання, то це буде 1250 людино-років (!), тільки вдумайтеся в це число!
Звісно там повно ляпів і безглуздих тверджень, ну ось для прикладу фраза: "мова Ada - прабатько всіх мов". Повна маячня, бо ця мова виникла та розроблялася в кінці 1970-х з по замовленню Міністерство Оборони США з метою замінити інші мови програмування, які використовувалися в проектах міністерства, і їх на той час налічувалося вже понад 450. Звісно не можна бути прабатьком того, що ти маєш прийти замінити.
Або ось ще прямий текст: "Еплівська мова Swift. Структура, назва, var - опис змінних. Вони вирішили вернутися до команди var. Ті відмовилися від команди var. Ті вирішили - а давайте їм на зло вернемо команду 'var'..." Це взагалі що за …!!? Ключове слово "var" в різних мовах веде себе по-різному, і в Swift дозволяє декларувати змінні, значення яких можна перевизначати, на відміну від let. В інших мовах реалізація може бути зовсім іншою, це повний абсурд якось узагальнювати і говорити про те, що хтось щось поверне комусь назло.
Ну або ось зацініть ще такий треш: "Мова Пайтон. Вони ще простіше зробили. Дужку відкрий і перелічі всьо що ти хочеш. І закрий. Тому каенщики люблять мову Пайтон. Перелічи - і всьо. Для чого людину повідомляти що конкретно ти хочеш. Чи ти хочеш морозиво, чи ти хочеш пирожене, чи ти хочеш яблучко. Просто до купи - в блендер, так, хай воно само розбирається і само програмує. Вотака мова програмування!"
Ладно, не буду вас з цим всім томити, я сам той треш до кінця не додивився, проклацав в пришвидченому режимі. Посилання навмисно не даю - хто захоче, той нагуглить, там знайти його можна за кілька секунд, ну а хто не знайде, а захоче переконатися на власні очі - напишете мені в приватні - скину. Зрозумілі стали лайки і коментарі - то мабуть зараз студенти так на оцінку назбирують, щось типу журналу відвідування.
Короткий висновок: навчання буває дуже різним, і нерідко навіть шкідливим. Не витрачайте найкращий час свого життя, а якщо ви батьки - то час своїх дітей на таке "навчання". Зараз відкриваються просто колосальні можливості в тому щоб вчитися онлайн, проходити курси у найкращих людей, які люблять і знають свою справу, а головне - переймаються тим, щоб навчити, а не просто придумати, як вбити ваш час. В мене все.
В процесі проведення курсу ScriptJedi42 я даю типові рекомендації, якими вважаю доречно ділитися зі своїми підписниками.
Про форматування коду. Воно дуже важливе, впливає на сприйняття коду.
Є таке поняття - code smell - запах коду. Це коли одного погляду достатньо, щоб зрозуміти, що з кодом щось не так. То форматування, дотримання code style guides по іменуванню змінних і тому подібне - це саме воно і є в першу чергу.
У серйозних проектах ваш код з недоліками в форматуванні ніхто не прийме в в проект, навіть якщо він буде гарно працювати.
Тому це особливо важливо коли ви вчитеся - переформатовуйте код автоматом і дивіться що змінюється, старайтеся наступного разу писати так, щоб при спробі автоформатування взагалі нічого не змінювалося.
Почитайте цю статтю: https://www.smashingmagazine.com/2012/10/why-coding-style-matters/
Орієнтуйтеся на цей style guide: https://google.github.io/styleguide/jsguide.html
Не лінуйтеся, і обов'язково використовуйте prettier ось як це робити найпростіше прямо онлайн: https://www.loom.com/share/facc5c7355b14e51ad660456c5f69d0e
Як налаштувати VS Code: https://www.youtube.com/watch?v=0sJilix6P7E
Про форматування коду. Воно дуже важливе, впливає на сприйняття коду.
Є таке поняття - code smell - запах коду. Це коли одного погляду достатньо, щоб зрозуміти, що з кодом щось не так. То форматування, дотримання code style guides по іменуванню змінних і тому подібне - це саме воно і є в першу чергу.
У серйозних проектах ваш код з недоліками в форматуванні ніхто не прийме в в проект, навіть якщо він буде гарно працювати.
Тому це особливо важливо коли ви вчитеся - переформатовуйте код автоматом і дивіться що змінюється, старайтеся наступного разу писати так, щоб при спробі автоформатування взагалі нічого не змінювалося.
Почитайте цю статтю: https://www.smashingmagazine.com/2012/10/why-coding-style-matters/
Орієнтуйтеся на цей style guide: https://google.github.io/styleguide/jsguide.html
Не лінуйтеся, і обов'язково використовуйте prettier ось як це робити найпростіше прямо онлайн: https://www.loom.com/share/facc5c7355b14e51ad660456c5f69d0e
Як налаштувати VS Code: https://www.youtube.com/watch?v=0sJilix6P7E
Гарна візуальна роадмепа навиків веб-розробника. https://andreasbm.github.io/web-skills/
Якщо аутентифікуватися з екаунтом Google, то можна відмічати свій прогрес. Ресурсів там достатньо на кілька років. Enjoy :)
Якщо аутентифікуватися з екаунтом Google, то можна відмічати свій прогрес. Ресурсів там достатньо на кілька років. Enjoy :)
andreasbm.github.io
Web Skills
A visual overview of useful skills to learn as a web developer
Сьогодні знайшов справжній скарб - репозиторій на гітхабі "Today I Learned", де веб-розробник з Чікаго просто з маніакальною скурпулезністю майже щоденно протягом п'яти років (!) вів конспект всього вивченого і структурував по категоріям - багато по фронтенду всього, понад 900 TIL. Репозиторій не просто цінний сам по собі як джерело інформації, а й як приклад правильного підходу до навчання. Enjoy.
https://github.com/jbranchaud/til
https://github.com/jbranchaud/til
GitHub
GitHub - jbranchaud/til: :memo: Today I Learned
:memo: Today I Learned. Contribute to jbranchaud/til development by creating an account on GitHub.
Цікавий ресурс - Frontend Mentor - багато фронтендівських завдань та розв'язків від цінших людей, можна взяти собі завдання, попрактикуватися, а потім подивитися розв'язки інших чи скинути на рев'ю своє власне. Також можна залишити свої коментарі до робіт інших людей.
Ще там зібрано багато посилань на якісні ресурси. Enjoy.
Ще там зібрано багато посилань на якісні ресурси. Enjoy.
Frontend Mentor
Frontend Mentor | Front-end coding challenges using a real-life workflow
Improve your front-end skills by building real projects. Solve real-world HTML, CSS and JavaScript challenges whilst working to professional designs.
На фоні шуму навколо вірусу сплила тут цікава айтішна тема: виявляється в штатах у держустановах, зокрема в тих, що працюють з системами для обліку і нарахування допомоги безробітнім, дуже популярна мова програмування COBOL, створена 60+ років тому, яку давно не вивчають у вузах, відповідно й середній вік розробника на ній 55 років.
Зараз, в зв’язку з напливом безробітних, ті системи не справляються, а для їх супроводу не вистачає людей, бо розробників знайти дуже тяжко.
Бачив багато айтішників почали жартувати на цю тему, бо здається ніби технологія така древня, що там археологічними розкопками треба займатися та скелети оживляти.
Але чи дійсно все так погано, і старі технології - то щось таке, до чого не можна дотикатись, бо сам інфікуєшся та скелетом станеш?
Коротко про історію COBOL я згадував в своєму пості в телеграм-каналі від 8 березня цього року. Цю мову створили щоб замінити сотні інших мов, які вже використовувалися в 1950-х в США. Вона цікава тим, що її синтаксис наближений до англійської мови, у тому числі й завдяки словарному запасу - понад 300 зарезервованих слів. Для порівняння - сучасні мови програмування зазвичай мають кілька десятків таких слів. Лідер лаконічності - мова Go, що має всього-навсього 25 ключових слів.
Незважаючи на таку багатослівність, COBOL як мова програмування не виглядає чимось надприроднім - особисто мені вистачило кілька хвилин щоб проглянути на вікіпедії опис і бути в змозі читати код якихось нескладних прикладів, розуміючи при цьому кожну конструкцію. Дуже сподобалася ось ця стаття про елегантність COBOL - раджу прочитати її, висновки автора в кінці мені вельми імпонують.
То власне, чи дійсно це так страшно, що мова розроблена аж в 1959, і це прямо такий динозавр з яким не можна зв’язуватися? Насправді виглядає все зовсім не так погано. По-перше, COBOL продовжує підтримуватися і розвиватися. Скажімо ООП в ній з’явилося в 2002 році, а останній стандарт мови випущений у 2014. Звісно, з того часу минуло шість років, але навіть у найпопулярнішої мови на сьогодні JS була пауза в 10 років між випуском версій стандарту. По-друге, COBOL дійсно елегантна мова, і той факт, що на ній написано величезну купу коду саме цим і пояснюється, якби на ній розробникам не подобалося писати, то давно вже знайшли б заміну.
До речі, якщо говорити про найпопулярнішу зараз у світі мову - JavaScript, то в її основу покладений діалект мови Lisp, що вийшла у 1958 році - за рік до появи COBOL. То хто тут справжній динозавр? :)
Продовження тут -»»
Зараз, в зв’язку з напливом безробітних, ті системи не справляються, а для їх супроводу не вистачає людей, бо розробників знайти дуже тяжко.
Бачив багато айтішників почали жартувати на цю тему, бо здається ніби технологія така древня, що там археологічними розкопками треба займатися та скелети оживляти.
Але чи дійсно все так погано, і старі технології - то щось таке, до чого не можна дотикатись, бо сам інфікуєшся та скелетом станеш?
Коротко про історію COBOL я згадував в своєму пості в телеграм-каналі від 8 березня цього року. Цю мову створили щоб замінити сотні інших мов, які вже використовувалися в 1950-х в США. Вона цікава тим, що її синтаксис наближений до англійської мови, у тому числі й завдяки словарному запасу - понад 300 зарезервованих слів. Для порівняння - сучасні мови програмування зазвичай мають кілька десятків таких слів. Лідер лаконічності - мова Go, що має всього-навсього 25 ключових слів.
Незважаючи на таку багатослівність, COBOL як мова програмування не виглядає чимось надприроднім - особисто мені вистачило кілька хвилин щоб проглянути на вікіпедії опис і бути в змозі читати код якихось нескладних прикладів, розуміючи при цьому кожну конструкцію. Дуже сподобалася ось ця стаття про елегантність COBOL - раджу прочитати її, висновки автора в кінці мені вельми імпонують.
То власне, чи дійсно це так страшно, що мова розроблена аж в 1959, і це прямо такий динозавр з яким не можна зв’язуватися? Насправді виглядає все зовсім не так погано. По-перше, COBOL продовжує підтримуватися і розвиватися. Скажімо ООП в ній з’явилося в 2002 році, а останній стандарт мови випущений у 2014. Звісно, з того часу минуло шість років, але навіть у найпопулярнішої мови на сьогодні JS була пауза в 10 років між випуском версій стандарту. По-друге, COBOL дійсно елегантна мова, і той факт, що на ній написано величезну купу коду саме цим і пояснюється, якби на ній розробникам не подобалося писати, то давно вже знайшли б заміну.
До речі, якщо говорити про найпопулярнішу зараз у світі мову - JavaScript, то в її основу покладений діалект мови Lisp, що вийшла у 1958 році - за рік до появи COBOL. То хто тут справжній динозавр? :)
Продовження тут -»»
programmingmentor.com.ua
Про старі технології - Programming Mentor - ти живий, поки вчишся
Programming Mentor - ти живий, поки вчишся.
May the 4th be with you! Сьогодні четверте травня, день Star Wars. Не можна пропустити таке свято, з яким я вас і вітаю :)
Рівно за тиждень стартуємо з черговою групою джедаїв з курсом ScriptJedi42. Відповідно заглянув у статистику для сайту курсу (https://sj42.programmingmentor.com/) і побачив веселу інформацію з Analytics Insights - люди, у яких в браузері стоїть російська мова затримуються найменше на сайті, бо він українською. Тупо відкривають, лякаються і закривають. 🙈
Звісно, люди з українською локаллю затримуються найдовше, але є багато тих, в кого в браузері мова англійська чи якась інша стоїть - і всі вони на сайті затримуються довше, ніж з російською (це якщо не рахувати зовсім випадкових відвідувачів з екзотичними мовами). 😋
Коли курс запускав, то від декого чув побажання російською робити, щоб більше людей зібрати, але я це роблю саме так, бо хочу генерувати україномовний контент. Навчатися на курсі можна і українською не говорити - то не заборонено звісно. Але хоча б розуміти треба, бо відписую я українською, та говорю теж. Також на своємо новому сайті (https://programmingmentor.com.ua/) статті теж виключно українською роблю. То розвивайте солов'їну - бачте як вона декого відлякує 😂
PS. Для тих, хто дочитав до кінця - даю купон зі знижкою 1 тис. грн. на курс, діє на всі варіанти, включаючи JEDI та SOLO, але активний лише одну добу - до кінця дня завтра, вводити під чач оплати на сайті в полі "промокод", код купону MAYTHEFOURTH
Рівно за тиждень стартуємо з черговою групою джедаїв з курсом ScriptJedi42. Відповідно заглянув у статистику для сайту курсу (https://sj42.programmingmentor.com/) і побачив веселу інформацію з Analytics Insights - люди, у яких в браузері стоїть російська мова затримуються найменше на сайті, бо він українською. Тупо відкривають, лякаються і закривають. 🙈
Звісно, люди з українською локаллю затримуються найдовше, але є багато тих, в кого в браузері мова англійська чи якась інша стоїть - і всі вони на сайті затримуються довше, ніж з російською (це якщо не рахувати зовсім випадкових відвідувачів з екзотичними мовами). 😋
Коли курс запускав, то від декого чув побажання російською робити, щоб більше людей зібрати, але я це роблю саме так, бо хочу генерувати україномовний контент. Навчатися на курсі можна і українською не говорити - то не заборонено звісно. Але хоча б розуміти треба, бо відписую я українською, та говорю теж. Також на своємо новому сайті (https://programmingmentor.com.ua/) статті теж виключно українською роблю. То розвивайте солов'їну - бачте як вона декого відлякує 😂
PS. Для тих, хто дочитав до кінця - даю купон зі знижкою 1 тис. грн. на курс, діє на всі варіанти, включаючи JEDI та SOLO, але активний лише одну добу - до кінця дня завтра, вводити під чач оплати на сайті в полі "промокод", код купону MAYTHEFOURTH
Недавно говорили про старі технології, то варто поговорити й про нові, особливо коли хтось говорить, що дуже багато всього нового з'являється і за всім не встигаєш. А хочете іншу сторону медалі? От я особисто щось давно не бачив чогось такого проривного в програмуванні, щоб прям хотілося б сказати "вау" чи щось таке. Ми користуємося концепціями винайденими десятки років тому. ООП, автоматичне керування пам'яттю, патерн MVC - тому всьому вже чотири десятки років і більше. Функціональний підхід, всі ті map/filter/reduce, FRP - то все понад двадцять років як вроваджується. В основі JS лежить Scheme, що в свою чергу походить від Lisp, що в свою чергу є другою в світі мовою програмування високого рівня після Фортрану, який був створений у 1957. Прототипне наслідування у JS пішло від мови Self з 1980-х. Сучасні фронтенд-фреймворки передирають друг у друга якісь концепції, і це сприймається за нове лише тоді, коли твій кругозір дуже вузько обмежений. Найчастіше двері можливостей для нових фреймворків відкриваються тоді, коли старі починають набухати від купи функціональності і застарілих фіч, що тягнуться з минулого. Для прикладу, AngularJS був беззастережним лідером у 2014, але його авторам дуже закортіло все переписати, зокрема використати ідею компонентів з React, однак породивши Angular 2, виявилося що по дорозі втратили купу користувачів, бо ніби й зробили все красиво, але напихали забагато всього додаткового, що ускладнило вивчення і зробило бандли занадто важкими. Далі React кілька років тримає лідерство, але авторам не сидиться на місці і кортить додати якихось "іновацій", то з недавнього - додали хуки. По суті - нічого прям революційного, але змінили фокус з компонентів у вигляді класів на функції, чим внесли суматоху, ускладнили вивчення, бо елементарно більше всього стало для новачків. Це стало вікном можливостей для Vue, який в свою чергу в значній мірі злизаний з давно забутого Reactive, просто його автори не скористалися можливостями. З відносно свіженького в програмуванні мене хіба блокчейни з криптовалютою вразили своєю геніальністю, але щось тему до кінця не розвинули ще ту. В області штучного інтелекту якось все занадто повільно рухається. В залізі більше прогресу насправді, але часто за рахунок закона Мура розвиток йде, якому вже хтозна скільки років. Мережі більш-менш непогано розвинулися, бездротові зокрема. Хмари як концепція теж далеко не нові, просто в синергії все разом почало працювати злагоджено. Але це знову більше про залізо. От здивуйте мене чимось по-справжньому новим і геніальним :)