The OpenNET Project / Index page

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



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

"В язык JavaScript предложено добавить синтаксис с информацией о типах"  +/
Сообщение от opennews (??), 14-Мрт-22, 23:22 
Компании Microsoft, Igalia и Bloomberg выступили с инициативой включения в спецификацию JavaScript синтаксиса для явного определения типов, похожего на синтаксис, применяемый в языке TypeScript. В настоящее время прототип изменений, предложенный для включения в стандарт ECMAScript, вынесен для предварительных обсуждений (Stage 0). На ближайшем мартовском заседании комитета TC39 планируется перейти на первую стадию рассмотрения предложения с привлечением экспертного сообщества из ECMA...

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

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

Оглавление

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

1. Сообщение от Аноним (1), 14-Мрт-22, 23:22   +6 +/
Получается это будет как типизация в питоне
В любом случае это отлично
Особенно если типы будут в метаданных
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #12, #49, #53, #133

2. Сообщение от Dzen Python (ok), 14-Мрт-22, 23:27   +2 +/
ДОЖДАЛИСЬ!
Может быть теперь и сам js превратят в нормальный язык?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3, #4, #56, #96, #118, #132

3. Сообщение от Аноним (1), 14-Мрт-22, 23:28   +/
А что нужно чтобы он стал нормальным?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #34, #43, #110

4. Сообщение от Аноним (4), 14-Мрт-22, 23:28   +5 +/
Ага, сразу после дождичка в четверг
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

5. Сообщение от Аноним (5), 14-Мрт-22, 23:30   +/
Глупость какая-то.
Вангую: выкинут на мороз, т.к. не будет работать на старых движках, а смысла в ещё одном TS нет никакого
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #19, #114

6. Сообщение от Аноним (6), 14-Мрт-22, 23:33   +9 +/
> Предлагается также обеспечить поддержку... дженериков.

Сначала сломаем динамическую типизацию, а потом будем пытаться прикрутить изолентой дженерики к тому, что получилось. Лол.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #8, #137

7. Сообщение от яманов маросemail (?), 14-Мрт-22, 23:35   +/
сто лет не нужно а сейчас очень надо стало. присоединяюсь к коменту вверху. глупость ето.
Ответить | Правка | Наверх | Cообщить модератору

8. Сообщение от Аноним (8), 14-Мрт-22, 23:40   +3 +/
>сломаем поломку

Минус на минус даёт плюс, как говорится.

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

10. Сообщение от Корец (?), 14-Мрт-22, 23:43   +2 +/
>Из типов предлагается добавить "string", "number" и "boolean"

Ещё нужен тип для хранения бинарных данных.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #11, #14, #17

11. Сообщение от WebBonobo (?), 14-Мрт-22, 23:50   –2 +/
А что такое бинарные данные? Процессор работает на V8.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #35

12. Сообщение от Аноним (12), 14-Мрт-22, 23:52   +21 +/
> foo<T>

Понеслось по трубам...

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

13. Сообщение от Аноним (13), 14-Мрт-22, 23:53   –1 +/
Новоявленные погромистики не могут в нормальный код, и динамическая типизация слишком сложна стала для понимания? Штош.
Ответить | Правка | Наверх | Cообщить модератору

14. Сообщение от Аноним (12), 14-Мрт-22, 23:54   +1 +/
Чёт про массивы забыли, объекты и пр. ...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

15. Сообщение от Аноним (173), 14-Мрт-22, 23:54   –3 +/
Мне очень нравится typescript. Надеюсь это будет настоящая статическая типизация, а не аннотации типов как в python и по сути как в typescript.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #21

16. Сообщение от Аноним (16), 14-Мрт-22, 23:55   +3 +/
Это язык для придания интерактивности веб-страницам. Он должен быть прост и понятен для каждого. Разве не в этом его суть? А это ничто иное как очередное повышение порога вхождения, не понятно для чего. Нужна производительность? Посмотрите на куцый JS в QML. Он прост, и одновременно интерфейсы на QML работают на порядки быстрее чем на современном вебе. Хотя, похоже, они идут одной дорогой...
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #18, #24, #36, #70, #106, #204

17. Сообщение от Аноним (173), 14-Мрт-22, 23:57   +2 +/
https://developer.mozilla.org/ru/docs/Web/JavaScript/Typed_a...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

18. Сообщение от Аноним (173), 14-Мрт-22, 23:59   –3 +/
https://nodejs.org/en/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #20

19. Сообщение от Аноним (19), 15-Мрт-22, 00:05   +/
По большей части, главное чтобы новый Хром поддерживал. Естественно, Сафари и Лиса подтянутся. А кто ещё там остался?
Поддержку впилят быстро, совместимость на какое-то время сохранят.
Не вижу проблем. Тут разве что в Гугле не захотят по каким-то причинам
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #44

20. Сообщение от Аноним (16), 15-Мрт-22, 00:10   +2 +/
nodejs - это 2014-2015 год. Разве не логично было бы сделать ответвление языка для столь иной задачи?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #22, #64

