Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ROZRAHA_eng.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
72.95 Кб
Скачать

Порівняння керованого і некерованого коду

Можливо, найбільш важливий аспект, який слід знати про мову С #, полягає в тому, що він породжує код, який може виконуватися тільки в рамках виконуючого середовища .NET (використовувати C# для побудови COM-сервера або некерованого додатка C / C++ не допускається) . Висловлюючись офіційно, для позначення коду, орієнтованого на виконуючу середу .NET, застосовується термін керований код. Двійковий модуль, який містить керований код, називається складанням (збірки більш докладно розглядаються далі в цьому розділі). На противагу цьому, код, який не може обслуговуватися безпосередньо виконуючим середовищем .NET, називається некерованим кодом.

Інші мови програмування, орієнтовані на .Net

Важливо пам'ятати, що C# - це не єдина мова, яку може використовуватися для побудови .NET-додатків. Середовище Visual Studio спочатку пропонує п'ять керованих мов, а саме - С #, Visual Basic, C++ / CLI, JavaScript і F #.

На замітку! F # - це мова .NET, заснована на синтаксисі функціональних мов. Хоча вона може застосовуватися як чиста функціональний мова, в ній також пропонується підтримка конструкцій об'єктно-орієнтованого програмування (ООП) і бібліотек базових класів .NET. Додаткові відомості про цю керовану мову доступні на її офіційній головній сторінці за адресою http://msdn.microsoft.com/fsharp.

На додаток до керованих мов, пропонованих Microsoft, існують .NET-компілятори, які призначені для мов Smalltalk, Ruby, Python, COBOL і Pascal (і це далеко не повний перелік). Хоча в цій книзі увагу сконцентровано на мові С #, ви можете порахувати небезінтересним наступний веб-сайт:

www.dotnetlanguages.net

Клацнувши на посиланні Resources (Ресурси) в самому верху домашньої сторінки цього сайту, можна отримати список всіх мов програмування .NET і відповідні посилання, призначені для завантаження різних компіляторів (рис. 1.2).

Навіть якщо ви цікавитеся в першу чергу побудовою програм .NET з використанням синтаксису С#, все одно рекомендується відвідати зазначений сайт, оскільки ви напевно вважатимете багато мов для .NET заслуговують додаткової уваги (наприклад, LISP.NET).

Життя в багатомовному оточенні

Як тільки розробники приходять до усвідомлення незалежної від мови природи .NET, у них виникає безліч питань. Найпоширеніше з них може бути сформульоване так: якщо всі мови .NET компілюються в керованому коді, чому існує не один, а безліч мов / компіляторів?

Відповісти на це питання можна по-різному. Програмісти бувають дуже вибагливі, коли справа стосується вибору мови програмування. Деякі вважають за краще мови з численними точками з комою і фігурними дужками, але з мінімальним набором ключових слів. Іншим подобаються мови, що пропонують більш читабельні синтаксичні конструкції (такі як в Visual Basic). Хтось не бажає відмовлятися від свого досвіду роботи на мейнфреймах і воліє перенести його на платформу .NET (вибираючи компілятор COBOL.NET).

А тепер дайте відповідь чесно: якби в Microsoft запропонували єдину "офіційну" мову .NET, наприклад, на базі сімейства BASIC, то чи всі програмісти були б раді такому вибору? Або якби "офіційна" мову .NET грунтувалася на синтаксисі Fortran, скільки людей у ​​світі просто б проігнорували платформу .NET? Оскільки виконуюча середу .NET демонструє меншу залежність від мови, використовуваного для побудови блоку керованого коду, програмісти .NET можуть, зберігати свої синтаксичні уподобання, обмінюватися скомпільованими збірками з колегами, іншими відділами та зовнішніми організаціями (і не звертати уваги на те, яка мова .NET в них застосовується).

Ще одна корисна перевага інтеграції різних мов .NET в одному уніфікованому програмному рішенні випливає з того простого факту, що кожна мова програмування має свої сильні і слабкі сторони. Наприклад, деякі мови програмування володіють чудовою вбудованою підтримкою для виконання складних математичних обчислень. В інших краще реалізовані фінансові або логічні обчислення, взаємодія з мейнфреймами і т.п. А коли переваги конкретної мови програмування об'єднуються з перевагами платформи .NET, виграють всі.

Звичайно, в реальності велика ймовірність того, що доведеться витрачати більшу частину часу на побудову програмного забезпечення за допомогою надавання переваги мови .NET. Проте, після освоєння синтаксису однієї з мов .NET вивчення синтаксису якоїсь іншої мови істотно спрощується. Вдобавок це досить вигідно, особливо тим, хто займається консультуванням з розробки програмного забезпечення. Наприклад, якщо віддається перевага мовою у вас є С #, то при попаданні в клієнтську середу, де все побудовано на Visual Basic, ви все одно зможете користуватися функціональністю .NET Framework і розуміти загальну структуру кодової бази з мінімальними зусиллями і занепокоєнням.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]