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

Кажется, за последний год многие другие пришли к такому же выводу, что и я. Для очень многих проектов «преимущества» перевешиваются недостатками. Drizzle, Svelte, Ruby on Rails, а теперь и Turbo спрыгнули с корабля обратно в любящие объятия ванильного JavaScript. Или они используют альтернативы, такие как «Комментарии к JS-документу», чтобы избежать дополнительного этапа компиляции.

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

Я все еще вижу места, где это действительно было бы полезно, но настоящая проблема в том, что люди начали использовать его во всем, тогда как, честно говоря, для таких вещей, как написание сценариев на стороне клиента, он просто не подходит.

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

Заявленные преимущества Ring Hollow

У меня всегда возникают проблемы с утверждениями, которые, кажется, не подкреплены реальными фактами. Даже в детстве глупости типа «это просто так» или «потому что я так сказал» вызывали у меня тревогу. Есть причина, по которой я считаю религии — все они — идиотской тарабарщиной, используемой для того, чтобы пасти слабоумных.

Но давайте посмотрим на эти утверждения.

«Типовая безопасность»

Это довольно чушь, потому что «проблема» жонглирования типами — это вина JavaScript. Я не буду это утверждать. НАСТОЯЩАЯ проблема здесь проста: JavaScript слишком снисходителен, допуская ошибки и продвигаясь вперед, как будто все в порядке.Эта черта, унаследованная от HTML. Но более серьезная проблема и та, которая...