Компиляция. .NET и что это?
Меня интересует вопрос по поводу компиляции. Прежде нужно сказать, что я начал изучать программирование для себя и самостоятельно. Поэтому, скорее всего, этот вопрос я не доглядел где-то, или не было того человек, который бы мне объяснил.
-----
Создавая любой проект в среде Visual Studio, к примеру в VB языке(хотя лучше сравнивать с C#), мы будем использовать библиотеки .NET. Но при этом он(проект), будь он консольный или с окном(интерфейсом), будет иметь то же, что и приложения не требующие их(библиотеки). Т.е. по сути код для машины будет одинаковый, ведь компилятор его и переводит для нее.
Прочитав небольшую информацию, понял, что .NET продвигается майкрософтом и является "стандартом". Вернее стал с развитием интернета. Т.е. надо понимать, что до какого-то времени обходились и без него. Какие же компиляторы были раньше, если язык по написанию не отличался.
Скажем если мне придется написать приложение для компа без .NET( какая-нибуть очень древняя система), что мне делать тогда?
И тем более при использовании окон в приложении да и интерфейса(кнопок, боксов и тд.) мне нужно подгружать winform? Но он есть только в .NET?
---
И для чего нужны библиотеки .NET? Они ведь содержат описание функций языка в котором мы пишем? Но, опять дополняя предыдущий вопрос, без них же обходились. И, на мой взгляд, логичнее было бы обновлять библиотеки уже заложенные в Винду(опять же если обходились до какого-то момента без .NET).
У меня в голове каша. Ну я думаю вы уже заметили :)
---
Вопросы просто для справки.
Спасибо, если уделили внимание.
Общие сведения о платформе .NET Framework
Существует огромное множество языков, позволяющих писать программы без .NET; более того, их гораздо больше языков, завязанных на .NET; гораздо - это на несколько порядков. Для многих из них реализованы GUI-библиотеки и фреймворки, некоторые из которых могут работать на различных вычислительных платформах.
Существует огромное множество языков, позволяющих писать программы без .NET; более того, их гораздо больше языков, завязанных на .NET; гораздо - это на несколько порядков. Для многих из них реализованы GUI-библиотеки и фреймворки, некоторые из которых могут работать на различных вычислительных платформах.
Еще каша видимо из-за того, что вы пользуетесь интегрированными средствами разработки типа VisualStudio. Они обычно "all-inclusive" - язык + библиотеки + компилятор + прочие средства. И все уже настроено, только пиши и жми билд :) Надо четко представлять, что язык, компилятор, библиотеки - вещи разные.
Винда не содержит никаких библиотек. Винда написана на Си, но это не важно, так как установленная ОС - это исполняемый машинный код. К функциям ОС имеют доступ языки программирования (просто доступ имеет различную семантику в различных языках) и этих функций конечное число. Соответственно, библиотеки содержат комбинацию некоторых функций предоставляемых ОС.
Что касается необходимости подключать библиотеки - все определяется компилятором. Если компилирует без них - то не надо подключать, иначе - надо. Также, разработчики NET предоставляют новые компиляторы, которые точно переварят новые библиотеки. Соответственно тот компилятор старше, который не сможет скомпилировать новую библиотеку или код.
байт-кода. И вообще, бинарник бинарнику - рознь. Пока забейте, всему свое время.
С .Net еще связана тема