プログラミング言語、位置言語、自然言語


8

アセンブリ言語のように、一部のプログラミング言語はマシンコードをモデルにしています。他の言語は自然言語である英語をモデルにしています。その他は、マシンコードまたは自然言語のどちらにもモデル化されていません。たとえば、PROLOGなどの言語はどちらのモデルにも従いません。

私はこのPerlモジュールLingua :: Romana :: Perligataに出くわしました。これにより、ラテン語によく似た構文を使用してプログラムを記述できます。

位置構文が少ないプログラミング言語はありますか?

フランス語、ヘブライ語、ペルシア語など、他の自然言語に触発された構文で記述できる他の言語またはモジュールはありますか?ウィキペディアに非常に長いリストがありますがそれらのプロジェクトのほとんどは死んでいます。

StackOverflowに関連する質問があります。受け入れられた答えは「グーグルを使う」です。


1
完全に関連しているわけではありませんが、答えの多くは構文の変更をサポートする言語に関係しているため、探しているものである可能性があります。http
Telastyn 2012

2
一部のプログラミング言語は、マシンコードまたは自然言語でモデル化されていません。たとえば、PROLOGなどの言語はどちらのモデルにも従いません...
Andres F.

また、主に数学に触発されたプログラミング言語にも注意する必要があります。少なくともPLの研究では、これらはかなり一般的です。
Tikhon Jelvis

@TikhonJelvisプログラミング言語では、数学的な構造や概念を表現できることが自然言語に似ているよりも重要であると考えられているということですか?
ВиталийОлегович

ちょっと。特に、主に数学的なアイデアを使用して計算を表す言語について考えています。Haskellのようなほとんどの関数型プログラミング言語。したがって、それは数学的概念を表現するだけでなく、実際には状態やIOの表現などすべてにそれらを使用します。また、自然言語よりも数学表記に近いです。
Tikhon Jelvis 2012年

回答:


2

現在使用されている唯一のプログラミング言語は、頭の中で思い浮かぶHTMLです。プログラミング言語の定義に応じて、これはカウントされる場合とカウントされない場合があります。

位置構文が少ない使用頻度の高いプログラミング言語が多くない理由を理解するには、ほとんどのプログラミング言語の設計方法を理解する必要があります。ほとんどのプログラミング言語は、主にLLおよびLR文法を使用することにより、明確な文法に基づいています。文法を明確に保つために、ほとんどのテクノロジーは、記号や単語の順序を使用して(例えば、ターミナル)、入力を明確にすることに依存しています。あなたが探しているのは、文法を明確にするための立場をあきらめる言語です。コンパイラーが文法が明確であるかどうかを判断するために位置を使用できない場合、コンパイラーは、文法を明確にするために他のいくつかのヒント、つまり#、%、 '、 "などの接頭辞を必要とします。別の手法は、各値にキーワードを関連付けることですwidth = 10、これはHTMLが行うことです。

宣言型言語は、PROLOGやSQLなど、私が知っている一般的に最も近い言語ですが、やはりいくつかの位置値を使用する必要があります。

頭に浮かぶ他の唯一の言語は、ワトソンのような入力を処理するAIシステムへの話し言葉ですが、これもプログラミング言語だと思いますか。SQLをプログラミング言語だと考えるなら、なぜWatsonの言語クエリではないのでしょう。


素晴らしい説明ありがとうございます!この方法では、HTML言語に多数のキーワードが必要になると思います。トークンに関する通常の説明は、トークンのタイプを決定するために使用できると思います。もちろん、それはコンパイラをはるかに遅くします。
ВиталийОлегович

また、拡張により、XMLを検討することもできます。
alfa64 2012

3
文法の少ないForthを検討するかもしれません。
Gort the Robot

1
AFAIK HTMLはプログラミング言語ではありません。
jcora

3
HTMLはマークアップ言語です。それがMの略です。チューリング完全ではないため、プログラミング言語ではありません。XMLもプログラミング言語ではありません。これらはデータエンコーディング形式です。これは、JPEGがプログラミング言語だと言っているようなものです。

2

Oracle Policy Automationには、自然言語でコーディングされたビジネスルールがあります。一見の価値ありです。

例は次のとおりです。

Human Resources Policy 100 – Maternity Leave 

100.1. The employee is eligible for maternity leave if

a. The employee is female and
b. Either
 i. The employee has given birth to a natural child or
 ii. The employee has taken legal custody of an adopted child
 and
c. The employee is a full time employee and
d. The employee has been employed for at least 12 months continuously

例の元のソース

オラクルの公式ドキュメントはこちらです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.