Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

.NET Framework

Автор Алексей Гринь, августа 20, 2009, 04:52

0 Пользователи и 1 гость просматривают эту тему.

Алексей Гринь

Жгут:



в то время как:



В представлении Майкрософт все эти ваши линуксы или никому не известны, или invalid. Забавно, что библиотека классов эта стандартизована Ecma. Какой-то платформенный шовинизм, не находите? :) Интересно, как себя ведёт моно, ведь у публичного PlatformID нету даже намёка на невиндовость :') (а у приватного OsName есть :D)
肏! Τίς πέπορδε;

Алексей Гринь

Ах, гугл говорит, в Mono добавлен кустарный PlatformID.Unix

Такие дела.
肏! Τίς πέπορδε;

RawonaM

Я тоже когда первый раз читал о .НЕТ все удивлялся... Да чтоб Мелкомягкие сделали что-то в сторону кроссплатформенности? Это какая-то фантастика, что-то тут нечисто, им это никаким образом не может быть выгодно.

Алексей Гринь

Цитата: RawonaM от августа 20, 2009, 09:49
Я тоже когда первый раз читал о .НЕТ все удивлялся... Да чтоб Мелкомягкие сделали что-то в сторону кроссплатформенности? Это какая-то фантастика, что-то тут нечисто, им это никаким образом не может быть выгодно.

Я так понимаю, идею о кроссплатформенности маркетологи придумали, когда уже фреймворк в целом был готов. Изначально не было этого в плане. Судя по архитектуре классов, первоначально фреймворк был задуман как кросс-языковая Visual-Basic-подобная платформа чисто под казуальные нужды Windows, как замена Visual Basic 6.

Тут как раз Sun засудила Microsoft за доработки в области их реализации Java, поэтому команда J++ соединилась с командой Visual Basic 6 (где-то на их сайте есть инфо, что первоначальный базис .NET'а был разработан бывшей командой Visual Basic 6), вылезли маркетологи с модной идеей кроссплатформенности, и так появился C# — язык с семантикой Visual Basic и с синтаксисом Java.

Ессно, что ничего своего придумать сначала они не могли, поэтому библиотека класса чуть более, чем наполовину является копией библиотеки классов Java: я портировал один сеть-ориентированный код с C# на Java меньше чем за полчаса, нужно было только C#-овские события развернуть в анонимные классы Java, переименовать какой-нибудь StringBuffer в StringBuilder и убрать обобщения, которых там ещё не было — абсолютно никаких изменений в логике — и вуаля.

Если оно всё не так, как я предполагаю, то мне их искренне жаль :)
肏! Τίς πέπορδε;

Алексей Гринь

Ну и ессно на чудеса кроссплатформенности также какбэ намекает расширение *.exe :)
肏! Τίς πέπορδε;

myst

Цитата: Алексей Гринь от августа 22, 2009, 09:09
Ну и ессно на чудеса кроссплатформенности также какбэ намекает расширение *.exe :)
Точнее формат PE. :)

Алексей Гринь

Цитата: myst от сентября  1, 2009, 18:43
Точнее формат PE. :)
Я в принципе не вкурил, нафиг они так сделали. Ведь там по сути, действительно, весь PE заполняется, нативная точка входа, как если бы это была нативная программа, все дела... Лишние байты. Лоадер Виндовс находит точку входа, исполняет её, там всякого рода инициализация-костыли типа динамического линкования с mscorlib.dll, который уже только после всех нужных махинаций-костылей после своего запуска читает *.exe, наверняка ещё раз проверяет все PE-прибамбасы, и только затем читает MSIL-образ.

Так сложно было сделать какой-нибудь обычный тип файлов *.net, который при установке .NET Framework в реестре помечался бы "открывать с помощью dotnet.exe", например (ну как в моне - mono myFirstBydloProgram.exe или в жабе java //myfirstbydloprogram.java).

Типа, чтобы пользователи не видели разницы? Типа *.exe — привычный формат приложений, никто не будет confused, типа, пользователю думать не надо о том, как это сделано — лоадер всё решит и продиспетчит. Но как-то вся эта идея ломается, когда такой обычный пользователь щёлкает по myFirstBydloProgram.exe, а ему пишут: «Не найден файл mscorlib.dll». В итоге юзер пойдёт в интернет и всё узнает о .NET. В любом случае. Поэтому не вижу особого смысла скрывать реализацию под одним и тем же расширением *.exe
肏! Τίς πέπορδε;

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр