tgoop.com/cpplastic/419
Last Update:
Часто бачу, як на запитання щодо найкращої мови програмування для початківців (повних нулів) починають пропонувати Python
Я розумію, що зараз так заведено і що програмувати йдуть, бо гроші: три місяці на курсах — і вже треба джуном десь влаштовуватися, формочки клепати. І в мене навіть претензій нема: попит є, то й пропозиція знайдеться.
Втім найкращі спеціалісти, котрих я знаю (і я сам теж хехе), почали програмувати не через гроші чи престиж, а… ну, бо не могли інакше. Я мав потяг до всього електронного з дитинства: будь-що, де є батарейка й екран, ставало предметом мого інтересу. А коли я побачив уперше ігрову консоль, у мене ледве мозок не вибухнув
Не всім щастить аж настільки. Багато хто приходить до програмування радше «випадково». Але цих людей окрім певного природного рівня зацікавленості компʼютерами обʼєднує найважливіше: допитливість стосовно того, а як же це працює (і що ще можна зробити).
Допитливість ця може бути потужним рушієм, але на ранніх стадіях легко ламається об коліно перешкодами, розбиратися з якими вимагає забагато зусиль. А значить мова мусить бути така, яка цю зацікавленість підтримуватиме, а не топитиме.
В практичному сенсі це значить:
- Легко встановити тулчейн, легко запустити, легко використовувати (а якщо ще й легко поділитися з кимось результатами, то взагалі чудово).
- Базові аритметичні операції, трохи тригонометричних і (обовʼязково) операції для маніпуляцій над текстовими рядками.
- З колекцій — масивів достатньо.
- Примітиви для графіки з коробки (кольори, лінії, фігури).
- Якщо також є програвання звуків/музики — ще краще. (Хоча б MIDI якийсь).
- Спрощена робота зі вводом користувача (клавіатура/мишка).
- REPL? Ну, можна.
- Адекватні й зрозуміли повідомлення про помилки.
- Вбудована система довідки про оператори/команди/функції тощо.
- Статична типізація? — Зайва!
- Керування памʼяттю? — You lost me here.
- Зовнішні залежності? — Не треба.
- Модулі? — Одного файлу достатньо.
- Треба білд-систему? — Вже у смітнику.
Я сам починав з мови BASIC. Спробував декілька різних, але QBasic від Microsoft став найулюбленішим. У мене щодо нього досі виключно теплі спогади.
Тож згодом, коли я випадково натрапив на Microsoft Small Basic і спробував його, то почав радити й іншим. На жаль у порівнянні з QBasic вони трохи ускладнили все тим, що додали ООП. Втім це досі доволі приємна мова з непоганою IDE. (Або ось є веб-версія, хоча вона погірше).