середу, 26 грудня 2007 р.

Частина II – Навчання спілкуватися

Основною проблемою, з якою ми стикаємось, коли пишемо комп’ютерні програми є той факт, що ми та комп’ютер не народжені одними батьками. Можливо якщо б ми були, ми б надбали подібне розуміння світу навколо нас та також думали однією мовою.
Що має зробити це дійсно простим, це розмовляти один до одного з розумінням. Ми можемо просто написати "комп’ютер, будь ласка, намалюй картинку з кошенятком" та отримати це.
"Так навчіть комп’ютери розуміти нас" скажеш ти. Але комп’ютери, будучі сконструйовані дуже відмінно до людського мозку, мають дійсно інший шлях бачення речей – та навчити їх думати як ми думаємо нелегко.
Рішенням є знайти деяку середню землю:
• загальний "погляд на світ" та
• загальну "мову"
що й люди, й комп’ютери можуть зрозуміти.
Ця частина книги є цілком про навчання спілкуванню з комп’ютером. Ти маєш закрутити власний розум трохи щоб побачити речі з комп’ютерної точки зору. Це є вправою надати-та-узяти – комп’ютер думатиме цілою низкою речей (подібно деяким словам) з нашого світу, але ти маєш вивчити деякі речі з його світу також. Спробуй залізти всередину голови комп’ютера та уяви як по-людськи пояснити, що він хоче.
[4]

понеділок, 24 грудня 2007 р.

Що ж далі?

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

Про книгу
Найновіша мова програмування компанії Microsoft, C#, (промовляється “сі-шарп ”) є як потужною так і простою у використанні. Вона надає a чудову можливість для нового покоління розробників почати з мовою, яка високо шанується у сучасному робочому середовищі.
Цей текст є введенням у об’єктно-орієнтоване програмування для молодих розробників (основний цільовий вік є 12-16) у полегшеній формі, дозволяючи їм розпочати з реальними програмами у середовищі Windows.
Про автора
Мартін Дрейєр є колишнім вчителем середньої школи, котрий зараз очолює команду розробників у Південній Африці.
Його формальною кваліфікацією є вищий диплом у освіті: фізичні науки та ступінь бакалавра наук: комп’ютерні науки та інформаційні системи.
[4]

пʼятницю, 21 грудня 2007 р.

Стандарти форматування у цій книзі

Щоб полегшити наслідування коду прикладів у книзі, ми будемо загалом дотримуватися звичаїв:
Розглянемо наступний фрагмент коду як приклад:

 // Головний метод

static void Main()
{
Application.Run( new MyButtonClass() );
}

// Метод – оброблювач події

void MyButtonClickEventHandler( object sender, EventArgs e )
{
mrButton.Text = "Ти клацнув мене!";
}
• Приклади коду написані з використанням шрифту, трохи відмінного від іншого тексту (Courier New).
• Будь-які слова або символи, які ми “обираємо собі” написані курсивом. Наведений приклад включає “MyButtonClass” та “mrButton”.
• Будь-які слова або символи, що є частиною мови C# або вбудовані у платформу .NET, такі як “static void Main()” або “.Text”, ми пишемо звичайним стилем.
Жирний текст просто вказує, про щось, на що ми хочемо звернути твою увагу.
• Два косі риски, нахилені уперед, //, вказують на коментарі щоб пояснити код (насправді це є можливість мови C#). Будь-що у рядку поза ними ігнорується комп’ютером. Наприклад, у вищенаведеному це є
“// Головний метод ”.
Частина II книги містить в основному загальні концепції та ми часто зводимо ключові концепції тут. Ці зведення називаються “Будівельні блоки”. Тут є частковий приклад, який показує, як представляється будівельний блок.
Будівельний блок : Класи
Усі C# програми будуються всередині класів. Основна структура класу набирається для комп’ютеру наступним чином:
class Animal
{

}
[4]

середу, 19 грудня 2007 р.

Написання нової програми з використанням Visual C# Express

