Задачи
При выборе первого языка программирования необходимо четко осознавать решаемые задачи.
Первая задача – это развитее логического и алгоритмического мышления, так как естественные языки, наоборот, только усложняют достижение ясного мышления.
Вторая задача – это ознакомление с программными технологиями, компьютерная графика, видео монтаж, работа с документами и т. д.
Третья задача – это ознакомление с физическими принципами цифровых технологий, двоичная логика, процессоры, цифровая графика, технология сети интернет и т. д.
Требования
Требования к учебному языку программирования.
1. Простой, интуитивный синтаксис.
2. Интегрированные в язык инструменты обнаружения ошибок и для отладки программ.
3. Качественная документация.
4. Дружелюбная среды разработки.
5. Кроссплатформенность (Windows, Android, iOS…).
6. Поддержка процедурного и ООП программирования.
Обзор языка
На ум приходит только один язык программирования. Императивный, строго типизированный, со статической типизацией и строгой семантикой язык. Turbo-Pascal всему этому соответствует, но он уже мертв.
Почему этот язык так хорош?
Потому что, он очень быстро и качественно обучает всем необходимым навыкам из-за своих основных качеств.
Pascal максимально требователен к ученику.
1/ Ученику приходит чёткое понимание, что его программа делает на каждом шаге, Pascal «заставит» записывать алгоритмы на строгом формальном языке, без “вольностей”.
2/ Pascal строго типизированный язык. Ученик быстро понимает структуры данных в памяти компьютера. Потому что в других языках смешение целых чисел, вещественных чисел и текстовых переменных приводит у начинающих программистов к неправильному представлению о методах хранения данных в памяти компьютера.
3/ Pascal предлагает обширную проверку ошибок. Чем больше сообщений об ошибках ученики увидят от компилятора, и чем больше из этих сообщений они поймут, тем больше фундаментальных знаний о программировании они получат.
Паскаль – хороший язык в академическом смысле, но этот язык редко применяется на практике, и специалист по Паскалю оказывается мало востребованным на рынке труда.
Для реальной работы приходится учить более популярный язык (Java, C/C++, PHP, Python и т. д.).
Итого
Использование Turbo/Free Pascal/ PascalABC это идеальный вариант для обучения алгоритмам, без понимания которых дальше лучше не программировать. Но он мертвый язык.
Компромисс на сегодня, как академический язык программирования — это Питон (Python) + приличная IDE (Eclipse или PyCharm), с тестированием приложений во встроенной консоли.
Python - это полноценный язык программирования высокого уровня. Он поддерживает целый ряд парадигм: модульная парадигма, процедурная парадигма, объектно-ориентированная парадигма, функциональная парадигма.
На нем можно разрабатывать серверные и клиентские программы, сайты и веб сервисы, мобильные приложения, программировать роботов. На рынке труда Python-программисты имеют востребованность. Python используют крупные корпорации в своих коммерческих проектах.
P.S.
Цель не изучить конкретный язык программирования, а развивать алгоритмическое мышление.
Поэтому очень эффективно знакомство (без детального изучения) с несколькими языками программирования, и прорабатывать простые алгоритмические задачи на нескольких языках.
Моя рекомендация ознакомиться с обоими языками. #pascal, и #python.
Есть альтернативы (для самостоятельного обзора)
https://en.wikipedia.org/wiki/List_of_educational_programming_languages.
1. BASIC (SmallBASIC, SiMPLE, Microsoft Small Basic).
2. Java (NetLogo).
3. Lisp (Logo).
4. Smalltalk (Scratch, Etoys, Squeak)
#Pascal, #python