The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Фреймворк Turbo прекращает использование языка TypeScript

08.09.2023 09:15

Давид Хейнемейер Ханссон (David Heinemeier Hansson), автогонщик и автор веб-фреймворка Ruby on Rails, объявил о прекращении поддержки языка программирования TypeScript в коде развиваемого им проекта Turbo и переходе на использование чистого JavaScript начиная с выпуска Turbo 8, без задействования строгой типизации. Уход от использования TypeScript во фреймворке Turbo не повлияет на возможность применения TypeScript в клиентском коде или подключение библиотек, написанных на TypeScript.

В качестве причины прекращения использования TypeScript упоминается то, что этот язык мешает автору при разработке и делает трудными вещи, которые должны быть простыми. Недовольство касается не только наличия дополнительной стадии компиляции TypeScript, но и того, что данный язык загрязняет код "гимнастикой с типами". Многие пользователи и участники разработки Turbo не согласились с внесённым изменением и считают, что решение было поспешным. Например, комментарий с мнением, что уход от TypeScript является шагом назад, поддержали 357 участников, а против высказалось всего 8.

В качестве доводов за использование TypeScript упоминается упрощение выявления ошибок в коде и удобство при приёме изменений от сторонних участников. Предполагается, что смена языка может нарушить работу многих пакетов в экосистеме Hotwire, сделает неактуальными ожидающие принятия poll-запросы и нарушит логику работы систем автодополнения кода в интегрированных средах разработки. Недовольство некоторых вызвало не смена языка разработки, а то, что изменение было единолично утверждено без предварительного обсуждения с сообществом и игнорируя мнения других участников.

В ответ Давид Ханссон пояснил, что обсуждение выбора между TypeScript или JavaScript вряд ли могло изменить фундаментальную позицию сторонников и противников TypeScript. Компания 37signals, которая курирует разработку проекта, полностью перешла на использование чистого JavaScript в клиентском коде и внутренних библиотеках. Использование чистого JavaScript не только значительно улучшает читаемость кода, но и избавляет разработчиков от выкрутасов с типами, производимых для удовлетворения капризов компилятора TypeScript.

