The OpenNET Project / Index page

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



"Доступен TypeScript 6.0, последний выпуск с компилятором на JavaScript"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Доступен TypeScript 6.0, последний выпуск с компилятором на JavaScript"  +/
Сообщение от opennews (??), 24-Мрт-26, 13:19 
Компания  Microsoft опубликовала релиз TypeScript 6.0, языка для разработки web-приложений, расширяющего возможности JavaScript, и связанного с ним инструментария.  Код компилятора, транслирующего код TypeScript в представление JavaScript, распространяется под лицензией Apache 2.0, разработка ведётся в публичном репозитории через сервис  GitHub. Спецификации языка открыты и опубликованы в рамках соглашения Open Web Foundation Specification Agreement...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=65059

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Аноним (1), 24-Мрт-26, 13:19   +7 +/
>В ветке TypeScript 7.0 проект перейдёт на новый компилятор typescript-go (tsgo), разрабатываемый с 2024 года на языке Go.

Очень несовременно, неожиданно для Микрософта. Мы все знаем, какой ЯП должен использоваться для разработки нового компилятора.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2, #3, #4, #5, #8, #16, #81, #112

2. Сообщение от Аноним (2), 24-Мрт-26, 13:25   +7 +/
Bash?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #35, #56, #103

3. Сообщение от q (ok), 24-Мрт-26, 13:26   +/
Будь немного снисходителен к неосиляторам борова. Хотя что там осиливать, его правила умещаются на клочке бумаги размером со спичечный коробок.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

4. Сообщение от Жироватт (ok), 24-Мрт-26, 13:27   +3 +/
Free Pascal для gui
Common Lisp для движка разбора и кодогенерации
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

5. Сообщение от Аноним (5), 24-Мрт-26, 13:28   +2 +/
А какой? С#?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #7

7. Сообщение от Жироватт (ok), 24-Мрт-26, 13:29   +3 +/
JavaEE
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #54

8. Сообщение от Аноним (8), 24-Мрт-26, 13:29   +1 +/
Для того, чтобы тот язык использовался, надо сначала написать на другом.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

9. Сообщение от Аноним (9), 24-Мрт-26, 13:32   –3 +/
Вот правда надеюсь, что последний.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #18

13. Сообщение от Аноним (16), 24-Мрт-26, 14:08   –1 +/
Единственный нормальный джаваскрипт.
Ответить | Правка | Наверх | Cообщить модератору

14. Сообщение от Аноним (89), 24-Мрт-26, 14:09   +/
Почему в браузерах просто не добавят инетерпретатор Typescript? Уже почти вся разработка на нем.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #17, #19, #76, #101

15. Сообщение от Джон Титор (ok), 24-Мрт-26, 14:11   –1 +/
О, давно ждал 7 версию, теперь наконец-то можно поправить tsconfig и избавиться от deprecated настроек. Префиксы классная штука, только они пока множество расширений и редактор пока путают, да и ИИ их не очень любит.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #31

16. Сообщение от Аноним (16), 24-Мрт-26, 14:12   +1 +/
Лазутчики из Гугла внедрили враждебную технологию вместо C# это диверсия теперь компилятор Go шлёт телеметрию про разработчиков из Майков.

В плане один текст преобразовать в другой у Go нет совершенно никаких преимущеста по сравнению с C#.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #23, #26, #28, #41, #117

17. Сообщение от Аноним (18), 24-Мрт-26, 14:20   +1 +/
А зачем? Браузер даёт рантайм и VM под низкоуровневый "байткод" (JS). Всё остальное - сверху.
Всё равно ведь без фазы компиляции исходников в готовый бандл не обойтись, если это не совсем уж простенький HTML.
Даже в до-TS времена уже существовал babel, который транспилировал один JS в другой JS просто ради совместимости со старыми версиями
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

18. Сообщение от Аноним (18), 24-Мрт-26, 14:24   +1 +/
Чем вам так не угодил этот отличный (без шуток) язык? Такую мощной и в то же время удобную систему типов ещё поискать - разработчики отлично смогли соблюсти баланс
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #20, #30, #44, #45, #70, #92

19. Сообщение от Аноним (16), 24-Мрт-26, 14:26   –1 +/
Зачем там интерпретатор, когда можно typescript сразу транслировать в wasm?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #22, #77

20. Сообщение от Аноним (16), 24-Мрт-26, 14:27   +/
В coffescript тоже все было хорошо, но злобные майки все подмяли под себя как обычно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #25, #79

22. Сообщение от Аноним (18), 24-Мрт-26, 14:31   +/
В TypeScript (JS) есть eval() для JS-кода, а это не поддерживается в wasm. Плюс, в wasm нет прямого доступа к DOM.
Это в совокупности делает прямую компиляцию в wasm невозможной без кучи костылей и ограничений
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

23. Сообщение от Аноним (23), 24-Мрт-26, 14:36   +/
> нет совершенно никаких преимущеста

А недостатки есть?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #43

25. Сообщение от Аноним (18), 24-Мрт-26, 14:37   +3 +/
В CoffeeScript вообще не было и нет системы типов. Это такая же рантайм-лапша как в обычном JS
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

26. Сообщение от Hac3r (?), 24-Мрт-26, 14:40   +/
с разморозкой
это уже обсудили пару лет назад
они выбрали Go (рассматривали C# и Rust) потому что Go ближе к синтаксису TypeScript на котором написан текущий компилятор
Так как у них небольшая команда для этого им было проще взять Go для переписывания практически как есть
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #36, #51, #89

28. Сообщение от 6омжанимemail (ok), 24-Мрт-26, 14:41   +/
>> В плане один текст преобразовать в другой у Go нет совершенно никаких преимущеста по сравнению с C#.

  ДА! создатель языка C# выбрал Go, вместо своего творения, потому что нет преимущества, тебе же пердежисту лучше знать.
  Вот поэтому возьми и напиши свою версию компилятора на C# - это же всего-лишь:
преобразовать один текст в другой.
Докажи, что он был не прав.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #52

29. Сообщение от Аноним (29), 24-Мрт-26, 14:46   –4 +/
Все по настоящему производительные вещи пишутся и оптимизируются на js. Если пишешь что то очень ts специфичное, то он нагенерирует такую портянку кода... Вот и выбирай: либо система типов, либо производительность.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #32, #47, #68, #73

30. Сообщение от Аноним (30), 24-Мрт-26, 14:56   +1 +/
Настолько мощная система типов не нужна (без шуток). Многие веб-мaкаки, как обычно, не зная меры, кинулись программировать на типах, безмерно запутывая код.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #34, #46

31. Сообщение от Аноним (30), 24-Мрт-26, 14:58   +/
Очень странно, deprecated они стали только сейчас, с релизом 6.0. А такое впечатление, будто вы всю жизнь ждали когда их объявят устаревшими.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #65

32. Сообщение от Аноним (30), 24-Мрт-26, 15:03   +/
Нагенерирует в JS он ровно то что ты написал, 1 в 1, всего лишь вырезав определения типов. В общем, советую получше узнать предмет обсуждения, прежде чем делиться своим экспертным мнением.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29

33. Сообщение от Аноним (35), 24-Мрт-26, 15:03   +/
Забавно как сахар, который даже сам не скомпилится, называют языком

Более забавно что ему подкапотную сменили на более адекватное (чем жс) подспорье, а могли уже просто закопать и пользоваться напрямую

Ответить | Правка | Наверх | Cообщить модератору

34. Сообщение от Аноним (34), 24-Мрт-26, 15:05   –1 +/
Согласен, многие библиотеки грешат огромным количеством ненужных дженериков.
Но все равно это лучше, чем портянки pure JS кода.

А так-то сдуру можно на любом языке написать дутко переусложнённый код. Вспомните ООП-истерию в Java или более свежее засилие ФП в стиле «написал строку без каррирования - вон из профессии».
Со временем всё устаканивается и принимает адекватные формы

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30 Ответы: #39

35. Сообщение от Аноним (35), 24-Мрт-26, 15:06   +5 +/
powershell же, ну
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

36. Сообщение от Аноним (35), 24-Мрт-26, 15:11   –3 +/
Го они выбрали, жалко писать не научились на нем
Открыл этот tsgo/main, а там семь строчек вынесены в отдельный вызов лишь бы не в самой main() вызывать

впрочем по имени и цвету коммитера на аватарке дело пахнет и пахнет неприятно

вощем веб абизьян опять обманули бананом, подсунув гниль вместо компилятора

Не удивлен

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #62

37. Сообщение от IMBird (ok), 24-Мрт-26, 15:33   +2 +/
Когда уже нативно в браузерах? Внутри V8 типы ведь и так есть?
Или лучше сразу на wasm переходить?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #42, #60, #69

38. Сообщение от Аноним (41), 24-Мрт-26, 15:37   +/
У JS-а много недостатков: отсутствие нормальной типизации, высокое потребление памяти, какое-то безумие с зависимостяим типа leftpad, проблемы с эргономикой и так далее. TS не решает проблему типизации целиком, так как для интеграции с js позволяет опускать типы, но достаточно хорошо её маскирует. Как следствие того, что проблема с типизацией остаётся замаскированой, у разработчиков нет стимула переходить на какой-то другой язык, который кроме проблемы с типизацией заодно решит и другие проблемы. Отказ от раскрутки компилятора довольно красноречиво говорит о качестве самого языка.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #49, #74, #114

39. Сообщение от Аноним (30), 24-Мрт-26, 15:38   +/
Да вот в случае с TS как-то не устаканивается, а только усложняется на радость веб-мaкакам. Сейчас довольно много вещей проще самому занвоо написать, чем тащить в код библиотеку, написанную на дженериках, стащенных откуда-нибудь из ts-generic-collections и им подобных рассадников "гениальных" идей.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34 Ответы: #57

41. Сообщение от Аноним (41), 24-Мрт-26, 15:40   –1 +/
>это диверсия теперь компилятор Go шлёт телеметрию про разработчиков из Майков.

gcc-go изобретён

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #53

42. Сообщение от Аноним (30), 24-Мрт-26, 15:40   +1 +/
Зачем?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #55

43. Сообщение от Аноним (43), 24-Мрт-26, 15:42   –3 +/
Сам go — один большой недостаток.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

44. Сообщение от Аноним (41), 24-Мрт-26, 15:45   +1 +/
>Чем вам так не угодил этот отличный (без шуток) язык?

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

Любая переменная может быть типа Any, что полностью перечёркивает весь смысл TS-а.

Вы на Haskell писали? На Ocaml? SML? Список языков можно продолжать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #58, #66

45. Сообщение от Аноним (43), 24-Мрт-26, 15:45   +1 +/
Этот язык хорош только тем, что он улучшил JS. Во всём остальном он хуже пожалуй всех других языков. Потому что он наследовал родовую травму JS.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

46. Сообщение от Аноним (41), 24-Мрт-26, 15:50   +/
>Многие веб-мaкаки
>безмерно запутывая код

Код не понимаете вы, но мaкака почему-то не вы. Странно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30 Ответы: #48

47. Сообщение от Аноним (47), 24-Мрт-26, 15:58   +1 +/
> нагенерирует такую портянку кода

И что тебе за беда от той "портянки"? Её интерпретатор пережёвывать будет, а не ты, да и составлена она будет без ошибок, в отличие от.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29

48. Сообщение от Аноним (30), 24-Мрт-26, 16:00   +1 +/
А где я написал, что не понимаю? Я как раз вижу, что можно написать то же самое, но намного проще и читаемее.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #59

49. Сообщение от Аноним (49), 24-Мрт-26, 16:10   +1 +/
> какое-то безумие с зависимостяим типа leftpad

У кого-то протекла криокамера?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38 Ответы: #64, #75

51. Сообщение от Аноним (16), 24-Мрт-26, 16:22   +/
Надеюсь ты сам понимаешь что большую чушь придумать сложно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #61

52. Сообщение от Аноним (16), 24-Мрт-26, 16:24   +1 +/
Компания это не бог, как ты считаешь, а просто вывеска где куча разных людей. И если кто-то хочет сделать полянку он это делает.  
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #98

53. Сообщение от Аноним (16), 24-Мрт-26, 16:26   +/
И? Ты для себя сначала ответит с какой версией go этот твой gcc-go совместим и почему, потом попробуй подумать головой.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41

54. Сообщение от eugener (ok), 24-Мрт-26, 16:26   +/
это не язык, это спецификация.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

55. Сообщение от Аноним (16), 24-Мрт-26, 16:29   +2 +/
Считать в браузере хайлоад нейронки (шучу смысла нет)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42 Ответы: #71

56. Сообщение от Аноним (56), 24-Мрт-26, 16:32   +1 +/
Tcsh!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

57. Сообщение от Смузихлеб забывший пароль (?), 24-Мрт-26, 16:41   +1 +/
В веб идёт немало горе-проггеров с других яп( вплоть до жабы и шарпа )
И вот они, будучи полностью убеждёнными что они-то как раз не веб-мак.аки и вообще, без типизации-классов-итд-итп никуда, каменный век, тянут тонны всякого мусора
Некоторые даже умудряются писать на этом почти как, например, на жабе, что становится ещё хуже. Простейший функционал размазан по куче файлов с огромной вложенностью в проекте. Это ж вебма.каки всё просто и наглядно делают, а порой и быстро - то ли дело выгнанный на мороз недо-ынтыпрайсс погромист, который то же самое вместо одного дня запросто будет пилить неделю/месяц и навалит целую гору ***
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

58. Сообщение от Смузихлеб забывший пароль (?), 24-Мрт-26, 16:43   +2 +/
Некоторые слишком часто упоминают всякие хамскели и окамлы
Но, если оные столь хороши, то много ли на них новых проектов делается ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44 Ответы: #63

59. Сообщение от Аноним (41), 24-Мрт-26, 16:50   +/
Нужно написать не просто "проще и читаемее", а так, чтобы оно не развалилось хотя-бы спустя полчаса после коммита. И вот с этим у любителей "проще и читаемее" огромные проблемы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48 Ответы: #72

60. Сообщение от Аноним (41), 24-Мрт-26, 16:51   +/
У браузеров свои типы, у ts - свои.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37

61. Сообщение от Hack3r (?), 24-Мрт-26, 16:53   +/
в чем ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51

62. Сообщение от похнапоха (?), 24-Мрт-26, 16:55   +3 +/
Оооо, хеллоуврот прогер вылез. В сигнатуре функции os.Exit() параметры типа int. Функция runMain() как раз возвращается int. Люди сделали вызов одной функции прямо в аргументе другой - нормальная практика.
Могли бы конечно нагородить вложенную функцию в main(), получить рузультат вызова вложенной функции и передать его в os.Exit(). Либо писать анонимную функцию в качестве аргумента. Зчем все эти извращения? Поэтому люди сделали правильно и лаконично!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #84

63. Сообщение от Аноним (41), 24-Мрт-26, 16:58    Скрыто ботом-модератором–1 +/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58

64. Сообщение от Аноним (41), 24-Мрт-26, 16:59   +/
После самого leftpad-а проблема не прекратилась.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49

65. Сообщение от Джон Титор (ok), 24-Мрт-26, 17:03   +/
> Очень странно, deprecated они стали только сейчас, с релизом 6.0. А такое

Ну вот что ты несёшь? И зачем?

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

Да, когда перепишут на go. Ожидаю улучшение производительности в плане трансляции.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

66. Сообщение от Аноним (18), 24-Мрт-26, 17:05   +/
> Любая переменная может быть типа Any, что полностью перечёркивает весь смысл TS-а.

Как дополнительная возможность может быть в минус?
`any` в реальном коде почти никто не использует, за исключением очень ограниченного набора кейсов типа логирования или сериализации. Да и там много где лучше подходит `unknown`-тип.


> Вы на Haskell писали?

Пробовал, но реально кода писал не очень много и давно. Поправьте, если я не прав, но в Haskell нет структурной типизации, а это на мой взгляд фундаментальный недостаток.

> На Ocaml? SML? Список языков можно продолжать.

А какой смысл, если они даже в Топ-20 языков не входят ни по какому из нормальных рейтингов популярности. На этом никто никогда ничего не писал и никогда не будет писать

Я бы понял, если бы вы хотя бы Swift упомянули - там действительно есть много прагматичного и хорошего. И да, он похож на Haskell в некоторых моментах типизации. И на нём пишется реальный код

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44 Ответы: #87

68. Сообщение от Джон Титор (ok), 24-Мрт-26, 17:05   +/
> Все по настоящему производительные вещи пишутся и оптимизируются на js. Если пишешь
> что то очень ts специфичное, то он нагенерирует такую портянку кода...
> Вот и выбирай: либо система типов, либо производительность.

А вы с modern JavaScript знакомы вообще?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29

69. Сообщение от Джон Титор (ok), 24-Мрт-26, 17:08   +/
> Когда уже нативно в браузерах? Внутри V8 типы ведь и так есть?
> Или лучше сразу на wasm переходить?

Расскажи мне дорогой, как поисковые системы должны индексировать контент на wasm? Идея то давно не плохая, но что вы на этот счёт предлагаете?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #78, #85

70. Сообщение от Илья (??), 24-Мрт-26, 17:09   –1 +/
Прелесть JS в самом JS и его динамике, и том, что его компилировать не надо.

Если хочешь компилировать типизируемый язык - берёшь сишарп.

Тайпскрипт уступает обоим и в своей концепции странноват.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #86, #88

71. Сообщение от Джон Титор (ok), 24-Мрт-26, 17:09   +/
> Считать в браузере хайлоад нейронки (шучу смысла нет)

Ну майнеры то есть?))

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

72. Сообщение от Аноним (72), 24-Мрт-26, 17:10   +/
У тех, кто "проще и читаемее" проблем нет, потому что пишут явно читаемый и работающий код, не полагалясь на магию инструментария.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59 Ответы: #80, #83

73. Сообщение от Илья (??), 24-Мрт-26, 17:11   +2 +/
> Все по настоящему производительные вещи пишутся и оптимизируются на js.

Многопоточка особенно

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #113

74. Сообщение от Джон Титор (ok), 24-Мрт-26, 17:12   +/
> У JS-а много недостатков: отсутствие нормальной типизации, высокое потребление памяти,

Поинтересуйтесь вопросом.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38

75. Сообщение от Илья (??), 24-Мрт-26, 17:17   –1 +/
> У кого-то протекла криокамера?

Всё так. Проекты на JS собрать невозможно если не сидишь и не обновляешь пакеты раз в месяц. У нас фронтендеры отказали в поддержке дважды, так как старые библиотеки были

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #115

76. Сообщение от Джон Титор (ok), 24-Мрт-26, 17:20   +/
> Почему в браузерах просто не добавят инетерпретатор Typescript? Уже почти вся разработка
> на нем.

Простите, по какому стандарту, вы предлагаете Typescript компании Microsoft сделать по умолчанию для каких браузеров?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

77. Сообщение от Джон Титор (ok), 24-Мрт-26, 17:22   +/
> Зачем там интерпретатор, когда можно typescript сразу транслировать в wasm?

Если его транслировать в wasm, в коде будут много ограничений. Но да, зато производительно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

78. Сообщение от _ (??), 24-Мрт-26, 17:25   +/
> как поисковые системы должны индексировать контент на wasm?

I can't be care LESS!(C)

Fuck them!(C)
;-p

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69 Ответы: #82

79. Сообщение от Джон Титор (ok), 24-Мрт-26, 17:28   +/
> В coffescript тоже все было хорошо, но злобные майки все подмяли под
> себя как обычно.

Может вы изначально дохлую подделку от Google имели в виду? Dart?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

80. Сообщение от Аноним (41), 24-Мрт-26, 17:30   +/
Простым и читаемым код может быть, когда влезает в окно терминала 80*24. Когда у вас в проекте будет несколько десятков тысяч файлов, вы не удержите их в голове при всём своём желании.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #72

81. Сообщение от Джон Титор (ok), 24-Мрт-26, 17:34   +/
>>В ветке TypeScript 7.0 проект перейдёт на новый компилятор typescript-go (tsgo), разрабатываемый с 2024 года на языке Go.
> Очень несовременно, неожиданно для Микрософта. Мы все знаем, какой ЯП должен использоваться
> для разработки нового компилятора.

Анонсировали они давно достаточно. Что тут неожиданного? А на rust они вполне ещё могут перейти

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

82. Сообщение от Джон Титор (ok), 24-Мрт-26, 17:37   +/
>> как поисковые системы должны индексировать контент на wasm?
> I can't be care LESS!(C)
> Fuck them!(C)
> ;-p

Ну вот, не знаешь. Вот поэтому и не поступают так. Как только эту проблему элегантно решат, то и JavaScript покатится к закату.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78

83. Сообщение от Аноним (83), 24-Мрт-26, 17:39   +/
>не полагаясь на магию инструментария

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #72 Ответы: #90

84. Сообщение от Аноним (84), 24-Мрт-26, 17:59   –2 +/
О, воннаби профи вылез, смешите пидеть
Они сделали однострочную функцию ради ничего, это каргокульт из страны где праздник обмазывания навозом в ходу. Он не решает никакой проблемы, только добавляет один лишний вызов
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #62 Ответы: #91, #107

85. Сообщение от Аноним (84), 24-Мрт-26, 18:01   +/
Никак не должны, все индексаторы и парсеры, включая сбор для ии, поедет лесом и это хорошо
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69

86. Сообщение от Аноним (84), 24-Мрт-26, 18:04   +/
Если бы жс сидел в своем фронтенд загончике, вопросов бы было к нему меньше

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

Причем что качество, что производительность таких... кхм.. изделий как катились в дно, так и продолжают, даже ход набирают

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #70

87. Сообщение от Аноним (41), 24-Мрт-26, 18:13   +/
>Как дополнительная возможность может быть в минус?

Добавление данной возможности отрицательно влияет на баланс фич в языке. Благодаря тому, что в языке есть any, рано или поздно, проверка типов прервётся на этом самом any.
>Да и там много где лучше подходит `unknown`-тип.

Отлично, теперь у нас уже целых два any типа. А если добавить сюда приведение типов времени выполнения, то будет совсем всё плохо. Лично мне типизация нужна, для того, чтобы получать ошибки во время компиляции, а не во время выполнения.
>нет структурной типизации, а это на мой взгляд фундаментальный недостаток.

В Ocaml есть структурная типизация.
>А какой смысл, если они даже в Топ-20 языков не входят ни по какому из нормальных рейтингов популярности.

Вы определитесь, вам нужна типизация или рейтинг популярности? TS хорош только на фоне остальных языков из топ 20, в которых типизации либо нет совсем, как в js, либо она примитивна как в си.
>На этом никто никогда ничего не писал и никогда не будет писать

Оба этих языка давным давно миновали тот этап, когда на них писали только их авторы.
>Я бы понял, если бы вы хотя бы Swift упомянули - там действительно есть много прагматичного и хорошего.

Зачем про него вообще вспоминать? В своё время там были эпичные проблемы со временем компиляции, когда код строчек на тридцать мог компилироваться часов 12.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #95

88. Сообщение от Аноним (41), 24-Мрт-26, 18:17   +/
>Прелесть JS в самом JS и его динамике, и том, что его компилировать не надо.

Вы в каком году живёте? С появлением всяких ангуляров и реактов, js перестал подключаться в виде отдельных файликов, и стал требовать достаточно длительного времени сборки.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #70

89. Сообщение от Аноним (89), 24-Мрт-26, 18:24   +1 +/
Я думаю это фигня. Чем он там ближе к синтаксису и когда это имело значение для компилятора/транслятора? Просто за Шарпом пришлось бы тащить дотнет рантайм, который на машинах с разработкой на Тайпскрипте нафиг не нужен. Представьте, помимо всего js-мусора в проект всрать еще и весь Шарп. А Го -- это один бинарник.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

90. Сообщение от Аноним (72), 24-Мрт-26, 18:26   +/
Ключевое слово - "нормальной", о чем я и толкую. У TS она уже давно напоминает свой собственный ЯП.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83 Ответы: #93

91. Сообщение от pavel_simple. (?), 24-Мрт-26, 18:32   +/
> О, воннаби профи вылез, смешите пидеть
> Они сделали однострочную функцию ради ничего, это каргокульт из страны где праздник
> обмазывания навозом в ходу. Он не решает никакой проблемы, только добавляет
> один лишний вызов

компиллер может и заинлайнить. Но в странности написания сего участка кода полностью согласен. но это фигня. А вот там, где у них windows специфик без билд тэга -- это уже отдаёт не очень

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #84

92. Сообщение от penetrator (?), 24-Мрт-26, 18:41   +/
система типов там ужасна, она не делает код прозрачнее, duck typing это чушь, ну и вечная рекурсия во время компиляции - отличный пример мс шлака

я в принципе посредственно отношусь к JS, но скажем так, последние спецификации ECMAScript так прокачали его, что я бы лучше выбрал ванильный JS, а не TS в 100% случаев

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #97

