Комп’ютерні професії - Інформатика, програмування
2.Композитори комп'ютерного світу
3.Нові спеціальності виникнуть завтра
2.Композитори комп'ютерного світу
Можна ризикнути і порівняти комп'ютер з якимось музичним інструментом, наприклад, піаніно. Перш ніж ви доторкнетесь до клавіш, ваш інструмент повинні були побудувати майстри, а композитори написати музику зрозумілою для всіх мовою - нотними знаками. Те саме і з комп'ютерами: є люди, які створюють апаратуру, і ті, хто пише музику – комп'ютерні програми. Апаратуру прийнято називати "хард" (від англійської hard - твердий, жорсткий або ще простіше - "залізо"), а програмне забезпечення - "софт" (від англійської soft - м'який). Творці "софту" якраз і є "композиторами" комп'ютерного світу. І так само, як у музиці, тут є кілька спеціалізацій, про які нам доведеться поговорити нижче. А поки що трохи історії.
Як це було раніше
Електронні обчислювальні машини з'явилися в середині 40-х років ХХ століття. Першою у світі вважається ЕНІАК, створена 1946 року у США. У Радянському Союзі перша машина розпочала роботу в 1951 році, називалася вона МЕСМ (Мала Рахункова Електронна Машина). Честь її створення належить групі С. А. Лебедєва, згодом знаменитого академіка, якого називають батьком вітчизняної обчислювальної техніки.
Перші ЕОМ були унікальними установками, і коло фахівців, які вміли змусити їх вирішувати складні обчислювальні завдання, залишалося дуже обмеженим. Програмування виконувалося лише на рівні машинних команд, тобто машині потрібен був докладний і детальний список операцій, які мали виконувати всі її вузли. Команди кодувалися числами, представленими у вісімковій, шістнадцятковій або двійковій системі. Від програміста вимагалося нетільки знання безлічі деталей, пов'язаних з пристроєм машини, але й велика інтуїція, спритність розуму, щоб втиснутися в прокрустове ложе вельми скромних, за сучасними поняттями, можливостей електронної машини.
Процес кодування програм йшов дуже повільно, з'являлося багато помилок, і клас програміста визначався його вмінням швидко знаходити власні промахи. У той час виникли два роди фахівців - алгоритмісти та програмісти-кодувальники. У завдання алгоритміста входило точний опис обраного методу обчислень, завдання програміста - кодування алгоритму цифровою мовою, зрозумілому машині. Незабаром, однак, стало ясно, що остання операція є технічною роботою, якщо, звичайно, алгоритм розписаний детально і точно. Виникла ідея змусити електронну машину самій виконувати цю роботу.
Трансляторники - спеціалісти з систем програмування
Сьогодні написанням програм для комп'ютерів займаються представники найрізноманітніших професій, студенти та навіть школярі. Це стало можливим завдяки появі спеціальних мов, якими ми даємо команди комп'ютеру. Створюють машинні мови представники нової професії – фахівці із систем програмування, або, як їх ще називають, трансляторники.
Спрощено кажучи, є два типи комп'ютерних мов: машинно-залежні та машинно-незалежні. Перші (ассемблери, чи мови автокодів) служать спілкування з машиною її ж мовою. Асемблерами і до теперішнього часу користуються висококваліфіковані фахівці.
Родоначальником машинно-незалежних мов програмування вважається Фортран. Ця назва – аббревіатура двох англійських слів FORmula TRANslation (транслятор формул). Він наближений до загальноприйнятого математичного запису.
Потім з'явилися інші мови (Бейсік, Пролог, Сі Сі). Саме освоївши ці машинно-незалежні мови, філолог чи бухгалтер може написати конкретну прикладну програму. Але щоб машина могла з нею працювати, потрібен транслятор – програма, яка перекладає написане мовою комп'ютера. Створення комп'ютерної мови та трансляторів потребує високої кваліфікації фахівців. Крім того, у цій сфері виникає багато проблем, які потребують теоретичного вирішення.
Виникли новий напрямок досліджень та нова спеціальність - теоретичне програмування. Воно спирається такі розділи математики, як теорія алгоритмів, математична логіка, алгебра, теоретичні основи наближених методів обчислень, теоретичні основи методів пошуку, теорії графів, теорії формальних мов і граматик. Саме тому даним дисциплінам на факультетах обчислювальної математики надається велике значення.
У 80-х почався масовий випуск персональних комп'ютерів. Спочатку випускалося кілька сотень тисяч на рік, потім кілька мільйонів, а зараз - близько тридцяти мільйонів комп'ютерів щорічно.
Дружній інтерфейс ґрунтується на ідеї діалогової взаємодії людини з машиною. Комп'ютеру у такому діалозі відводиться роль провідника дорогами своїх унікальних можливостей та ненав'язливого керівника діями користувача. Від користувача потрібно правильно формулювати свої запити і вибирати подальші кроки з варіантів, пропонованих комп'ютером.
Загалом можна сказати, що професійний багаж системного програміста включає мови програмування, транслятори, методи збирання програм із готових шматків, програми налагодження у термінах мов високого рівня, бібліотеки готових заготовок.
Операційники -розробники операційних систем
Операційні системи – серце всього програмного забезпечення комп'ютера. Вони керують введенням в машину інформації, що надходить від клавіатури або з дисків, розміщенням вхідних і вихідних даних в пристрої та маніпуляцією з ними. Ці програми включають в роботу транслятори, завантажувачі, шукають необхідні бібліотечні програми, відповідають за роботу монітора, висвічуючи необхідну інформацію, та багато іншого.
Складність операційних систем з кожним роком зростає, адже зростають вимоги масового користувача і потреби науки і техніки. Тому від спеціальності системного програмування хіба що відбрунькувалася нова спеціальність - розробники операційних систем, операційники, як його називають.
З появою мультипрограмування (одночасного розв'язання на комп'ютері кількох завдань, що є на різних стадіях виконання) функції операційних систем особливо різко ускладнилися і виникло кілька складних проблем.
Перша проблема пов'язана зі стратегією розподілу ресурсів машини між конкуруючими між собою у динаміці рахунку програмами. Якщо стратегія розподілу обрана невдало, ефективність машини відчутно знизиться і користувачеві доведеться довго чекати результатів, втрачаючи дорогоцінний час, а іноді й гроші. При хорошій стратегії користувачі можуть заощадити і те, й інше. Друга проблема полягає у виключенні впливу одних завдань на вирішення інших, що одночасно перебувають у роботі. Третя проблема – у розподілі оперативної пам'яті між незалежними завданнями. Від рядового користувача всі ці проблеми, природно, приховані, і він не повинен враховувати, що одночасно з його завданням у машині є багато інших.
Операційникам безліч нових головоломок доставиврежим дистанційного багатотермінального доступу. Такий режим виникає, коли з центральною ЕОМ з'єднані термінали, що дозволяють одночасно працювати на машині декільком незалежним користувачам. Термінали є клавіатурою для набору даних і монітором, що знаходяться від комп'ютера на великій відстані, в іншому приміщенні або навіть місті. Режим термінального доступу - свого роду предтеча мережевої взаємодії.
Мережі - розробники програм мережевої взаємодії
Об'єднання обчислювальних машин, створення локальних і глобальних мереж зажадало від операційних систем виконання нових функцій. Порівняно недавно виникла нова спеціальність програмістів-мережників.
Нині глобальні комп'ютерні мережі, найвідоміша з яких Інтернет, здатні передавати своїм абонентам як текстову інформацію, а й аудіовізуальну. Їхня власність отримала назву "мультимедіа". Розробка програм, які керують нею, досить складна. Справа в тому, що передача кодів зображень та звуків вимагає високої швидкості і, взагалі кажучи, веде до великого завантаження ліній зв'язку. Тому необхідні програми, які вміють "стискати" текстову та аудіовізуальну інформацію на вході та розшифровувати її на виході. Крім того, на всіх рівнях роботи мережі передбачені способи контролю правильності передачі, засоби захисту інформації від випадкових і навмисних спотворень. Так виникла потреба у спеціалістах із захисту інформації від несанкціонованого доступу. У цій галузі, тісно пов'язаної з теорією кодування та шифрувальної справи, існують свої підходи, своя методика та свої технічні прийоми.
Базовики - спеціалісти з баз даних
Основний сенс розвитку глобальних мереж полягає у створенні єдиного інформаційногоного простору, що не має державних кордонів та меж відстаней. Це означає, що кожному абоненту мережі слід надати можливість доступу до знань, накопичених людством та розміщених у численних інститутах різних країн та континентів. Зберігається ця інформація у спеціальних базах даних.
Насамперед у комп'ютерних базах даних містилося переважно буквенно-цифровая інформація. В даний час в закодованому вигляді є аудіовізуальна та інша за своїм змістом інформація, наприклад формули хімічних сполук, таблиці інтегралів, відомості про фізичні процеси, програмні продукти і т.д.
Абонента мережі не цікавить, як влаштовано ту чи іншу базу даних, йому необхідно отримати відповідь на свій запит до мережі. Наприклад, його цікавить, у яких бібліотеках можна знайти рідкісну книгу. Система пошуку, що відповідає на такі запити, повинна звернутися до всіх доступних для мережі баз даних бібліотек, сформулювати для кожної з них запит, що відповідає вимогам конкретної моделі. Саме базовики, фахівці з баз даних створюють ці системи. Це досить складно, адже система пошуку має визначати, як влаштована та чи інша база даних та як до неї звернутися.
Машинні графіки – фахівці з віртуальної реальності
Природне бажання надати тим речам, які ми бачимо на дисплеї комп'ютера, звичний вигляд призвело до необхідності вивчення оптичних ефектів у напіврозрядних тілах та інших тонкощів, пов'язаних з реалістичним баченням сцен, що висвітлюються на дисплеї. Результати цих досліджень втілюються в алгоритми та програми машинної графіки.
Тут слід згадати комп'ютерні ігри, в яких дії гравця та об'єктів гри мають першорядне значення. Захопленнякомп'ютерними іграми багато хто засуджує, але щодо машинної графіки, її розвиток значною мірою стимулював саме популярністю комп'ютерних ігор.
Розрізняють двовимірну графіку, що створює зображення плоских фігур, та тривимірну графіку, що проектує на екран просторові зображення. Ведуться роботи зі створення за допомогою комп'ютера голографічних картин, що створюють ефект просторової реальності.
Починаючи з 70-х років широкого розвитку набули тренажери, керовані комп'ютерами. Перед поглядом людини перебуває великий екран, у якому засобами машинної графіки відображається зовнішня ситуація. Вона змінюється залежно від дій людини або з волі комп'ютера, що створює необхідні тренування ситуації. Наприклад, тренажер, який навчає правилам зльоту та посадки, імітує те, що має бачити льотчик зі своєї кабіни під час польоту.
За волею фантазії розробників у надрах комп'ютера створюється свій світ, населений предметами та істотами, здатними діяти та спілкуватися. Комп'ютер дає можливість людині взаємодіяти з уявним світом. Цей науково-технічний напрямок отримав назву віртуальна реальність.
Зауважу, що багато вчених вважають, що занурення людини в подібний штучний світ може дуже шкідливо впливати на психіку.
Але віртуальна реальність має важливе і корисне призначення. Її засоби дозволяють досліджувати та вивчати явища реального світу, фізичні та біологічні процеси. Можна "подивитися", що відбувається всередині організму, всередині клітини, побачити "зсередини", як працює реактивний двигун, "прогулятися" Місяцем або Марсом.
Системи віртуальної реальності вимагають колосальних обчислювальних потужностей, спеціального складного обладнання.стереоскопічних екранів, різноманітних імітаторів сенсорних впливів. Для вирішення завдань, пов'язаних із віртуальною реальністю, швидкодії окремо взятої машини не вистачає. Такі завдання доводиться розпаралелювати і використовувати багатопроцесорні супер-ЕОМ.