Фреймворк Turbo распространяется под лицензией MIT и изначально был создан компанией 37signals в процессе разработки платформы управления проектами Basecamp, аналогично тому, как в своё время для данной платформы был создан фреймворк Ruby on Rails. Turbo позиционируется как более простая альтернатива web-фреймворкам, формирующим представления страницы на стороне клиента. В Turbo применяется концепция построения интерактивных web-приложений "HTML-over-the-wire", при которой сервер вместо использования JSON напрямую отправляет клиенту HTML-код. Отмечается, что реализованный подход позволяет минимизировать использование JavaScript в web-приложении, обеспечить высокую производительность и упростить процесс доработки приложений. При использовании Turbo логика работы приложения не размазывается по фронтэнду и бэкенду, а определяется только на сервере с использованием языка программирования, наиболее удобного для разработчика. Браузер же занимается только обработкой готового HTML.

  1. Главная ссылка к новости (https://devclass.com/2023/09/0...)
  2. OpenNews: Предложен компилятор исходных текстов на языке TypeScript в машинный код
  3. OpenNews: Доступен язык TypeScript 2.0, продвигаемый Microsoft в качестве дополнения к JavaScript
  4. OpenNews: Результаты опроса разработчиков, использующих Ruby on Rails
  5. OpenNews: Устранение нарушения GPL в библиотеке mimemagic привело к сбою в Ruby on Rails
  6. OpenNews: В Ruby on Rails устранена уязвимость, допускающая подстановку SQL-кода
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/59729-typescript
Ключевые слова: typescript, javascript, turbo
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (150) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:30, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    > В Turbo применяется концепция построения интерактивных web-приложений "HTML-over-the-wire", при которой сервер вместо использования JSON напрямую отправляет клиенту HTML-код. Отмечается, что реализованный подход позволяет минимизировать использование JavaScript в web-приложении, обеспечить высокую производительность и упростить процесс доработки приложений.

    Это как в HTMX?

     
     
  • 2.150, Аноним (150), 07:07, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Когда-то деды называли это Ajax.
     
     
  • 3.152, Аноним (152), 07:28, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ASP.NET WebForms же.
     
     
  • 4.168, Аноним (-), 17:00, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Delphi forms же, ну. Какие еще asp.net'ы?
     

  • 1.3, Аноним (3), 10:33, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Компании стало тяжело поддерживать свои проекты на двух похожих языках, так как экосистема тоже отличается, хоть и не значительно.

    Решение понятное, но грубое.

     
     
  • 2.20, Аноним (20), 11:02, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Svelte тоже перешел недавно на JS+JSDoc с типам, и там была интересная дискуссия, о том что библиотеки вообще следует делать только на чистом JS, чтобы например при каких-то ошибках тебе указывало точно на номер строки, а не пыталось из скомпилированного из Тайпскрипта представления найти где же это было в оригинале.

    Вот тут он пришел к главному фанату раста на ютюбе и объяснился. https://www.youtube.com/watch?v=zPOHY-cZ1wE

     
     
  • 3.22, Аноним (1), 11:09, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > главному фанату раста

    Да вроде уже перестал фанатеть.

     
     
  • 4.44, Растобой (?), 12:56, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это он просто обиделся немного. Отойдёт и снова вернётся)
     
  • 3.162, Аноним (-), 11:18, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Svelte тоже перешел недавно на JS+JSDoc с типам, и там была интересная дискуссия,
    > о том что библиотеки вообще следует делать только на чистом JS, чтобы

    ...чтобы наслаждаться багами сразу в либе, а ошибки - какие ошибки, если типов нет, в самом деле? И на все остальные ошибки - тоже забить, так кодить еще проще будет! :)

     
  • 3.216, Аноним (216), 20:42, 14/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Для решения подобной проблемы существуют Source Map
     
     
  • 4.218, ван (??), 12:03, 19/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    создадим проблему и создадим инструмент её решения
     

  • 1.4, Аноним (4), 10:33, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Руби не стал топчиком и это не станет)
     
     
  • 2.7, Аноним (7), 10:35, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    топчик это эликсир
     
     
  • 3.13, User (??), 10:47, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    "... но пользоваться им я конечно не буду"(Ц)?
     
     
  • 4.73, Наме (?), 15:05, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Так мы и рубями не пользуемся. Зачем? Есть бидон, глагне, тупоскрипт и сисиплюс для людей
     
     
  • 5.83, User (??), 15:25, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Так мы и рубями не пользуемся. Зачем? Есть бидон, глагне, тупоскрипт и
    > сисиплюс для людей

    Ну вот да. Разве что крестов нету - есть C#/java

     

  • 1.10, Аноним (10), 10:38, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    Турбой не пользуюсь, но решение одобряю. Понакрутили обёрток вокруг обёрток.
     
     
  • 2.19, Аноним (19), 10:58, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    а дюшей метелкиным пользуешься?))
     
     
  • 3.35, Аноним (35), 12:02, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Только Стасом.
     
  • 2.169, Аноним (-), 17:04, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Турбой не пользуюсь, но решение одобряю. Понакрутили обёрток вокруг обёрток.

    Их накрутили не от хорошей жизни. А заметив что если проект становится крупным, без типов баги начинают задалбывать - а дебажить это все становится почти невозможно. Хотя конечно откатить и вспомнить почему это было - вариант. А потом охренеть с такого дебага и перейти обратно :)

     

  • 1.14, Аноним (19), 10:47, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > Давид Хейнемейер Ханссон (David Heinemeier Hansson), автогонщик

    что?) у этого драйвера ещё страничка на вики есть, полюбому самописная

     
     
  • 2.15, Аноним (19), 10:55, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    хотя, он Ли Ман выиграл, что уже неплохо
     

  • 1.16, Вирт (?), 10:56, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +22 +/
    У гонщиков и javascript разработчиков особый склад ума.

    Гонщики: сейчас и так сойдет, все равно к концу сезона машине нужен будет капитальный ремонт.

    javascript разработчи: "укажите тип аргумента функции, чтобы Number вместо String туда не засунули" - нафига, к концу месяца еще пять раз перепишем с нуля.

     
     
  • 2.60, BeLord (ok), 13:59, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это пока им не выдвинули требования поддерживать их поделки лет 20, с ответственностью за качество кода-)))
     
     
  • 3.78, Аноним (78), 15:13, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да, когда нам выдвинули: реально пришлось на TS перейти. В больших проектах даже ES6 не спас, только добавлял трудности поддержки IE (хорошо что уже помер).
     
  • 3.119, Аноним (119), 23:07, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Большой проект нужно резать на маленькие кусочки. И все прекрасно поддерживается.
     
  • 2.91, Number вместо String (?), 17:09, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    +,!! и '${}' если боишься, что засунут не то и слишком ленив писать гарды. двоечник
     
     
  • 3.106, Вирт (?), 20:08, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > +,!! и '${}' если боишься, что засунут не то и слишком ленив писать гарды

    Зачем? Завтра ведь нужно будет на другой фреймворк переписать, чтобы быть в тренде и этой функции уже не будет.
    Это Javascript, baby, это javascript baby.

     
  • 2.205, ti (?), 10:12, 11/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Руби не без строгой типизации и там принято везде использовать TDD. Турбо, по своей сути - это фронтовая часть Рельс(руби фреймворка). Странно не использовать строгую типизацию на бэке и использовать на фронте.
     
     
  • 3.206, ti (?), 10:13, 11/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    *Руби без строгой типизации и там принято везде использовать TDD
    fix
     

  • 1.18, Уася (?), 10:58, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –21 +/
    Типы не нужны. Они только запутывают и усложняют не только код но и логику.

    В будущем появятся инструменты которые сами будут майнить типы и не добавлять дополнительный уровень оверхеда коим щас является турескрипт

     
     
  • 2.25, Аноним (25), 11:26, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +34 +/
    > Типы не нужны

    У вас [object Object] новых сообщений.

    > Они только запутывают и усложняют не только код но и логику

    Пользователь undefined лайкнул ваш пост от Invalid Date.

     
     
  • 3.36, Аноним (35), 12:03, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • –8 +/
    Что не так? Возьми да поправь.
     
     
  • 4.214, Аноним (-), 19:09, 12/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Что не так? Возьми да поправь.

    Для этого надо найти где это происходит. Без типов то это довольно веселое начинание.

     
  • 3.40, Бывалый смузихлёб (?), 12:40, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Только тайпскрипт это не исправляет )
    Разве что геммора добавит
     
     
  • 4.50, Аноним (25), 13:12, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Исправлять должен не тайпскрипт, а разработчик. Тайпскрипт лишь указывает, где ты присваиваешь ежика зайчику.

    > Разве что геммора добавит

    В больших проектах гемором будет отсутствие тайпчекера, так как абсолютно любое изменение будет на авось. Впрочем, в хелловорлд-проектах на максимум 50 lines of code -- да, можно обойтись без тайпскрипта.

     
     
  • 5.63, Бывалый смузихлёб (?), 14:04, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Кто-то, уровнем чуть выше самого новичкового новичка и так об этом в курсе Вдоба... большой текст свёрнут, показать
     
     
  • 6.69, Аноним (25), 14:30, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Который помнит все сотни тысяч строк проекта, верно В голове удерживает всё то,... большой текст свёрнут, показать
     
     
  • 7.110, Аноним (-), 20:29, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > а с по-настоящему крупными проектами >1,000,000 LoC ты не сталкивался.
    > Тебя заставляют пользоваться классами? У нас они только там, где их зачем-то требуют third_party-либы.

    лол, а как ими не пользоваться-то? так можно и 2,000,000 ск проекты выдавать))))
    я, правда не спец в жб, так, пых-самоучка))

    > Наследованиям есть альтернатива -- композиция.

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

     
  • 3.101, Аноним (-), 19:27, 08/09/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.56, YetAnotherOnanym (ok), 13:34, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Типы не нужны. Они только запутывают и усложняют не только код но и логику.

    А ты тонкий. Даже с чувством юмора.

     
     
  • 3.103, Аноним (-), 19:40, 08/09/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.66, OpenEcho (?), 14:09, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > В будущем появятся инструменты которые сами будут майнить типы

    вы про джэнерики слышали? а они уже пришли...

     
     
  • 3.75, Аноним (75), 15:07, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Они за дверью, стесняются постучать.
     
     
  • 4.138, OpenEcho (?), 04:12, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Они за дверью, стесняются постучать.

    не пускайте, им дашь волю, и опять типизация боком

     
     
  • 5.194, Вы забыли заполнить поле Name (?), 14:58, 10/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > им дашь волю, и опять типизация боком

    В нормальных языках на них можно ограничения наложить, а не как в С++ (и да, концепты все еще не решают всех проблем).

     
  • 3.113, jt3k (ok), 22:02, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Дженерики то тут при чём? Автор про нейросети писал и инструменты на их основе. В жабаскриптах нет женериков.
     
     
  • 4.136, OpenEcho (?), 03:26, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Автор про нейросети писал...

    Сорри, но я не телепат


     
  • 2.74, Наме (?), 15:07, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ТипЫ типа вас не нужны, в будущем будут аннигилированы автоматически
     
  • 2.102, Илья (??), 19:40, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Типы нужны для рефакторинга.

    Js разработчикам это не нужно, у них можно раз в год выкидывать и с нуля переписывать

     
  • 2.196, Вы забыли заполнить поле Name (?), 15:01, 10/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > В будущем появятся инструменты которые сами будут майнить типы

    С разморозкой. Уже есть flow от запрещенной соц. сети. Правда у них все как обычно.

     
  • 2.207, microcoder (ok), 21:35, 11/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Будущее уже давно здесь, это Python! Никакой тебе типизации, только АННОТАЦИИ к типам!
     
     
  • 3.215, Аноним (-), 19:10, 12/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Он как раз и падает в рантайме все время, не хуже JS. Весьма характерно.
     

  • 1.21, Аноним (21), 11:08, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    >избавляет разработчиков от выкрутасов с типами, производимых для удовлетворения капризов компилятора TypeScript

    Это они еще не видели, какие выкрутасы нужны для удовлетворения компилятора Rust...

     
     
  • 2.23, Аноним (25), 11:11, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    яваскрипт без тайпскрипта все равно, что сишка, в которой все указатели -- void*
     
     
  • 3.24, Уася (?), 11:12, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это как к буханке к которой добавили антены
     
  • 3.41, Аноним (41), 12:46, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да же не рядом.
     
  • 2.47, Аноним (47), 13:03, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > какие выкрутасы нужны для удовлетворения компилятора Rust...

    Это не для удовлетворения компилятора, это для вразумления твоей порочной логики построения приложений. Не теми путями задачу решаешь с точки зрения безопасности, корявыми. Это легко понять, оглядываясь потом на свалку CVE и убытки от ошибок. Используй раст и со временем мозги вправятся, начнешь думать над решением задачи как дОлжно и не будешь замечать того компилятора. А может и не вправятся (мозги), тогда будешь растохейтить на опеннете.

     
     
  • 3.49, 1 (??), 13:11, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > и со временем мозги вправятся, начнешь думать над решением задачи как дОлжно и не будешь замечать того компилятора

    Прям как про армию. А потом будешь удивляться
    "- Раз они такие умные, почему строем не ходят ?"

     
     
  • 4.85, Аноним (47), 15:36, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да, хорошие аналогии - они на вес золота. А чего не привел в пример в плане вправки мозгов, допустим, какую-нибудь музыкальную консерваторию, где всё строго и по науке (раст) супротив дворовой гитары с пацанами, где ори во всё горло что хошь и как хошь (си)? Конечно, во дворе с пацанами ЗНАЧИТЕЛЬНО лучше и веселее - напрягаться не надо и весело и можно матерные песенки Юры Хоя (Клинских) орать и в любой момент петуха пустить - все вместе поржёте.

    Да, критические CVEшки многа-многа лучше - они такие мягонькие, тепленькие, ламповые. А главное - кормят долго и надежно. Плевать, что пользователи страдают.

     
  • 4.87, Аноним (47), 15:56, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Прям как про армию

    Нет, здесь прям как про арифметику.

    ты написал 2+2=5. Нет, вправляет тебе мозги раст, 4 и никак иначе. Вот такая тут аналогия. И твои мухлёванные доказательства обратного и горбатые аналогии - от лукавого. Раст не от всего тебя ограничивает, а только от техник программирования, чреватых ошибками. Всё. Дальше твори, что хочешь. Это как в свое время был переход в создании программ от DOS к Windows/Linux. Что угодно и как угодно, как в ДОСе, с машиной уже не сделаешь, как-никак защищенный режим и куча ограничений, но творить, в определенных рамках ("в песочнице"), можешь что угодно. Если же ты постоянно вылезаешь за выделенную память или пытаешься напрямую работать с железом - ну, значит ты что-то делаешь неправильно.

     

  • 1.26, Аноним (26), 11:28, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    >сервер вместо использования JSON напрямую отправляет клиенту HTML-код.

    Хоть кто-то адекватный в JS-сообществе!

     
     
  • 2.45, Аноним (45), 13:00, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Отправляет HTML, а внутри него script тег, а там jQuery. Как в старые добрые
     
     
  • 3.64, th3m3 (ok), 14:07, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нафига? На странице может вообще не быть js! Достали его пихать везде, где надо и не надо.
     
     
  • 4.76, Наме (?), 15:10, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Только 99% фич типа активных форм и навигации без круглосуточной перезагрузки всей страницы немножк не работают, а так может не быть, конечно, особенно если это страница "сайт заблокирован во имся специальной чебуречной операции"
     
  • 3.77, Наме (?), 15:11, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И всё это заинлайнено так, что без сумасшедших регулярок фиг разложишь чтобы просто взять полезный пэйлоад у (ч)удаков, которые не умеют в человеческий API
     
     
  • 4.96, Аноним (96), 17:48, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Библиотек по разбору хтмл целый миллион, какие регулярки?
     
  • 4.114, jt3k (ok), 22:08, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Для чего вам в интерфейсной либе парсить хтмл для извлечения данных? Присылайте сразу данные и проблема решена.
     

  • 1.27, Аноним (27), 11:28, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Не знаю. Загрязняет гимнастикой с типами? Я наоборот как то привык к строгому объявлению типа void Func(int X), чем потом в теле этой функции наковыривать жуткие конструкции типа if typeof(X) = string then...
     
     
  • 2.30, Аноним (30), 11:43, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    а сразу написать на javascript религия не позволяет?
     
  • 2.42, Бывалый смузихлёб (?), 12:51, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    ну это у тебя с архитектурой что-то не так
     

  • 1.29, Аноним (30), 11:42, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Правильным курсом идёт товарищ!
     
     
  • 2.133, Аноним (133), 02:05, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я тоже поддерживаю. Классы в ES6 завезли, так что подождать немного и будет там все что сейчас есть в TypeScript.
     
  • 2.51, Аноним (51), 13:14, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Колеблющаяся типизация. На самом деле, похоже, дятел владел английским, это "строго-типизированный" против "свободно-типизированный". Термина слабая типизация не существует как такового, ты его только что придумал.
     
     
  • 3.92, leap42 (ok), 17:26, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Колеблющаяся типизация. На самом деле, похоже, дятел владел английским, это "строго-типизированный"
    > против "свободно-типизированный". Термина слабая типизация не существует как такового,
    > ты его только что придумал.

    Вы прост 0 книг прочли на языке, на котором написано 100% материалов по CS.

    https://en.wikipedia.org/wiki/Strong_and_weak_typing

     
     
  • 4.93, Аноним (51), 17:37, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    О чём и речь. У этого слова есть 2 значения: хрупкий и немощный. Которое из них можно перевести как "слабый"? Вот это уж точно дебич какой-то придумал.
     
     
  • 5.124, Аноним (124), 00:55, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В английском ты разбираешься так же, как и в программировании...
    https://translate.google.com/?sl=en&tl=ru&text=weak&op=translate
     
     
  • 6.128, Аноним (51), 01:12, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну GT то конечно показатель. А как ты переведёшь weakly?
     
  • 2.54, Вопрашающий (?), 13:29, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > и теперь антоним строгой типизации какой? - Слабая

    Ласковая типизация :)

     
     
  • 3.58, YetAnotherOnanym (ok), 13:40, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    "Попустительская"
     
  • 2.117, COBA (?), 22:38, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну в python например утиная.
     
     
  • 3.155, leap42 (ok), 07:46, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну в python например утиная.

    Утиность ортогональна силе. В python сильная динамическая.

     

  • 1.61, BeLord (ok), 14:01, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Так и не понял, в чем проблема строгой типизации, кроме лени разрабов, других причин пока не увидел.
     
     
  • 2.67, OpenEcho (?), 14:22, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Так и не понял, в чем проблема строгой типизации, кроме лени разрабов, других причин пока не увидел.

    Если бы строгая типизация была бы на уровне самого языка, то понятно, а вот делать вид что типизация и потом компилить в  не типизированный язык, - это костыль, еще одна не принудитильная абстракция, которая в конечом результате попадает в браузеры как не типизированнйы код

    Простыми словами - ананизм, подмена реального процесса фикцией

    Я не против пользы типизации, но не проще ли тогда уже писать на настоящем языке, который от рождения типизирован и компилить в тот же WASM понимаемый браузерами, - и волки и овцы (типизация и скорость) целы и сыты вместо того чтоб овцам прикидываться волками

     
     
  • 3.70, Аноним (25), 14:37, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > компилить в тот же WASM

    Веб-приложения, активно взаимодействующие с DOM, будут тормозить в WASM-варианте. That's right, ты не ослышался: JavaScript работает существенно быстрее WASM, если требуется активно работать с DOM.

     
     
  • 4.84, Аноним (47), 15:26, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Как там сейчас не знаю, а пару лет назад читал, что да, васм, чтобы использовать DOM, пока еще дергает яваскрипт ибо своего механизма не имел. В таком случае конечно будет тормозить. Но там в планах было реализовать прямое обращение к DOM, без JS-прокси. Вот когда реализуют - тогда заживем. Но там много чего еще было в планах.
     
     
  • 5.173, cheshirekot (ok), 20:18, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А там до сих пор все так же...
     
  • 4.135, OpenEcho (?), 03:21, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > ты не ослышался: JavaScript работает существенно быстрее WASM, если требуется
    > активно работать с DOM.

    А зачем в веб-морде а.к.а ЮаЙ, активно работать?
    Люди(способность человеческой реакции) способны фиксировать что-то быстрее чем 25 кадров в секунду ?

     
     
  • 5.174, cheshirekot (ok), 20:19, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Там речь об оверхеде по полсекунды при обращении к DOM. Реально, даже кожаный мешок заметит
     
     
  • 6.199, OpenEcho (?), 15:32, 10/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Там речь об оверхеде по полсекунды при обращении к DOM. Реально, даже
    > кожаный мешок заметит

    По сравнению с нынешними даже банковскими сайтами, где все моргает, дергается по несколько секунд пока появится что-то - так пол секунды это просто ракета...

    ВАСМ, не замена ЖС, и их все же можно скрестить, получив максимальную выгоду от обоих, как пример:
    https://age-wasm.ey.r.appspot.com/

     
  • 5.183, Аноним (183), 02:01, 10/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Люди(способность человеческой реакции) способны фиксировать что-то быстрее чем 25 кадров в секунду ?

    Фиксировать и реагировать способны до 120 кадров точно. Выше хз, не проверял.

     
     
  • 6.198, OpenEcho (?), 15:03, 10/09/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Фиксировать и реагировать способны до 120 кадров точно. Выше хз, не проверял.

    Это вы про игрульки? так там вы видите больше строб-эффект...

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

    Самый простой метод, - собрать мультивибратор с duty cycle 50%  и подцепить к нему светодиод и начать накручивать частоту до тех пор пока переключения перестанут фиксироваться глазом-о-мозгом.  Восприятие частоты обновления картинки глазом может быть очень высоким, но само видение, точнее восприятие мозгом - этом совсем другое. Именно поэтом в свое время даже запретили изпользовать эффект 25 кадра в рекламе, - т.к. на башку влиять можно "невидимо"

     
  • 3.90, Аноньимъ (ok), 16:57, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Если бы строгая типизация была бы на уровне самого языка, то понятно, а вот делать вид что типизация и потом компилить в  не типизированный язык, - это костыль

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

     
  • 3.125, fuggy (ok), 00:58, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Решение удивительное. Первый раз наверно вижу, когда большой проект с развитием переходит с типизированного обратно на динамический язык. Ломать не строить, как говорится. Это оказывается просто убрать все типы из кода, когда уже система отлажена, но вот в обратную сторону проставить типы это много времени работ.
    Я понимаю использовать динамический язык, для небольших стартапов, где не выстрелило - выкинуть не жалко. В больших проектах в статически типизированных языках, ошибки найти сразу на этапе компиляции, что экономит много времени на отладку, и что невозможно на динамически типизированных языках.
     
     
  • 4.137, OpenEcho (?), 04:07, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > В больших проектах в статически типизированных языках...

    TypeScript - не язык, а прослойка между реальным языком и чуваком/чувихой, думающ(ий/ей) что они пишут на типизированном языке. Имитация. Анонизм.

    Не, там есть позитив от типов, однозначно, но пока это не на уровне языка, а так, - в имитации, то сколько волка не корми, все равно как у ишака не вырастет. Вот когда ТайпСкрипт будет JIT-том в браузере/ноде, вот тогда его можно будет воспринимать как взрослого


     
  • 3.197, Вы забыли заполнить поле Name (?), 15:03, 10/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Если бы строгая типизация была бы на уровне самого языка, то понятно, а вот делать вид что типизация и потом компилить в  не типизированный язык, - это костыль, еще одна не принудитильная абстракция, которая в конечом результате попадает в браузеры как не типизированнйы код

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

     
     
  • 4.200, OpenEcho (?), 15:49, 10/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну большинство языков компилятся в асм, который в конечом результате попадает на процессор как не типизированный код.

    Мы ехали, ехали и наконец приехали...

    Копилится в основном не в асм, а в опкоды процессора, где вообще-то весь сыр-бор именно изза него, - процессора, где все привязанно к жестким типам.

    Для справки:
    https://cse.unl.edu/~goddard/Courses/CSCE351/IntelArchitecture/IntelDataType.p

     
  • 2.72, Tron is Whistling (?), 14:56, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема в том, что смузи с сахарком вокруг типов оборачивается кучей тайпкастов и конверсий там, где их не надо. Это в лучшем случае. В худшем - необходимостью дублировать код под каждый тип, либо городить темплейты, но последнее не про жс.
     
     
  • 3.185, Аноним (-), 02:31, 10/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    так где не надо - там и не надо) если мы говорим про юзеринпут/парсеры/апи - надо, это понятно, а то в лучшем случае данные не зайдут, в худшем, если тип в бд не установлен, к примеру, может немаленькая такая часть системы отвалиться, если не вся сразу, и ищи потом кто-куда

    а если мы говорим про внутреннюю логику, которая уже за этим барьером выше - там уже и не нужно, если кодить правильно

    так какой правильный ответ?))

     
     
  • 4.189, Tron is Whistling (?), 10:32, 10/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Правильный ответ - в заголовке новости.
     
  • 2.115, jt3k (ok), 22:16, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Предлагаю вам залезть в их репу и почитать что на этот счёт пишет сам автор. Нужно быть всегда честными с самим собой тайпскрипт увеличивает сложность. А где сложность там и баги, вне зависимости от того есть там тайпскрипт или нет)
     
  • 2.160, leap42 (ok), 10:13, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Маловато опыта значит Представьте себе python код, который обрабатывает входной... большой текст свёрнут, показать
     
     
  • 3.175, Аноним (175), 21:07, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так надо сразу делать нормально, а не вываливать данные как попало, расчитывая что на той стороне как-нибудь разберутся.
     
     
  • 4.202, Вы забыли заполнить поле Name (?), 17:21, 10/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну так надо сразу делать нормально, а не вываливать данные как попало,
    > расчитывая что на той стороне как-нибудь разберутся.

    Дык это сложно: нужно поддерживать совместимость. А так никто не знает, что завтра будет в ответе.

     
  • 3.201, Вы забыли заполнить поле Name (?), 17:20, 10/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Представьте себе python код, который обрабатывает входной json десятком if. Т.е. там очень сильно что угодно может быть: строка, массив, объект, массив объектов, объект, набитый объектами, в которых могут быть массивы.

    У нормальных АПИ есть схема ответа и из схемы можно сгенерить типы. В том же питоне популярен pedantic из-за возможности проверки.

    > конечно благодаря композиции и хитрому анмаршалингу я могу свести кучу частных случаев к общим, но постоянно думаю о том, что лучше бы писал это на node.js

    Просто тебе нужен не JSON, а protobuf или другой формат.

     

  • 1.65, Tron is Whistling (?), 14:07, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Абсолютно поддерживаю. Язык изначально слабо типизирован, и все эти костыли для студентов первого курса - костылями и останутся.

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

     
     
  • 2.71, Критик (?), 14:45, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Все там хорошо с типами! Более того, прошли времена, когда все эти новомодные фреймворки могли что-то ускорить или улучшить, даже тот же jQuery уже не нужен, ванильный чистый JavaScript можно удобно и комфортно все что тебе надо и при том работает без тормозов, в отличии от ваших тубо.
     
     
  • 3.116, jt3k (ok), 22:18, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Технология турбо поправде крутая, и очень отзывчивая. Вы не правы.
     
  • 3.129, Аноним (-), 01:17, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Все там хорошо с типами!

    да непонятно вообще что за проблема с типами такая))) если нужно что-то конкретное для бд или продакшена какого - объявляй и чек/конверт на инпут вешай классом, делов-то. а не где неважно - там неважно. у них там, по ходу, нигде ничего такого нет - вот и топят.

    >Более того, прошли времена, когда все эти новомодные фреймворки могли что-то ускорить или улучшить, даже тот же jQuery уже не нужен, ванильный чистый JavaScript можно удобно и комфортно все что тебе надо и при том работает без тормозов, в отличии от ваших тубо.

    ну когда осваиваешь язык и приёмы на уровне выше группы разрабов фреймворка - тогда да, но раньше - не всегда. а если ты гуру от бога - можно чей и вообще своей язык накатать, что все ахнут)))

     
  • 2.98, Аноним (98), 18:07, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    PHP вообще следовало бы остановиться на 4 версии по синтаксису, и допиливать только то, что под капотом для ускорения и латания безопасности. Сейчас пыха уже сложнее чем java, а популярность падает с каждым годом.
     

  • 1.81, nonstop (?), 15:22, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вот это нужно в рамку и на стену повесить:

    > избавляет разработчиков от выкрутасов с типами,
    > производимых для удовлетворения капризов компилятора

     
     
  • 2.88, YetAnotherOnanym (ok), 15:57, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У автора этой формулировки явно припекает от любых попыток навести в коде порядок с типами.
     

  • 1.86, Golangdev (?), 15:40, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > В качестве причины прекращения использования TypeScript упоминается то, что этот язык мешает автору при разработке и делает трудными вещи, которые должны быть простыми. Недовольство касается не только наличия дополнительной стадии компиляции TypeScript, но и того, что данный язык загрязняет код "гимнастикой с типами".
    > Компания 37signals, которая курирует разработку проекта, полностью перешла на использование чистого JavaScript в клиентском коде и внутренних библиотеках. Использование чистого JavaScript не только значительно улучшает читаемость кода, но и избавляет разработчиков от выкрутасов с типами, производимых для удовлетворения капризов компилятора TypeScript.

    Люто поддерживаю. TypeScript нужен далеко не всегда. Лично наблюдал как в последние 5 лет использование TS становилось не то карго-культом, не то сектой.

     
     
  • 2.104, Фонтан Энтропии (ok), 19:43, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В какие средние и большие проекты ты бы не стал брать тайпскрипт и почему?
     
     
  • 3.130, Аноним (-), 01:30, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    так вроде же можно так же описать классы на жс и использовать их, в чём конкретно преимущество тс?

    я вот свой проект вылизал, вроде бы, на пыхе, смотрю теперь в сторону динамического обновления, подтягиваний и тп, но чёт ничего убедительного не нахожу в использовании подобного - на жс же можно всё сделать, через те же сокеты, библиотеками всякими для начала и тп - зачем всякие *скрипты, аяксы, джейквери и тп тащить?

     

  • 1.94, FF (?), 17:43, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    видимо надоело ждать, пока вебпак соберёт
     
  • 1.105, Sergey (??), 19:44, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > При использовании Turbo логика работы приложения не размазывается по фронтэнду и бэкенду, а определяется только на сервере с использованием языка программирования, наиболее удобного для разработчика. Браузер же занимается только обработкой готового HTML.

    Упс. Э... Не понял ... В браузере не нужно будет включать этот дурацкий JS ? Возврат к началу WEBa.

     
  • 1.109, Аноним (109), 20:27, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Просто он автогонщик, а не программист.
     
  • 1.112, BrainFucker (ok), 21:46, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Меня этот внезапный всплеск интереса к строгой типизации немного удивил. Вдруг его скакой-то стати стали тащить и в питон, и в php, и в JS, вынуждая разработчиков заниматься лишней рутиной. Всеми этими оптимизациями должен заниматься компилятор сам. В эпоху, когда вот-вот можно будет писать программы на естественном языке, эти шаги назад выглядят странно.
     
     
  • 2.120, Адмунь (?), 23:38, 08/09/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    В строгой типизации нет ничего плохого, особенно там где она опциональна. Это в перспективе даёт возможность конвертации в что-нибудь типа Си и запуска на стиральной машине. Например в PHP типизация сделана очень грамотно и ты сам без каких либо проблем можешь решать использовать её или нет. Чего к сожалению не скажешь про JS, тайпскрипт там это сейчас культ, хотя и законченному идиоту понятно - это приводит к бойлерплейт коду, раздуванию проекта, куче @ts-error-ignore, красным подчёркиваниям потому что тип ещё не добавили т.к. апи новое и прочее и прочее. Ts - рак на планете и надо от него избавляться. кто поумнее - уже давно понял это. Браузеры не про это, они про чистый Js.
     
     
  • 3.131, Аноним (-), 01:32, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Например в PHP типизация сделана очень грамотно и ты сам без каких либо проблем можешь решать использовать её или нет.

    +

     
  • 3.177, Tron is Whistling (?), 22:14, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > в PHP типизация сделана очень грамотно

    Угу. Особенно при отсутствии оверлоуда.

     
  • 3.178, Tron is Whistling (?), 22:15, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Прежде чем делать попытку в строгую типизацию - надо механику обеспечить.
    Оверлоуд, темплейты. Короче сделать из пыха плюсы, но зачем, они уже есть.
    А иначе это унылый костыль для недоглядов. К тому же производительность сажающий в хлам.
     
     
  • 4.186, Аноним (-), 02:33, 10/09/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.126, fuggy (ok), 01:08, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Интересно, а как работают автоматические рефакторинги/исправление для динамического javascript? Мне интересно. Если они и есть, то инструменту всё равно нужно выводить типы. И гораздо проще искать проблемы в коде, когда мы точно знаем что функция принимает. А так функция может принимать и строку, и число, и массив, и объект с неизвестными полями, какую информацию может извлечь инструмент из этого? Никакую.
     
     
  • 3.157, Sergey (??), 09:48, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще то остановить прогу и глянуть какой тип это просто.

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

     
     
  • 4.190, Tron is Whistling (?), 10:34, 10/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Для компилируемых языков верно.
    С JIT всё сложно.
    А в интерпретаторах и псевдокоде - сводится к дополнительной проверке типа в вызовах. В итоге код работает совершенно не быстрее.
     
  • 2.208, microcoder (ok), 21:38, 11/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Вдруг его скакой-то стати стали тащить и в питон

    В питоне нет и не тащат строгую типизацию. В Питоне АННОТАЦИИ, это совсем другое

     
     
  • 3.213, BrainFucker (ok), 10:11, 12/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я в курсе, питону при исполнении кода они пoфиr, но суть та же, эта лишняя возня и зacиpaниe кода вдруг стало популярно и это стали тащить в проекты.
     

  • 1.118, Аноним (119), 22:51, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Моё почтение, у него стальные яйца. Тайпскрипт не даёт выигрыш в качестве кода. А вот штат разработчиков гарантированно увеличит
     
     
  • 2.143, Аноним (143), 05:23, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Тайпскрипт не даёт выигрыш в качестве кода.

    Именно. У хорошего _внимательного_ разраба, который не пялится одним глазом в ютубчик, редко бывают детские ошибки с [object Object]. А если бывают, то мгновенно отлавливаются при тестировании.

    Но нет - из-за 95% кривоглазов изволь нагромождать кода в несколько раз больше. А кривоглазы тем временем косячат другими способами.

     
     
  • 3.163, Ko (?), 12:10, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Однажды обратил внимание как джуны делаю задачу. Берет функцию/компонент и методом научного тыка подбирает параметры. Благодаря js это сделать очень просто. Вот только на ревью это хорошо видно. Как котенку указав на ка..ашку через какое то время такая привычка пропадает. А вот на тайпскрипте будет красивая ка..ашка которую так просто не распознаешь.
     
  • 2.158, Sergey (??), 09:51, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Он дает выигрышь в зарплате.
    За место одного правильного с большой зп и который может уйти заболеть. Можно нанять троих с зарплатой в 3 раза меньше и пугать их что одного скоро сократят и у нас очередь за забором.
     
     
  • 3.164, Ko (?), 12:21, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Одного не заменить на троих, такой вот парадокс. А вот где 3 на одну лампочку там и появляется бюрократия где можно без нее
     
     
  • 4.167, Sergey (??), 15:06, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Увы в реальной жизни наоборот.
     
  • 4.209, Аноним (209), 01:27, 12/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Читал давно историю, как девушке отказали в повышении ЗП, а после её ухода наняли троих на те же обязанности. Правда, это было не в айти, и должности её не знаю
     

  • 1.121, jt3k (ok), 23:47, 08/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Никогда не использовал турбо, но любое изменение с .ts на .js — это большое изменение, потому что теперь ни у кого нет возможности притворяться, что TypeScript — это что-то хорошее.
     
  • 1.153, Аноним (152), 07:32, 09/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Типы должны быть в самом JS. Сделали директиву use strict — можно сделать и use typed. Сразу производительность подскочит, целый пласт обработок из интерпретатора можно будет выбросить.
     
     
  • 2.165, Вася (??), 12:30, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Есть JSDoc, удобная штука. А TS имеет смысл возможно только в очень крупных проектах с тоннами кода...
     
  • 2.191, Вы забыли заполнить поле Name (?), 14:52, 10/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Есть такой proposal https://github.com/tc39/proposal-type-annotations

    Правда там вроде js просто игнорит типы, а проверка возлагается на отдельные утилиты (как typescript). Примерно как аннотации в питоне

     

  • 1.166, VladSh (?), 13:31, 09/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    По моему, лучше бы Dart взяли, это сейчас самый лаконичный язык для веба.
     
     
  • 2.193, Вы забыли заполнить поле Name (?), 14:55, 10/09/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Его для веба вообще кто-то использует? Кроме как для flutter его нигде нет.
     

  • 1.172, Assador (ok), 18:56, 09/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ох уже эти пляски с фреймворками… Фреймворк на фреймворке сидит и фреймворком погоняет… Я вчера несколько часов потратил на поиск ошибки в системе, которую пилим на Vue. Проблема, как оказалось, в том, что у вьюшного reactive с Array-евским filter не было глубокого человеческого взаимопонимания. Простите за нытьё )
     
     
  • 2.219, trippybara (ok), 20:37, 27/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А как ты добился, что тебе нужна реактивность при использовании filter?
     

  • 1.192, Вы забыли заполнить поле Name (?), 14:54, 10/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Еще один не смог ослилить типы. При этом стоит учесть, что в typescript достаточно гибок в этом плане.
     
     
  • 2.210, Аноним (209), 01:34, 12/09/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Еще один плавает без типов.
     

  • 1.204, nc (ok), 09:01, 11/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Давно уже пора принять TS в качестве очередного стандарта ecmascript и внедрить в браузеры. Меньше будет оберток вокруг оберток, и если людям так уж хочется писать на скриптовых языках, так хоть пусть они будут типизированные.
    Но наверное гугл с майкрософтом никак договориться не могут, у гугла же вроде свой язык какой-то был, dart?
     
     
  • 2.211, Аноним (209), 01:35, 12/09/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чем вам Java не зашла?
     

  • 1.212, ikomb (ok), 08:01, 12/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Просто пора уже реализовать нативное выполнение TS как в браузерах, так и на сервере, а не компилить в JS, и забыть JS как страшный сон.
     
     
  • 2.217, Аноним (217), 19:02, 16/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вокруг столько типизированных языков, зачем вы приперлись обсирать javascript?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру