Совместимость между языками в C#

Поскольку сборки самоописательны и содержат в себе переносимый код IL, их легко разделять между многими языками. Наконец-то появилось жизнеспособное решение для построения сложных систем, в которых одна часть компонентов кодируется на одном языке, а другая — на другом.

Например, при разработке сложной системы для инженерного анализа группа разработчиков на С# может заниматься кодированием инфраструктуры системы, а группа инженеров — созданием математических компонентов. Многие инженеры все еще программируют на таком языке, как Fbrtran.

Это нормально, потому что доступны компиляторы Fbrtran, генерирующие IL и создающие управляемые сборки. То есть каждая группа разработчиков может применять язык, более естественный для группы и предметной области, которой она занимается.
Метаданные очень важны при таком разделении.

Чтобы лучше понять CLR, генерацию и применение метаданных, рекомендуется также ознакомиться с документацией по стандарту CLI Есmа.

В документе Еста-335 описан стандарт Ecma CLI, а в документе Еста-334 — язык С# (оба документа доступны по адресу www.ecma-international.org). Кроме того, в стандарте ISO/IEC23271 рассматривается инфраструктура CLI, а в ISO/IEC23270 — язык С# (стандарты ISO находятся на сайте www.iso.org). Однако стандарты Ecma обычно более актуальные, к тому же доступны для бесплатной загрузки.

———————-
Мы кратко рассматривалась компиляция, упаковка и выполнение кода С#.

Было показано, как JIT-компиляция может конкурировать с традиционно скомпилированными приложениями в плане производительности. Одним из требований для оптимизации JIT-компиляции является выразительный и расширяемый механизм типов, который может быть понятен компилятору. При упаковке IL в самодокументированные сборки среда CLR и компилятор JIT имеют полную информацию, которая нужна им для управления выполнением кода.

Сборку можно загружать явно по требованию, указывая либо строгое, либо частичное ее имя. Сборки позволяют запускать различные версии кода, избегая ситуации “ада DLLT” и также предоставляя базу для разработки и разделения компонентов между языками.

В следующих статьях я познакомлю вас с синтаксисом языка С#. Поскольку для раскрытия всех его деталей места не хватит, я рекомендую вам также обратиться к спецификации языка С#.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100