• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Что это такое? :)

  • Автор темы Jkar
  • Дата начала
Статус
Закрыто для дальнейших ответов.
J

Jkar

Расскажит мне, а что это вобще за .NET? Что такое C#? Похоже ли оно на C? Что хорошего в .NET? Что плохого? Зачем оно нужно?..
 
A

admin

Jkar
платформа такая, которую создала MS для облегчения жизни программистам.
как я понимаю суть её, так это просто полная интеграция проектов, написаных на разных языках, поддерживаемых в рамках .NET. Сам никогда не работал на ней и не знаю что и как, но суть похожа на Ms Office для приложений, но в сторону программирования.
 
D

Dr.Gigabit

2 Серёга

Гораздо шире на самом деле.
Если силы останутся, к вечеру(скорее к ночи:) напишу .NET Review
 
D

Dr.Gigabit

.NET Review Part 1

Сначала следует отметить, что сама по себе инициатива Microsoft .NET – попытка Microsoft отойти от традиционных способов разработки ПО, и привнести в область программной индустрии новые идеи(естественно, со своими продуктами, построенными на данной технологии). С ростом популярности Интернета, крупные корпорации, такие как IBM, Sun, а теперь и Microsoft, фактически признали, что будущее программной индустрии – распределенные приложения. Это подтверждает и значительно возросшая в последнее время популярность языка Java.

Естественно, Microsoft не могла оказаться на обочине прогресса, что в результате и вылилось в новую платформу разработки Microsoft .NET Framework.

Microsoft .NET Framework (далее, для краткости будем называть просто .NET, хотя, по большому счету, это не одно и то же, как было сказано выше) – платформа для разработки и исполнения приложений, основными составными частями которой являются общеязыковая среда исполнения (CLR) и библиотека классов (FCL). CLR служит средой для исполнения управляемых приложений. Любой код, написанный для работы под управлением CLR называется управляемым, в отличие от неуправляемого (машинного) кода, который исполняется без помощи CLR. При компиляции программы, предназначенной для CLR, она компилируется в так называемый промежуточный код. Теперь программа содержит инструкции на промежуточном языке(common intermediate language, CIL). Далее команды CIL компилируются в обычные ассемблерные команды по запросу JIT – компилятора. (JIT – Just-In-Time: программа компилируется в период исполнения. Причем части кода компилируется по мере необходимости. CLR берет часть кода и компилирует его в “родной” машинный язык ассемблера. Каждый метод компилируется один раз, при первом вызове и результат кэшируется в памяти).

Во время исполнения программы CLR следит за использованием памяти, периодически вызывая сборщик мусора, благодаря чему, в приложениях, написанных только на управляемом коде, не бывает утечек памяти).

To be continued…..
Сори, крыша едет уже в 4 часа утра. Допишу в другой раз… Пока – вопросы, комментарии?
 
D

Dr.Gigabit

В архиве небольшая диаграмма, из MSDN выдрал, может нагляднее будет.
 

Вложения

  • CLR.rar
    9,4 КБ · Просмотры: 315
D

Dr.Gigabit

Если кому еще интересно
.NET Review Part 2

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

Приложения в среде CLR могут быть написаны с использованием следующих языков программирования:
C#, C++, J#, VB, JScript, хотя существуют и компиляторы для других языков(слышал про Perl, но реального использования не видел)

"Родным" языком для .NET является C#. Есть мнения, что в будущем C# станет "основным" языком программирования для новой платформы. Пока Microsoft не дает поводов столь категорично так говорить, да и количество разработчиков на VB .NET достаточно велико.

Что касается сравнения C# и С++, то сравнивать C# с неуправляемым С++ немного некорректно, т.к. они призваны решать разные задачи.
С#, к примеру, вносит концепции ООП в Web, и позволяет решать многие нетривиальные задачи из области веб-программирования с меньшими усилиями. Работа с XML реализована на кардинально ином уровне. Все это и многое другое в итоге дает огромный выигрыш во времени разработки web-приложений.

Вот так в общих чертах мои соображения. Для более глубокого ознакомления
 
M

mind

Dr.Gigabit, прикольно!
Много нового... хе...
 
J

Jkar

Слушай.... А C# там синтаксис какой? Такой же как и в C?
 
J

Jkar

А вот ещё... Вы так абстрактно говорите _платформа_. Это что? Платформа это просто набор программ?
 
D

Dr.Gigabit

А вот ещё... Вы так абстрактно говорите _платформа_. Это что? Платформа это просто набор программ?
CLR - среда исполнения, что-то типа ядра. Вообще идеи .NET своими корнями уходят в другую технологию Microsoft - COM.
Если брать в целом .NET Framework - это платформа для разработки и исполнения приложений. По сути да, набор программ. Но основа всего CLR.

Слушай.... А C# там синтаксис какой? Такой же как и в C?
Да, такой же. Есть конечно новые конструкции, но основные остались те же.
 
J

Jkar

Остаёться только сказать спасибо Dr.Gigabit'у :)

2Dr.Gigabit: СПАСИБО ;)
 
G

Guest

.Net не только за MS....
Приятно, что есть и opensource-реализации этой платформы.

Mono is a comprehensive open source development platform based on the .NET framework that allows developers to build Linux and cross-platform applications with unprecedented productivity. Mono's .NET implementation is based on the ECMA standards for C# and the Common Language Infrastructure.
 
A

Anal Blast

Посоветуйте книги по С# для начинающих?
Не требующие знания С или С++.
 
D

Dr.Gigabit

Троелсен "C# и платформа .NET".

Есть еще "С# для профессионалов", несмотря на название, если есть желание разбираться, можно и начинающим читать. Хотя стиль достаточно тяжелый.

Вообщем-то это 2 книги, достойные внимания, имхо. Ну а потом - Рихтер:)
Хотя, честно говоря, сложно учить С# не зная концепций ООП.
 
G

Guest

а что скажете про j#. какое это имеет отношение к java?

я хочу изучить java. мне это пригодиться в .net?
 
D

Dr.Gigabit

<!--QuoteBegin-лаша+22:08:2005, 13:39 -->
<span class="vbquote">(лаша @ 22:08:2005, 13:39 )</span><!--QuoteEBegin-->а что скажете про j#. какое это имеет отношение к java?

я хочу изучить java. мне это пригодиться в .net?
[snapback]23850" rel="nofollow" target="_blank[/snapback]​
[/quote]

Если у вас есть желание заниматься Java-технологиями, так может ими стоит и заниматься :)

J# "официально" никакого отношения к Java не имеет, хотя этот язык и был реализован во многом для того, чтобы Java-разработчики быстрее переходили на .NET
Хотя, имхо, с серьезными скилами в Java EE перейти на C# и .NET-технологии не составит большого труда. Так что если у вас есть желание заниматься .NET'ом - я бы не рекомендовал j# как язык, который стоит изучать для этого. А знания Java либо C++, конечно, пригодятся. Хотя в некоторых моментах откровенно мешают, особенно на первых порах.
 
G

Guest

не подскажите русские ресурсы C#?
возможна установка msdn на свой комп?
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!