Про комп'ютерних професій. Композитор КОМПЬЮТЕРНОГО СВІТУ

За словами педагогів, в кожному шкільному випуску є хлопці, які мріють придбати професію, пов'язану з комп'ютерами. Вони надходять в інститути та університети на факультети, які називаються по-різному: обчислювальної математики, кібернетики, прикладної математики, інформатики. Чим конкретно вони будуть займатися, закінчивши вуз? Відповідь на це питання часто не знають не тільки батьки та вчителі, а й самі хлопці, у яких бажання "бути з комп'ютером» не обтяжене чітким уявленням про спеціальності. Опублікована нижче стаття - спроба цю прогалину заповнити, розповісти про спеціальності, пов'язаних з математичним і програмним забезпеченням обчислювальних машин і систем. цьому номері розділ "Людина і комп'ютер" веде член-кореспондент РАН, В. Іванніков директор Інституту системного програмування.

«Дерево» комп'ютерних спеціальностей.

Другий навчальний корпус МГУ, де знаходиться факультет обчислювальної математики і кібернетики (ВМиК), - провідний в підготовці фахівців комп'ютерних спеціальностей.

Заняття на факультеті ВМиК МГУ. Факультет створений в 1970 році з ініціативи видатного математика А. Н. Тихонова.

<

>

Можна ризикнути і порівняти комп'ютер з яким-небудь музичним інструментом, піаніно, наприклад. Перш ніж ви доторкнетеся до клавіш, ваш інструмент повинні були побудувати майстра, а композитори написати музику зрозумілою для всіх мовою - нотними знаками. Те ж саме і з комп'ютерами: є люди, які створюють апаратуру, і ті, хто пише музику - комп'ютерні програми. Апаратуру прийнято називати "хард" (від англійського hard - твердий, жорсткий або ще простіше - "залізо"), а програмне забезпечення - "софт" (від англійського soft - м'який). Творці "софта" якраз і є "композитори" комп'ютерного світу. І так само, як в музиці, тут є кілька спеціалізацій, про які нам належить поговорити нижче. А поки трохи історії.

Як це було раніше

Електронні обчислювальні машини з'явилися в середині 40-х років нашого століття. Першою в світі вважається ЕНІАК, створена в 1946 році в США. У Радянському Союзі перша машина почала роботу в 1951 році, називалася вона МЕСМ (Мала Рахункова Електронна Машина). Честь її створення належить групі С. А. Лебедєва, згодом знаменитого академіка, якого називають батьком вітчизняної обчислювальної техніки.

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

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

Трансляторщікі - фахівці з систем програмування

Сьогодні написанням програм для комп'ютерів займаються представники найрізноманітніших професій, студенти і навіть школярі. Це стало можливим завдяки появі спеціальних мов, на яких ми даємо команди комп'ютера. Створюють машинні мови представники нової професії - фахівці з систем програмування, або, як їх ще називають, трансляторщікі.

Спрощено кажучи, існує два типи комп'ютерних мов: машинно-залежні і машинно-незалежні. Перші (асемблери, або мови автокодом) служать для спілкування з машиною на її ж мовою. Асемблер і до теперішнього часу користуються висококва ліфікованих фахівці.

Родоначальником машинно-незалежних мов програмування вважається Фортран. Ця назва - абревіатура двох англійських слів FORmula TRANslation (транслятор формул). Він наближений до загальноприйнятої математичної записи.

Потім з'явилися інші мови (Бейсік, Пролог, сімейство Сі). Саме освоївши ці машинно-незалежні мови, філолог або бухгалтер може написати конкретну прикладну програму. Але щоб машина могла з нею працювати, потрібен транслятор - програма, яка переводить написане на мову комп'ютера. Створення комп'ютерної мови і трансляторів вимагає високої кваліфікації фахівців. Крім того, в цій сфері виникає багато проблем, які потребують теоретичного дозволу.

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

В середині 80-х років почався масовий випуск персональних комп'ютерів. Спочатку випускалося кілька сотень тисяч в рік, потім кілька мільйонів, а в даний час - близько тридцяти мільйонів комп'ютерів щорічно.

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

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

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

Операціонщікі - розробники операційних систем

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

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

З появою мультипрограммирования (одночасного вирішення на комп'ютері кількох завдань, які перебувають на різних стадіях виконання) функції операційних систем особливо різко ускладнилися і виникло кілька складних проблем.

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

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

Мережевики - розробники програм мережевої взаємодії

Об'єднання обчислювальних машин, створення локальних і глобальних мереж потребова ло від операційних систем виконання нових функцій. Порівняно недавно з'явилася нова спеціальність програмістів-ставків.

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

В даний час глобальні комп'ютерні мережі, найвідоміша з яких Інтернет, здатні передавати своїм абонентам не тільки текстову інформацію, але і аудіовізуальну. Їх власність отримала назву "мультимедіа". Розробка програм, що управляють нею, досить складна. Справа в тому, що передача кодів зображень і звуків вимагає високої швидкості і, взагалі кажучи, веде до великому завантаженні ліній зв'язку. Тому необхідні програми, які вміють "стискати" текстову і аудіовізуальну інформацію на вході і розшифровувати її на виході. Крім того, на всіх рівнях роботи мережі передбачені способи контролю правильності передачі, способи захисту інформації від випадкових і навмисних спотворень. Так з'явилася необхідність у фахівцях із захисту інформації від несанкціонованого доступу. У цій області, тісно пов'язаної з теорією кодування і шифрувального справи, існують свої підходи, своя методика і свої технічні прийоми.

Базовікі - фахівці по базах даних

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

Перш в комп'ютерних базах даних містилося в основному буквено-цифрова інформація. В даний час в закодованому вигляді присутня аудіовізуальна й інша за своїм змістом інформація, наприклад формули хімічних сполук, таблиці інтегралів, відомості про фізичні процеси, програмні продукти і т. Д.

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

Машинні графіки - фахівці з віртуальної реальності

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

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

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

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

З волі фантазії розробників в надрах комп'ютера створюється свій світ, населений предметами та істотами, здатними діяти і спілкуватися. Комп'ютер дає можливість людині взаємодіяти з уявним світом. Це науково-технічного дещо напрямок одержав назву віртуальна реальність.

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

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

Системи віртуальної реальності вимагають колосальних обчислювальних потужностей, спеціального складного обладнання типу стереоскопічних екранів, різного роду імітаторів сенсорних впливів. Для вирішення завдань, пов'язаних з віртуальною реальністю, швидкодії окремо взятої машини не вистачає. Такі завдання доводиться распараллеливать і використовувати багатопроцесорні супер-ЕОМ.

Нові спеціальності виникнуть завтра

Комп'ютерні спеціальності можна порівняти з множинними пагонами, які дав єдиний корінь. Ми з вами говорили тільки про професії, що вимагають серйозної математичної підготовки, і побачили, як одна за одною відбруньковувалися нові спеціалізації від системного програмування.

Те ж саме відбувається і в інших областях, пов'язаних з комп'ютерами. Прикладні програми сьогодні створюють фізики і філологи, хіміки і біологи, економісти і суспільствознавці.

З'явилися фахівці сфери обслуговування, які можуть поставити на комп'ютері потрібні програми, задати режими його використання, мережеві адміністратори, фахівці із захисту комп'ютерів від вірусів і т. Д.

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

Див. В номері на ту ж тему

Д. Усенко - Професія - користувач.

Чим конкретно вони будуть займатися, закінчивши вуз?