Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Что думаете на счёт TypeScript? (https://javascript.ru/forum/misc/85216-chto-dumaete-na-schjot-typescript.html)

voraa 30.05.2023 09:35

Цитата:

Сообщение от webgraph
js я могу написать и запустить прямо в браузере вообще на любом сайте.

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

Тесты, написанные на js в консоле (вообще не представляю, как там можно написать больше 5-7 строк), в код можно перенести и оформить на ts. Все равно ведь в готовый код это переносится не копипастом.

voraa 30.05.2023 09:46

Цитата:

Сообщение от webgraph
Например, тем, что мы сейчас о них говорим и прямым образом рекламируем их корпорацию. И их продукцию.

Так вот почему АвтоВАЗ делает Г! Что бы мы говорили, что это Г, и тем самым рекламировали АвтоВАЗ

webgraph 30.05.2023 10:04

Цитата:

Сообщение от voraa (Сообщение 552160)
Я же про скорость продакшн. Не только скорость выполнения, но и все остальное - время загрузки, например...

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

function getLength<T>(arg: T): number {
    return arg.length;
}


Просто франкенштейн какой-то.

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

Например, у нас есть информация, которая в одном формате весит 1 килобайт, а во втором формате - 1 мегабайт. Вот и спрашивается - нахрена мне второй формат??

Аналогий можно бесконечно приводить.

webgraph 30.05.2023 10:05

Цитата:

Сообщение от voraa (Сообщение 552161)
Так вот почему АвтоВАЗ делает Г! Что бы мы говорили, что это Г, и тем самым рекламировали АвтоВАЗ

черный пиар - тоже пиар) XD

ksa 30.05.2023 11:27

Цитата:

Сообщение от webgraph
ну чуть-чуть-то можно

Нет.
Если еще будет мат - тему закрою.

Aetae 30.05.2023 14:46

webgraph, фигню говоришь, как обычно.

Во-первых: voraa(и все остальные) говорят про скорость исполнения результирующего кода на клиенте. И она не отличается. Не может отличаться.
Во-вторых: если говорить про скорость работы одного и того же человека с TS, против JS, то она выше, а не ниже. Если у тебя ниже, значит ты просто никогда не работал с TS, мелкие попытки потыкать - тут не играют роли.
В-третьих: в TS мне надо думать на порядок меньше, чем в JS, а освободившиеся мощности всегда можно направить на что-то более полезное.

Nexus 30.05.2023 15:54

Цитата:

Сообщение от webgraph
function getLength<T>(arg: T): number {
    return arg.length;
}

Просто франкенштейн какой-то.

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

Переписать эту функцию, например, так и все вопросы отпадают (3 варианта на выбор):
function getLength(lengthAwareItem: { length: number }): number;
function getLength(array: unknown[]): number;
function getLength(item: unknown[] | { length: number }): number {
    return item.length;
}

voraa 30.05.2023 16:10

Цитата:

Сообщение от webgraph
А для TS нужно уже несколько "ядер" и ещё несколько потоков. И оперативы в три раза больше.

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

Aetae 30.05.2023 16:31

Nexus, если по логике вещей удобно иметь какой-то тип, то в стандартной либе он скорее всего есть, начинай писать - IDE подскажет.)
function getLength(item: ArrayLike<unknown>): number {
  return item.length;
}

webgraph 30.05.2023 17:05

Цитата:

Сообщение от voraa (Сообщение 552182)
Вы видимо не совсем представляете, как это работает. Вся эта информация о типах нужна только для ts (и для IDE). В результирующем файле js будет всего одна функция. Как будто были некие вспомогательные комментарии, ts их прочел, учел для проверок все ли в порядке с типами и удалил.

О "ядрах" — это была аналогия... Прочитайте ещё раз полностью текст сообщения))


Часовой пояс GMT +3, время: 08:55.