Страницы 1
Мне кажется, что спустя некоторое время, с популяризацией мобильных платформ, нативный код умрет на 90%, это будет, как использовать ассемблер сегодня. Будущее за динамическими средами выполнения, типа .NET или Java. Дискасс.
Неактивен
нативный код умрет на 90%, это будет, как использовать ассемблер сегодня. Будущее за динамическими средами выполнения, типа .NET или Java. Дискасс.
Асм и сейчас живее всех живых в отдельных областях. Си так вовсе позиции сдавать не собирается. Тот же самый NET на чем то написан должен быть. Так что простые приложения возможно и перейдут, а вот серьезные программы думаю нескоро.
Нет, так мы целей гнусных не достигнем... / В.П. Вишневский
Неактивен
Так что прощай
Ты еще забыл "SEGMENTATION FAULT"
хотя это и возможно
.NET Micro
Ну и кому нужны эти отдельные области???
Я говорю за популярные платформы, такие как мобильные и десктопные, и даже - веб.
Неактивен
Странно, я вроде придерживаюсь такой же точки зрения что и ты, а ты что, спорить пытаешься?
Так я не спорю, я против питона в обучающем процессе.
Кстати, а чем отличается толком между собой VBA, VBS, VB и VB.NET ?
Неактивен
Самое главное, что достигается с использованием данных языков, это даже не независимость от аппаратной части, а БЕЗОПАСНОСТЬ исполнения кода. Так что прощай Buffer Overflow, Out Of memory Stick и прочих широкораспространенных спутников низкоуровневого программирования, из=за которых хакиры имели немалый профит.
Безопасность у такого кода выше, но все же не идеальна. Тот же Java - на редкость дырявый продукт. Еще хочется заметить, что писать программы на данных языках для слабых машин, например для встраиваемой техники или микроконтроллеров, вряд-ли получится. Java и C# сильно привязаны к ОС, да к тому же тащат за собой огромную виртуальную машину. Неприятно, когда пустая программа съедает ~30мб.
На Windows Mobile есть .Net Compact Framework, позволяющий запускать шарповые приложения, и на мобильном аппарате со слабым процессором и оперативной памятью преимущество нативных приложений заметно на глаз.
Неактивен
Так что прощай Buffer Overflow, Out Of memory Stick и прочих широкораспространенных спутников низкоуровневого программирования из=за которых хакиры имели немалый профит
И привет тормоза, DoS и прочие широкораспространённые спутники массового программирования, из-за которых лишь производители топового железа и говнокодеры имеют профит
Бывает, новые пользователи перезагружают компьютер, потому что не знают, как ещё можно выйти из vi
Ну ты пруфами не сыпь © Skynet2015
Провокатор хуев -) Я к тебе в твою конторку инсайдера зашлю, ты даже не узнаешь в какой момент тебя поимели -) © Rector, 2010-2015
Неактивен
И привет тормоза, DoS и прочие широкораспространённые спутники массового программирования, из-за которых лишь производители топового железа и говнокодеры имеют профит
Это же очевидно, майкрасофт всех купил
Редактировался Babusha (28-12-11 03:21:54)
Неактивен
ы на данных языках для слабых машин, например для встраиваемой техники или микроконтроллеров, вряд-ли получится.
А мужики с .NET micro framework и не знали...
ы на данных языках для слабых машин, например для встраиваемой техники или микроконтроллеров, вряд-ли получится.
А мужики с .NET CE и не знали...
На Windows Mobile есть .Net Compact Framework, позволяющий запускать шарповые приложения, и на мобильном аппарате со слабым процессором и оперативной памятью преимущество нативных приложений заметно на глаз.
И на глаз ты нифига не различишь "вот тут .нет, а вот тут - натив". А вот джава - видна, да)))
Тот же Java - на редкость дырявый продукт.
Именно это учли создатели .NET и достаточно мудро организовали уровень безопасности. Далее тут:
https://web.eecs.utk.edu/~pauln/papers/c … t-java.pdf
Добавлено спустя 31 мин 08 с:
P.S. Динамическая компиляция и оптимизация на лету - имеют свои преимущества и, возможно, выместят многие вещи, но низкоуровнеые средства (С - низкоуровневое средство) никуда не денутся.
Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.
Неактивен
Конечно garbage collector вещь хорошая, однако по сути неуправляемая, в java ты лишь можешь указать ему на удаление объекта, а когда удалять он решение примет сам на основании своих алгоритмов, которые не совершенны в результате "Out Of memory" не такая уж и редкая ситуация
В .NET при желании ты можешь управлять GC. Хотя полное управление GC не рекомендуется для повседневного программирования (хотя бы потому, что надо очень хорошо знать, как работает GC, чтобы лезть в него). Однако сама возможность есть - чтобы ее использовать.
На повседневном уровне ты можешь специально указать с помощью using область действия объекта (обычно используется на толстых объектах, вроде графики, открытых файлов, потоков и т.д.), тогда объект уничтожается сразу, как только выходит область его действия. Эта возможность точно есть и в Java
Так же есть управление указателями с алгеброй указателей, блэкджеком и шлюхами. Да. Она тоже не рекомендуется для повседневного применения. Да, она не может быть использована в FullyTrusted environment (линукс обожатели, вы об уровнях безопасности на уровне языка слыхали?), но опять же, эта возможность есть и реализована в языке как раз для тех случаев, где это нужно.
Единственная вещь, который GC в своем обычном виде мешает, это... (ну, эксперты?!)
Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.
Неактивен
Неактивен
Ну вобще-то в реальном мире никогда не было, нет и Не будет ничего идеального, ты не в курсе?
Я бы с этим поспорил, вот математика - она идеальна в абсолютном смысле.
Ты писал про управление gc в .net, в чем заключается это управление ты не раскрыл
Оператор using, блеать!
Неактивен
Оператор using
Юзинг - это второй параграф моего поста. Первый параграф моего поста был о прямом управлении GC, какие объекты удалять, какие не удалять, какие удалять прямо сейчас.
Но мне сдается, что наш эксперт - троллит. Поэтому я скажу так, я могу лично ему дать объяснения, как это делается. Но при условии, что в гугле первые приходящие в голову вопросы по .net garbage collector не дают ответов. А если же в гугле ввести запрос и там будет рассказано, как управлять GC в .NET, я сделаю +П за троллинг. и учитывая, что это получится 3П = 7-й бан, он будет на пол-года с отловом мультов.
Все согласны на такой спор?
Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.
Неактивен
wr224, исчерпывающая информация на сайте майкрасофт
https://msdn.microsoft.com/en-us/library/0xy59wtx.aspx
Неактивен
Если ратуешь за jit приводи полную аргументацию
Полная аргументация в этом посте. Еще ссылка - у бабуши. Писать это всё сюда (а там много, тема не тривиальная, но красивая) - мартышкин труд.
Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.
Неактивен
И на глаз ты нифига не различишь "вот тут .нет, а вот тут - натив". А вот джава - видна, да)))
Коль уж на то пошло, то скажу - на глаз видно еще и как. Откройте шарповую программу хотя бы в блокноте и посмотрите: очень низкая плотность кода по сравнению с нативным, половина байтов в нем нулевые. Далее куча ссылок на используемые сборки, что сразу сдает .NET приложение.
А вообще речь была об ощутимо низкой производительности .NET программ на слабых коммуникаторах - такие программы долго запускались, да и памяти съедали много, что не давало пользоваться параллельно еще какими-нибудь приложениями, не закрыв текущее. Во времена, когда процессор в 200mHz и 64 мб оперативной памяти на КПК считались нормой, это сильно раздражало. О производительности во время выполнения программы точно сказать не могу, поскольку мне не встречались шарповые игры на коммуникаторах. Неудобно, знаете ли, судить о скорости программы по статичному окну.
Далее. .Net Micro Framework - это конечно здорово, но не совсем понятно, зачем. О низкой плотности кода и затратах памяти на JIT компиляцию уже говорилось, зачем применять такую технологию на откровенно дохлых камушках? Люди на ассемблере пишут программы для микроконтроллеров и порой борются за каждый байт, а тут такой монстр, что инфаркт может вызвать. Список поддерживаемых архитектур тоже не впечатляет - сегодня восьмибитные микроконтроллеры до сих пор популярны.
Неактивен
. Откройте шарповую программу хотя бы в блокноте и посмотрите: очень низкая плотность кода по сравнению с нативным, половина байтов в нем нулевые
А ничего, что шарповский exe не имеет почти ничего общего с обычным exe файлом? Тебя не смущает, что в блокноте ты сравниваешь состав... хм... скажем zip и html и рассуждаешь о плотности? Это тебя не останавливает?))))
А вообще речь была об ощутимо низкой производительности .NET программ на слабых коммуникаторах
Ты ошибаешься. Запускались... Может медленнее. Но скорость работы было не отличить, если программа писалась под CE. Там в другом с производительностью проблема была, код-то в общем был потритуемым с десктопов на CE. И вот этот код просто переносили с десктопов на слабенькие КПК без должной оптимизации и он на них тормозил. Но на слабых машинах тормозит все неоптимизированное. И на С МОЖНО программу написать так, что python будет быстрее. С этим кто-то спорит?
Поэтому слабые машины требовали оптимизации. И для .NET, как и для C++ и для C были приемы и техники, как сделать выполнение программ оптимально быстрым. И хрен ты различал какая программа запущена.
О низкой плотности кода и затратах памяти на JIT компиляцию уже говорилось, зачем применять такую технологию на откровенно дохлых камушках?
Подумай. Если ты ошибаешься в предыдущем, значит ты получаешь совершенно простой ответ ЗАЧЕМ это надо... ))))
P.S. Думай! Линукс отупляет))
Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.
Неактивен
Страницы 1