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

Сообщение Re[41]: dotnet vs java 2016-2020 от 19.10.2016 20:44

Изменено 19.10.2016 20:45 Evgeny.Panasyuk

Здравствуйте, ·, Вы писали:

V>>>>Джавовский код весьма динамичный. Сплошные приведения типов и все как один — динамические.

V>>·>В биржевой проге?
V>>Да, я охотно верю, что в пути кода, обрабатывающего FIX-сообщение, нет приведений типов. Но это один процент от всего приложения, пусть и самый критичный к эффективности. В остальном его будет дофига. А еще если брать совсем остальное что ты предложил: базы, отчеты, платежи и т.д., то там в джаве динамика динамикой погоняет.
·>Какой динамикой? Ты о чём? Почитай учебники что-ли, хоть ту же вики:
·>

Typing discipline: Static, strong, safe, nominative, manifest

·>...
·>Ты первый начал чушь пороть. Но я хоть что-то похожее на аргументы привёл. А вот ещё: DYNAMIC_DOWNCAST
·>Доказать-то сможшешь, что java — динамический?

Язык со статической типизацией. Но даже на статическом языке можно переходить в динамику, из чего вытекает меньшее количество статических проверок.
Утрированный пример: something.call("function_name"); — ошибка в имени функции вылезет только в runtime даже в языке со статической типизацией.
Вещей типа вылета pure virtual call при статическом полиморфизме нет. Они появляются при переходе на динамические конструкции.

Чем больше типов стирается, тем меньше ошибок может поймать компилятор. Например если использовать везде штуки типа boost::any — то и ошибки будут рантаймовые.

Твой оппонент говорит о том (и с чем я согласен), что в коде на управляемых языках программисты как раз склонны к излишнему динамизму по сравнению с C++ — в котором например статический полиморфизм используется повсеместно.

·>А так кодогенерацию можно в run-time делать (в Плюсах — невозможно).


Возможно
Re[41]: dotnet vs java 2016-2020
Здравствуйте, ·, Вы писали:

V>>>>Джавовский код весьма динамичный. Сплошные приведения типов и все как один — динамические.

V>>·>В биржевой проге?
V>>Да, я охотно верю, что в пути кода, обрабатывающего FIX-сообщение, нет приведений типов. Но это один процент от всего приложения, пусть и самый критичный к эффективности. В остальном его будет дофига. А еще если брать совсем остальное что ты предложил: базы, отчеты, платежи и т.д., то там в джаве динамика динамикой погоняет.
·>Какой динамикой? Ты о чём? Почитай учебники что-ли, хоть ту же вики:
·>

Typing discipline: Static, strong, safe, nominative, manifest

·>...
·>Ты первый начал чушь пороть. Но я хоть что-то похожее на аргументы привёл. А вот ещё: DYNAMIC_DOWNCAST
·>Доказать-то сможшешь, что java — динамический?

Язык со статической типизацией. Но даже на статическом языке можно переходить в динамику, из чего вытекает меньшее количество статических проверок.
Утрированный пример: something.call("function_name"); — ошибка в имени функции вылезет только в runtime даже в языке со статической типизацией.
Вещей типа вылета pure virtual call в рантайме при статическом полиморфизме нет. Они появляются при переходе на динамические конструкции.

Чем больше типов стирается, тем меньше ошибок может поймать компилятор. Например если использовать везде штуки типа boost::any — то и ошибки будут рантаймовые.

Твой оппонент говорит о том (и с чем я согласен), что в коде на управляемых языках программисты как раз склонны к излишнему динамизму по сравнению с C++ — в котором например статический полиморфизм используется повсеместно.

·>А так кодогенерацию можно в run-time делать (в Плюсах — невозможно).


Возможно