Какому языку программирования учиться – Pascal или Basic?

Многие мои знакомые, начинающие эникейщики, или родители, желающие сделать из своего ребёнка программиста, или люди, которые пользуются моими программами, часто спрашивают меня – какому языку программирования Basic или Pascal стоит учиться, на каком легче программировать и какой из них лучше.

Вопрос, конечно, хороший, т.к. высокие цены на коммерческие приложения и монополизм на рынке ИТ требуют большое количество новых профессиональных программистов, которые смогут создавать конкурентные, низкие по стоимости или новые программные продукты.

Ответить на сам вопрос однозначно не получится по той причине, что несмотря на то, что у этих языков общее начало, последние 40 с лишним лет своего существования они развивались по-разному и для разных целей, поэтому выбор языка программирования должен быть не в зависимости от того, на чём легче программировать или какому быстрее научиться, а для каких целей тебе нужен тот или иной язык программирования.

Какому языку программирования научиться легче всего?

На самом деле основы любого языка программирования, даже того же C, может освоить любой человек, который хочет научиться программировать, проблемы возникнут уже при более серьёзном программировании для конкретных задач, поэтому существуют часто такие проекты, у которых модули написаны на разных языках программирования, потому что на одном что-то легче сделать, чем на другом, или же использование конкретного языка программирования вместо других даёт программе выигрыш в производительности.

Если же рассматривать ответ на данный вопрос с точки зрения выбора между Pascal и Basic, то легче всего обучиться Basic, т. к. это достаточно простой язык программирования, возможности программирования в нём ветвящихся алгоритмов ограничены условным оператором, т. к. в нём нет возможности запрограммировать такие страшные для новичка и очень любимые профессионалами сложные циклы с постусловием и предусловием с помощью стандартных операторов, а значит, чем меньше операторов, тем меньше нужно учить, также можно, зная с десяток операторов в нём создавать достаточно качественные приложения :)

С чего начать изучение языка программирования?

Для начала нужно обладать усидчивостью, внимательностью, аккуратностью и умением понимать написанный текст. У вас должно быть структурированное, последовательное логическое мышление и умение устанавливать причинно-следственную связь. Желание и способность к самообучению.
Когда-то я занимался набором программистов для одного проекта и отметил, что около 80% выпускников кафедр информатики этими качествами не обладают, 10% не обладают способностью к самообучению или логическим мышлением и возможностью выстраивания зависимостей одного процесса от другого.
Если всего этого нет и вы не собираетесь в себе это воспитывать, то программист из вас выйдет никудышный.

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

Также вам нужно иметь представление о том, что такое алгоритмы и знать как их правильно составлять. Многие пренебрегают ими, в итоге у начатого проекта из-за этого могут возникнуть огромные проблемы с воплощением из-за того, что очевидные минусы, которые можно было увидеть на блок-схеме алгоритма, были оставлены без внимания.

Кроме того, сейчас никто не использует Pascal или Basic в чистом виде, т. к. это языки программирования, на которых можно написать так называемые консольные или терминальные приложения, которые выполняются из командной строки Windows и выглядят как первые программы времён DOS, а подобие дружественного пользователю графического интерфейса в них создаётся с помощью псевдографики.

Например, FAR manager, хотя и написан на современном языке программирования для Windows, имеет интерфейс, созданный с помощью псевдографики.
Интерфейс из псевдографики

Мы же с вами живём в эру массового объектно-ориентированного программирования, когда у программы должен быть не просто графический интерфейс, а удобный, дружелюбный, красочный функциональный интерфейс, в котором разберётся любой человек и будет рад общению с программой.

С началом эры объектно-ориентированного программирования Pascal трансформировался в две среды программирования для разработки приложений с графическим интерфейсом — Delphi и Lazarus, а Basic в Visual Basic.

Например, Total Commander, аналогичная FAR программа, но имеющая графический интерфейс, созданный с помощью объектно-ориентированного программирования.

Total Commander

Поэтому лучше всего вам сразу начать изучение Pascal или Basic с работы в соответствующих средах объектно-ориентированного программирования, при этом вы научитесь создавать простые консольные приложения и освоите интерфейс среды программирования, что облегчит ваше дальнейшее обучение в создании серьёзных приложений с графическим интерфейсом.

Достаточно ли выучить один язык программирования, чтобы написать хорошую программу?

По хорошему, конечно, лучше знать оба языка и Basic и Pascal.
Учитывайте и то, что хорошей программой может быть и какая-нибудь мелкая простенькая программка, которая делает всего одну, но очень важную функцию и состоит из 10 строчек кода, но при этом она так необходима и удобна в использовании, что все считают её не просто хорошей, а отличной.
Поэтому ответом на этот вопрос может быть — да, но в зависимости от ситуации.

Почему я выбрал Pascal, Delphi и Lazarus?

1. В школе нас учили программировать на Basic, но с тех пор прошла куча времени и я уже ничего не помню, в университете программирования у нас не было, т. к. я не программист по образованию и пришёл в мир компьютеров по воле судьбы, которая подкидывала мне задачи из области ИТ, так вот однажды мне и попалась задача, которая невидимой рукой поставила меня на путь изучения Pascal
2. Однажды мне понадобилось написать программу и я отправился в магазин на поиски учебника по программированию и из нормальных и понятных мне, а самое главное описывающих то, что мне нужно, были только книги по Delphi (новой ветви развития Pascal)
3. На данный момент Pascal и Delphi преподают в школах и существует огромное количество литературы по ним
4. Самые известные народные проекты — мессенджеры QIP и Skype, аудиоплеер AIMP написаны на Delphi
5. Pascal повлиял на развитие многих других языков программирования, таких как C, Java, PHP, что облегчит понимание этих языков, если придётся учить их. С Java и PHP я сталкиваюсь часто, т. к. занимаюсь созданием различных плагинов и сборок движков сайтов.

Конечно, эти пять пунктов не всё, что повлияло на мой выбор, об остальных причинах я расскажу в отдельной статье, но в последнее время я уже начинаю поглядывать в сторону Microsoft Visual Studio и в частности на Visual Basic.

Есть ли смысл изучать Basic?

Несмотря на то, что некоторые, на подобие Эдсгера Дейкстра утверждают, что программирование в Basic и использование оператора GOTO ведёт к деградации личности программиста, что непрестанно повторяют упоротые красноглазые линуксоиды, которые не написали в своей жизни и строчки полезного кода, язык Basic и его реализация от Microsoft Visual Basic является мощной средой разработки при программировании для Windows, а оператор GOTO и способы его применения очень удобны, потому так и тянет использовать его повсюду. При этом у меня возникает вполне оправданный вопрос, почему использование аналогичного оператора go to в Паскале не ведёт к деградации? Потому что пишется через пробел? :D

За то время, когда Basic превратился в Visual Basic и развивался под опекой Microsoft он совершил большой прогресс в развитии и стал очень эффективным языком. Документация по Visual Basic, которая создаётся Microsoft, очень высокого качества, сторонних же книг по Visual Basic очень мало и качественных среди них немного.

Несколько раз я сталкивался с ситуацией, когда на Delphi было сложно реализовать какой-либо функционал. Реализация требовала покупки или лицензирования каких-либо модулей от сторонних разработчиков, при том, что подобный функционал уже был по умолчанию заложен в Visual Basic. Как думаю, уже некоторые догадались такие проблемы возникали, когда нужно было написать программы, которые тесно интегрируются с Windows и приложениями от Microsoft или используют её API.

Поэтому поверхностно могу ответить так — если программирование для вас больше хобби, и вы не хотите шибко заморачиваться, то Basic для вас отличный выбор, существует огромное количество сайтов, в том числе финансируемых Microsoft, где вы сможете быстро обучиться созданию интересных развлекательных программ и игр.

В тоже время если вы собираетесь программировать для Windows, MS Office и других приложений от Microsoft или системным программированием для Windows, а также в последствии плотно связать свою жизнь с коммерческим программированием для данной ОС и хотите освоить всю Visual Studio от Microsoft, то ваш выбор — это Basic (Visual Basic).

Индийские разработчики LinuxОдним словом выходит так, что изучение Basic – это сплошные перспективы :D

Если вы собираетесь писать бизнес, мультимедия или развлекательные приложения, а также  планируете стать мультисистемным программистом и затем изучать PHP, Java, C, то можете выбрать Pascal (Delphi), но готовьтесь к трудностям, финансовым затратам и набирайтесь терпения.

Не бывает плохих языков программирования, а выбор конкретного языка зависит от ваших задач и личных предпочтений, или как фишка ляжет, как это было в моём случае.

Для какой операционной системы перспективнее создавать приложения? Я слышал, что за линукс будущее.

Специфика данного сайта мультисистемна, вы можете прочитать о [моём взаимоотношении с линукс] и его перспективам, а также его самой широкой группе пользователей, именуемой красноглазыми, потому я, как человек, пишущий для обеих систем, отвечу, что перспективно писать для Windows, если вы собираетесь зарабатывать этим на жизнь, написать что-то полезное многим людям и получить за это благодарность или банально получить славу, в линукс нет перспектив – разработка программ для него сложна из-за многочисленных зависимостей – dependency hell, поэтому прежде, чем начать программировать, вам придётся потратить несколько лет на изучение самого линукс, его графических оболочек и различных системных библиотек, и уже потом, если не отпадёт желание, создавать ПО для него.
Каждые шесть месяцев многие системные библиотеки в линукс меняются или переписываются по новому и может получиться так, что вы будете заняты не развитием своего продукта, а поддержанием его функционирования на новых дистрибутивах.
Немаловажен и тот факт, что в некоторых случаях установка среды разработки в линукс превращается в целую эпопею с непредсказуемым концом.
Кроме того, в линукс огромное количество ошибок в компиляторах. Так из-за ошибки в компиляторе gcc, который шёл в комплекте с Ubuntu 8.10, я не смог собирать новые приложения для данного дистрибутива, которые были созданы на версии без ошибки, в итоге пришлось прекратить и развитие моего дистрибутива Jeder Linux Legacy, который был построен на базе Ubuntu 8.10.
Вам ведь не нужен весь этот линуксовый геморрой?
Не забывайте о том, что линукс лицензирован под разными версиями лицензии GPL, которая не даёт никаких преимуществ программисту, а ставит его в невыгодные ему ситуации, об этом я расскажу подробнее позже. Но именно это стало решающим фактором, почему я больше не пишу никаких приложений для Linux и не модифицирую код пакетов, из которых состоит мой дистрибутив.

Поэтому для меня, прочувствовавшего всё на своей шкуре, ответ однозначен – программирование для Windows.

Данной статьёй я начинаю серию материалов по обучению программированию, которые объяснят вам основы программирования, вы научитесь создавать консольные приложения, компьютерные игры и приложения с графическим интерфейсом.
Также будет уделено внимание и другим областям, которые тесно связаны с созданием приложений для Windows.

Так как я пока не силён в программировании на Visual Basic, то начнём с изучения Pascal, Delphi и Lazarus и потихонечку будем подтягивать Visual Basic.