Информация об изменениях

Сообщение Re[23]: А что мешает заменить JS? от 21.03.2017 6:58

Изменено 21.03.2017 7:17 Serginio1

Re[23]: А что мешает заменить JS?
Здравствуйте, vdimas, Вы писали:



S>> Ты кстати Dart расхваливал, а он ни чем не лучше TS. При этом тоже компилируется в JS.


V>В JS даже C++ компиллируется и?

V>Любой Тьюринг-полный язык можно скомпиллировать в другой Тьюринг полный, т.е. речь ни о чем.
V>Для Dart есть своя VM и есть планы предоставить возможность компиляции его в нейтив.
V>На сегодня так же есть тулчайны для Андроида, Линуха, Макоси, Виндов.

V>Т.е., сравнивать TS и Dart бессмысленно.

V>TS — это "снтаксический сахар" исключительно для скриптового окружения.
V>Dart — универсальный язык, пригодный как для веба, так и для эффективных клиентских приложений.
V>В вебе он умеет вызывать JS-код. В кач-ве компиллируемого языка программирования он умееть вызывать нейтивный код из библиотек.

Еще раз TS может прекрасно компилироваться и в .Net IL. При этом уже не будет никакого сахара.
Кстати и C# компилируют в JS. Он тоже стал синтаксическим сахаром?
Ты не поверишь. JS тоже умеет. Я тебе уже давал ссылку на CEF.

По поводу перегрузки функций, то она есть https://metanit.com/web/typescript/2.2.php

Но из за того, что JS не поддерживат перегрузку приходится делать так

function add(x: string, y: string): string;
function add(x: number, y: number): number;
function add(x: any, y: any): any {
    return x + y;
}


Или так

function getInfo(name: string): string;
function getInfo(age: number): string;
function getInfo(val: string|number): string {
 
    if (typeof val === "string")
        return "Имя = " + val;
    else if (typeof val === "number")
        return "Возраст = " + val;
    else
        return "undefined";
}


Насчет динамиков. Динамики нужны там, где заранее не известен тип. Но к нему можно сделать прокси.
Например вызов объектов и типов .Net Core из натива и JS через натив, вызов удаленных объектов по TCP/IP?
разбор часто меняющихся структур JSON, XML
Re[23]: А что мешает заменить JS?
Здравствуйте, vdimas, Вы писали:



S>> Ты кстати Dart расхваливал, а он ни чем не лучше TS. При этом тоже компилируется в JS.


V>В JS даже C++ компиллируется и?

V>Любой Тьюринг-полный язык можно скомпиллировать в другой Тьюринг полный, т.е. речь ни о чем.
V>Для Dart есть своя VM и есть планы предоставить возможность компиляции его в нейтив.
V>На сегодня так же есть тулчайны для Андроида, Линуха, Макоси, Виндов.

V>Т.е., сравнивать TS и Dart бессмысленно.

V>TS — это "снтаксический сахар" исключительно для скриптового окружения.
V>Dart — универсальный язык, пригодный как для веба, так и для эффективных клиентских приложений.
V>В вебе он умеет вызывать JS-код. В кач-ве компиллируемого языка программирования он умееть вызывать нейтивный код из библиотек.

Еще раз TS может прекрасно компилироваться и в .Net IL. При этом уже не будет никакого сахара.
Кстати и C# компилируют в JS. Он тоже стал синтаксическим сахаром?
Ты не поверишь. JS тоже умеет вызывать нативный код. Я тебе уже давал ссылку на CEF, а по WebAssembly рядом ветка.


По поводу перегрузки функций, то она есть https://metanit.com/web/typescript/2.2.php

Но из за того, что JS не поддерживат перегрузку приходится делать так

function add(x: string, y: string): string;
function add(x: number, y: number): number;
function add(x: any, y: any): any {
    return x + y;
}


Или так

function getInfo(name: string): string;
function getInfo(age: number): string;
function getInfo(val: string|number): string {
 
    if (typeof val === "string")
        return "Имя = " + val;
    else if (typeof val === "number")
        return "Возраст = " + val;
    else
        return "undefined";
}


Насчет динамиков. Динамики нужны там, где заранее не известен тип. Но к нему можно сделать прокси.
Например вызов объектов и типов .Net Core из натива и JS через натив, вызов удаленных объектов по TCP/IP?
разбор часто меняющихся структур JSON, XML