誰かがautolisp/visual lispの以下の機能の背後にある設計の根拠を説明できるのだろうか?私には、受け入れられたソフトウェアの練習に直面して飛ぶように見えます...私は何かを逃していますか?誰でもAutolisp/visual lispの背後にある設計上の決定を私に説明できますか?
- (関数の引数で
/
後に置かない限り、すなわち)すべての変数は、デフォルトではグローバルで のAutoCADから
- 読み取り/書き込みデータは、マジックナンバーのたくさんの連想リストにものを置くことが必要です。
10
はx/y座標を意味し、90
は座標リストの長さを意味し、63
は色などを意味します。これらの値はいくつかの定数に格納できますが、これはさらに多くのグローバルを意味し、ドキュメントはマジックナンバーを直接使用することを奨励します。 - Lispは関数スタイルの言語であり、反復による再帰によるプログラミングを奨励していますが、tail re recursionはビジュアルlispでは最適化されていないので、恐ろしい呼び出しスタックにつながります。しかし、ループ構文は非常に制限的です。例えば終了条件に何らかのフラグを立てない限り、ループから値を抜けたり、ループから値を返すことはできません。結果、醜いコード。
- 一般的に、関数型プログラミングでは、どこにでも変数を宣言する必要があります。なぜ機能(-ish)言語を使うのですか?
"これは、著者が許可なく、そのまま"取った "もので、後方互換性がないことを恐れて改善することを心配することはありませんでした。 @Will - Man。 –
私はそれがそれを説明すると思います。元のXLISPは、彼が真剣に推進していたものではなく、作家のおもちゃプロジェクトでした。 – Inaimathi
1983年から1986年の日付はLispの優れた習慣に先立つものではありません。 1986年までに、Common Lispはすでに存在し、1994年に標準化されたものとほぼ同じものでした。それは前景のケースではありませんが、ヒントを持っていないケースです。 AutoLispは1960年代にいくつかのLispsよりも悪かった。 – Kaz