93. Сообщение от Аноним (83), 24-Мрт-26, 18:46   +/
Приведите примеры "нормальной", пожалуйста.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #90

95. Сообщение от Аноним (18), 24-Мрт-26, 18:53   +/
> Добавление данной возможности отрицательно влияет на баланс фич в языке. Благодаря тому, что в языке есть any, рано или поздно, проверка типов прервётся на этом самом any.

Только если вы сами приводите тип к `any` или принимаете `any` извне - всё в ваших руках.

> Лично мне типизация нужна, для того, чтобы получать ошибки во время компиляции, а не во время выполнения.

Если вы в своём коде не будете использовать `any`, то и все ошибки у вас будут по время компиляции.
А `unknown` как раз таки позволяет вам иметь некоторую свободу передавать unknown-значения туда-сюда, но не имея возможности с этим значением работать. В любом случае и `any` и `unknown` нужно задавать в коде явным образом, это как маркер unsafe. Видим unknown / any - ожидаем рантайм-проверки типов и ожидаем возможные проблемы

> Вы определитесь, вам нужна типизация или рейтинг популярности? TS хорош только на фоне остальных языков из топ 20, в которых типизации либо нет совсем, как в js, либо она примитивна как в си.

Не вижу смысла говорить о маргинальных языках

> Зачем про него вообще вспоминать? В своё время там были эпичные проблемы со временем компиляции, когда код строчек на тридцать мог компилироваться часов 12.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #87 Ответы: #99

97. Сообщение от Аноним (18), 24-Мрт-26, 19:00   +/
> система типов там ужасна, она не делает код прозрачнее

А как вы проверяете что в функцию передали столько аргументов, сколько надо и тех типов, которые ожидаются? Или вы в целом против любой типизации?

> ну и вечная рекурсия во время компиляции - отличный пример мс шлака

Это про что?

> я в принципе посредственно отношусь к JS, но скажем так, последние спецификации ECMAScript так прокачали его что я бы лучше выбрал ванильный JS

Так спецификации на JS не добавляют ничего про типизацию, а TS - напротив, добавляет только типизацию

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #92

98. Сообщение от 6омжанимemail (ok), 24-Мрт-26, 19:17   +/
Ха-ха-ха, "компания это просто вывеска, где куча разных людей" - это ты щас сам себя хоронишь.
Это не какой-то чел в углу решил "сделать полянку на Go". Это официальный проект Microsoft, которым занимается команда TypeScript под руководством Anders Hejlsberg (того самого, который C# создал).
Они делали прототипы на C# (прямо написано в их GitHub discussion). Протестировали несколько языков, включая C#, и выбрали Go.

Так что иди уже и сделай свою версию компилятора на C#, раз "нет никаких преимуществ" и "просто преобразовать один текст в другой".
А пока ты просто очередной 0чкохлюп, который хлюпает комментариях: хлюп-хлюп.  Когда сделаешь, тогда пиши, а пока до связи.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

99. Сообщение от Аноним (41), 24-Мрт-26, 20:12   +/
>Если вы в своём коде не будете использовать `any`, то и все ошибки у вас будут по время компиляции.

А если быть "просто внимательным", то и ts не нужен, можно сразу же на js писать.
>А `unknown` как раз таки позволяет вам иметь некоторую свободу передавать unknown-значения туда-сюда, но не имея возможности с этим значением работать.

Обобщёные типы в TS не изобретены.
>В любом случае и `any` и `unknown` нужно задавать в коде явным образом, это как маркер unsafe.

И JSON.parse тут же становится unsafe. Какой отвратительный язык.
>Не вижу смысла говорить о маргинальных языках

Когда Haskell/Ocaml/... позволяет описать json системой типов, а TS - нет, то это замечательный пример, почему на TS писать не следует.
>То есть когда-то давным-давно был баг в компиляторе и из-за это язык стал незаслуживающим внимания?

Вы собираетесь тестировщиком компилятора работать?
>И, кстати, давно ли скорость компиляции вообще стала хоть каким-то мерилом для языка

Как только у вас проект на несколько сотен строчек начнёт собираться хотя-бы полчаса, вы быстро поменяете своё мнение.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #95 Ответы: #100

100. Сообщение от Аноним (100), 24-Мрт-26, 20:20   +/
так json.parse и есть unsafe. откуда знаешь, что там прилетело в строке, не провалидировав?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #99 Ответы: #106

101. Сообщение от Аноним (100), 24-Мрт-26, 20:22   +/
nodejs так уже умеет (брать typescript и игнорировать типы)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #102

102. Сообщение от Аноним (100), 24-Мрт-26, 20:23   +/
а что там в браузерах, никого не волнует, потому что все равно бандлы собирать
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #101

103. Сообщение от zionist (ok), 24-Мрт-26, 20:24   +1 +/
Awk
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

106. Сообщение от Аноним (41), 24-Мрт-26, 21:26   +/
Из типа функции. Например https://ocaml-community.github.io/yojson/yojson/Yojson/Safe/...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #100 Ответы: #111

107. Сообщение от Bottle (?), 24-Мрт-26, 21:38   +/
Рано или поздно у тебя эта функция превратится во многострочную, когда будешь отлаживать код на краевых случаях и твоя функция не будет сходиться с требуемым результатом.
Плюс твой код будут читать другие люди, не забывай это, и им не нужно знать, какие костыли ты придумал для корректной работы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #84

111. Сообщение от Аноним (18), 24-Мрт-26, 21:54   +/
А как быть, если надо залогировать всё что пришло, если вдруг формат не совпал с ожидаемым? Ну или просто записать в лог тело запроса, например
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #106 Ответы: #116

112. Сообщение от Сладкая булочка (?), 24-Мрт-26, 22:11   +/
> Мы все знаем, какой ЯП должен использоваться для разработки нового компилятора.

А вот Андреас Хелсберг решил по другому. На то он и technical fellow.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

113. Сообщение от Сладкая булочка (?), 24-Мрт-26, 22:13   +/
Одно ядро, один процесс, один поток, один язык, одна вера.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73

114. Сообщение от Сладкая булочка (?), 24-Мрт-26, 22:19   +/
> TS не решает проблему типизации целиком, так как для интеграции с js позволяет опускать типы, но достаточно хорошо её маскирует.

Это называется gradual typing https://en.wikipedia.org/wiki/Gradual_typing

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38

115. Сообщение от Анонимemail (115), 24-Мрт-26, 23:26   +/
Unix-way подход в NodeJS экосистеме был ошибкой. Шутки про пакеты is-odd, is-even и когда наше приложение представляет собой пакет с пакетиками - это совсем не шутки.

После переезда на Bun кол-во зависимостей в моем проекте сократилось в 2.5 раза. И как пишет сам Bun: "Время, которое вы тратите на поиск библиотек, можно было бы потратить на разработку приложения."

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75

116. Сообщение от Аноним (41), 24-Мрт-26, 23:41   +/
Работа с json-ом состоит из двух шагов: вначале строка преобразуется в синтаксическое дерево. Любой json, даже с неизвестной схемой можно преобразовать в дерево, далее, с ним которым можно работать подобно утилите jq. Если схема известна то это синтаксическое дерево собирается в родные типы данных для языка - записи/списки/числа и так далее. В данном случае, я расписал всё это подробно для наглядности.

#require "ppx_deriving_yojson";;

type point = { x : int; y : int }[@@deriving yojson];;

let json_text = "{\"x\":1,\"y\":2}" in
try
  let parsed = Yojson.Safe.from_string json_text in
  match point_of_yojson parsed with
  | Ok point -> Printf.printf "Successful parsing x: %d, y: %d from json %s\n" point.x point.y (Yojson.Safe.pretty_to_string (point_to_yojson point))
  | Error error -> Printf.printf "Converting error: %s in json %s\n" error (Yojson.Safe.pretty_to_string parsed)
with
| exn -> Printf.printf "Parsing error: %s\n" (Printexc.to_string exn);;

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #111

117. Сообщение от Сладкая булочка (?), 24-Мрт-26, 23:51   +/
> В плане один текст преобразовать в другой у Go нет совершенно никаких преимущеста по сравнению с C#.

Вроде как Хелсберг говорил, что у C# проблемы с созданием бинарей под нужные им платформы. Сейчас эту информацию лень искать, так что ¯\_(ツ)_/¯

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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