Майже на кожному стовпі сьогодні можна побачити оголошення про курси програмування. Однак програмувати вміє далеко не кожний, і Google вважає, що в невмінні дітей програмувати винні викладачі та батьки. Однак професор Ален Давні з коледжу Олін вважає, що батьки з вчителями не винні, сьогодні просто стало важче вивчити програмування.Давні за свою кар’єру написав кілька книг, у яких використовується мова програмування Python для пояснення таких дисциплін, як баєсівська статистика та обробка цифрових сигналів. Він також надає код, який можна завантажити з репозиторію GitHub.
Щоб скористатися всіма знаннями, які намагається передати професор, необхідно не лише знати Python. Необхідно також мати комп’ютер з інстальованим програмним забезпеченням для Python, а також бібліотеками його підтримки. Необхідно також вміти працювати із системою GitHub та вміти запускати завантажений код.
Багато студентів на шляху до знань скаржаться Давні на те, що вони хочуть вчити Python, баєсівську статистику чи обробку цифрових сигналів. Вони не зацікавлені в інсталяції програмного забезпечення, клонуванні репозиторіїв чи налаштуванні шляхів пошуку Python.
У цьому професор підтримує своїх учнів: сьогодні зростає бар’єр між використанням комп’ютера та його програмуванням. Він наводить приклад з власного комп’ютера Commodore 64, який він придбав у 1982 році. Відразу після вмикання машина завантажувала та запускала середовище для програмування (SDE). Будь-яка дія вимагала принаймні одного рядку коду, навіть якщо він був необхідний для запуску іншої програми.
З того часу, вважає професор, сталися три суттєві зміни, які ускладнили навчання програмуванню. Першою є те, що продавці ПК припинили встановлювати на свої машини середовище SDE. Бажаючі вивчити програмування повинні спершу його інсталювати самостійно. За словами професора, це складніше, ніж здається на перший погляд. Багато юзерів нічого в житті не встановлювали, вони не знають, як це робити, або їм заборонено це робити. Окрім цього, попри суттєве спрощення процесу інсталяції програмного забезпечення, під час нього можуть виникати помилки та збої. Професор вважає, що для старту навчання на програміста не потрібно перетворюватися на системного адміністратора.
Другою суттєвою зміною є перехід від інтерфейсу на базі командного рядка до графічного. Останні простіше використовувати, але графічні інтерфейси приховують інформацію про те, що відбувається. Часто це така інформація, яка необхідна програмісту.
Третьою зміною став перехід на хмарні обчислення, які перенесли приховування інформації на новий рівень. Користувачі веб-додатків мають лише приблизне уявлення щодо місцезнаходження своїх даних та які програми можна використати для доступу до власної інформації. Сьогодні, особливо на мобільних гаджетах, часто складно відрізнити операційну систему, додатки, веб-браузери та веб-додатки. Від користувача приховують, де розміщуються програми, де знаходяться його дані.
Професор пропонує кілька варіантів рішення. Один із них – створення комп’ютерів, які схожі на Commodore 64 та які ламають бар’єр між використанням комп’ютера та його програмуванням. Другий – вчити молодь власноруч налаштовувати необхідні для програмування середовища. Третє – використовувати готові налаштовані середовища в «хмарі» з поступовим навчанням налаштування локальних рішень.