Одна из моих первых репетиторов по санскриту в те дни, когда я изучала дизайн на первом курсе и получила степень магистра по традиционной грамматике санскрита. Затем она вообще перестала заниматься санскритом, потому что стала программистом. «Программирование во многом похоже на работу с сутрами (формулами) санскритской грамматики, — сказала она.

В связи с недавним развитием ИИ снова возникают дискуссии о том, является ли санскрит научным языком. Я здесь не для того, чтобы возражать против этого утверждения (хотя и с провокационным названием); однако я хотел бы обсудить две вещи: 1) санскрит настолько научен, насколько это вообще возможно, но это не точно то, как работает язык программирования; и 2) многие разработчики, которые годами работали над JavaScript, до сих пор не могут ответить на собеседовании, что такое чистая функция. Учитывая, что огромное количество разработчиков из Индии, я подумал, что вместо того, чтобы повторять то, что другие должны были сказать о чистых функциях, использование новаторского способа введения темы оставит у читателя более сильное впечатление.

Санскрит, претензия и научная часть:

Быстрый поиск в Google с такими ключевыми словами, как «Научен ли санскрит», приведет нас к многочисленным страницам с похожими сообщениями, такими как эта:

Ученые из Национального управления по аэронавтике и исследованию космического пространства (НАСА) признали, что санскрит является наиболее научным языком, в котором слова пишутся точно так, как о них говорят или думают.

Однако могут быть некоторые неверные толкования, поскольку в оригинальной статье ученого НАСА Рика Бриггса санскрит обсуждался как репрезентативный язык в разработке ИИ. Не может быть дальше от истины, что НАСА в целом признало санскрит самым научным языком. На самом деле, я сомневаюсь, что многие ученые в НАСА слишком много знают о санскрите.

Я не могу не подчеркнуть, что я здесь не для того, чтобы утверждать обратное. В одной из немногих статей на Medium, таких как эта, автор Том Гольденберг привел примеры того, как организованы сутры в Аштадхьяи Панини. Я должен полностью согласиться.

Позвольте мне привести вам пример основ сандхи, соглашения на санскрите, которое предписывает звуковые изменения, когда определенные буквы помещаются вместе. Если вы студент, изучающий учебник санскрита, написанный западным жителем, вам, скорее всего, потребуется запомнить правила в виде таблицы. Одним из наиболее частых правил сандхи являются правила, определяющие, когда, например, звук у меняется на о, а когда aiдифтонг меняется на звук e. На западе начинающих студентов, изучающих санскрит, учат запоминать эти правила в виде таблицы в первом семестре занятий. Однако, если бы вы могли запомнить первые две формулы в Aṭādhyāyī,особенно следующие две:

вриддхирадаик (1.1.1)

аден гунах. (1.1.2)

В этих двух формулах упаковано огромное количество информации, и понимание того, как их расшифровать, сэкономит часы заучивания у изучающих санскрит. Короче говоря, Панини написал эти сутры на основе правила организации букв, называемого Махешварани Сутрани, чтобы представить огромную цепочку букв, а не писать каждую из них по отдельности,используя специальные термины (saṃjñā), такие как vṛddhiḥ и guṇaḥ, чтобы определить группу гласных и объединить их в две короткие формулы, чтобы предоставить массу информации. . Такие методы используются снова и снова, Aṭādhyāyīдляопределения правил грамматики санскрита, в которых программисты уже могут видеть сходство междуметодами Панини и программированием такие понятия, как перечисления и карты.

Чистые функции в Javascript

Давайте немного переключимся, чтобы поговорить о чистых функциях (поверьте мне, в конце вы увидите связи). Вот краткое определение из этой статьи о том, что такое чистая функция:

Чистая функция — это функция (блок кода), которая всегда возвращает один и тот же результат, если передаются одни и те же аргументы.

Рассмотрим два примера:

// A pure function 
function pureAdd(a, b) { 
  return a + b; 
}

// An impure function
function impureAdd(a, b) { 
  return Math.random() + a + b; 
}

Первая функция всегда будет давать нам те же результаты, что и a и b. Мы не можем ожидать таких же результатов от второй функции. Если бы нам нужно было определить санскрит как чистую или нечистую функцию, как бы вы его определили?

Санскрит — чистая или нечистая функция?

Прежде чем сразу дать ответ, давайте рассмотрим пример во второй главе важной работы по теории санскритской поэзии под названием Kāvyaprakāśa:

gaṅgāyāṃ ghoṣa ityatra taṭasya ghoṣādhikaraṇatvasiddhaye gaṅgāśabdaḥ svārthamarpayati ityevamadau lakṇaṇaiṣā lakshaṇā |

Не вдаваясь в технические термины теорий санскритской поэзии, грубый перевод таков: когда появляется термин gaṅgāyāṃ ghoṃ (что буквально означает «деревня в Ганге»), значение здесь становится "деревня на берегу Ганга". Если бы такие переменные, как условности и контексты, не принимались во внимание, а язык санскрита считался механическим во всех смыслах, мы бы никогда не пришли к такому выводу.

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

«krīḍituṃ gacchatu» ити мата вадати | etat śrutvā bālakaḥ adhyayanaṃ arabhate |

Буквальное значение: «Иди поиграй», — говорит мать. Услышав это, ребенок начинает делать домашнее задание.

Если бы мы могли игнорировать различные факторы и относиться к санскриту как к механическому языку, основанному на строгих правилах Aṣṭādhyāyī, почему мальчик начал бы делать домашнее задание после того, как его мать попросила его пойти поиграть? И наоборот, не будет ли ребенок играть всякий раз, когда он услышит, как его мать говорит «иди играй»? Почему одни и те же слова вызывают разные ожидания и ответы?

Так что нет, краткий ответ таков: санскрит как язык нельзя считать чистыми функциями.

Заключение

Хотя санскрит назван «языком богов» как язык, основанный на научно организованных правилах, он использовался людьми и не может избежать общепринятого использования языка. На самом деле, за долгую историю санскрита во многих важных литературах мог использоваться «неправильный» санскрит. По иронии судьбы мифологии санскритских богов и богинь, называемых Пуранами, могут не содержать «чистого» санскрита. Предпосылка о том, является ли санскрит «научным» или нет, выходит далеко за рамки любых блогов или статей, которые могут быть освещены, как слова и значения связаны друг с другом, была постоянной темой для споров среди философов в Индии, особенно среди мимансаков и грамматиков санскрита. Я призываю тех, кто интересуется этой темой, усовершенствовать свои навыки владения санскритом, а также глубже изучить то, как различные школы индийской философии объясняют этот вопрос.

Остальной мир увлекся Chat GPT с момента его появления, и одной из первых вещей, которые я попытался обыграть, я попросил его переводить между текстами на классическом китайском и санскрите. С несколькими незначительными ошибками Chat GPT отлично справился со своей задачей! Однако, когда меня просили перевести что-нибудь на тибетский — язык, не родственный санскриту, но чья традиционная грамматика объяснялась санскритскими условностями, — я часто получал предложения без остановок, несмотря на то, что тибетский язык используется гораздо чаще как разговорный, чем Санскрит в наше время (и да, вы можете говорить на санскрите!).

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