Здравствуйте, alex_public, Вы писали:
_>Здравствуйте, gandjustas, Вы писали:
_>>>Кроме отсутствия автовекторизации, C# (а точнее .net) обладает ещё целым букетом замедляющих факторов, происходящих из самого устройства платформы. Это не говоря уже о просто слабом оптимизаторе. G>>Это уже твои фантазии. Таких "замедляющих факторов" в любом языке полно, даже в c++. Более того, почти любые гарантии со стороны языка небесплатны. Супер оптимальный код будет супер небезопасным. А достаточно надежный код будет иметь "букет замедляющих факторов".
_>Что-то я не понял этого твоего высказвания) В первом предложение ты выступаешь против моего тезиса, а в следующих 4-ёх излагаешь подтверждающие его аргументы. )))
Специально для тебя повторю — замедляющих факторов полно в любом языке. Даже в С++ (одни смартпоинтеры чего стоят). А дальше логичный вывод — чем безопаснее программа, тем больше "замедляющих факторов" будет.
_>Да, а насчёт компромисса скорость/безопасность я собственно и не спорил. Хотя такое всё же не всегда происходит. К примеру такие вещи как "все функции виртуальные" и отсутствие полноценных нессылочных типов явно не приводят к какому-то увеличению безопасности... )
Это ты про Java надо полагать? Или решил показать незнание?
Так вот Java умеет девиртуализировать вызовы и размещать объекты на стеке. Руками не контролируется, делается путем анализа кода в JIT. Именно поэтому Java в математике весьма неплохо себя показывает. Так что недостаток языка вполне может быть (и на практике будет) скомпенсирован рантаймом. А вот когда дело касается реальной безопасности то, здравствуй "букет замедляющих факторов", независимо от языка.