Здравствуйте, Mamut, Вы писали:
M> M>> Почему-то, когда речь заходит о С++ все так, а тут ВНЕЗАПНО не так.
M> H>Мамут, а тебе слово Framework ни о чем не говорит? Я думал, ты это понял, два года назад.
M> http://rsdn.ru/forum/flame.comp/3893346.1.aspx
Ты пойми, совершенно фиолетово, что там стандартизировано, а чего нет. Когда речь идет о переносимости фреймвока так и нужно говорить о фреймвоке, а не той его части на которую распространяется стандарт. Иначе ваши слова есть ни что иное как лукавство.
Ты пойми, совершенно фиолетово, что там стандартизировано, а чего нет. Когда речь идет о переносимости фреймвока так и нужно говорить о фреймвоке, а не той его части на которую распространяется стандарт. Иначе ваши слова есть ни что иное как лукавство.
Осталось понять, что имеет в виду Шеридан, когда говорит «дотнет». Дальше — по ссылке
Ты пойми, совершенно фиолетово, что там стандартизировано, а чего нет. Когда речь идет о переносимости фреймвока так и нужно говорить о фреймвоке, а не той его части на которую распространяется стандарт. Иначе ваши слова есть ни что иное как лукавство.
M> Осталось понять, что имеет в виду Шеридан, когда говорит «дотнет». Дальше — по ссылке
Ой, да перестань. Не нужно делать вид, будто ты не понимаешь, что когда говорят .NET имеется ввиду платформа Microsoft .NET, с её полным названием Microsoft .NET Framework.
Здравствуйте, NikeByNike, Вы писали:
NBN> НС>Можно перечислить основные ограничения "виртуальной машины" дотнета?
NBN> Отсутствие кроссплатформенности.
Виртуальная машина, как раз таки, вполне себе переносима
.
H>Ой, да перестань. Не нужно делать вид, будто ты не понимаешь, что когда говорят .NET имеется ввиду платформа Microsoft .NET, с её полным названием Microsoft .NET Framework.
Нет, не понимаю. Учитывая, что здесь люди уже приводили примеры нормальной кроссплатформенной разработки с использованием как моно, так и ms.net'а.
MM>Мы уже выяснили, что это я пытался бороться с ветрянными мельницами, а их оказывается и нет. В том плане, что когда не фантазируешь, а бацаешь пример, то ничего не тормозит. Поэтому, нужно узнать, что такого специфического сделал автор. Видимо там есть какое-то условие, приводящее к тормозам. Может он эффекты битмэповые накатил — они переводят отрисовку в программную и сейчас уже obsolete. О! Я тут подумал. А может быть у него Binding-и слетели и Студия постоянно пишет об этом сообщения в Trace? Это может вызывать тормоза при отладке, которых в Release, естественно, нет.
Да скорее всего. Часто проблема не там, где ее ищешь, это да. Я сталкивался с тормозами из-за излишнего логгирования. Банально потому, что оно выполняется в том же потоке.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
_>Кстати, я вот не однократно замечаю, что многие люди в спорах типа Java или .Net против Native зацикливаются на байткоде. Т.е. одни говорят что это самое классное, а другие на оборот ругают его... В то время как на мой взгляд это вообще ерунда. И кстати появление llvm это только подтверждает. Принципиальное отличие Java и .Net от нативных языков в том, что они по сути испольняются в своей виртуальной машине, которая накладывает огромные ограничения.
Но при этом и дает местами шикарные возможности(та же рефлексия позволяет за счет пары утилитарных классов снижать размер кода в десятки раз, причем если это не берется из конфигов, то тормозит оно ровно до первого прохода jit(ибо реально для каждого случая ровно 1 нить исполнения получается) — я напишу развернутый пост об этом, ибо как раз сейчас занимаюсь переводом сишного проекта в жабу(100 строк с++ превращаются в 10 жабовских), только как закончу, хоть это и не скоро).
Которые, к слову, будут только расширяться.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
_>Да, кое-какие небольшие плюсы от неё есть. Помню как меня порадовала возможность динамической загрузки классов в программу, когда я впервые стал смотреть на Java. Но все они являются как бы не уникальными — в нейтиве всё тоже самое возможно, просто с помощью отдельных технологий (типа COM например).
Ну, ставить com и динамическую подгрузку классов в жабе(а там еще и класслоадер можно заменить — иногда это такие возможности дает) — это глупость. Ком — это действие вслепую, и вообще дикий костыль.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Здравствуйте, NikeByNike, Вы писали:
NBN> NBN>> Отсутствие кроссплатформенности.
NBN> H>Виртуальная машина, как раз таки, вполне себе переносима
NBN> С++ в теории тоже хорош.
.
M> H>Ой, да перестань. Не нужно делать вид, будто ты не понимаешь, что когда говорят .NET имеется ввиду платформа Microsoft .NET, с её полным названием Microsoft .NET Framework.
M> Нет, не понимаю.
.
M>> H>Ой, да перестань. Не нужно делать вид, будто ты не понимаешь, что когда говорят .NET имеется ввиду платформа Microsoft .NET, с её полным названием Microsoft .NET Framework.
M>> Нет, не понимаю.
H>Тяжело тебе...
Тяжело вам, что вы не можете внятно объяснить, что вы хотите, и что вам нужно.
Здравствуйте, NikeByNike, Вы писали:
NBN> NBN>> С++ в теории тоже хорош.
NBN> H>Практика показывает, что он даже лучше
NBN> Для мобильной области и геймдева — однозначно
NBN> Хз на счёт серверной
Не помнишь, куда там транслировался фейсбучный похапэ?
Здравствуйте, Ночной Смотрящий, Вы писали:
E>>кто-то уже научился инлайнить функции из скомпилированных разделяемых библиотек?
НС>Да, дотнет.
Что стырено из джавы, но тем не менее, очень даже работает.
Я вам хуже скажу. В джаве можно получить вообще неизвестный класс черти откуда(тупым потоком байт из сети загрузить кастомным класслоадером как Object, но можно придумать и более изощренный сценарий), создать экземпляр(или же вызывать статику — неважно), проверить его на наличие нужного нам метода, и часто вызывать его через рефлексию, даже не кастуя ни к какому известному интерфейсу. И... Внезапно по нему пройдется джит, увидит, что вызываемый метод у класса есть, и его имя в программе статическая строка(т.е. оно выполняется, и будет всегда выполняться именно так). И он его заинлайнит, убрав рефлексию, плюс скомпилит в нативу. Очень прошу примера, как такое возможно в нативе. Это немного похоже на ком(тоже слепой вызов), вот только ком объект не инлайнится никогда. Ваш выход, господа.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.