21. Сообщение от Аноним (173), 15-Мрт-22, 00:17   +3 +/
В самом proposal сказано что это будут только аннотации типов, не влияющие на поведение во время выполнения :-(
У typescript конечно тоже самое, но там нужно стадию транспиляции пройти и если типы не правильные оно просто js файл не выдаст.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #105, #138, #174

22. Сообщение от rshadow (ok), 15-Мрт-22, 00:19   +1 +/
Какой-то один язык надо было попробовать сделать "для всего". Ну вот поскольку в браузерах добавить язык так и не смогли, то решили js продвигать на сервер, в приложения и даже эмбедед.

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

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

23. Сообщение от Аноним (6), 15-Мрт-22, 00:31   +/
https://github.com/giltayar/proposal-types-as-comments/issue...
> Cost benefit analysis

tl;dr:

1. Тайпскриптеперы переложат транспайлинг в яваскрипт на браузер, чтобы он выполнялся не один раз на их серверах, а 100500 у юзеров. Причём на самом деле транспайлинг на сервере всё равно придётся делать, потому что в этом синтаксе есть не всё, что понапихано в тайпскрип. Да и 100500 отдельных js файлов на веб-странице подключать никто не любит.

2. При этом, эти аннотации, с точки зрения авторов, должны игнорироваться браузерами. Т.е. объявил ты число, записал туда строку и всё норм. А нафига козе баян тогда? goto 1.

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

24. Сообщение от Аноним (24), 15-Мрт-22, 00:37   +1 +/
интерфейсы qml быстро работают без js, потому что написаны на плюсах и рендерятся, если бог подаст, хардварно, учи матан.

в qt6 завезли некое подобие трансляции js в нечто пока непонятное земному разуму, будем посмотреть.

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

25. Сообщение от InuYasha (??), 15-Мрт-22, 00:45   +7 +/
Когда у языка не типовой дифференциации данных, то нет цели! Кю!
Но даже на int и float не разделили...
Гляжу я на эти примеры и думаю: "какой же гадкий язык!". А эти назначения типа имя:тип - это вообще гадюшник. Ужас. На палочке.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #59, #158

26. Сообщение от BrainFucker (ok), 15-Мрт-22, 01:01   +1 +/
Facepalm.png

Религиозные фанаты блин, возведут какую нибудь идею в абсолют и начинают её везде совать. Давайте тогда уж выкинем все языки и оставим один какой нибудь.

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

27. Сообщение от Аноним (27), 15-Мрт-22, 01:20   +4 +/
На клиенте точно не нужно.
Для отдачи клиенту код всё равно минимизировать надо. Соответственно от build step не уйдём.

На сервере есть Deno

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

28. Сообщение от Аноним (28), 15-Мрт-22, 01:48   +1 +/
Был хороший язык до ES5, а дальше по наклонной, пошла ересь с типами. И все из-за засилья корпоративной моды крупных корпов, которым так удобнее рулить разработкой.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #37, #88

29. Сообщение от Аноним (-), 15-Мрт-22, 02:06   +15 +/
на какой там год кто-то из вебмакак случайно увидел c++
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #33, #103, #170

30. Сообщение от keydon (ok), 15-Мрт-22, 02:08   +5 +/
js не нужен в любом виде, но умиляет как раньше отсутствие типов преподносили как главное достоинство, а теперь как главный недостаток
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #82, #153

32. Сообщение от Я (??), 15-Мрт-22, 02:16   +/
через сколько лет джаваскрипт превратится в раст?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #83, #142

33. Сообщение от Аноним (33), 15-Мрт-22, 03:04   +6 +/
Программисты пишущие V8 пишут его на C++ и отлично понимают типы.
Хотя последние годы все больше делают на чистых сях NAPI (так как всех задрало от версии к серсии разбираться в их чудинках с C++ типами).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #40

34. Сообщение от Аноним (33), 15-Мрт-22, 03:05   +4 +/
Строгое сравнение по умолчанию и аналоги instanceof, typeof проверки хотя бы в виде Object.isObject() и т.д. А ну и конечно понятный и человеческий API седалть для системных библиотек.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #140, #208

35. Сообщение от Аноним (-), 15-Мрт-22, 03:38   +1 +/
байтики с любыми значениями от 0 до 255
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

36. Сообщение от Аноним (-), 15-Мрт-22, 03:39   +3 +/
на нем вебприолжухи стали наворачивать и заметили что без типов баги жутко лезут
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

37. Сообщение от Аноним (-), 15-Мрт-22, 03:41   +4 +/
из-за наворачивания вебманками мегабайтов, когда потом с динамическими типами отдебажить нереально, сами себя завоняли
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #48, #155

38. Сообщение от Аноним (-), 15-Мрт-22, 03:53   +/
js как есть годится только для проверки полей в формочках, проекты крупнее становится невозможно дебажить: декларации намерений программиста почти нет
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

39. Сообщение от Аноним (39), 15-Мрт-22, 04:21   +3 +/
> похожего на синтаксис, применяемый в языке TypeScript.

_похожего_, microsoft в своём репертуаре, есть готовое решение, но мы придумаем своё ни с чем не совместимое

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

40. Сообщение от Аноним (40), 15-Мрт-22, 04:34   +1 +/
V8: я все это хаваю, у меня нет выбора
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33

41. Сообщение от th3m3 (ok), 15-Мрт-22, 04:40   +1 +/
От TypeScript многие плюются, решили в сам язык его засунуть?
Ответить | Правка | Наверх | Cообщить модератору

42. Сообщение от Аноним (42), 15-Мрт-22, 05:36   +2 +/
Это бессмысленно. Типизация нужна только в компилируемых языках. В интерпретируемых она не нужна, тем более в таких как ЖабаСкрипт. Код ЖабаСкрипта исполяется исключительно в среде браузера. Майкрософт стрдает х*йнёй.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #80, #85, #197

43. Сообщение от Бывалый смузихлёб (?), 15-Мрт-22, 06:45   –3 +/
Нужно чтобы «великие отцы» проги, перебравшись на него, чувствовали себя как при работе со своими любимыми плюсАми или жабой( история правда умалчивает, на кой, при таком выборе языков, садиться именно на жс и ныть )
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

44. Сообщение от Бывалый смузихлёб (?), 15-Мрт-22, 06:46   –1 +/
У сафари свой православный вебкит и за гуглом они не так чтобы всё мигом копируют
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #63

45. Сообщение от Бывалый смузихлёб (?), 15-Мрт-22, 06:48   +5 +/
Это не математика и минус на минус даёт два минуса
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #125

46. Сообщение от Бывалый смузихлёб (?), 15-Мрт-22, 06:59   –1 +/
> интерфейсы qml быстро работают без js, потому что написаны на плюсах … учи матан

Матан - это про жс, плюсы и кутевщину ?

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

47. Сообщение от DEF (?), 15-Мрт-22, 07:07   +1 +/
Нафига эти телодвижения? JavaScript - помойный устаревший язык с дефективной архитектурой. Необходимо создать единый язык для Веба, который будет подходить как для фронт-енда так и бэк-енда веб-разработки. Таким образом заменить традиционный JavaScript + PHP.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #62, #65, #75, #86, #107, #115, #144

48. Сообщение от Бывалый смузихлёб (?), 15-Мрт-22, 07:08   +/
Нередко причина совсем в другом( заметь, среди «предлагателей» Микрософт и.. блумберг - ему вообще какая разница или он просто за «все хорошее» ? ):
Многие идут в жс после работы с жабой, плюсами или шарпом и, наверное это какая-то глубокая проф. деформация, но многим потом крайне тяжело работать без типов и всего того балагана с наследованием. Т.е тяжело работать без клетки, наручников и цепей.

Ну вот от них вой и поднимается.
«Разумеется», это не они такие, что не способны, пересев на другой язык и стек, принять его подходы и наработки - это и язык и стек »неправильные», ведь на них нельзя кодить как на «божественных» плюсах, жабе или шарпе.
Но если на упомянутых все было столь хорошо, какого ж черта они полезли в веб ?

п.с: а гомнокод но заваленный тоннами директив( их исключений итд, как на ТС ), отлаживать будет ещё тяжелее )

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

49. Сообщение от trickybestia (ok), 15-Мрт-22, 07:15   +4 +/
Лучше бы, чтобы это было НЕ как в питоне. Если открыть код некоторых, даже популярных, питонячьих либ, можно заметить полное отсутствие типизации: ни .pyi файлов, ни аннотаций типов. Хотя, для решения этой проблемы можно провести ликбез разработчикам, чтобы они не пушили в либы нетипизированный код. Может получиться.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #54

50. Сообщение от Аноним (50), 15-Мрт-22, 07:30   +3 +/
В данном случае это даст г-о в квадрате
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

51. Сообщение от Аноним (51), 15-Мрт-22, 07:52   +/
Точно. MS не смогли слетать в будущее, посмотреть, какой будет синтаксис типов в JS и реализовать в своем TS. такойже
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

52. Сообщение от Аноним (52), 15-Мрт-22, 07:52   +2 +/
> Компании Microsoft, Igalia и Bloomberg

Кто это?

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

53. Сообщение от Брат Анон (ok), 15-Мрт-22, 07:57   +11 +/
Получается статическая типизация побеждает, динамическая -- вообще не типизация. О чём так упорно последние 30 лет говорили программисты нормального человека. Человек либо мальчик, либо девочка. Можно что угодно доказывать используя дженерики, что мальчик может немного оказаться девочкой, но суть цифровой машины не обманешь. Данные не имеющие семантики -- просто мясо.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #68, #94, #173, #175

54. Сообщение от Брат Анон (ok), 15-Мрт-22, 07:58   +5 +/
Нет. Единственный способ заставить это делать -- сделать статический строго типизированный питон.
По другому это не работает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #93

55. Сообщение от Аноним (55), 15-Мрт-22, 08:00   +/
Деградация
Ответить | Правка | Наверх | Cообщить модератору

56. Сообщение от Брат Анон (ok), 15-Мрт-22, 08:00   +5 +/
Яваскрипт по определению не может быть нормальным языком.
Начиная с истории названия языка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

58. Сообщение от Брат Анон (ok), 15-Мрт-22, 08:08   +1 +/
Тип данных -- это автоматизированный смысл информации. Километры нельзя непосредственно складывать с метрами. А опосредованно можно.
Вот веб-макаки, протестующие против строгой статической типизации и обнаруживают себя: они тупо не понимают, почему нельзя складывать попугаев и удавов непосредственно. Им отсутствие мозга сделать это позволяет вдоль и поперёк.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48 Ответы: #104

59. Сообщение от pashev.ru (?), 15-Мрт-22, 08:19   +/
В яваскрипте нету int в принципе, на уровне движка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #60, #177

60. Сообщение от pashev.ru (?), 15-Мрт-22, 08:20   +/
Кажется. Возможно, я ошибаюсь.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59 Ответы: #66

61. Сообщение от морошка ягодка такая (?), 15-Мрт-22, 08:23   –1 +/
Мне некоторое время назад коллега (js-разработчик) говорил, что отсутствие типов это как раз приемущество, и что ему так удобнее.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #73, #129

62. Сообщение от морошка ягодка такая (?), 15-Мрт-22, 08:24   +/
с#
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47

63. Сообщение от Анон1212 (?), 15-Мрт-22, 08:34   +/
Проблемы яблочников
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44 Ответы: #95

64. Сообщение от Аноним (173), 15-Мрт-22, 08:36   –1 +/
Node.js позволяет писать и backend и frontend на одном языке. Это позволяет   сделать часть кода общим, например один и тот же код валидации.
И в голове не нужно держать сразу 2 языка, две стандартные библиотеки и т.д. Мне это сложно, многие мидл и сеньор программисты с которыми я общалась говорили что это сложно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #131, #206

65. Сообщение от Аноним (173), 15-Мрт-22, 08:38   –1 +/
Typescript
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47

66. Сообщение от Аноним (173), 15-Мрт-22, 08:52   +1 +/
В js 2 числовых типа number и bigint.
Последний относительно недавно появился.
number - 8 байтное число с плавающей точкой
bigint - целое число произвольной длинны
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60

67. Сообщение от Аноним12345 (?), 15-Мрт-22, 09:21   +/
А также упростит внедрение бэкдоров
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #98

68. Сообщение от анонимус (??), 15-Мрт-22, 09:33   +2 +/
не так. статическая типизация побеждает на больших проектах. для маленьких часто это лишний оверхед. особенно это хорошо работает с прототипированием - пилишь кусок экскри^Wэксперимента без типов, абы работало. если идея не взлетела - на помойку. если взлетела - насыпаешь типов и радуешься. в этом сила опциональной типизации - в свободе когда написать эти типы
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #53 Ответы: #74, #77

69. Сообщение от анонимус (??), 15-Мрт-22, 09:37   +1 +/
не удивлюсь если по правилам жс это даст массив из минуса и плюса
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

70. Сообщение от анонимус (??), 15-Мрт-22, 09:40   –1 +/
>Он должен быть прост и понятен для каждого.

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

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

71. Сообщение от анонимус (??), 15-Мрт-22, 09:47   +1 +/
Все очень просто и достаточно логично - жс последние года 4 (если не больше) пытается мимикрировать под питон(видимо из-за его популярности). Но зачем-то часто копирует фичи намеренно списывая с изменениями, вероятно чтобы не быть замененным питоном когда фич накопится и отчасти из-за непродуманной в начале базы для расширения.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #84, #179

72. Сообщение от Аноним (-), 15-Мрт-22, 10:13   +1 +/
И сколько будет весить либа с отступами, если минифицированый вариант JS весит по 2 мега? Мегов 15, чтобы отступы закодить?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #70 Ответы: #141

73. Сообщение от Аноним (-), 15-Мрт-22, 10:15   +4 +/
> Мне некоторое время назад коллега (js-разработчик) говорил, что отсутствие типов это как
> раз приемущество, и что ему так удобнее.

Удобно, пока скриптик мелкий. Потом неудобно.

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

74. Сообщение от Аноним (-), 15-Мрт-22, 10:19   +3 +/
Осталось убедить вебманки расставить типы, когда таск типа солвед.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68 Ответы: #198

75. Сообщение от Аноним (75), 15-Мрт-22, 10:34   +4 +/
Давайте лучше без вот этих единых языков. Опять ерунда же получится.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47 Ответы: #143

77. Сообщение от Аноним (77), 15-Мрт-22, 11:05   +4 +/
> если взлетела

то к старту готовят следующую идею. Зачем насыпать типов, если и так работает?

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

78. Сообщение от Аноним (78), 15-Мрт-22, 11:14   –1 +/
>Наличие явно заданной информации о типах позволит избежать многих ошибок в процессе разработки, даст возможность задействовать дополнительные техники оптимизации

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

Все современные JIT-компилирующие движки JS умеют сами определять типы в рантайме и рекомпилировать код так, чтобы он более оптимально работал при вероятных сочетаниях ипов параметров.

Дача разработчикам явной возможности указать тип без исполнения и сбора статистики как минимум даст возможность сразу фингерпринтить движки по времени (по реакции на некорректный тип), и, возможно, организовывать скрытые каналы. Также могут вылезти уязвимости type confusion, которые сейчас обходятся тем, что сначала код просто интерпретируется. Поэтому самый лучший вариант для разрабов браузеров - просто игнорить инфу о типах. То есть ничего не делать, ибо инфа о типах предлагается в виде комментов.

Адекватные разработчики браузеров просто проигнорируют эту инициативу. Заметьте, в числе авторов инициативы нет ни Google, ни Mozilla, ни Apple.

Что имело бы смысл сделать - так это добавить в браузеры поддержку TypeScript напрямую, без обратной совместимости с JS и с обязательной статической валидацией типов. Это ислючает случай, когда рельный тип не совпадает со специфицированным. Поэтому можно JIT-ить сразу, доверяя инфе о типах. При сохранении совместимости с JS такое провернуть нельзя, код должен работать идентично что при наличии комментариев, что без них.

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

79. Сообщение от Аноним (99), 15-Мрт-22, 11:23   +/
> Минус на минус даёт плюс

А почему именно умножение?!

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

80. Сообщение от Аноним (80), 15-Мрт-22, 11:31   +5 +/
А JavaScript и есть язык компилируемый в полноценный машинный код. Никто его давно не интерпретирует.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42 Ответы: #89, #130

82. Сообщение от Аноним (99), 15-Мрт-22, 11:35   +/
"Вендорлок" это... Зацепить некоторые ключевые сайты на использование новых фич js, и без супернового браузера от понимает кого ничего работать не будет, будь добр поставить новые зонды.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30 Ответы: #147

