Мы решили создать приложение, используя .NET Framework. Первое, что нам нужно сделать – это выбрать язык программирования.
Меню: C#, C++, VisualBasic, F#, Iron Python, Iron Ruby и другие.
После выбора языка можно написать простую программку, которая выводит в консоль строку “Hello world”. Но что же на самом деле произошло?
Мы сами выбрали язык программирования, который на нравится, и мы написали программу, которая успешно выполнилась. И все это произошло в рамках платформы .NET. Что же предоставляет нам возможность выбора и почему код, например, созданный на С++ будет выполнен платформой .NET?
Ответ: CLR (Common Language Runtime) – общеязыковая среда выполнения.
CLR — это место, в .NET Framework, где выполняется, сгенерированный компилятором, CIL код. Задачи CLR: управление памятью, загрузка сборок, безопасность, обработка исключений, синхронизация и т.д.
Выглядит немного запутано, но давайте прольем свет на детали.
Когда мы пишем на С++, компилятор генерирует специальный CIL код, который понимает и выполняет CLR. Так как CLR не полиглот, то для каждого языка, поддерживаемого в .NET, есть свой компилятор, который занимается проверкой написанного и генерированием CIL кода. Именно эта особенность и дает нам возможность писать на разных языках под одну и ту же платформу.
Что такое CIL код? CIL (Common Intermediate Language) – промежуточный язык, для платформы .NET. Но между чем и чем он промежуточный?
IL является промежуточным между языком высокого уровня (C++) и машинными командами. CLR во время выполнения IL кода генерирует машинные команды, которые выполняются процессором.
Но почему мы не можем выбрать один язык и разрабатывать только на нем?
С одной стороны, у нас есть, «неуправляемый код» C++, который дает доступ к системе на низком уровне (распоряжение памятью, создание программных потоков и т.д.) С другой стороны, Visual Basic позволяет очень быстро строить пользовательские интерфейсы и легко управлять COM-объектами и базами данных.
В зависимости от поставленной задачи мы можем выбирать более подходящий инструмент, для достижения поставленных целей.
Выводы:
• .NET Framework предоставляет возможность выбора разных языков;
• CLR – ключевой механизм, в платформе .NET;
• CIL – язык, который генерируют все компиляторы всех языков .NET для CLR;
• Нет универсального инструмента для решения любой задачи.
Меню: C#, C++, VisualBasic, F#, Iron Python, Iron Ruby и другие.
После выбора языка можно написать простую программку, которая выводит в консоль строку “Hello world”. Но что же на самом деле произошло?
Мы сами выбрали язык программирования, который на нравится, и мы написали программу, которая успешно выполнилась. И все это произошло в рамках платформы .NET. Что же предоставляет нам возможность выбора и почему код, например, созданный на С++ будет выполнен платформой .NET?
Ответ: CLR (Common Language Runtime) – общеязыковая среда выполнения.
CLR — это место, в .NET Framework, где выполняется, сгенерированный компилятором, CIL код. Задачи CLR: управление памятью, загрузка сборок, безопасность, обработка исключений, синхронизация и т.д.
Выглядит немного запутано, но давайте прольем свет на детали.
Когда мы пишем на С++, компилятор генерирует специальный CIL код, который понимает и выполняет CLR. Так как CLR не полиглот, то для каждого языка, поддерживаемого в .NET, есть свой компилятор, который занимается проверкой написанного и генерированием CIL кода. Именно эта особенность и дает нам возможность писать на разных языках под одну и ту же платформу.
Что такое CIL код? CIL (Common Intermediate Language) – промежуточный язык, для платформы .NET. Но между чем и чем он промежуточный?
IL является промежуточным между языком высокого уровня (C++) и машинными командами. CLR во время выполнения IL кода генерирует машинные команды, которые выполняются процессором.
Но почему мы не можем выбрать один язык и разрабатывать только на нем?
С одной стороны, у нас есть, «неуправляемый код» C++, который дает доступ к системе на низком уровне (распоряжение памятью, создание программных потоков и т.д.) С другой стороны, Visual Basic позволяет очень быстро строить пользовательские интерфейсы и легко управлять COM-объектами и базами данных.
В зависимости от поставленной задачи мы можем выбирать более подходящий инструмент, для достижения поставленных целей.
Выводы:
• .NET Framework предоставляет возможность выбора разных языков;
• CLR – ключевой механизм, в платформе .NET;
• CIL – язык, который генерируют все компиляторы всех языков .NET для CLR;
• Нет универсального инструмента для решения любой задачи.