Борисюк О.Б.

Житомирський національний агроекологічний університет

Переваги і недоліки мови програмування С #

Сучасні технології програмування переживають період бурхливого розвитку. Причинами цього явища є зростання можливосте комп’ютерної техніки, її здешевлення, бурхливий розвиток всесвітньої мережі Internet, виникнення все нових і нових сфер застосування комп’ютерів і потреба у різноманітному програмному забезпеченні [5].

Сучасне програмне забезпечення стає щораз складнішим. Зручний у використанні інтерфейс, розвинені можливості, керованість програми подіями, нові нетрадиційні сфери застосування – все це зумовлює ускладнення програмного забезпечення. Сьогодні, щоб побудувати сучасну програму, не достатньо просто об’єднати в послідовність певні машинні інструкції, оператори мови високого рівня чи навіть набори процедур та модулів. Головним стало питання розробки виразної структури програми, придатної до легкої модифікації, вільної від помилок та стійкої до змін [1].  

C# це об'єктно-орієнтована мова програмування з безпечною системою типізації для платформи .NET[5]. Розроблена Андерсом Гейлсбергом, Скотом Вілтамутом та Пітером Гольде під егідою Microsoft. Синтаксис C# близький до С++ і Java. Мова має строгу статичну типізацію, підтримує поліморфізм, перевантаження операторів, вказівники на функції-члени класів, атрибути, події, властивості, винятки, коментарі у форматі XML. Перейнявши багато що від своїх попередників – мов С++, Delphi, Модула і Smalltalk – С#, спираючись на практику їхнього використання, виключає деякі моделі, що зарекомендували себе як проблематичні при розробці програмних систем: так, C# не підтримує множинне спадкування класів (на відміну від C++) або виведення типів (на відміну Haskell) [2].

Як відзначав сам Андреас Хейлсберг, C# створювалася як мова компонентного програмування, і в цьому одне з головних переваг мови, спрямоване на можливість повторного використання створених компонентів. З інших об'єктивних факторів відзначимо наступні: C# створювався паралельно з каркасом Framework Net і повною мірою враховує всі його можливості - як FCL, так й CLR; C# є повністю об'єктно-орієнтованою мовою, де навіть типи, вбудовані в мову, представлені класами; C# є потужною об'єктною мовою з можливостями спадкування й універсалізації; C# є спадкоємцем мов C/C++, зберігаючи кращі риси цих популярних мов програмування; завдяки каркасу Framework .Net, що стали надбудовою над операційною системою, програмісти C# одержують ті ж переваги роботи з віртуальною машиною, що й програмісти Java [3]. Ефективність коду навіть підвищується, оскільки виконавче середовище CLR являє собою компілятор проміжної мови, у той час як віртуальна Java-машина є інтерпретатором байта-коду; потужна бібліотека каркасів підтримує зручність побудови різних типів додатків на C#, дозволяючи легко будувати Web-служби, інші види компонентів, досить просто зберігати й одержувати інформацію з бази даних й інших сховищ даних; реалізація, що сполучає побудову надійного й ефективного коду, є немаловажним чинником, що сприяє успіху C# [4].

Разом з тим C# передусім розроблялась як мова програмування прикладного рівня для CLR і тому вона залежить, перш за все, від можливостей самої CLR. Це стосується, перш за все, системи типів C#. Присутність або відсутність тих або інших виразних особливостей мови диктується тим, чи може конкретна мовна особливість бути трансльована у відповідні конструкції CLR. Так, з розвитком CLR від версії 1.1 до 2.0 значно збагатився і сам C#; подібної взаємодії слід чекати і надалі. Проте ця закономірність була порушена з виходом C# 3.0, що є розширеннями мови, що не спираються на розширення платформи .NET. CLR надає C#, як і всім іншим .NET-орієнтованим мовам, багато можливостей, яких позбавлені «класичні» мови програмування. Наприклад, збірка сміття не реалізована в самому C#, а проводиться CLR для програм, написаних на C# точно так, як і це робиться для програм на VB.NET, J# тощо [1].

Висновки. Отже, мова програмування С#, у якій поєднуються потужність і гнучкість універсальних мов програмування з високою ефективністю виконавчого коду й можливістю безпосереднього доступу до апаратних ресурсів комп’ютера – одна з найкращих мов програмування. Тому глибоке знання й практичне оволодіння інструментальними засобами мови С# є обов’язковим для фахівців із інформаційних технологій, систем автоматизованого керування й проектування, комп’ютерної інженерії, а також для всіх, хто бажає опанувати програмування.

Список використаних джерел

1.       Костриба О.В. Основи програмування. Частина 1. Visual C# Express Edition / О.В. Костриба. – Білогір’я, 2008. – 74 с.

2.       Лабор В. В. Си Шарп: Создание приложений для Windows/В. В. Лабор.— Мн.: Харвест, 2003. - 384 с.

3.       Рихтер Дж. CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке С#. Мастер-класс. / Пер. с англ. — М. : Издательство «Русская Редакция» ; СПб. : Питер , 2007. — 656 стр. : ил.

4.       Троелсен. Э. С# и платформа .NET 3.0. Библиотека программиста. — СПб.: Питер, 2008.

5.       Фленов М.Е. Библия С# / М.Е Фленов. – СПб.: БХВ-Петербург, 2009. – 560 с.