83. Сообщение от Аноним (99), 15-Мрт-22, 11:36   +1 +/
пора форкать интернет
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #101

84. Сообщение от Zlo (??), 15-Мрт-22, 11:37   +2 +/
Вообще был ещё один язык который был как и JS основан на EMACScript. И в нем уже как мнооого лет назад, были и классы и типы.
И звали его ActionScript, так что больше похоже, что тащат они у заклятого друга...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71 Ответы: #156

85. Сообщение от Аноним (99), 15-Мрт-22, 11:38   +3 +/
Типизация и компилируемость - ортогональные понятия.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42

86. Сообщение от Аноним (99), 15-Мрт-22, 11:40   +2 +/
- У нас есть 15 форматов файлов, надо сделать универсальный!
...
- У нас есть 16 форматов...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47

88. Сообщение от bugmenot (??), 15-Мрт-22, 11:48   +1 +/
> Был хороший язык до ES5, а дальше по наклонной

Ну и бред. С точностью до наоборот

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

89. Сообщение от bugmenot (??), 15-Мрт-22, 11:49   +1 +/
О, человек шарит!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #80

90. Сообщение от Аноним (90), 15-Мрт-22, 12:06   +1 +/
Ого. Судя по картинкам они ожидают что в то далёкое будущее Firefox ещё будет жив.
Ответить | Правка | Наверх | Cообщить модератору

91. Сообщение от Аноним (91), 15-Мрт-22, 12:44   +/
убрать вообще JS из браузера!
оставить WASM
а там - пишите на любом языке, какой нравится, и компилируйте в WASM
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #92, #102, #108, #148

92. Сообщение от bugmenot (??), 15-Мрт-22, 13:11   +1 +/
> убрать вообще JS из браузера!

Попутно сломав все сайты...

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

93. Сообщение от Аноним (93), 15-Мрт-22, 13:32   +/
Cython
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #54 Ответы: #186

94. Сообщение от Аноним (93), 15-Мрт-22, 13:38   –1 +/
>Человек либо мальчик, либо девочка. Можно что угодно доказывать используя дженерики, что мальчик может немного оказаться девочкой

Ээ, ты просто не слышал про современную квантовую механику ;)

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

95. Сообщение от Бывалый смузихлёб (?), 15-Мрт-22, 13:40   +/
фичи, поддерживаемые исключительно в хроме - проблема хромых
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63

96. Сообщение от Аноним (93), 15-Мрт-22, 13:41   +2 +/
>js превратят в нормальный язык?

Такого доспускать нельзя. Иначе все макаки разбегутся, сайтостроение подорожает.

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

97. Сообщение от Аноним (93), 15-Мрт-22, 13:46   +/
На какое-то время потребуются комбинированные движки JS/WASM. Обратная совместимость, так сказать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #92 Ответы: #176

98. Сообщение от Аноним (93), 15-Мрт-22, 13:47   +1 +/
Типизация?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67

99. Сообщение от Аноним (99), 15-Мрт-22, 13:48   +3 +/
На макроуровне она не работает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #94

100. Сообщение от Аноним (99), 15-Мрт-22, 13:49   +1 +/
Их и так уже каждый месяц ломают.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #92

101. Сообщение от Аноним (93), 15-Мрт-22, 13:51   +/
Gemini?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83

102. Сообщение от Аноним (119), 15-Мрт-22, 13:59   +/
> убрать вообще JS из браузера!

Вот это правильно!

> оставить WASM

Э-э-э, нормально же общались!

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

103. Сообщение от Аноним (103), 15-Мрт-22, 14:02   +/
> на какой там год кто-то из вебмакак случайно увидел c++

Больше на Rust или Kotlin похоже.

Дальше должен появиться Type bonding (C++20's concepts) для ограничения возможных шаблонных/Generic типов.

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

104. Сообщение от Бывалый смузихлёб (?), 15-Мрт-22, 14:10   +1 +/
> Тип данных -- это автоматизированный смысл информации. Километры нельзя непосредственно
> складывать с метрами. А опосредованно можно.

расстояние и в метрах и в километрах - числа с плавающей запятой.. решит ли проверка типа проблему ?

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

Самое забавное, что наилютейший гомнокод в жс получается бывших проггеров на жабе/шарпе или плюсах и, да, без типизации оно практически нечитаемо и неподдерживаемо.
Попадались такие проекты. Они и с типами то нередко неподдерживаемые:
Чего, казалось бы, проще, запилить простую асинхронную функцию-помощник для обращения к бэкенду, функция навешивает нужные заголовки на запрос, генерирует адрес на основе хоста и проч, форматирует тело запроса, выдаёт стандартный вывод в т.ч если запрос падает.

Однако, с полтора десятка файлов, разбросанных по всему проекту со вложенностью порядка восьми( каталог -> каталог -> итд ), каждый являет собой свой класс, наследуется от предыдущего, в своём составе имеет экземпляры других классов, каждый - на многие сотни строк кода.
Хост, промежуточные фрагменты адреса, структура тела запроса итд разбросаны по всему этому, что тупо не разобрать итоговый адрес и тело запроса к бэкенду без навешивания тонн выводов в консоль или пошаговой отладки.
Будто этого мало, самые начальные элементы импортируются из настроек, ведь на основе этого шаблонного, не работающего проекта генерируется НЕСКОЛЬКО проектов с разным функционалом( только истинный гений до такого додумался бы ), разумеется, с многоэтапной генерацией, ломающейся почти при каждом обновлении пакетов и с первого раза на новой машине вообще не отрабатывающей до конца, обычно день-два надо было чтобы оживить.
Самое забавное, что авторизация периодически отваливалась - где-то что-то не так было с автообновлением ключей, запросы иногда падали, но ни сам прогер, ни пришедшие за ним, отловить и исправить тот баг так и не смогли.
Но, зато всё сверху донизу обмазано типизацией, вообще подчистую, ни единого предупреждения по итогам валидации.
Но проггеры, даже любители ts, на том проекте больше пары недель не выдерживали. Запилить подобное осилил бывший проггер на джаве.. только на жс запилил как на джаве.. очень был рад, что есть TS без которого он бы подобное едва ли смог.

Кстати, кто-то, кто хотя бы минимально прогает на жс, обычно в курсе, что за помещение значений разных типов данных( скажем, число и массив ) и разных по смыслу в одну и ту же переменную, можно запросто получить по башке и так практически не делают
Хотя при "типизации" ничто не мешает просто добавить соотв пометку к полю - и валидатор всё посчитает всё корректным )

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

105. Сообщение от VladSh (?), 15-Мрт-22, 14:18   +/
Возможно аппетит появится во время еды)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

106. Сообщение от VladSh (?), 15-Мрт-22, 14:22   +/
Как язык станет непонятен, если в него добавят информацию о примитивных типах? Тем более, что, как я понял, типы м.б. указывать опционально (там, где очень нужно)?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

107. Сообщение от VladSh (?), 15-Мрт-22, 14:26   +1 +/
Dart
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47 Ответы: #178, #205

108. Сообщение от VladSh (?), 15-Мрт-22, 14:27   +/
Ага, а рекламу резать тогда как?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #91 Ответы: #122

