Як стати програмістом?

січень 2016

Методика висвітлення теми "Як стати програмістом?" за ресурсом Wikihow.com/Become-a-Programmer

Зміст

  1. Напрямки розвитку програміста
  2. Частина 1. Веб-програміст
  3. Частина 2. Десктоп-розробка
  4. Частина 3. Програмування прикладних розподілених систем

Частина 3. Програмування Прикладних Розподілених Систем.



Шлях програміста

1. Визначення Прикладних Розподілених Систем.

Варто усвідомити, що таке "Розподілене обчислення", "Розподілена Система Керування"?

Розподілені обчислення (розподілена обробка даних) — спосіб розв'язання трудомістких обчислювальних завдань з використанням двох і більше комп'ютерів, об'єднаних в мережу.

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

Розподілена Система Керування - (англ. Distributed Control System, DCS) — автоматизована система керування технологічним процесом, що характеризується побудовою розподіленої системи введення-виведення та децентралізацією обробки даних.

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



Шлях програміста

2. Пройдіть ознайомчий курс основ Телефонії та відповідного апаратного забезпечення.

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



Шлях програміста

3. Розгляньте архітектуру мережевого обладнання та відповідні пристрої.

Розгляньте для чого необхідні роутери, марштрутизатори, концентратори.



Шлях програміста

4. Розгляньте мережеві протоколи.

Вам необхідно буде розглянути основи мережевих протоколів. Перегляньте модель Open Systems Interconnection (OSI), Ethernet, IP, TCP, UDP та HTTP та інше.

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



Шлях програміста

5. Розгляньте XML мову програмування.

Розширювана мова розмітки (англ. Extensible Markup Language, скорочено XML) — запропонований консорціумом World Wide Web (W3C) стандарт побудови мов розмітки ієрархічно структурованих даних для обміну між різними застосунками, зокрема, через Інтернет.



Шлях програміста

6. Розпочніть вивчати мову скриптів.

Скриптова мова (англ. scripting language) — мова програмування, розроблена для запису «сценаріїв», послідовностей операцій, які користувач може виконувати на комп'ютері. Прості скриптові мови раніше часто називали мовами пакетної обробки (batch languages або job control languages). Сценарії зазвичай інтерпретуються, а не компілюються.

У прикладній програмі, сценарій (скрипт) — це програма, яка автоматизує деяке завдання, яке без сценарію користувач робив би вручну, використовуючи інтерфейс програми. Мови таких скриптів спочатку орієнтувалися на використання в якості внутрішніх керуючих мов у складних системах. Багато хто з них, проте, вийшли за межі сфери свого початкового застосування і використовуються нині в зовсім інших областях. Характерними особливостями даних мов є, по-перше, їх інтерпретованість (компіляція або неможлива, або небажана), по-друге, простий синтаксис, а по-третє, легка розширюваність. Таким чином, вони ідеально підходять для використання в часто змінюваних програмах, дуже невеликих програмах або у випадках, коли для виконання операторів мови витрачається час, незрівнянний із часом їх розбору.

Якщо плануєте програмувати під оболонку Windows, то варто вивчати скрипти, що підтримуються Windows Scripting Host. Для оболонки Linux підійдуть Bash scripts чи Perl.

В любому випадку наполегливо рекомендується вивчити JavaScript, враховуючи слідуюче:
- JavaScript підтримується обробником сценаріїв будь-якої операційної системи (Windows Scripting Host підтримує Javascript за замовчуванням, що ж до Linux дестрибютивів вони також мають пакети для супроводу Javascript-скриптів.)
- Вважається, що його досить легко вивчити.
- Він має ALGOL синтаксис, що досить широко застосовується в інших мовах прорамування, так чином за необхідності Вам досить легко буде зрозуміти інші мови (C, C++, C#, Java та J#, що в основі мають ALGOL синтаксис).

Вивчивши Javascript, Ви додатково оволодієте знаннями роботи мови скриптів на клієнтській стороні веб-сторінок!



Шлях програміста

7. Розгляньте процедурний стиль програмування вибраної мови.

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



Шлях програміста

8. Розробіть простий скрипт обміну даними між машинами.

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



Шлях програміста

9. Розгляньте мови програмування настільних комп'ютерів.

Бажано розглянути мову програмування з декількома парадигмами, на зразок Python.

Організуйте собі невелике ознайомлення з основами програмування іншої мови.

Багато з програмістів, враховуючі власні побажання, надають перевагу мові Java. Тим не менш, наразі також популярна мова програмування C#.

Java та C# популярні із слідуючих причин:
- Це об'єктно-орієнтовні мови програмування, що звільняють програмістів від необхідності зосереджуватись на тонкощах програмування та допомагають застосовувати елементи, що підтримуються іншими програмами.
- Вони надають можливість реалізації обробників подій; на певних рівнях можливість реалізації, як об'єктно-орієнтовного, так і процедурного стилю програмування.
- Фреймворк надбудованих мов є розподіленою системою в своїй основі (Для мови програмування Java).
- Можливість застосування розроблених готових мережевих пакетів з відкритим кодом, що значно спрощує працю програмістів даного профілю.



Шлях програміста

10. Зосередьтеся на особливостях вибраної мови програмування.

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



Шлях програміста

11. Розгляньте дизайн та архітектуру Прикладних Розподілених Систем.

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

Важливо розуміти архітектуру та концепції прикладних розподілених систем.



Шлях програміста

12. Розгляньте сервісні компоненти.

Корисним буде розглянути вбудовані сервісні компоненти (якто Windows service) та інші сервіси, що обслуговують Вашу мову програмування.



Шлях програміста

13. Розгляньте додаткові технології.

Було б принаймні бажано, щоб Ви хоча б ознайомились із деякими з них. Програмісти прикладних розподілених систем як правило розглядають програмування під різними операційними системами та не зосереджуються лиш на одній чи двух мовах програмування. Якщо Ви маєте бажання, щоб програмування було "розподілене", Ви зобов&#;язані розуміти програмування для останніх популярних операційних систем.





<<< Частина 2. Десктоп-розробка