Розділ третій: Не С++ єдиним, або що не так з програмуванням

Розділ третій: Не С++ єдиним, або що не так з програмуванням

ібн Муамар

Навігація між розділами статті

  1. Відверта розмова про 123 спеціальність на ФІОТі.
  2. Золота Епоха Комп'ютерів, або навіщо існує комп'ютерна інженерія.
  3. Високі ставки, або що тут вивчається для створення комп'ютерів.
  4. Не С++ єдиним, або що не так з програмуванням.
  5. Йдемо на співбесіду, або що з того що я вивчу допоможе знайти роботу.
  6. Замість післямови.

А що ж тоді з програмістською підготовкою?

Не все так просто. Проблема у тому, що десь на півшляху до оновлення освітньої програми на кафедрі реформи призупинились, і реформованими виявилась лише частина, присвячена програмуванню і загальній підготовці. Що зробило ситуацію ще гіршою, а програмування на 123 – ще більш відірваним від комп’ютерної інженерії. Якщо хоч якось і зможеш зробити систему розумного дому – то запрограмувати її не зможеш, бо не викладається С++. Через це усі названі в минулій статті предмети здаються такими, що не заслуговують належної до себе уваги. Навіщо мені вивчати якісь старі ПЛІСи, якщо можна витрати час на щось нове, щось, що можна використати у сучасній розробці?

  • На Основах Програмування розглядається Python – одна з найпопулярніших мов програмування у сьогоденні, одна з найбільш затребуваних мов на ІТ-ринку України, доволі гарна мова для ознайомленнями з базовими концепціями програмування, але до програмування мікроконтролерів не має жодного відношення.
  • Викладається Об’єктно-Орієнтовне Програмування, де вивчають Java – щоправда, цей предмет триває лише 1 семестр. Java відома своєю кросплатформенністю і дуже зручна при розробці програм абсолютно будь-якої направленості, але знову ж таки, не для програмування мікроконтролерів.

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

З деякими дисциплінами ситуація ще гірша. Вони вимагають виконання на С/С++, які тут не викладаються.

  • Паралельне Програмування 1 та 2 націлені на програмну реалізацію систем мультидії, пришвидшенню математичних обчислень (програми) за допомогою особливостей архітектури (апаратно). Це про те, як задіяти усі ядра процесору (так, ось для чого 2-х, 4-х та 8-ядерність)
  • Теорія комп'ютерних систем – це написання драйверів. Тут і так зрозуміло, це про те, як обробляти сигнали з мишки, WI-FI-адаптеру чи як надсилати сигнали на екран, хоча б 8-бітний дисплей.
  • Системи реального часу – знову ж таки, вельми корисна дисципліна при програмування мікроконтролерів, які слідкують за чимось та мають купу периферії, з якої отримують потік данних, який вимагає постійної обробки.
  • Системне програмування 2 та 3 націлені на реалізацію високорівневих мов програмування для певної платформи – як змусити Java працювати на будь-якому процесорі та чи варто цим взагалі займатися, що знову ж таки вимагає знань архітектури та мови програмування, що здатна з нею взаємодіяти. Знову ж референс у сторону С++.

Через це частини освітньої програми здаються ще більш відірваними одне від одних. Освітній програмі не вистачає зорієнтованості на конкретній сфері, аби стати вузькопрофільною, водночас, не вистачає і синхронності, цілістності, аби мати право називати себе «базовою», «базисом». Надто відрізняється рівень викладання різних частин. Тому багато студентів розчаровуються у програмі і самостійно вивчають технології, що потрібні на ринку праці. Але про нього – у наступній частині.

Choose your fighter

⏪Попередня частина Наступна частина⏩

Report Page