Вопрос явно выходит за рамки формата БВ. Поэтому обо всех языках, с которыми приходилось иметь дело, я рассказывать тут не буду (может когда-нибудь напишу в мемуарах).
<hr />
Начну с системы "Мастер", которую в конце 80-х придумал Евгений Веселов (создатель текстового редактора "Лексикон") с компанией из ВЦ АН СССР. Это была инструментальная система со своей БД, языком программирования, текстовым редактором, электронными таблицами, графикой. Она представляла собой Интерпретатор команд, написанный на языке Си. Основным объектом системы была "рамка". Все команды языка - на русском языке, типа: ОткрытьОбласть(), ОткрытьБазу(), Врамке(форма1, поле5) = 10. С помощью этой системы были написаны программы автоматизации Бухгалтерии, ФРЦ (финансово-расчетного центра), многих приложений в области Сельского Хозяйства и др.. Предполагалось, что современный экономист и бухгалтер легко освоят несложный язык системы "Мастер" и будут в состоянии самостоятельно расширять нужный функционал. На практике оказалось, что требуется, чтобы рядом с ними сидел программист-консультант. Конкурировать с западными разработками российские разработки не могли. После того, как многие талантливые программисты из России уехали на Запад, дальнейшего развития система Мастер не получила.
<hr />
FoxPro 2.6 (под MS DOS). Это была довольно шустрая БВ в архитектуре файл-сервер. У неё существовал, разумеется, свой язык. Приятно, что был встроенный help, вызываемый по контексту. Основной "фишкой" языка были команды scatter memvar и gather memvar, которые позволяли извлекать (scatter) из записи БД все поля в переменные и записывать (gather) их обратно (после соответствующих действий). Существовало понятие "курсор" - временная база. С помощью курсоров удавалось существенно увеличивать быстродействие запросов к БД.
На FoxPro под MS DOS было написано достаточно много приложений, которые работали в различных областях народного хозяйства России.
<hr />
Python (jython) (на сленге программистов "питон") - язык программирования высокого уровня. Jython - реализация Python на Java, широко используется при разработке web-приложения. Основное понятие - объект. Объектом может быть всё, что угодно. Ключевые объекты: словарь, список, кортеж. Примеры:
словарь = {u"Вася":u"Белый", "Sam":"Black", "Nobody":""}, список = ['',u'одна',u"две"]. Кортеж: (u'муж',u'жен') - это тот же список, который нельзя редактировать.
Строки можно писать как в одинарных ковычках, так и в двойных. Для выделения текста используются тройные кавычки. Чтобы указать, что читать в Unicode, перед строкой ставится символ 'u' (иначе будет абракадабра). Важно, что нумерация в списках в python начинается с 0. Списки, словари могут комбинироваться и вкладываться друг в друга как угодно. К ним легко добавлять новые элементы. Формат JSON по сути является комбинацией списков и словарей. Это аналог xml, причем более лаконичный.
Для python существует огромное количество библиотек, которые вы можете подключать к своему проекту.
В python не нужно специально объявлять объекты (переменные). Это происходит автоматически в момент появления объекта. Не нужны специальные операторы типа begin и end. Циклы выделяются отступами (обычно 4 пробела).
В python широко используется понятие метода. Например, метод iterate(). Чтобы перебрать все значения списка (или выборки из БД в курсор), достаточно написать:
for rec in tab1.iterate():
____rec.name = u'Новое значение'
____pass #тут что-то может делаться ещё ('#' - символ начала комментария)
____tab1.update()
В логических значениях нет необходимости писать is not None, поскольку в python несколько иная логика. Следующие записи эквивалентны:
# Первый вариант
if tab1.name is not None:
____data['schema']['@name'] = tab1.name
else:
____data['schema']['@name'] = ''
# Второй вариант
data['schema']['@name'] = tab1.name if tab1.name is not None else ''
# Третий вариант
data['schema']['@name'] = tab1.name if tab1.name else ''
Python удивительный, по началу кажущийся странным, но таящий в себе большие возможности язык программирования.