Niwe Code
227 subscribers
34 photos
3 videos
1 file
48 links
Канал создан для выброса моих важных мыслей касательно вещей в IT индустрии + некоторого обучения в данной сфере. В своей задаче я ставлю продвижение разных тем в юмористическом стиле.

Связаться: @HxQtl9
Download Telegram
#JavaScript #meme

Так, кто там у нас следующий? Ага, все тонконогие джавастриптезеры (JavaScipt)

Все они пропитаны комплексом неполноценных чмонек на столько, что из-за этого готовы затащить какую угодно херню в браузер лишь бы выглядеть понтово в глазах других разрабов. Начиная от различных компиляторов древних версий EcmaScript до всяких ёбо изобретений типа TypeScript и прочего говна, но как бы малятки не старались избавиться от позорного клейма - проблема в конечном итоге в том, что все их потоки компилируются в тормазутый JS.
Даже немного жалко этих ребят, ведь у этих смузихлёбов просто нету других альтернатив((( Ирония судьбы в том, что JS это единственный ЯП для покраски кнопок и ЯП, который может простить все ваши грязные, измазанные говном ручки в ошибках. Хочу сказать вам что другие разрабы настолько не уважают вас, что чисто по приколу чтобы поугарать над вами омежками, специально создают несовместимые стандарты, парсеры, интерпретаторы и в конечном итоге Браузеры.
А что вы им сделаете!? Да ничего! Вы можете только смотреть и не вмешиваться в процесс, тихонечко сидеть на кресле в углу комнаты
1🗿1
#JavaScript

Я чувствую, что в моих словах горит священный огонь защитника JavaScript, и, честно говоря, сложно не согласиться с собой. Весь этот старперский снобизм по отношению к JS уже давно отдает плесенью двухтысячных офисов с Windows XP и IE6. Давайте сразу к делу — JavaScript это гораздо больше, чем просто анимации и подсветка кнопочек.

1. Инфраструктура — мирового уровня

Первое, что нужно выдвинуть в защиту JavaScript, — это его невероятно развитая экосистема. npm — крупнейший репозиторий пакетов в мире. Хочешь фреймворк для чего угодно? Есть React, Vue, Angular. Хочешь сервер на JavaScript? Вот тебе Node.js с асинхронной магией, которая заставляет любой backend пахать, как швейцарские часы.

Плюс, весь набор инструментов разработки — Webpack, Rollup, Parcel и десятки других сборщиков, которые позволяют поддерживать этот язык и адаптировать его под любую задачу. Babel и TypeScript делают то, что критики из "галерных офисов" вообще не готовы принять: они превращают JavaScript в "чемпионский комбайн", который может решать задачи как на фронте, так и на бэке с невероятной гибкостью.

2. Асинхронность — прямо из коробки

JavaScript буквально изначально асинхронен, и это один из его самых сладких плюсов. Промисы, async/await — это магия, которая избавляет тебя от заморочек с потоками, блокировками и прочим адом, который в других языках делает разработку асинхронных приложений настоящей головной болью. Вы не мучаетесь с многопоточностью как в Java или C#, вам не нужно следить за сотнями нюансов потокобезопасности. JavaScript делает асинхронное программирование естественным.

И не забывайте про серверный JS — тот же Node.js вообще строится на этой философии. Никакого забивания процессора, никакой необходимости в десяти серверах, чтобы обслуживать простую задачу — всё работает эффективно и быстро.

3. Динамическая типизация — свобода самовыражения

Вот тут начинается самое сладкое — динамическая типизация. Её любят хейтить те, кто застрял в статически типизированных языках вроде Java или C++, где ты должен каждый раз танцевать с бубном над типами и полиморфизмом. Но в JavaScript ты можешь творить без тормозов.

Да, кто-то скажет: "Но контроль над типами же!" — ну да, как же без старой песни про типизацию. Но это в основном страх тех, кто привык к строгости компилятора. Когда ты работаешь в JavaScript, ты получаешь свободу. Хочешь быстро закидать логику на коленке? Пожалуйста. Надо динамически подогнать структуры данных? Это не проблема. Не надо перегружать методы, не надо жонглировать с дженериками и шаблонами, ты просто пишешь код и получаешь результат.

4. Функциональные фичи — где надо и как надо

JavaScript не только про императивщину, он прекрасно поддерживает функциональный стиль. И это не просто поддержка, а реальные фичи, которые делают жизнь легче: map, reduce, filter — с такими функциями вы можете манипулировать данными как бог. Вы можете создавать чистые функции, использовать замыкания, строить цепочки вызовов, как будто играешь в сложную игру с Lego.

При этом тебе не обязательно уходить в глубокий функциональный подход как в Haskell. В JavaScript всё работает гибко: хочешь применять функциональные концепции — пожалуйста, не хочешь — можешь писать более императивный код. Эдакий гибрид, который подстроится под твои задачи.

5. Универсальность и популярность

А теперь самое главное: JavaScript сегодня — это язык номер один по популярности и применению. Это язык, который правит на фронтенде, захватывает бэкенд через Node.js и вообще проникает повсюду. Ты пишешь один язык и можешь строить полноценные веб-приложения с фронта до бэка. Это мощь, это гибкость, и это невозможно не признать.
#JavaScript

Критика JavaScript как "недоязыка" звучит особенно смешно на фоне его повсеместного использования в крупных корпорациях, стартапах и высокотехнологичных проектах. Этот язык, который начали с анимаций для кнопочек, сейчас способен строить сложные распределённые системы, и это уже доказано множеством успешных проектов.

Ну и что на это ответить тем, кто до сих пор считает, что JavaScript — это "детский" язык? Да они просто отстали от времени. Те, кто сидят в своих галерах и жалуются на невозможность понять динамическую типизацию или асинхронность, видимо, просто не хотят выходить из своей зоны комфорта.


JS — это про гибкость, свободу и реальную мощь, которой можно воспользоваться прямо сейчас. Да, он не идеален. Да, у него есть свои особенности и косяки (какой язык их не имеет?). Но если тебе нужно разрабатывать современные приложения, писать один язык для всего стека, и при этом не тратить годы на обучение каждому фреймворкуJavaScript твой выбор.

Ну, а те, кто продолжают хейтить, могут продолжать сидеть в своих статически типизированных замках. Мы будем писать и развиваться, потому что JavaScript — это про будущее.
🔥1
#JavaScript #Programming

NodeJS: хватит нас мучить!

Друзья, я больше не могу это терпеть! Пришло время сорвать все покровы, как говорится, сделать максимальный экспоуз. Как вам наверное известно, я последний год писал backend на NodeJS. Но, мать его, настал момент сказать всё как есть, чтоб больше ни у кого иллюзий не оставалось. NodeJS — место у параши, и его единственная задача — быть вспомогательной площадкой для фронтендщиков, а не для серьезного продакшна. Этот "движок" хорош только для того, чтобы, запускать Webpack и греть место на серверах!

Теперь внимание: погуглите компании, которые понаставили себе NodeJS в продакшн. И что мы видим? Смотрим их финансы и видим — чистой прибыли кот наплакал, а то и вообще в минусе сидят! А знаете, почему? Потому что все бабки уходят на покупку и обслуживание серверов, которые эту скотину тянут. По сути, они сами себя банкротят, запрыгнув в хайп-трейн на NodeJS. Печально, братцы.

И что дальше? А дальше, как обычно: приходит Майкрософт, покупает всех этих уставших, переписывает на C#, и всё, бай-бай, NodeJS. И это я вам не просто так говорю — инсайд от одного сверхчеловека. А что сам автор Node? Он свалил, как только сделал своё дело, и понял, что это уже не его проблема. Да и вообще, его "революционная" идея про асинхронность — никакой не прорыв. Уже к концу века у нас любая помойка будет работать быстрее, чем Node. Посмотрите на результаты Dotnet Core 8. Грустно, не правда ли?

Но проблема не только в этом. Один Express чего стоит. Фреймворк, мать его, топчется на месте, последний стабильный релиз был аж в мае 2019-го. Пытаются держать поддержку версий 2013-го года, да только без толку. Каждый раз, когда ты начинаешь новый проект на Express, тебе ещё и поддержку сайтов подгонять нужно. А про всякие Skoda или Adonis вообще молчу — туфта на постном масле, ни производительности, ни стабильности.

И вишенка на торте: если у вас вдруг приложение решит крашнуться, Node просто красиво ляжет, как и положено королю. Ведь это не баги, это "особенности платформы", говорят. Как по мне, так пусть они свои "особенности" в жопу засунут, а не мне в продакшн.

А ещё ведь JavaScript! Десятки идиотских паттернов, каждая команда пишет по-своему, куча своих стандартов. В итоге сидишь, разбираешь этот хаос, чтобы хоть понять, где у них тут что связано. Зато поджигают глаза, кодят как могут, лишь бы заработать пару секунд производительности. Вот уж спасибо, а я лучше без этого поживу.

Короче, друзья, если вам дорога ваша психика — подумайте дважды, прежде чем лезть в это болото под названием NodeJS.
1
#Programming #JavaScript

Что вы знаете о многопоточности, человечишки?

JavaScript — это такой однопоточный красавчик, который сам по себе вообще ничего не делает. Ни потоков, ни событий, ни I/O — вообще ничего. Всё, что он может, — это крутиться в цикле событий, как белка в колесе и надеяться что его кто-то спасёт.

И вот тут на помощь приходит host-среда. Это, например, браузер или Node.js которые такие:
— «Спокойно, братишка, мы тут тебе API завезли чтобы ты не умер от скуки».

Host-среда делает всю грязную работу:

Запускает события, пока JS залипает в своей однопоточной медитации.
Делает запросы к сети, потому что "fetch" — это просто обёртка, а не магия.
Организует многопоточность через всякие там Web Workers или Worker Threads, пока JavaScript даже не подозревает о происходящем.
Так почему же JS такой беспомощный?
Ну потому что он высокоуровневый! Зачем ему лезть в кишки системы? У него есть задачи поважнее:

Привязывать кнопки к событиям.
Ломать вёрстку.
Считать, что 0.1 + 0.2 === 0.30000000000000004

А как же многопоточность?
Да всё норм с многопоточностью, не паникуйте.
Ещё 9 лет назад в спецификации ECMA прописали всякие полезности:

Web Workers для параллельного кода. Но без доступа к DOM, чтобы не сломали нахрен.
SharedArrayBuffer и Atomics, чтобы можно было делить память и синхронизироваться.
Ну и асинхронщина через Promises, которая на самом деле всё равно однопоточная.
Но вся эта движуха — на ответственности host-среды. Типа JavaScript говорит:
— «Чуваки, хотите потоков? Вот стандарт. А дальше — сами».

Почему так?
Потому что JavaScript — это не низкоуровневый язык. Он про удобство, безопасность и минимум шансов отформатировать жёсткий диск одной строчкой. Всё сложное пусть делает host-среда, а JS останется таким простым и беспомощным, каким его задумали.

И да, если кто-то скажет, что JavaScript — говно, просто помните: он однопоточный, но не тупой.
👍11
#JavaScript #Programming

JavaScript — лучший язык программирования. И я вам сейчас это докажу!

Кто придумал этот миф, что другие языки круче, чем JavaScript? Кто вообще решился это сказать в лицо? Серьезно, я устал от этих пустых рассуждений. Все эти "сложные", "мощные" языки — это просто прикрытие для вашего неумения работать с реальностью. Да, я говорю про C, Java, Python, и все эти другие штуки, на которых можно годами сидеть и всё равно не увидеть конечного результата.

Почему JavaScript — это всё, что тебе нужно?
Вот смотри, Node.js — это не просто какая-то лажа, как вы думаете. Node.js — это как Шварценеггер в мире программирования. Ты можешь запустить весь бэкенд на этой убойной платформе и не заботиться о какой-то мракобесной многозадачности или потере памяти, как на C++. Ты просто берешь npm и заполняешь репозиторий этими фичами, как настоящий космонавт, который уже вышел на орбиту.

И да, npm — эта штука, которая делает из твоего проекта реальный блокбастер, за пару минут. А вы мне тут рассказываете про Maven и всякие там Ant для Java? Чуваки, если вам нужно выживать среди 50 гигов зависимостей — ну окей, ради бога. Только как вы ещё держитесь? По мне, так это пиздец.

Разберём остальное говно по полочкам:
Python. О, ну конечно, это всё про "читаемость кода", про эти "красивые" отступы, а в реальности — половина всех библиотек сыпется и не работает. И, блядь, GIL? Ты мне серьёзно говоришь, что нужно суетиться с этим говном на многозадачности? Да нахуй это надо! Время упущено, пока ты с этим ковыряешься. Всё, что тебе нужно — это JavaScript и тот же Node.js. Всё просто. А если тебе не хватает скорости — жми C++, но об этом позже.

Java. "Платформа независимость". Да, спасибо, но если ты тратишь 10 лет на настройку одного приложения — пошёл ты. Тебе придётся написать миллион строк кода, чтобы сделать то, что на JavaScript уже будет через 5 минут. Ты уверен, что такой подход — это вообще норм? Ну, и, конечно, всякие жуткие JVM и Spring, которые просто съедают время на настройку. Все эти технологии — это как ходить с мешком цемента в надежде на какой-то успех.

C++. Это, конечно, если ты хочешь почувствовать себя как программист 90-х, но, сука, кто вообще использует память и указатели в 2024 году? Я просто не понимаю! Мы тут с Node.js сидим, делаем асинхронку как настоящие боги, а ты — с этими идиотскими классами и объектами... Это как с ручным тормозом на автопилоте.

Ruby on Rails? Да, конечно, если ты хочешь сидеть и втирать пользователю фичи, которые не работают через неделю, когда твой код упадёт в производственной среде. Просто зайди в интернет, и убедись, сколько людей мучаются с этим, стараясь «сделать всё быстро». Эмоции? Пиздец!

Go — блядь, серьёзно? Это всё про «системное программирование», но как только ты начинаешь писать реально масштабируемое приложение, Go превращается в кучу непонятного говна с кучей goroutine и абсолютно нечитабельного кода. А у Node.js ты вообще не паришься, потому что всё уже работает как часы и ты не стоишь перед выбором: «Как мне добавить ещё несколько тысяч потоков без багов?»

Вот почему JavaScript и Node.js — это всё:

Ты просто берешь и разворачиваешь сервер на Express.js за пару минут. Готово.

Ты не паришься, что у тебя будет 100500 зависимостей и каждая будет тянуть в одну херовую сторону.

Пишешь асинхронно и не переживаешь, что твоё приложение падет на первом же запросе.

npm — и весь мир твоих фич у тебя в кармане. А не сижу я тут с твоими JAR-файлами на Java.

Вам тут нравится грести этот старый говняный код на Python и Java? Отлично. Но я буду кайфовать, пока ты будешь разбираться с багами на своей мегаплатформе. Потому что я на JavaScript и Node.js буду работать в 5 раз быстрее, и не ебать себе мозги с кучей ошибок и тяжёлых настроек.

Так что да, JavaScript и всё, что с ним связано — лучший выбор. Все остальные языки — это просто игрушки для тех, кто не готов прыгнуть в реальный мир, где все работает быстро и без лишних костылей.
1
#Programming #JavaScript

JavaScript — это ёбаная катастрофа в мире программирования

Кто реально придумал это недоразумение? Язык, где всё через жопу, но его используют ВСЕ. Почему? Потому что выбора, блять, нет! Хочешь делать сайты? Привет, JavaScript. Хочешь писать говнокод? Поздравляю, ты уже на нужном языке.

Начнём с типизации. Тут всё гибко, как резинка от трусов. Смотри: "5" + 5 — бах, и строка! А теперь "5" - 5 — охь, уже число! Логика? Да пошла она! Этому языку вообще нассать, что ты имел в виду. Ему пофиг на тебя, на твоих пользователей и на твою нервную систему.

А что насчёт сравнения? С == и === ты не просто программист, ты шаман! Угадай, где истина, а где полное хуйня. null == undefined? Конечно, true! А теперь добавь строгую проверку — хрен тебе, false! Ты сидишь и думаешь: "Да пошло оно всё, может, лучше в дворники пойти?"

Теперь про асинхронность. Тут мы официально в аду. Callback hell — это когда твой код выглядит как ёлка, только без праздника. Обещали спасение через Promise? Хрен там! Ты всё равно тонешь в then и catch, как будто тебя уронили в чан с кипящим говном. А async/await? Звучит красиво, пока не поймёшь, что один забытый await превращает всё в безумие, а ты — уже не программист, а детектив на полставки.

А ещё сраные фреймворки. React, Angular, Vue — это как три варианта плохого секса. Хочешь больно, хочешь странно, а хочешь, чтобы вообще не встал. Ты думаешь: "О, библиотека облегчит мне жизнь!" Да щас! Фреймворки — это как присыпка на рану. Всё равно болит, просто выглядит симпатичнее.

Но знаете, что самое мерзкое? Этот язык ВЕЗДЕ. В браузере, на сервере (привет, Node.js!), даже в микроволновке, блять, скоро появится. Ты его ненавидишь, а он такой: "А ты всё равно на мне пишешь, потому что больше не на чем!"

JavaScript — это чёртов синдром Стокгольма! Мы страдаем, материмся, но продолжаем писать на нём. Потому что иначе придётся пересобирать весь интернет.

И да, если вдруг ты только начинаешь учить программирование, мой совет: беги. Просто беги. Пока не поздно.
Навигация канала:

По данным хештегам можете найти интересующую вас информацию:

1. #Programming — посты, связанные с IT индустрией, кодом, полезными ресурсами
2. #Education — записи с обучающим контентом. Также могут присутствовать полезные фишки IT инструментов
3. #OS — материалы, связанные с различными операционными системами
4. #Linux — посты с Linux + Server
5. #Windows — посты с Windows + Server
6. #ITLife — мои моменты из жизни в АйТиШеЧкЕ(и не только)
7. #ItSecurity — посты, связанные с безопасностью
8. #OSINT — посты, связанные с поиском информации в исключительно свободных источниках Интернета

Касательно технологий:

1. #Backend
2. #Frontend
3. #AI
4. #OpenSource
5. #DevOPS
6. #QA
7. #Mobile

Языки:

1. #Python
2. #JavaScript
3. #Cpp (C++)
4. #Java
5. #Kotlin
6. #Cs (C'sharp)
7. #Kotlin
8. #Dart

Фреймворки:

1. #Flutter
2. #KMP

Другое:

1. #News — новости из мира IT
2. #meme — мемы
3. #Paradigms
4. #Translation
5. #Other

Также есть локальные теги по типу #OOP или #Unity. Они существуют для связи самих постов друг с другом чтобы не потеряться с номером записи.
#Programming #JavaScript

Go + TypeScript: и что с этого?

С чего столько шума из-за того, что инструменты для TypeScript пишут на Go? Реально важно на чём оно собрано если работает быстро и не сыпется? Главное ведь — скорость и стабильность, а не ваши священные языковые традиции.

Видимо у некоторых конкретно подгорело, когда выяснилось, что для написания утилит не выбрали их любимую платформу. Уже придумали теорию, что это — начало конца TypeScript, ага. Успокойтесь, ребят, тут столько легаси, что даже вашим внукам хватит.

Если вдруг TypeScript/JavaScript-экосистема совсем загнётся — есть PHP. Ему точно ничто не угрожает. Даже искусственный интеллект не возьмёт на себя такую карму — разбирать древние скрипты на чистом PHP.

Так что какая разница, на чём это всё написано если оно работает?

® Niwe Code
🔥1
#Frontend #JavaScript

Как мы чуть не просрали весь современный web


Было время когда мир стоял на развилке: с одной стороны JavaScript, кривой, торопливый, сделанный за 10 дней парнем, которому просто нужно было «сделать что-то похожее на Java», с другой стороны VBScript, аккуратный, чистый, родной язык от Microsoft, интегрированный в Windows так, как никогда не сможет ни один другой скриптовый яп.
И знаете что? Мы были в одном шаге от ада, где весь веб писался бы на VBScript.

Что такое VBScript и почему Microsoft его продвигала?

VBScript (Visual Basic Scripting Edition) это облегчённый диалект Visual Basic, созданный Microsoft для написания скриптов. Он был частью экосистемы Windows: работал в Internet Explorer, в административных скриптах (WSH), в классическом ASP на сервере.

Его преимущества для Microsoft:
Знакомый синтаксис для армии разработчиков выросших на VB.
Прямая интеграция с ActiveX и COM-объектами, можно было дергать что угодно из системы.
Контроль. Если бы веб строился на VBScript, то Microsoft контролировала бы его де-факто.


Почему это была бы катастрофа?

1. Только Internet Explorer. VBScript работал только в IE, ни Firefox, ни Opera, ни тем более что-то на Mac или Linux. Веб тут же делился на два лагеря: «сайты для IE» (полнофункциональные) и «сайты для всех остальных» (урезанные). Фрагментация наступила бы мгновенно.

2. Безопасность? Зачем? VBScript через ActiveX имел доступ к файловой системе и реестру. Представьте: заходите на сайт, а он через скрипт форматирует вам диск или крадёт документы. Мечта хакера.

3. Закрытая экосистема. VBScript — проприетарная технология Microsoft. Никакого открытого стандарта, сообщества, которое могло бы влиять на развитие. Веб стал бы заложником одной компании.

Как JavaScript выжил и победил?
Netscape сыграла ва-банк. Они сделали JavaScript открытым и передали его для стандартизации в ECMA. Это был ключевой ход, язык перестал быть игрушкой одной компании.

«Достаточно хорош». JavaScript был кривым, но кроссплатформенным. Он работал везде, где был браузер, даже если с небольшими ошибками.

Сообщество. Разработчики, несмотря на все недостатки JS, начали копать в его сторону. Появились библиотеки вроде jQuery, которые скрывали ужасы нативной разработки под IE и другими браузерами.

Microsoft сдалась. Они увидели, что мир выбирает открытость, поэтому они создали JScript (свою, чуть изменённую, но в целом совместимую реализацию ECMAScript) и начали постепенно двигаться в сторону стандартов.


А что было бы, если бы победил VBScript?
Веб-разработка сегодня — это Visual Studio и только Windows.

React, Vue, SPA? Забудьте. Вместо Node.js у нас был бы IIS + ASP + VBScript.

Писать скрипты для автоматизации на Mac или Linux? Мечтайте.

Браузерные войны закончились бы полной победой IE, а значит — стагнацией на 15 лет.

Веб выжил не потому что JavaScript был хорош. А потому что он был МЕНЬШИМ ЗЛОМ.
Он был достаточно открытым, чтобы его могли улучшать все. Он был достаточно убогим, чтобы закалить тех, кто на нём писал. И он был достаточно гибким чтобы пережить взрывной рост сложности веб-приложений, где его создатели не могли даже представить.

В следующий раз, когда будете ругать undefined, NaN или странности this, вспомните: это цена, которую мы заплатили за то, чтобы веб остался свободным и открытым. Или просто скажите: «Спасибо, что не VBScript».
42