Програміст

людина, яка створює комп'ютерні програми
Програміст за роботою

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

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

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

СленгРедагувати

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

ІсторіяРедагувати

 
Ада Лавлейс вважається першою програмісткою

Ада Лавлейс вважається першою програмісткою, бо вона опублікувала алгоритм розрахунку чисел Бернуллі за допомогою аналітичної машини Чарльза Беббіджа у жовтні 1842 р.[1] Оскільки машина Беббіджа ніколи не була збудована, Ада ніколи не бачила, як цей алгоритм запускається.

Першим хто запустив програму на функціонуючому комп'ютері, був інформатик Конрад Цузе, в 1941 році.

Першими програмістами які займались програмуванням як основним видом діяльності були програмістки ENIAC: Мерлін Мельцер[en], Кетлін Макнальті[en], Бетті Дженнінгс, Бетті Снайдер, Франсіс Білас[en] та Рут Ліхтерман.[2]

Міжнародний день програміста відзначається щороку 7 січня.

Характер роботиРедагувати

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

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

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

Програмісти пишуть програми відповідно до специфікацій, визначених в першу чергу більш старшими програмістами та системними аналітиками. Після того, як процес оформлення завершено, робота програміста полягає в перетворенні цього дизайну в логічну серію інструкцій, як комп'ютер може виконати. Програміст кодує ці інструкції на одній з багатьох мов програмування. В залежності від мети програми використовуються різні мови програмування. Наприклад, COBOL звичайно використовується для бізнес-додатків, які зазвичай працюють на комп'ютерах на мейнфреймах та середніх частотах, тоді як Fortran використовується в науці та техніці. C++, Python широко використовується як для наукових, так і для ділових програм. Java, C#, VB та PHP — це популярні мови програмування для веб-та бізнес-програм. Програмісти, як правило, знають більше, ніж одну мову програмування, і оскільки багато мов схожі, вони часто можуть вивчати нові мови порівняно легко. На практиці програмісти часто називаються мовою, яку вони знають, наприклад як програмісти Java, тип виконуваної ними функції або середовище, в якому вони працюють: наприклад, програмісти баз даних, мейнфрейм програмісти або веб-розробники.

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

Тестування та налагодженняРедагувати

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

Прикладне та системне програмуванняРедагувати

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

Типи програмного забезпеченняРедагувати

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

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

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

Інструменти програмістаРедагувати

  • IDE — інтегроване середовище розробки, прикладами якого є Microsoft Visual Studio (мови Visual Basic .NET, C++ та ін.) і Embarcadero Delphi. В Linux/Unix-системах відомі, передусім, вільні відкриті інструментальні системи KDevelop і Eclipse (обидві підтримують декілька мов програмування: Java, C++, Python та ін.), які дозволяють розробляти програми як для Windows, так і для Linux.
  • SDK — Software Development Kit — набір програм, необхідних для розробки ПЗ на певній мові програмування.
  • DDK — Driver Development Kit — набір програм, необхідних для розробки драйверів.

Програми, які зазвичай входять в SDK:

  • Компілятор — транслює вихідний код, зрозумілий програмістові, в машинну мову, зрозумілу процесорові. Якщо програма призначена для виконання програм у певній віртуальній машині(наприклад, віртуальна машина Java) то компілятор виступає в ролі транслятора тексту програми у специфічний код даної віртуальної машини. Для виконання такого коду у SDK зазвичай включається відповідний інтерпретатор коду.
  • Налагоджувач (англ. debugger) — утиліта, що дозволяє спостерігати за процесом виконання програми, шляхом зупинення програми в певній точці та покрокового виконання інструкцій. При цьому можна контролювати зміну значень змінних, масивів, тощо. Таким чином відбувається виявлення та усунення багатьох вад програм.

ЛітератураРедагувати

ЗноскиРедагувати

  1. Айзексон, 2017, с. 34
  2. Айзексон, 2017, с. 93

ПосиланняРедагувати