Скачиваний:
22
Добавлен:
26.03.2016
Размер:
20.22 Кб
Скачать

Операційні системи і системне програмування

Вступ

Пропонована читачеві книга з сучасної мови C# - результат спонтанного рішення автора, що довго займався мовою C/C++ та інтегрованими середовищами розробки, такими як Borland C++Builder і Visual C++. Але першої вже немає, а друга все ще дихає. Але з кожним разом - все рідше і рідше. Так, принаймні, мені здається. Тут я підвожу до думки, що не таке вже і спонтанне було моє рішення. Вся річ у тому, що перший дзвінок продзвенів, коли вийшло середовище Visual C++ 2008. Із здивуванням виявив, що з середовища розробки зник цілий розділ роботи з базами даних. Дещо там, звичайно, залишилося, але ось основного, на жаль, не стало. Скільки було питань до Microsoft з цього приводу в Інтернеті! Скільки обурень! Але фірма ухилялася від відповіді. Мовляв, нібито, так, того... Були натяки, що в наступній версії середовища все видужає. Ні. Не видужало ні в наступній(2010), ні в недавній(2012). Стало зрозуміло, що це вже політика фірми. Користувачів наполегливо відвертали від С++, розвиваючи С#. Але через те, що у світі вже багато чого зроблено на С++ і в найближче навіть десятиріччя-двадцятиріччя доведеться користуватися цією мовою хоч би для супроводу вже напрацьованого, фірма прозорливо поступає, не відмовляючись від випуску виробів для роботи в С++. Але в ньому вже стільки латок, латочок, стільки усього подібного, що іноді здається, що і самі розробники втратили контроль над мовою. Не даремно компанія, не кидаючи розробки по С++, почала розвивати більше "витончену" мову C#. Розробники врахували усі неприємності, через які самі проходили і змусили спотикатися і користувачів-програмістів. Я завжди дивувався, дивлячись на мову Java. Начебто не дуже помітна, не дуже розповсюджена, мало рекламована, але яка зручна! А фірма, яка створила Java врахувала неприємності, закладені в С++, і уникнула їх. А тепер настала черга розробників C#: вони не втратили хорошого із С++, взяли чудове з Java і отримали досконалий виріб – C#. У порівнянні із C++ він дійсно витончений. Це розумієш, коли берешся за його вивчення. Ті, хто не мучився із С++, стануть понуро вивчати C# і не помітять його привабливості, як не помітив спочатку її я. Лякають класи. У цій мові навіть звичайні, здавалося типи змінних, такі звичні як int, float, string, double, теж виявляються, класи! Але, слава богу, для цих класів введені ключові слова, які я тільки що написав, і тому, не знаючи класів можна спочатку працювати з такими типами як би по-старому, не лякаючись.

Матеріал книги побудований так, щоб не потрапляти відразу в невідоме нове, хоч би тим, хто раніше вивчав мови програмування. Але не завжди вдається це зробити. Тому на певних етапах вивчення доведеться дещо приймати просто на віру, а потім вже в наступному матеріалі бачити, звідки що бралося і чому.

У книзі багато прикладів, які потрібно не лише розбирати (хоча в них є коментарі), але і бажано самому їх записувати, а не скачувати відразу в додаток, якщо трапиться така нагода. Один читач моїх попередніх книг якось прислав мені лист, що, мовляв незручно з книги заводити собі приклади, складаючи з них своє застосування. Моторошно. Чи не можна, мовляв... Не можна. Я не прибічник. Коли ви вручну заносите текст в полі редактора, ви одночасно вивчаєте мову, самі того не підозрюючи. Пробуєте її на смак. Запам'ятовуєте її правила і тим самим уникаєте в майбутньому великого числа помилок при введенні тексту. Хоча сьогоднішні компілятори більшість помилок швидко відловлюють. Але ось якраз в цей-то момент і відбувається ваше близьке знайомство з мовою, тому що компілятор вам підказує, мовляв, так не можна, потрібно ось так. А якщо ви відлагоджений текст скопіюєте з книги і вставите його в поле редактора, то нічого цього не побачите і надалі виявитеся безпорадними при введенні власного тексту.

Чим ще цікавий C#? Користуючись його засобами, ви можете вирішувати проблеми створення графічних інтерфейсів, не прибігаючи безпосередньо до таких середовищ, як Windows Forms, ADO.NET та ін. Хоча це не раціонально, тому що, користуючись цими середовищами безпосередньо, ви користуєтесь тими сервісами, які в них вже закладені. У C# потрібно буде робити все вручну. Але зробивши хоч би один приклад для одного із середовищ, ви при вивченні окремо цих середовищ побачите і зрозумієте, чому там в них все так влаштовано. Такий приклад наведений в останній 18-ій главі книги для середовища Windows Forms.