Сообщение Re[25]: А что мешает заменить JS? от 19.03.2017 18:40
Изменено 19.03.2017 19:29 Serginio1
V>Здравствуйте, Serginio1, Вы писали:
S>>Запишем. Шаблоны не являются уровнем оптимизации.
V>Записывать надо правильно:
V>Шаблоны — это вообще не про оптимизацию бинарника.
V>Шаблоны — они про автоматизацию разработки.
V>>>Да, речь идёт о чем-то вроде .Net Native, где одним из target будет webasm.
S>>Ну и? Есть оптимизация на уровне компиляции в il и .Net Native
S>>По поводу Webasm, то по сути то как я понял это аналог
V>Нет, это NaCL.
NaCl это совсем другое. Оно основано на событиях.
S>>Со всеми проблемами.
V>С девушками и настольными играми.
V>>>Чего нет? Аннотаций типов?
S>>Чем в Darte типы отличаются от типов в TS если они все так же компилируются в JS.
V>Можно вопрос переформулировать?
V>Я че-то проблематики не улавливаю при переводе из более сильной системы типов в более слабую.
V>А в бинарник нейтива как программы переводятся? Там же вообще типы затираются.
Вот когда TS будет компилироваться в натив, тогда и дополнительные типы появятся и тд.
Сейчас нет необходимости.
S>>Правильно. Проблема в том, что в JS есть еще и var. Кроме того не будет ошибки если abs это поле класса.
V>Я уже сказал в чем проблема — в необходимости использовать только объявленные переменные.
V>Не надо пытаться оспаривать какое-то другое утверждение.
то есть
int I; это не объявленная переменная?
чем она лучше
let I=0;
Или на том же даро
var I=0;
При этом у TS совместимость с JS var.
V>>>Итого, имеем лишнее ключевое слово let.
S>>Это для тебя оно лишнее.
V>Это ты уже как бабка базарная склочничаешь.
V>пффф... ))
Еще раз для тебя повторю, что ты вырезал
Это для тебя оно лишнее. Есть глобальные переменные.
https://metanit.com/web/typescript/4.1.php
Как ты в dart собрался решать проблему глобальных переменных.
при этом ты просто говоришь не всю правду
https://www.dartlang.org/resources/dart-tips/dart-tips-ep-3
var name = 'Bob';Вот такое объявление применяется в 99% случаях.
string name;
let name:string;встречается не часто.
Кроме того
А вот вывод типа функции
func(I:int)
{ return I;}почти постоянно. Так, что ты насчет бабки базарной посмотри на себя. Я уже кучу раз указал на неправильность твоих выводов.
Потому, что ты даже не удосужился прочитать туториал.
Нет особой разницы между dart и Ts.
У TS есть куча приспособлений для типизации. Почитай на русском по ссылке.
А самое главное у Ts есть заголовочные файлы
https://metanit.com/web/typescript/4.1.php
Это файлы с расширением .d.ts, они описывают синтаксис и структуру функций и свойств, которые могут использоваться в программе, не предоставляя при этом конкретной реализации. Их действие во многом похоже на работу файлов с расширением .h в языках C/C++.
С помощью них типизировано куча JS библиотек. А это перекрывает все воображаемые премущества Dart.
Кроме того
http://stackoverflow.com/questions/17488611/how-in-dart-create-private-variable
From Dart documentation:
Unlike Java, Dart doesn’t have the keywords public, protected, and private. If an identifier starts with an underscore _, it’s private to its library.
Libraries not only provide APIs, but are a unit of privacy: identifiers that start with an underscore _ are visible only inside the library.
То есть TS уже готовый Фреймворк для работы по верх JS. И ничего ему не мешает так же работать поверх .Net.
Кроме того он развивается
https://github.com/Microsoft/TypeScript/wiki/Roadmap
и осуществляется поддержка в IDE
https://github.com/Microsoft/TypeScript/issues/6508
V>Здравствуйте, Serginio1, Вы писали:
S>>Запишем. Шаблоны не являются уровнем оптимизации.
V>Записывать надо правильно:
V>Шаблоны — это вообще не про оптимизацию бинарника.
V>Шаблоны — они про автоматизацию разработки.
V>>>Да, речь идёт о чем-то вроде .Net Native, где одним из target будет webasm.
S>>Ну и? Есть оптимизация на уровне компиляции в il и .Net Native
S>>По поводу Webasm, то по сути то как я понял это аналог
V>Нет, это NaCL.
NaCl это совсем другое. Оно основано на событиях.
S>>Со всеми проблемами.
V>С девушками и настольными играми.
V>>>Чего нет? Аннотаций типов?
S>>Чем в Darte типы отличаются от типов в TS если они все так же компилируются в JS.
V>Можно вопрос переформулировать?
V>Я че-то проблематики не улавливаю при переводе из более сильной системы типов в более слабую.
V>А в бинарник нейтива как программы переводятся? Там же вообще типы затираются.
Вот когда TS будет компилироваться в натив, тогда и дополнительные типы появятся и тд.
Сейчас нет необходимости.
S>>Правильно. Проблема в том, что в JS есть еще и var. Кроме того не будет ошибки если abs это поле класса.
V>Я уже сказал в чем проблема — в необходимости использовать только объявленные переменные.
V>Не надо пытаться оспаривать какое-то другое утверждение.
то есть
int I; это не объявленная переменная?
чем она лучше
let I=0;
Или на том же даро
var I=0;
При этом у TS совместимость с JS var.
V>>>Итого, имеем лишнее ключевое слово let.
S>>Это для тебя оно лишнее.
V>Это ты уже как бабка базарная склочничаешь.
V>пффф... ))
Еще раз для тебя повторю, что ты вырезал
Это для тебя оно лишнее. Есть глобальные переменные.
https://metanit.com/web/typescript/4.1.php
Как ты в dart собрался решать проблему глобальных переменных.
при этом ты просто говоришь не всю правду
https://www.dartlang.org/resources/dart-tips/dart-tips-ep-3
var name = 'Bob';Вот такое объявление применяется в 99% случаях.
string name;
let name:string;встречается не часто.
Кроме того
А вот вывод типа функции
func(I:int)
{ return I;}почти постоянно. Так, что ты насчет бабки базарной посмотри на себя. Я уже кучу раз указал на неправильность твоих выводов.
Потому, что ты даже не удосужился прочитать туториал.
Нет особой разницы между dart и Ts.
У TS есть куча приспособлений для типизации. Почитай на русском по ссылке.
А самое главное у Ts есть заголовочные файлы
https://metanit.com/web/typescript/4.1.php
Это файлы с расширением .d.ts, они описывают синтаксис и структуру функций и свойств, которые могут использоваться в программе, не предоставляя при этом конкретной реализации. Их действие во многом похоже на работу файлов с расширением .h в языках C/C++.
С помощью них типизировано куча JS библиотек. А это перекрывает все воображаемые премущества Dart.
Кроме того
http://stackoverflow.com/questions/17488611/how-in-dart-create-private-variable
From Dart documentation:
Unlike Java, Dart doesn’t have the keywords public, protected, and private. If an identifier starts with an underscore _, it’s private to its library.
Libraries not only provide APIs, but are a unit of privacy: identifiers that start with an underscore _ are visible only inside the library.
То есть TS уже готовый Фреймворк для работы по верх JS. И ничего ему не мешает так же работать поверх .Net.
Кроме того он развивается
https://github.com/Microsoft/TypeScript/wiki/Roadmap
и осуществляется поддержка в IDE
Так же поддержка JSX
https://www.typescriptlang.org/docs/handbook/jsx.html
/// <reference path="react.d.ts" />
interface Props {
foo: string;
}
class MyComponent extends React.Component<Props, {}> {
render() {
return <span>{this.props.foo}</span>
}
}
<MyComponent foo="bar" />; // ok
<MyComponent foo={0} />; // error