@test2235

Что такое Net Framework и язык C#?

Не могу понять для чего нужен Net Framework и язык C#. Понятно, что C# - это язык программирования. Как написано в википедии C# - это язык для NET Framework. Т.е. без NET Framework-а программа, написанная на C# не будет работать? А NET Framework - это среда выполнения, которая управляет приложением? Не пойму зачем это нужно, еще одна программа (программа, которая управляет программой)?
  • Вопрос задан
  • 1943 просмотра
Пригласить эксперта
Ответы на вопрос 3
@cicatrix
было бы большой ошибкой думать
Опускаясь до уровня "на пальцах":
Например, можно написать программу на ассемблере (поскольку он платформеннозависимый), ваша программа будет выполняться, например, только на процессорах архитектуры x86. При этом, вам придётся писать эту же программу для другой архитектуры.

Поднимемся выше. Напишем программу на C или С++. Она уже отчасти платформеннонезависима, так как при компиляции на разных архитектурах, та или иная реализация компилятора учитывает особенности платформы и генерирует совместимый машинный код. Но допустим, вам необходимо написать что-то сложнее hello world. Вы ищете подходящий функционал в стандартных библиотеках и, допустим, не находите. Зато вы находите подходящую библиотеку А, но вдруг выясняется, что она использует компоненты сторонней библиотеки Б, которая ...
Ну, в целом, цепочка зависимостей может быть весьма длинной. И вот, ваш проект, ради одной фичи обрастает кучей зависимостей. Более того, вы сталкиваетесь с проблемами лицензирования, так как программный код, который вы гуглите и скачиваете из интернетов, скорее всего распространяется как Open Source, а значит - вы не можете закрывать свой исходный код (всё немного сложнее, но если ваши намерения по распространению своего проекта выходят несколько дальше, чем лабораторная работа по информатике, эти проблемы могут возникнуть).
У вас может возникнуть желание написать свой "велосипед" под себя, но, тем самым, вы тратите время на создание некоего вспомогательного компонента, и вообще, ваша программа не про это.

Теперь перейдём к .Net Framework. Разработчики постарались для вас и написали несколько десятков (или сотен) тысяч классов практически подо все умозрительные задачи, которые могут вам понадобиться, то есть это "кубики лего", позволяющие вам БЫСТРО писать приложения, сосредоточившись на логике вашей программы.
Вам не надо реализовывать свой файловый ввод-вывод, работу с сетью, криптографию, коллекции, работу с базами данных и пр. Всё уже есть, всё пишется в 1-2 строки. Всё готово к употреблению.

Как же этим пользоваться? В объектами фреймворка можно работать на нескольких языках: C#, VB.Net, F# и что там ещё напридумывали, все они взаимодействуют с Common Language Runtime и имеют доступ ко всем классам фреймворка.
Ответ написан
Griboks
@Griboks Куратор тега C#
А зачем нужна операционная система? У нас же есть ассемблер, на котором можно спокойно писать быстрые программы.
Честно говоря, весь компьютер состоит из программ, которые работают в программах, которые выполняются а программах, в доме, который построил Джек.
А framework - это своего рода виртуальная машина, которая выполняет c# (и не только) код.
Ответ написан
yarosroman
@yarosroman Куратор тега C#
C# the best
C# это язык программирования. Net Famework включает в себя библиотеки и CLR - Common Language Runtime, общеязыковую среду исполнения( грубо говоря виртуальная машина). Все программы для .Net не компилируются в исполняемый код, а компилируются в промежуточный Common Intermediate Language(CIL), который в свою очередь и выполняется средой CLR. Кроме C# (и других # языков) подобное поведение реализовано в Java. Чем это хорошо, тем, что мы имеем полностью кроссплатформенное приложение, для его запуска нужна лишь среда исполнения реализованная под конкретную платформу. Кроме конкретно .Net есть еще среда Mono и .Net Core(обе работают и в линукс).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы