LINUX.ORG.RU

Почему .NET лучше натива, моё мнение

 ,


0

0

Надеюсь, тут сидят не одни школьники, а есть и люди, которые наверняка помнят, как было весело во времена DOS и реального режима, когда возможно было писать на ассемблере самомодифицирующийся код. Это давало просто бесконечную гибкость.

С выходом на сцену так называемых языков высокого уровня стало немодным привязываться к платформе (хотя 99% crapware так и не осилили перенести с wintel32 даже на wintel64) или модифицировать двоичный код во время исполнения. От последнего даже появились защиты.

С потерей гибкости, связанной с возможностью модификации кода во время исполнения, разработчики стали искать другие источники гибкости, с переменным успехом пытаясь получить её в ООП, ФП, АОП и т.д. Но было очевидно, что всё это не то.

Все изменилось с появлением JVM: появилась единая платформа с безопасным доступом к «машинному» коду. Кто не слышал о реализации корутин для Java модификацией байт-кода?

JVM была недостаточно хороша, поэтому знамя подхватил .NET. Хотите, например, AOP со связыванием/отвязыванием концептов во время исполнения без модификации исходников? Есть и такое. Хотите генерировать код в рантайме? Запросто. JIT оптимизирует до маш. кода, производительность не пострадает.

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

Ответ на: комментарий от NextGenenration

Написал с год назад простенькую программку, собрал её и увидел столько ругани про deprecated методы из GTK компилятора valac на сишный (вот нафига всё в одну кучу выводится) код, что больше не хочу трогать vala.

peregrine ★★★★★
()
Ответ на: комментарий от no-such-file

хз, вероятно, ngen есть только там, где есть .NET Framework от MS, т.е. на x86/64 и, может быть, на 32-х битовых ARMv7 (для Windows RT 8/8.1). У mono, вроде как, свои команды для AOT-компиляции.

eao197 ★★★★★
()
Ответ на: комментарий от peregrine

Там есть конечно некоторые моменты, какие не доделали, но всё же. Ещё постараться надо, чтоб найти.

NextGenenration ★★
()
Ответ на: комментарий от Zermond

HDD|SSD? Сколько оперативки? Сразу после запуска можно работать? При открытии к примеру обозревателя sql серверов студия не виснет на пару секунд?

NextGenenration ★★
()
Ответ на: комментарий от NextGenenration

SSD, после запуска сразу можно работать. Единственный момент, который постоянно выскакивает, но я полагаю, что дело уже в сетевом соединении, это информация о надстройках, которые тормозят VS. В моем случае — это тим эксплоер. Остальное все достаточно шустро.

На борту 12 гб ОЗУ, i7-920 и какой-то интеловский ссд.

Zermond
()
Ответ на: комментарий от anonymous

Письмо школьнику

Дорогой юный друг!

Прежде всего, позволь выразить искреннюю благодарность за твои усилия по моему просвещению.

Что касается твоего вопроса

...и при чём тут модификация байт-кода?

то скорее всего я, говоря о реализации корутин с помощью модификации байт-кода, имел в виду следующее

/offbynull/coroutines

Java toolkit that allows you to write coroutines via bytecode instrumentation.

anon_2018
() автор топика
Ответ на: комментарий от Zermond

На борту 12 гб ОЗУ, i7-920 и какой-то интеловский ссд.

болван

anonymous
()

С потерей гибкости, связанной с возможностью модификации кода во время исполнения,

А какже eval() в php, python ?

atenuouslead
()
Ответ на: комментарий от NextGenenration

Это железо копейки стоит.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.