• Щоб запустити Visual C# Express, натисни Пуск -> Усі програми-> Microsoft Visual C# 2005 Express Edition
• Щоб розпочати новий проект, просто оберіть File -> New Project та потім оберіть тип проекту. Ми будимо починати з деякого додатку командного рядка (Console applications) та потім переходити до додатку Віндовз (Windows applications).
• Наприклад, спробуй створити новий додаток командного рядка (Console Application) та натисни OK. Коли з’явиться вікно кодування для Program.cs, видали увесь код, який вставлено автоматично та набери просту програму, подібну цій. Ти можеш скопіювати та вставити його, якщо ти почуваєш себе ледачим. Або це швидко?!

using System;
class PleaseSayYo
{
static void Main()
{
Console.WriteLine("Yo!");
Console.ReadLine();
}
}
Переконайся, що ти набрав це У ТОЧНОСТІ як написано (крім того, що відформатовано як курсив, може бути змінено).
• Потім натисни на кнопку Запустити або грати (або натисніть F5)
• Якщо програму запущено вдало, це з’явиться через декілька секунд у вікні над вікном C# Express.
Після цього ти маєш зупинити програму. Звичайно ти будеш робити це натисканням X у правому верхньому куті щоб закрити вікно.
• Якщо є якісь негаразди у коді програми, тебе буде попереджено про цій факт. Наприклад, ти помітив, що у мові програмування C#, ти маєш закінчувати кожне речення або твердження крапкою з комою. Якщо ти спробуєш видалити останню крапку з комою ";" та потім натиснеш кнопку запуску, ти побачиш наступне повідомлення про помилку: «Є помилки побудови. Чи бажаєш ти завершити та запустити останню вдалу побудову?».
У більшості випадків ти маєш натиснути "No", та будуть показані деякі подробиці у вікні списку помилок ("Error List" window), включаючи помітку, на котрому номеру рядку було знайдено помилку. Коли ти потім двічі клацнеш на описі цієї помилки, ти візьмеш рядок, де існує проблема, так що ти можеш спробувати виправити її.
Виконання прикладів програм книги
Деякі з прикладів програм цієї книги потребують супроводжуючих файлів. Ці програми не будуть виконані правильно, якщо ти просто вставиш код як вище.
Так що як тільки ти скопіюєш файли прикладів до деякої папки на твоєму комп’ютері, ти зможеш запустити їх так:
• У Visual C# Express, обери File -> Open Project
• Оглянь папку, де ти зберіг свій файл прикладу, та обери бажаний тобі проект, котрий буде завжди мати розширення .csproj (c# project).
• Клацни зелену кнопку Run.
[4]

понеділок, 17 грудня 2007 р.

Програми, які тобі потрібні

Щоб розробляти C# програми, тобі потрібно:
1. Платформа The Microsoft .NET Framework 2.0, котра є доступною, вільною, за адресою
http://msdn.microsoft.com/netframework/downloads/updates/.
2. Оточення розробки .NET. Ми радимо Microsoft Visual C# 2005 Express Edition, котре є доступним вільно від Майкрософт за адресою http://msdn.microsoft.com/vstudio/express/visualcsharp/ . Установчий пакет Visual C# 2005 Express включає платформу дотНет (.NET Framework), так що ти можеш не хвилюватися про встановлення одиниці №1 вище окремо.
3. Нарешті, тобі потрібно скопіювати файли прикладів з книги на диск твого комп’ютера. Розпакуй .zip архів example.zip до будь-якої папки, що ти обереш. Пам’ятай лише, яке розміщення ти обрав, бо в тебе буде запитано відкрити цей файл звідси пізніше.

Більше про Microsoft Visual C# 2005 Express Edition
Можливо створювати C# програми використовуючи лише простий текстовий редактор (на подобі Notepad) та що-небудь під назвою"C# компілятор", включений у .NET Framework. Хоча, щоб зробити речі трохи легшими, та щоб мати впевненість, що ти будеш триматися далі після прочитання цієї книги, ми радимо тобі використовувати середовище розробки, подібне Visual C# Express. Це є полегшене середовище для розробки Windows-додатків та консольних (командного рядка) додатків, з використанням C#.
Важливо, щоб ти розумів, що ця книга не про те як тобі навчитися програмному виробу the Visual C# Express Edition – скоріше вона вчить тебе мові C#. Visual C# Express також має багато привабливих можливостей, таких як написання C#-коду коду для тебе, коли ти перетягуєш кнопку або інший контрол на сторінку. Це круто та ти запрошений це використовувати – але цю книгу націлено навчити тебе C# "знизу вверх". Ми будемо із задоволенням вчити тебе писати C# код руками спочатку – так щоб ти дійсно зрозумів, що відбувається.
Якщо ти хочеш вивчити більше про середовище розробки Visual C# Express, йди на веб-сайт за адресою http://msdn.microsoft.com/vstudio/express/visualcsharp/.
[4]

середу, 12 грудня 2007 р.

Частина І – розпочнемо

Вступ

Чи можна нам веселитися тут?
Я підозрюю, що знаю, про що ви думаєте … “Я хочу написати програму і хочу зробити це невідкладно! Кодування кльове заняття; я не хочу читати половину книги поки я зможу написати мою першу програму. Карочє, це речення вже задовге – я хочу діяти!"
Стопудово, я все ще зустрічаю програміста, хто може встояти перед стрибком – врешті-решт, якщо ти придбав новий байк, чи присядеш спершу та почитаєш книгу? Скоріше за все ні – ти стрибнеш на нього, візьмеш його у оберт, впадеш на своє обличчя та лише потім дізнаєшся, що гальма на цій моделі знаходяться супротив звичайних домовленостей.
Так що давайте складемо угоду. Давай стрибнемо на протязі цієї першої глави. Як тільки ти встановиш програмне забезпечення, ти зможеш запускати деякі приклади програм та, якщо ти почуваєш себе хоробрим, можливо навіть спробувати модифікувати їх.
Але код буде виглядати дивно та нема бажання зробити його більш осмисленим – ти будеш скакати всліпу – та коли ти зробиш маленьку помилку, ти будеш неосвіченим щоб дізнатися що саме неправильне та як подолати це. Він просто не схоче працювати і ти не дізнаєшся чому. Так що тоді ти будеш знати, що це час починати вивчати теорію як профі. Не розчаровуйся, коли щось не працює, та підіймайся. Коли цей час прийде, читай книжку далі; добре?
Дійсно важлива частина
У програмуванні, як у будь-яких інших професіях, ті люди отримують найбільше, яким до вподоби те, що вони роблять. Якщо ти насолоджуєшся коли програмуєш, тобі буде важко утримати себе від вивчення нових речей. Тобі треба знати, що буде направляти тебе уперед та вивчати далі буде лише те, що відбудеться впродовж шляху.
Так що найголовніше, розважайся коли будеш засвоювати світ C#-програмування!
[4]

понеділок, 10 грудня 2007 р.

1.1 Структура складних систем

Як ми можемо змінити цю гнітючу картину? Через те, що проблеми, які лежать в її основі, зароджувались з внутрішньої складності програмного забезпечення, нашим вибором є спочатку вивчити як складні системи організовані в інших дисциплінах. Дійсно, коли ми відкриємо наші очі на світ навколо нас, ми будемо спостерігати успішні системи значущої складності. Деякі з цих систем працюють на людство, наприклад, космічний шатл, тунель між Англією і Францією, великі бізнесові організації. Багато навіть складніших систем присутні у природі, наприклад, система кровообігу людини та структура рослини гострого перцю.

Структура персонального комп’ютера

Персональний комп’ютер є пристроєм середньої складності. Більшість з них складається з однакових основних елементів: центральний процесор (ЦП), монітор, клавіатура та деякі види пристроїв вторинного зберігання, звичайно або CD, або DVD зчитувач та жорсткий диск. Ми можемо взяти будь-яку з цих частин та далі розбирати її. Наприклад, ЦП типово містить в собі основну пам’ять, арифметико-логічний пристрій (АЛП), та шину, до якої приєднуються периферійні пристрої. Кожна з цих частин може бути у власну чергу розібраною, АЛП може бути розділений на регістри та логіку довільного управління, котрі у власну чергу побудовані з навіть простіших елементів, таких як вентилі ТА-НІ, інвертори і тому подібне.
Тут ми бачимо ієрархічну природу складних систем. Персональний комп’ютер функціонує належним чином лише завдяки скооперованій діяльності кожної з основних частин. Разом, ці окремі частини логічно формують ціле. Дійсно, ми можемо міркувати про те, як комп’ютер працює лише тому, що ми можемо розділити його на частини, які ми можемо вивчати окремо. Тому можемо вивчати дію монітора незалежно від дії жорсткого диска. Подібно, ми можемо вивчати АЛП без уваги на підсистему основної пам’яті.
Складні системи не лише ієрархічні, але рівні цієї ієрархії представляють різні рівні абстракції, кожна побудована на іншій, та кожна зрозуміла сама собою. На кожному рівні абстракції ми знаходимо набір пристроїв, які співпрацюють задля надання послуг вищім рівням. Ми обираємо наданий рівень абстракції для задоволення наших часткових потреб. Наприклад, якщо ми спробуємо відстежити проблему розділення часу доступу у основній пам’яті, ми маємо належним чином розглянути вентильний рівень архітектури комп’ютера, але цей рівень буде непідходящим, якщо ми будемо намагатися знайти джерело проблеми у додатку електронних таблиць.
[1]

неділю, 9 грудня 2007 р.

Глава 1 Складність

Фізіолог, інженер-будівельник та комп’ютерний науковець сперечалися про те, яка була найдавніша професія у світі. Фізіолог зауважив, «Добре, у Біблії сказано, що Бог створив Єву з ребра, узятого в Адама. Це ясно вимагає хірургії, та таким чином я можу правдиво заявити, що моя професія є найдавнішою у світі.» Інженер перервав та сказав, «Але навіть раніше у книзі Буття встановлено, що Бог створив порядок на небі та землі з хаосу. Це було першим і звісно найефектнішим видовищем застосування інженерії. Таким чином, шановний доктор, ви помиляєтесь, моя професія є найдавнішою у світі.» Комп’ютерний науковець відкинувся у своєму кріслі, посміхнувся, та сказав упевнено, «Ах, але хто, як ви думаєте, створив хаос?»
«Складніша система більш відкрита до повної руйнації». Рідко має будівельник думати про додавання нового поверху до існуючої стоповерхової будівлі. Робити це може бути дуже коштовно та поза сумнівом помилково. Дивно, користувачі програмних систем рідко думають двічі перед запитанням змін подібного роду. Крім того, вони сперечаються, що це є лише проста речовина програмування.
Наша помилка до опанування складності програмного забезпечення призводить до проектів, що запізнюються, виходять за кошторис та недостатні у їх встановлених вимогах. Ми часто називаємо ці умови кризою програмного забезпечення, але відверто, хвороба, що триває так довго має бути визнаною нормальною. Сумно, ця криза переходить у витрату людських ресурсів – найдорогоціннішого виробу – а також великих втрат можливостей. Недостатньо просто зібрати хороших розробників щоб створити нове програмне забезпечення, якого потребують користувачі. Далі-більше, істотна кількість виробничого персоналу у довільно заданій організації мусить часто бути присвячена підтримці або збереженню застарілого програмного забезпечення. Через прямий або опосередкований внесок програмного забезпечення у економічну основу більшості індустріалізованих країн, та розглядаючи шляхи, котрими програмне забезпечення може збільшувати можливості особистостей, є неприпустимим дозволяти цій ситуації тривати.
[1]
Оригінал можна узяти тут.

Intro

Тут будуть публікуватися переклади літератури зі списку.
Мітки означатимуть:
n - номер джерела у списку
n-m - номер джерела у списку, номер глави