私は最近、話し言葉のコンピューター言語であるRpokuと呼ばれるものに出会いました。また、別のアプローチをとるVoice Codeと呼ばれる研究もいくつか見つけました。ここにデモビデオがあります..
これは有望に見えますか、それともただのおもちゃですか? いつの日か、キーボードをタイプせずにアプリケーションを作成できるようになるのでしょうか?
私は最近、話し言葉のコンピューター言語であるRpokuと呼ばれるものに出会いました。また、別のアプローチをとるVoice Codeと呼ばれる研究もいくつか見つけました。ここにデモビデオがあります..
これは有望に見えますか、それともただのおもちゃですか? いつの日か、キーボードをタイプせずにアプリケーションを作成できるようになるのでしょうか?
私はこれについてよく考えてきました。そして、プログラマーが文章を書くときと同じように口頭でも生産性を発揮できるようにするには、パラダイム シフトが必要になると思います (スタートレックの規模での AI の進歩は言うまでもありません)。
たとえば、この単純なコード例では、実際には、入力している以上のことを言っています。
List<Employee> ListOfEmployees = new List<Employee>();
foreach (Employee emp in ListOfEmployees) {
Console.WriteLine(emp.Name);
}
そのコード ブロックでは、次のように言っています。
従業員オブジェクトの汎用リストを作成し、従業員オブジェクトをデフォルトに初期化します。その後、従業員オブジェクトを 1 つずつ繰り返し処理し、それぞれの名前をコンソールに出力します。
(簡単にするために、従業員に名前を割り当てるコードを意図的に省略しました)。
やりたいことを言うよりも、そのコードをタイプする方がはるかに高速でした。そうでなくても、コンピューターが私の言葉を実際のコードに変換するには、用語を定義する必要がありました。これが非常に高水準の言語であることは言うまでもありません -- Perl (または C) が話されたらどのようになるか想像してみてください。
一つには、それは恐ろしい考えだと思います。話し言葉が意味を成し、より簡単になるためには、実際にはある程度自由な形式である必要があります。最終的には、「コンパイラ」が実際に私が望むことを行うために文法的に受け入れられるものを見つけようとするだけであり、今日の言語と同じように「技術的」になります。羊の皮を被った狼。
自殺したくなったらやってみようかな :D
おそらくそうではありません。または、少なくともまだです。次のステップは、読み書きのできるプログラミングと DSL です。
そうかもしれませんが、そうでないかもしれません。利害関係者にソフトウェアの意図を実際に理解してもらうためだけに、これ以上書きたいとは思いません。私たちは?
とにかく、ここにこれらすべてに関する興味深いビデオがあります。
http://www.infoq.com/presentations/domain-specific-languages
デバッグはせいぜい面倒です。
音声言語を使用してプログラムを駆動するという点で、もっと考えているのではないかと思います。高レベルの関数とデータのセットがあれば、印刷、リスト、および従業員名が既に定義されている限り、(例を盗むために) 「従業員名のリストを印刷する」と簡単に言うことができます。