ЯЗЫК ПРОГРАММИРОВАНИЯ

Самое простое определение программирование гласит, что это – управление компьютером при помощи специальных инструкций, т.н. команд процессора. Инструкции, в зависимости от задачи, собираются в алгоритмические блоки. Все это достигается при помощи того или иного языка программирования. Изучать программирование без одновременного изучения основ какого-то языка программирования вряд ли возможно. Язык программирования – это основной инструмент программиста. Какой же язык выбрать для начальных шагов? Ведь сегодня существует весьма большое количество языков программирования.

Языки программирования появляются и исчезают. Какие-то из них живут долго, какие-то отмирают, едва появившись. Меня в свое время учили программировать с использованием языка PL/I для больших ЭВМ. Но за всю свою длительную практику я никогда не использовал этот язык. И никогда не работал на больших ЭВМ, которые почти полностью были вытеснены персональной техникой. Вряд ли сегодня кто-нибудь вообще использует язык PL/I, который, когда он создавался корпорацией IBM, казался очень перспективным и мощным.

Параллельно нас учили языку ассемблера – это т.н. машиноориентированный язык. Разрабатывать и отлаживать программы на ассемблере очень сложно. Зато он позволяет хорошо понять принципы работы компьютера в целом и его центрального процессора. Но вряд ли сегодня кто-то захочет учиться программированию с использованием ассемблера. Как говорится – это не для слабонервных.

Может быть начинать учиться программированию, используя тот язык, который сегодня наиболее востребован рынком? Веб-разработка, кажется, сегодня находится на первом месте всего того, чем заняты программисты. В этой области языком №1 на сегодня, наверное, является язык PHP (Personal Home Page Tools). В зависимости от квалификации, веб-программист, специализирующиеся на PHP, зарабатывает от 80 до 300 тысяч рублей в месяц. Это ли не причина начинать с PHP? И однако я отвечу категорическим нет.

PHP является очень специфическим языком, который, если начинать обучение с него, что называется, «испортит слух». В программировании существуют хорошие и дурные привычки. Используя PHP с первых шагов, начинающий программист приобретет немало «дурных привычек» при создании кода, от которых ему будет трудно избавиться, если потребуется работать с другим языком. Кроме того, хороший веб-разработчик должен владеть не только языком PHP, но языком запросов к базам данных SQL (для работы скорее всего с MySQL), а также знать: язык JavaScript, язык разметки страниц HTML и язык описания стилей страниц CSS. И это еще я беру по минимуму. Так что язык PHP стоит начинать осваивать тогда, когда уже получены все базовые навыки профессионального программиста.

Если брать зарубежный опыт, то с некоторых пор в США и ряде других стран для обучения программированию активно используется язык Java. Это красивый и изящный язык программирования. Но есть одно но. Для того, чтобы его вдумчиво использовать, надо хорошо понимать, что такое объектно-ориентированное программирование. Но учащийся, который начинает с чистого листа, еще не имеет ни малейшего представления о концепции объектно-ориентированного программирования (возможно и вы, читая сейчас этот текст, не понимаете о чем речь). И получается, что он сразу должен погрузиться в концепцию, которую сперва не до конца понимает, используя те или иные конструкции языка, не улавливая сути работы с ними. Это не лучший вариант для начала.

Есть еще такие языки, как C++, Python (все более популярный последнее время), сравнительно недавно появившийся Kotlin; есть язык 1С (для использования с продуктами компании 1С), который также востребован на рынке, есть C# (произносится: си-шарп), есть Swift, да и тот же упомянутый мною JavaScript. Каждый из этих языков имеет свою область применения и своих горячих приверженцев. Но ведь надо остановиться на каком-то одном?

Так какой язык предлагаю я? Я предлагаю язык Delphi. И сразу поясню, почему именно его я выбираю для того, чтобы совершать первые шаги в удивительный мир программирования.

Моя концепция заключается в том, что обучение любому ремеслу – отнюдь не только программированию – начинается поэтапно. Если кто-то хочет стать командиром воздушного реактивного лайнера, то вряд ли он сразу сядет за штурвал Boeing 737. Сперва он будет учиться на тренажерах, а первые свои полеты осуществит на специальных тренировочных самолётах. Тот, кто хочет гонять на гонках Формулы-1, не сразу сядет в спортивный болид, а сперва будет учиться трогаться с места, тормозить, разворачиваться и просто ездить на более простых учебных машинах. И только потом, когда то базовое общее, что объединяет любой самолет или любой автомобиль будет освоено, учащийся может далее углублять свою специализацию и учиться на конкретных профессиональных моделях. В программировании все должно быть точно также.

Тот язык, который сегодня называется Delphi – это из маркетинговых соображений переименованный язык Object Pascal. То есть основу Delphi составляют языковые конструкции языка Pascal. А Pascal был придуман великим швейцарским теоретиком программирования Никлаусом Виртом в 1970 году специально для обучения программированию. Я не знаю языка, чей синтаксис лучше подходит для начального периода обучения, чем Pascal.

С другой стороны, начальный период, если обучение составлено верно (а именно таков курс «Алхимия программиста»), заканчивается достаточно быстро. И надо переходить к использованию более профессионального инструментария нежели ученический Pascal (например, Turbo Pascal, который до сих пор используется в российских школах). И вот тут Delphi подходит как нельзя лучше, поскольку является языком (и инструментарием), который сегодня точно также используется в профессиональном программировании, как и PHP, и Java, и C++, и Python и любой другой язык, который используют в профессиональных разработках.

Таким образом, начав обучение и первичное постижение основ программирования с использования языковых конструкций языка Pascal (которые ему частично знакомы по урокам информатики в школе), учащийся в рамках курса «Алхимия программиста» плавно переходит к использованию профессиональную среду разработки программ Delphi. На это заточены и почти все примеры, и видеоуроки. Причём все примеры даются как для Delphi 7, выпущенный еще в 2002 году компанией Borland, так и Delphi 10.xx, который на начало 2021 года является самой последней версией Delphi от компании Embarcadero (владеющей правами на Delphi).

С моей точки зрения, однако, обучение программированию не может закончиться только тем, что учащийся получит все необходимые навыки в рамках одного какого-то языка (в данном случае – Delphi). Программирование – очень мобильная область и в ней, повторю, не существует какого-то одного универсального языка. Для разных задач требуются различные языки. Поэтому начинающий программист должен учиться и тому, как быстро из одной языковой среды «пересесть» в другую. С этой целью в рамках курса «Алхимия программиста» существует тариф Advanced.Java, в котором учащемуся даются дополнительные знания о технологиях разработки программ, но делается это уже на примере языка Java. И, таким образом, учащийся вводится как в основные понятия языка Java – причем уже хорошо понимая концепцию объектно-ориентированного программирования, так и получает дополнительный объем знаний, необходимых для профессионального программирования.