Под языками программирования для человека часто подразумевают сверхвысокоуровневые языки, приближенные к задачам человека, в противоположность низкоуровневым языкам, которые в значительной степени нацелены на обслуживание машины. Примером может служить Python. При таком рассмотрении упускается одна важная деталь.
Сверхвысокоуровневые языки программирования часто оказываются тёмными ящиками, которые обычному человеку необходимо исследовать приблизительно так же, как и явления природы, нередко и понимая их не намного лучше того, как понимали силы природы древние люди. Иными словами сверхвысокоуровневые языки пусть и находятся ближе к задачам человеку, чем машинные, но всё равно в большей степени относятся к компьютеру, чем к человеку.
Настоящий язык программирования для людей — это такой язык, в котором все возможности понятны и воспроизводимы человеком на воображаемой, но правдоподобной высокоуровневой машине. Воображаемая машина нужна потому что вне таких рамок человек способен слишком легко формулировать мысли, которые сам не понимает. Возможность исполнения настоящей машиной программ на таком языке — это лишь побочный эффект, но в первую очередь это способ мышления и средство понимания. В таком языке нет тёмных пятен для самого человека, и сама запись на нём, в целом, не может оказаться головоломкой.
Возможность с помощью человеческого языка программирования смоделировать что-то означает, что это было понято по-настоящему, а не просто так казалось, как бывает в воображении. По этой причине такой язык может помочь понять ранее неясную проблему. А использование воображаемой машины препятствует решению задач методом тыка.
Можно утверждать, что языков программировани для людей сейчас немного. Их не рекомендуют многочисленные советчики, рассказывающие о том, какой язык стоит изучать новичку, и даже в школе этому учат всё реже.
Человечность языка, на первый взгляд, не накладывает жёстких ограничений на то, что может он представлять из себя. Но если рассматривать конкретные примеры, то всё выглядит довольно похоже. Пожалуй, самой известной веткой человеческих языков программирования является линия Algol → Pascal → Oberon. Многие псевдокоды также являются вариациями этих языков, смешанными с естествнными языками.
Пример того, как язык программирования для людей можно исользовать для понимания — рассмотрение парадокса лжеца, до сих пор являющегося предметом заблуждений для многих, хотя при помощи языка программирования он оказывается чрезвычайно прост.
Комментариев нет:
Отправить комментарий