В первую очередь эти языки программирования отличаются, конечно, синтаксисом. В Бэйсике и Паскале разные наборы операторов и разные правила написания программ. Так, в Бэйсике каждая строка программы обязательно должна быть пронумерована, в Паскале этого не требуется. Зато каждая программа на Паскале обязательно должна начинаться со слова program и иметь собственное имя, чего нет в Бэйсике. Но помимо этого существуют более серьезные отличия.
В Паскале требуется обязательное объявление переменных в начале программы или подпрограммы с указанием их типа. В Бэйсике этого не требуется, только при работе с массивами в начале программы необходимо указать их размерность. Это вызывает определенные сложности при работе с подпрограммами и функциями – в Бэйсике, в отличие от Паскаля, все переменные являются глобальными.
Кстати, о подпрограммах. В Бэйсике они не имели имен, не могли принимать значения переменных и возвращать параметры, не допускали обращения к самим себе (рекурсии). В Паскале такие возможности уже были реализованы.
Оба языка создавались как учебные. Но Бэйсик, не смотря на свою громоздкость и неповоротливость, долгое время использовался и в рабочих целях. Для написания небольших алгоритмов он вполне подходил, но для сложных многоуровневых систем был неудобен. Паскаль был больше приспособлен для решения сложных задач, однако, так и остался учебным языком.