on Type System (CTS, стандартна система типів). CTS повністю описує всі типи даних, підтримувані середовищем виконання, визначає, як одні типи даних можуть взаємодіяти з іншими і як вони будуть представлені у форматі метаданних.NET.
Важливо розуміти, що не у всіх мовах программірованія.NET обов'язково повинні підтримуватися всі типи даних, які визначені в CTS. Common Language Specification (CLS) - це набір правил, що визначають підмножину загальних типів даних, щодо яких гарантується, що вони безпечні при використанні у всіх язиках.NET.
2. Бібліотека базових классов.NET
Крім специфікацій CLR і CTS / CLS платформа.NET надає в розпорядження програміста також і бібліотеку базових класів, доступну з будь-якої мови программірованія.NET. Бібліотека базових класів не тільки ховає звичайні низькорівневі операції, такі як файловий ввід-висновок, обробка графіки та взаємодія з обладнанням комп'ютера, але і забезпечує підтримку великої кількості служб, що використовуються в сучасних додатках.
4.3 Мова програмування С #
Спеціально для платформи.NET Microsoft був розроблений новий мова програмування С # [12]. С # - це мова програмування, синтаксис якого дуже схожий на синтаксис Java (але не ідентичний йому). Наприклад, в С # (як в Java) визначення класу складається з одного файлу (*. Cs), на відміну від C + +, де визначення класу розбито на заголовок (*. H) і реалізацію (*. Срр). Однак називати С # клоном Java було б невірно. Як С #, так і Java засновані на синтаксичних конструкціях C + +. Якщо Java у багатьох відношеннях можна назвати очищеної версією C + +, то С # можна охарактеризувати як очищену версію Java.
Синтаксичні конструкції С # успадковані не тільки від C + +, але і від Visual Basic. Наприклад, в С #, як і в Visual Basic, використовуються властивості класів. Як C + +, С # дозволяє виробляти перевантаження операторів для створених типів (Java не підтримує ні ту, ні іншу можливість). С # - це фактично гібрид різних мов. При цьому С # синтаксично не менш (якщо не більш) чистий, ніж Java, так само простий, як Visual Basic, і володіє практично тією ж потужністю і гнучкістю, що й C + +.
Підводячи підсумки, ще раз виділимо основні особливості С #:
1) Відсутність вказівників. У програмах на С #, як правило, немає необхідності в роботі з ними (однак якщо вам це буде потрібно - можливість роботи з покажчиками в наявності).
) Управління пам'яттю проводиться автоматично.
3) В С # передбачені вбудовані синтаксичні конструкції для роботи з перерахуваннями, структурами і властивостями класів.
) У С # залишилася можливість перевантажувати оператори, успадковані від C + +. При цьому значна частина виникали при цьому складнощів ліквідована.
) Передбачена повна підтримка використання програмних інтерфейсів. Однак на відміну від класичного СОМ застосування інтерфейсів - це не єдиний спосіб роботи з типами, використовуючи різні двійкові модулі,. NET дозволяє передавати об'єкти (як посилання або як значення) через кордони програмних модулів.
) Також передбачена повна підтримка аспектно-орієнтованих програмних технологій (таких як атрибути). Це дозволяє привласнювати типам характеристики для...