109. Сообщение от Аноним (109), 15-Мрт-22, 14:52   +2 +/
Всё в этом мире находится в бинарном представлении. И только так.
Если кто-то не согласен, приведите пример. Я докажу, что у данного примера есть только два состояния.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #94 Ответы: #119

110. Сообщение от Аноним (109), 15-Мрт-22, 14:56   +2 +/
Как и в абсолютно любом другом продукте (языке программирования, инструменте и тд.) - грамотная, полная и доступная документация
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #166

111. Сообщение от Аноним (111), 15-Мрт-22, 15:25   +2 +/
поворот не туда.
Ответить | Правка | Наверх | Cообщить модератору

112. Сообщение от АнонимГоним (?), 15-Мрт-22, 15:46   +3 +/
Статическая типизация для языка с подобными задачами не нужна. Вот если бы как-то смогли впихнуть строгую типизацию, вот это был бы шин. А так, пхе...
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #117

113. Сообщение от YetAnotherOnanym (ok), 15-Мрт-22, 16:20   +2 +/
> "number"

То есть, явного разделения на целое и вещественное нет.
Ещё в одной тусовке не нашлось человека, который понимал бы и объяснил остальным разницу между счётным множеством и континуумом (а она принципиальна и неустранима). Придётся как в Луне потом целое изолентой приматывать.

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

114. Сообщение от Kuromi (ok), 15-Мрт-22, 16:23   +1 +/
Каких таких "старых" движках? В Хромиум добавят, в Файрфокс добавят, Яббл подтянется. А все остальное, включая приставки и разного рода устройства все равно либо почти непригодны для лазания в интернет либо имеют настолько устаревшие движки что толком ничего не работает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

115. Сообщение от YetAnotherOnanym (ok), 15-Мрт-22, 16:28   +1 +/
> единый язык для Веба, который будет подходить как для фронт-енда так и бэк-енда веб-разработки

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

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

116. Сообщение от Аноним (117), 15-Мрт-22, 16:29   +/
Есть brython.info. И питон и его тайпинг.
Ответить | Правка | Наверх | Cообщить модератору

117. Сообщение от Аноним (117), 15-Мрт-22, 16:45   +/
ну хотя бы, чтобы 2+2 не получалось 22
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #112 Ответы: #162

118. Сообщение от Аноним (119), 15-Мрт-22, 16:45   –1 +/
> js превратят в нормальный язык

Как отреагировали акции Fe₂O₃?

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

119. Сообщение от Аноним (119), 15-Мрт-22, 16:56   +1 +/
Доказательство бинарности состояний - это какое из двух состояний?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #109 Ответы: #149

120. Сообщение от FSA (??), 15-Мрт-22, 16:57   +/
Как бы странно это не звучало - догоняют PHP :-D
Ответить | Правка | Наверх | Cообщить модератору

121. Сообщение от Аноним (119), 15-Мрт-22, 17:04   +/
> мгновенно отрабатывать события мыши, клавиатуры и тачскрина

Разве JS так умеет?

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

PHP так умеет?

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

122. Сообщение от Аноним (119), 15-Мрт-22, 17:10   –1 +/
css - тьюринг полный, делай что хочешь.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #108

123. Сообщение от Аноним (119), 15-Мрт-22, 17:14   +1 +/
Тем временем популярные натуральные языки избавляются от типизации: артиклей и тп.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #146

124. Сообщение от Mad_Mickemail (?), 15-Мрт-22, 17:34   +/
Я не понимаю , а что изменится ?
Начнем с того я не понимаю почему статическая типизация "Лучше" динамической . И ок , даже если лучше , почему тогда практически все ЯП сегодня имеют возможности динамической типизации( Java , C#, C++)?
Дело не в динамической типизации , а в приведении типов . И тут JS Не лечится .

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #126, #160

125. Сообщение от Аноним (119), 15-Мрт-22, 17:39   +/
> Это не математика

- на - дает =, или +, или, Г, или V.

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

126. Сообщение от Аноним (119), 15-Мрт-22, 17:44   +3 +/
> а в приведении типов . И тут JS Не лечится .

Это лечение убьет веб, который вырос на этой болезни, как рак

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

127. Сообщение от YetAnotherOnanym (ok), 15-Мрт-22, 18:23   +/
> Разве JS так умеет?

Желательно, чтобы умел, во всяком случае.
> PHP так умеет?

А вот тут - пофих. На пыхе свет клином не сошёлся.

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

128. Сообщение от Смузихлёб (?), 15-Мрт-22, 19:09   +4 +/
Зачем ЭТО нужно в не_компилированном языке? Очередное развитие ради развития, усложнение ради усложнения, модно-молодёжно и по-хипстерски? Смузихлёбы одобряют.
Ответить | Правка | Наверх | Cообщить модератору

129. Сообщение от Смузихлёб (?), 15-Мрт-22, 19:12   +1 +/
JS и "разработчик" – понятия взаимоисключающие.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61

130. Сообщение от Смузихлёб (?), 15-Мрт-22, 19:14   +1 +/
Закусывать надо.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #80

131. Сообщение от Смузихлёб (?), 15-Мрт-22, 19:19   +2 +/
> мидл и сеньор

В русском языке нет таких слов. OpenNET – русскоязычный ресурс.

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

132. Сообщение от Смузихлёб (?), 15-Мрт-22, 19:22   +8 +/
Нормальным он может быть только когда будет компилироваться в двоичные файлы. Все скриптовые языки по определению являются мусорными поделиями.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #167

133. Сообщение от Смузихлёб (?), 15-Мрт-22, 19:24   –1 +/
Питон это мусорный язык, как и любой другой скриптовый.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #188

134. Сообщение от Аноним (134), 15-Мрт-22, 19:40   +3 +/
Начало конца. Почему такой гнусный синтаксис? А раньше чем думали, динамики? Не будет счастья, так вижу
Ответить | Правка | Наверх | Cообщить модератору

137. Сообщение от домен в слонике (?), 15-Мрт-22, 21:20   +/
потому что языки меняют в угоду удобства использования IDE, подсказков нет же,
а при систематическом затаскивании в проект 100500 внешних зависимостей как прогать без IDE, никак
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #152

138. Сообщение от arzethemail (ok), 15-Мрт-22, 22:50   +/
> если типы не правильные оно просто js файл не выдаст.

По-моему это дефолтная особенность webpack'а. Я поэтому указал в webpack.config.json config={optimization: {emitOnErrors: true}}

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

139. Сообщение от Аноним (139), 15-Мрт-22, 23:34   +2 +/
потому что со временем становится дешевле насыпать типов чем постоянно править баги(и хорошо если есть тесты). по сути типы это способ бороться со сложностью - самым трудным что есть в нашей профессии
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77

140. Сообщение от Аноним (139), 15-Мрт-22, 23:35   +4 +/
ой погоди, питон же получится
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34

141. Сообщение от Аноним (139), 15-Мрт-22, 23:38   +/
заархивированная примерно столько же сколько и заархивированная на жс, хвала великому гзипу
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #72

142. Сообщение от Аноним (139), 15-Мрт-22, 23:40   +/
как только васм станет популярнее. все к тому кажись и катится
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

143. Сообщение от Аноним (139), 15-Мрт-22, 23:41   +/
хуже жс точно не получится. даже если постараться..
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75 Ответы: #154

144. Сообщение от Аноним (139), 15-Мрт-22, 23:42   +/
люди для этих целей пилят WASM - а там пиши уже на чем хочешь
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47

145. Сообщение от Аноним (139), 15-Мрт-22, 23:43   +/
Столяров, разлогинься
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #102

146. Сообщение от Аноним (139), 15-Мрт-22, 23:44   +/
можно ссылочку с примерами плез? может они еще и исключения из правил деприкейтят?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #123

147. Сообщение от keydon (ok), 16-Мрт-22, 01:46   +/
> "Вендорлок" это... Зацепить некоторые ключевые сайты на использование новых фич js, и
> без супернового браузера от понимает кого ничего работать не будет, будь
> добр поставить новые зонды.

Неправильные вы ключевые сайты выбираете, дядя Фёдор.

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

148. Сообщение от Аноним (80), 16-Мрт-22, 05:07   –1 +/
> оставить WASM

Ты этот "Ассемблер" сам видел? Нежизнеспособная фигня, продукт наркоманов из Mozilla. Это такой asm.js, но бинарный и отрезанный от API браузера, чтобы можно было делать микросервисы внутри страниц браузера. О, ещё он очень совместим с Rust. Парни из Google предлагали правильную вещь, NaCl и PNaCl. Но почему-то именно в данном случае Google отказалась от своего NIH-синдрома. А ведь это работало гораздо быстрее asm.js и WASM. Может быть даже на мобильниках Web-приложения исполнялись бы быстрее Java-блоатвари.

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

149. Сообщение от Аноним (149), 16-Мрт-22, 05:56   +1 +/
На выбор:
1. Доказано или не доказано
2. Существует или не существует
3. Доказательство можно напечатать на бумаге? Да или нет
4. Доказательство бинарно? Да или нет
5. Доказательство печаталось в какой-либо книге? Да или нет
6. Доказательство содержит математические формулы? Да или нет
7. Доказательство истинно? Да или нет
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #119 Ответы: #190

150. Сообщение от Дмитрийemail (??), 16-Мрт-22, 08:08   –1 +/
Судя по тому, что я вижу здесь (сам сайт) на котором куча народа поливает говном жс, но выглядит все это как у меня бухого в 2003 в дримвьюре. Или интерфейсы от вебмакак для адептов "настоящего" программирования это не то? Кривой ресурс из 1999? Это не смешно. Для чего жс? Для веба. Чего это он ныне самый популярный язык?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #159

151. Сообщение от Аноним (170), 16-Мрт-22, 09:37   +/
>Что имело бы смысл сделать - так это добавить в браузеры поддержку TypeScript напрямую, без обратной совместимости с JS

"Typescript - это не "еще один язык программирования". В двух словах - это просто надмножество Javascript (ES6) с опциональной статической типизацией"
Цель разработки TypeScript обратносовместимое надмножество JavaSctipt

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

Типы TypeScript существуют только во время компиляции, во время выполнения их нет. Само собой проверок что реальный тип соответствует обьявленному нет (так как обьявления существуют только во время компиляции)

Статическая типизация опциональна даже в строгом режиме, всегда можно обьявить any и отключить все проверки.

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

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

152. Сообщение от Аноним (152), 16-Мрт-22, 09:44   +/
Для удобств IDE уже есть jsdoc.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #137

153. Сообщение от Аноним (170), 16-Мрт-22, 09:46   +/
В javascript есть типы.
"Стандарт ECMAScript определяет 8 типов. 6 типов данных являющихся примитивами"
А все остальные типы наследники Object
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

154. Сообщение от Аноним (152), 16-Мрт-22, 09:52   +/
Всегда может быть хуже.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #143

155. Сообщение от Аноним (170), 16-Мрт-22, 09:55   +/
Вы сами себя не "завоняете" потому ничего сложнее hello world не напишите.
"Завоняете" только комментарии на opennet
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37

156. Сообщение от анонимус (??), 16-Мрт-22, 10:05   +/
тут не только в типизации дело. в принципе в последних апдейтах по чуть-чуть то апи, то сахар питоновский проглядывается. разве что асинк/эвейт раньше появился
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #84

157. Сообщение от Аноним (170), 16-Мрт-22, 10:20   +/
>Т.е. объявил ты число, записал туда строку и всё норм. А нафига козе баян тогда?

Так же как и в python, для статических анализаторов.

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

158. Сообщение от Аноним (170), 16-Мрт-22, 10:32   +/
>А эти назначения типа имя:тип - это вообще гадюшник.

взял половину языков программирования обгадил
Слева уже есть оператор обьявления переменной/константы, больше просто некуда поместить.

Если у мозги настолько негибкие что ступор вызывает даже указание типа справа, то может быть вообще не стоит заниматься программированием? В IT всё очень быстро меняется, рано или поздно придется учить изменения в языке или новый язык, а мозг негибкий.

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

159. Сообщение от Аноним (170), 16-Мрт-22, 10:37   +1 +/
На JavaScript можно почти подо всё писать, и бэкэнд, и фронтэнд, и кросплатформенное мобильное приложение.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #150 Ответы: #196

160. Сообщение от Аноним (170), 16-Мрт-22, 10:40   +/
В Java и C# строгая статическая типизация. В C++ тоже статическая типизация.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #124

161. Сообщение от Аноним (170), 16-Мрт-22, 10:42   +/
"В js 2 числовых типа number и bigint."
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #113

162. Сообщение от Аноним (170), 16-Мрт-22, 10:50   –1 +/
public class Main
{
    public static void main(String[] args) {
        System.out.print("Hello static, strong typing in Java. 1 + 1 = ");
        System.out.println("1" + 1);
    }
}
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #117 Ответы: #163, #183, #184

163. Сообщение от Аноним (170), 16-Мрт-22, 10:51   +/
Надо ли говорить что в строго статически типизированном C# тоже самое.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #162

164. Сообщение от Аноним (78), 16-Мрт-22, 10:51   +/
>Типы TypeScript существуют только во время компиляции

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

>даже в строгом режиме, всегда можно объявить any и отключить все проверки

Это означает, что в этом случае нужна рантаймовая проверка типа, которую браузер тоже заjitит. А в остальных - не нужна, браузер typescript уже провалидировал, тип отличный от специфицированного быть не может, кроме как в точках соприкосновения с обычным JS. Там браузер встроит рантаймовую проверку.


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

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

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

165. Сообщение от Аноним (119), 16-Мрт-22, 10:51   +/
> Желательно, чтобы умел

Тогда о чём разговор? Зачем обсуждать то, чего нет?

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

166. Сообщение от Аноним (166), 16-Мрт-22, 10:59   +/
https://262.ecma-international.org
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #110

167. Сообщение от Аноним (170), 16-Мрт-22, 11:02   –3 +/
Как там поживает C# и Java? А сишечка после компиляции в JS?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #132

168. Сообщение от Аноним (119), 16-Мрт-22, 11:04   +/
> современную квантовую механику ;)

Что говорит старуха-теория относительности?

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

169. Сообщение от Аноним (-), 16-Мрт-22, 11:15   +/
Тупизация как в питоне с вопросами "мама чому я undefined". Настоящих тайпхинтов, как в лиспе, меняющих асм под типы, мы не увидим, всё это - самопиар жабистов для того, чтобы обвешать язык IDE.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #180

170. Сообщение от Аноним (170), 16-Мрт-22, 11:18   +/
"TypeScript — язык программирования, представленный Microsoft в 2012 году"
На какой год?
Это всё заимстование из TypeScript, а он в свою очередь заимствовал возможности из C# и Java
Конечно опеннетмакак об этом просто не знает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #171

171. Сообщение от Аноним (170), 16-Мрт-22, 11:21   +/
Они в самом proposal пишут что ориентируются на TypeScript
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #170

172. Сообщение от Аноним (170), 16-Мрт-22, 11:26   +/
Это может быть полезно во время разработки. Если по каким-то причинам не удается писать на TypeScript
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

173. Сообщение от Аноним (173), 16-Мрт-22, 14:34   +/
>Можно что угодно доказывать используя дженерики, что мальчик может немного оказаться

Я правильно понимаю, дженерики это плохо и их нужно запретить и языки в которых они есть?

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

174. Сообщение от Dmitry (??), 16-Мрт-22, 15:47   +/
они что хотят изобрести typescript ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

175. Сообщение от Аноним (175), 16-Мрт-22, 16:11   –1 +/
>но суть цифровой машины не обманешь

ну и какие типы данных есть у цифровой машины?

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

176. Сообщение от Аноним (176), 16-Мрт-22, 16:45   +/
> На какое-то время потребуются комбинированные движки JS/WASM

Кто оплатит банкет?

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

177. Сообщение от Аноним (177), 16-Мрт-22, 20:28   +/
В стандарте нет, в реализациях само собой есть.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59

178. Сообщение от Аноним (177), 16-Мрт-22, 20:31   +/
Уже прошло достаточно времени - не взлетел. Flutter и наркоманы из canonical инсталятор графический на нем пишут - вот и все применение.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #107

179. Сообщение от Аноним (177), 16-Мрт-22, 20:32   +/
typescript появился раньше анотаций типов в питоне и раньше mypy.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71 Ответы: #185

180. Сообщение от Аноним (177), 16-Мрт-22, 20:34   +/
У вас скобочка отклеилась.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #169

181. Сообщение от Аноним (177), 16-Мрт-22, 20:36   +1 +/
Открыли ящик пандоры. Хотя это уже 2-ой подход к снаряду https://2ality.com/2015/02/soundscript.html
Ответить | Правка | Наверх | Cообщить модератору

182. Сообщение от Аноним (177), 16-Мрт-22, 20:38   +1 +/
На самом деле нам всем стоит порадоваться этому событию: любимый язык анонимусов с опеннета станет еще лучше.
Ответить | Правка | Наверх | Cообщить модератору

183. Сообщение от Аноним (99), 16-Мрт-22, 20:47   +1 +/
у тебя операция не совпадает с заголовком.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #162

184. Сообщение от Аноним (99), 16-Мрт-22, 21:05   +1 +/
> 1 + 1
> "1" + 1

Дети, помогите Даше найти ошибку!

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

185. Сообщение от Аноним (139), 17-Мрт-22, 01:48   +/
а при чем тут тайпскрипт
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #179

186. Сообщение от Брат Анон (ok), 17-Мрт-22, 09:25   +/
> Cython

Гораздо лучше чем просто питон, но по сути -- это другой язык.

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

187. Сообщение от Брат Анон (ok), 17-Мрт-22, 09:28   +2 +/
> Я правильно понимаю, дженерики это плохо и их нужно запретить и языки
> в которых они есть?

Нет, не правильно. Ровно на столько, на сколько не правильно мальчику носить прокладки и лифчик, и девочке утверждать, что она равна мальчику, но при этом категорически не хотеть работать шахтёром в шахте на глубине 1400 метров.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #173 Ответы: #192, #193, #194

188. Сообщение от Брат Анон (ok), 17-Мрт-22, 09:29   +/
> Питон это мусорный язык, как и любой другой скриптовый.

Не все скриптовые (и компилируемые -- не будем показывать пальцем) языки -- одинаково полезны.

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

189. Сообщение от Аноним (119), 17-Мрт-22, 10:02   +1 +/
смерд и боярин
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #131 Ответы: #210

190. Сообщение от Аноним (119), 17-Мрт-22, 10:05   +/
> На выбор:
> 1.
> ...
> 7.

Ты перечислил минимум 7 состояний

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

191. Сообщение от Брат Анон (ok), 17-Мрт-22, 11:03   +1 +/
> расстояние и в метрах и в километрах - числа с плавающей запятой..
> решит ли проверка типа проблему ?

Нет, километры и километры -- это не числа с плавающей запятой. Это километры и метры. И это решает пробелму.

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

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

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

Нет. Это не просто. Асинхронщина имеет тонны побочных эффектов. С асинхроном надо уметь работать (нет, это не кодить).

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

Вы только что описали проблемы сочинённых языков (т.е. нарисованы художниками, а не сконструированы инженерами).

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

Ещё раз тезис о сочинительстве.

> Будто этого мало, самые начальные элементы импортируются из настроек, ведь на основе
> этого шаблонного, не работающего проекта генерируется НЕСКОЛЬКО проектов с разным функционалом(
> только истинный гений до такого додумался бы ), разумеется, с многоэтапной
> генерацией, ломающейся почти при каждом обновлении пакетов и с первого раза
> на новой машине вообще не отрабатывающей до конца, обычно день-два надо
> было чтобы оживить.

Управление зависимостями. Опять отсутствие инженерного подхода.

> Самое забавное, что авторизация периодически отваливалась - где-то что-то не так было
> с автообновлением ключей, запросы иногда падали, но ни сам прогер, ни
> пришедшие за ним, отловить и исправить тот баг так и не
> смогли.

Управление логикой. Опять отсутствие инженерного подхода. Недостаток строгой типизации и контроля ошибок.

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

Это подход художника. Инженеры так не делают.

> Но проггеры, даже любители ts, на том проекте больше пары недель не
> выдерживали. Запилить подобное осилил бывший проггер на джаве.. только на жс
> запилил как на джаве.. очень был рад, что есть TS без
> которого он бы подобное едва ли смог.

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

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

Да, так инженеры не делают. Казалось бы, какое это имеет отношение к типам. как семантике? Километры и метры?

> Хотя при "типизации" ничто не мешает просто добавить соотв пометку к полю
> - и валидатор всё посчитает всё корректным )

Нет. Это решается строгой статической типизацией.

Много слов, #ниачём #нувыпонили.

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

192. Сообщение от Аноним (170), 17-Мрт-22, 11:37   +/
А какое вообще мальчики и девочки имеют отношение к дженерикам?
Generic programming, оно обобщённое программирование это просто способ описании данных и алгоритмов, которое можно применять к различным типам данных, не меняя само это описание.

>не правильно мальчику носить прокладки

И да, по поводу мальчиков и прокладок https://medicaland.ru/upload/resize_cache/iblock/e04/340_340...

>она равна мальчику, но при этом категорически не хотеть работать шахтёром

Когда я работала в горячем цеху на военном заводе. Там 4 женщины работали. Потом еще мастером назначили милую девушку.
Но в шахте наверное тяжеле, да. Но может быть там тоже женщины работают.

А вы были в горячем цеху?

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

193. Сообщение от Аноним (170), 17-Мрт-22, 11:38   +/
Вам вообще сколько лет?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #187 Ответы: #200

194. Сообщение от Аноним (170), 17-Мрт-22, 11:50   +/
Это например способ описать коллекцию, например описываете самобалансирующееся дерево без привязки к типам ключей и данных, так как сам алгаритм от типов данных не зависит, но без дженериков будет зависить реализация
class RedBlackTreeMap<K,V> implements Map<K,V> {
//...
}

Или если вам так более понятни описать тип Джинсы<T> один раз, без привязки к типам Мальчик или Девочка
А не описывать 2 раза ДжимныМальчик и ДжинсыДевочка при этом с одним и тем же содержимым

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

195. Сообщение от Аноним (170), 17-Мрт-22, 11:54   +/
помогите компилятору языка со строгой статической типизацией найти ошибку?
Ведь в нем куча проверок во время компиляции, несоответствия типов не пропусает, использование неинициализированных проверок не пропускает, отсутствие return не пропускает и т.д.
Но "1" + 1 почему то пропускает.
Прямо как вебмакачивый javascript

интересно почему?

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

196. Сообщение от Аноним (-), 17-Мрт-22, 13:24   +/
ЖабаСкрипт исполняется не в стеке а в среде виртуальной среде. Это не компилиуемый язык как Си.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #159

197. Сообщение от Аноним (197), 17-Мрт-22, 14:03   +/
Поэтому явную типизацию последние лет 5 суют в Python, т.к. duck typing всех за**л?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42

198. Сообщение от Заноним (?), 18-Мрт-22, 01:23   +/
Так это же просто - запилить приём коммита, только если код прошел проверку на типизацию.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74

199. Сообщение от Брат Анон (ok), 18-Мрт-22, 08:54   +1 +/
Приведённый вами пример прокладок для мальчиков -- это не есть норма. Не надо приводить такие аргументы, когда пытаетесь что-то доказать. Это выглядит неуместным.

> А какое вообще мальчики и девочки имеют отношение к дженерикам?
> Generic programming, оно обобщённое программирование это просто способ описании данных
> и алгоритмов, которое можно применять к различным типам данных, не меняя
> само это описание.

Дженерики обобщают физически разные типы. Не можно впихнуть float32 в байт. А отлаживать такой код -- то ещё удовольствие, и что самое неприятное -- с дженериками программист теряет контроль над кодом. С момента ввода дженерика в код -- программист больше не может сказать с каким именно типом он имеет дело. А значит дальнейший ход программы -- непредсказуем. Чтобы не менять описание алгоритмов -- для этого служат интерфейсы. Чтобы не менять описание данных -- просто не меняйте описание данных.

> Когда я работала в горячем цеху на военном заводе. Там 4 женщины
> работали. Потом еще мастером назначили милую девушку.
> Но в шахте наверное тяжеле, да. Но может быть там тоже женщины
> работают.
> А вы были в горячем цеху?

Я работал дежурным электриком в грузовом вагонном депо. Вы знаете что такое "бандажный станок", "масло-жировая смазка" и менять лампочки с мостового крана на высоте 12 метров? 3 года.
Но самый горячий цех -- это Государственная граница. 9 лет, капитан запаса, если Вам правда интересно. Трудовой стаж начался для меня в 16 лет и уже 27 лет за плечами.

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

200. Сообщение от Брат Анон (ok), 18-Мрт-22, 08:56   +1 +/
> Вам вообще сколько лет?

Сколько вам лет -- вопрос глупый.
27 лет трудового стажа, главный эксперт в одной из госкорпораций.

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

201. Сообщение от Брат Анон (ok), 18-Мрт-22, 09:02   +/
> Это например способ описать коллекцию, например описываете самобалансирующееся дерево
> без привязки к типам ключей и данных, так как сам алгаритм
> от типов данных не зависит, но без дженериков будет зависить реализация

Нет. Для этого нужны не дженерики, а интерфейсы.

> class RedBlackTreeMap<K,V> implements Map<K,V> {
> //...
> }
> Или если вам так более понятни описать тип Джинсы<T> один раз, без
> привязки к типам Мальчик или Девочка
> А не описывать 2 раза ДжимныМальчик и ДжинсыДевочка при этом с одним
> и тем же содержимым

Нет. ещё раз. Пользуйтесь интерфейсами для таких целей.

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

202. Сообщение от Брат Анон (ok), 18-Мрт-22, 09:08   +1 +/
>>но суть цифровой машины не обманешь
> ну и какие типы данных есть у цифровой машины?

Открою вам страшную тайну: byte, uint8, int8, BCD, uint16, int16, uint32, int32, int64, uint64, float32, float64, dword.

Возможно что-то ещё, но гуглить за вас я не буду.
У цифровой машины -- типы зашиты на уровне железа. Поэтому ассемблер -- типизированный язык. Ближе этого языка к железу нет ничего. Строить поверх типизированного языка нетипизированный -- это изврат. И тем более, под одной сущностью скрывать машинно-разные типы. Так это не делается.

Обратите внимание на всякий случай на два аппаратных типа -- byte и uint8. Это разные типы, хотят и выражаются физически они одинаково.

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

203. Сообщение от InuYasha (??), 18-Мрт-22, 10:27   +/
Так речь про JS, который когда-то был похож на Си, а не паскаль.
Есть понятие синтаксической красоты. Можно грубую аналогию привести. Например, если будут ходить мужики в юбках, а у баб вырастет МПХ, то я лучше бы остался среди "негибких". Несгибаемых, тогда уж ))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #158

204. Сообщение от Евгений (??), 18-Мрт-22, 13:10   +/
Сейчас куда не посмотри - все на typescript перешли и там столько нафигачили через всякие сборщики - что даже бекендеру со знанием js уже сложно во фронтенд сунуться. Фронтендеры получают офигевшие зарплаты за "вот это всё". Поезд простого языка ушел)
Имхо сложно ответить: типы - это усложнение или упрощение :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

205. Сообщение от Da (?), 19-Мрт-22, 04:00   +1 +/
Dart отличный язык. Значительно проще и понятнее TypeScript. Он бы подошёл в качестве универсального мультиплатформенного языка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #107

206. Сообщение от Аноним (206), 20-Мрт-22, 15:08   +/
Сами придумали проблему, потом сами сказали что это сложно. Фронтенд здорового человека это в основном HTML + CSS с минимумом JS.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64

207. Сообщение от Аноним (207), 21-Мрт-22, 13:35   +/
после того как все свои JS переписали на TS  - что счас будет - бросятся обратно переписывать?
Ответить | Правка | Наверх | Cообщить модератору

208. Сообщение от Антонио (??), 22-Мрт-22, 07:01   +1 +/
Чтобы сломать весь написанный код. Шарик, ты балбес.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34

209. Сообщение от Z (??), 21-Апр-22, 16:34   +2 +/
Абсолютно не_нужно. Отсутствие типов не мешает создавать годный продукт, если относиться к программированию с точки зрения инженера и тщательно документировать код.
Ответить | Правка | Наверх | Cообщить модератору

210. Сообщение от Аноним (210), 18-Июн-22, 18:24   +/
Младший, средний и старший программист. Как экономисты в СССР.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #189


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

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




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

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