середа, 2 травня 2018 р.

Відповіді на складні питання програміста


Чи вірно, що без таланту та розумових задатків, не стати програмістом?

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

На перший погляд, комп’ютерні програми здаються занадто складними і незрозумілими. Що ж говорити про китайські ієрогліфи, проте, близько 1,3 млрд жителів планети можуть спокійно читати, писати і розуміти китайське письмо. Щоб писати код не потрібно бути генієм: досить мати інтерес, стимул та самодисципліну.

Чи потрібно добре знати математику та фізику програмісту?

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

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

Для засвоєння програмування зовсім необов’язково мати серйозне математичне або технічне підґрунтя, головне – почати, і все поступово прийде.

Чому програмувати потрібно починати в ранньому дитинстві?

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

Чи програмування, як інтелектуальна галузь, не для творчих та  не для гуманітарних людей?

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

Невже програмуючи – ти перетворюєшся на нудного “ботана”?


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

Чому програмісту потрібно мати хорошу пам’ять та знати всі типи алгоритмів?

Мова програмування – не іноземна мова, в якій для розуміння базових речей потрібно пам’ятати близько 1500 слів. Більшість мов програмування мають схожий синтаксис, що містить подібні керуючих конструкцій, які при частій практиці не вимагають цілеспрямованого заучування. Те, що ви не можете запам’ятати, ви завжди можете знайти в Мережі або в офіційних інструкціях. Пам’ятати все не тільки не обов’язково, але і не раціонально: деякі знання будуть забуватися або спотворюватися в пам’яті. Навіть відомі програмісти зізнаються в тому, що не завжди можуть пригадати найпростіший алгоритм. Крім того, сучасні середовища розробки мають спливаючі підказки, що допомагають згадати ті чи інші інструкції.

Алгоритми – основа програмування. Деякі з них прості, інші для розуміння вимагають особливих знань. У реальній роботі від програміста не потрібно вміти створювати алгоритми з нуля, тому що фундаментальні алгоритми вже реалізовані і налагоджені так, що мають хороші показники продуктивності і надійності. Ці алгоритми можуть поставлятися як модулі, що підключаються до вихідного коду, або як частина самої мови програмування. Сучасне програмування зменшило число рутинних операцій в процесі створення ПЗ, що звільнило програмісту час для вирішення дійсно корисних завдань. Однак, розібратися і зрозуміти алгоритми НЕОБХІДНО!

Чому програміст вчиться завжди?

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

При відсутності практики, навички поступово втрачаються – хоч водіння автомобіля, хоч вишивання хрестиком. А теоретичні знання, які не мали практичного застосування вивітрюються ще швидше. Згадайте хоча б шкільну програму з того, що в житті не стало в нагоді. Як і при вивченні іноземних мов, тривалі перерви в навчанні можуть так само негативно позначитися на результаті навчання. Навчання ніколи не зупиняється: якщо ви припините вчитися, то через деякий час ви втратите отриманий навик. Щоб не допустити цього, вивчений матеріал корисно постійно підкріплювати практичними навиками.