Re[20]: А что мешает заменить JS?
От: vdimas Россия  
Дата: 18.03.17 18:55
Оценка:
Здравствуйте, Serginio1, Вы писали:

V>>Байткод дотнета или джавы принципиально НЕ может быть оптимизированным.

S> Угу при этом .Net Native создается именно из .Net Core

Еще раз.
В .Net Native оптимизируется конечный нейтивный код из байт-кода дотнетной VM.
Но сам этот байт-код не оптимизирован и не может быть оптимизирован.
Гугл, напротив, предлагает уже оптимизированный байт-код.


S>Так и TS и C# тоже ооочень похожи.


Э, нет.


S>Отличие только в обявлении типа.


В аннотациях типа.
Это серьезное отличие синтаксиса, которое тянет за собой много чего.

В С-подобных языках указание типа переменной одновременно означает объявление переменной.
Т.е. операция два в одном получается.
А если не хочется указывать тип (аннотацию), например, если тип переменной может быть выведен, то требуется ключевое слово для объявления переменных. Мы же не хотим пользоваться не объявленными переменными верно?

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


S>Плюс автовывод типа в функциях.


Так и в Dart автовывод присутствует.
И ковариантность полноценная:
Mammal peekMammalList(List<Mammal> list) {
  return list[2];
}

main() {
  List<Cow> cowList = new List<Cow>(4);
  peekMammalList(cowList);
  // Covariant use:
  // * static type checking OK
  // * dynamic type checking OK
  // * runs happily
}

А в C# полноценная ковариантность поддерживается только на встроенных массивах.
Но это же бред, верно?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.