11

これからコードを書くときは、まずすべてを美しく読みやすい擬似コードにレイアウトしてから、その構造に沿ってプログラムを実装する予定です。

私が現在知っている言語を、翻訳するのが最も簡単なものから最も難しいものの順にランク付けすると、次のようになります。

Lisp、Python、Lua、C++、Java、C

各言語には長所と短所があることはわかっていますが、特に疑似コードに焦点を当てています。疑似コードからコードへの変換に最適な言語は何ですか? 私はいつも新しい言語を学ぶことを楽しんでいます。また、現在この手法を使用している場合は、実用的な疑似コードを構築するためのヒントをぜひお聞かせください。

注: これは主観的なものだと思いますが、個人の好みに応じて明確な答えがあります。ここで質問しているのは、SO コミュニティには非常に幅広い聴衆がいて、他の方法では遭遇しないような言語やテクニックを提案してくれる可能性が高いからです。

4

13 に答える 13

15

ほとんどの人は接頭辞の括弧構文を使用して擬似コードを記述しないため、私は Lisp よりも Python を最初に評価します :)

于 2009-06-05T00:09:18.017 に答える
7

あなたが書く「ソースコード」は本を書くようなものですが、実際のコードに「もつれ」たり、フォーマットされたドキュメントに「織り込まれた」ことができる本です。

http://www.literateprogramming.com/cweb_download.htmlで提供されている例を参照してください。

エッフェルも興味深いかもしれません。

「... Eiffel は、コンパイラーへの最適化のヒントとして意図されたコーディングのトリックやコーディング手法を避けています。その目的は、コードを読みやすくすることだけでなく、プログラマーが行き詰まることなくプログラムの重要な側面に集中できるようにすることでもあります。実装の詳細....」

于 2009-06-05T00:24:47.300 に答える
7

Pascal は、その種の疑似コード記述では比較的人気がありました。

于 2009-06-05T00:12:19.493 に答える
4

それは疑似コードのフレーバーに正確に依存していると思います。Algorithms の教科書で見た疑似コードの多くは、皮肉なことに Pascal のように見えます。Pascal は常に優れた教育用言語と見なされていました。

于 2009-06-05T00:10:25.520 に答える
2

これは、「実行可能な疑似コード」としてのPythonへの最初の言及であると私が信じているものへのリンクですこの記事は、オーストラリアのメルボルン PC ユーザー グループの雑誌である PC Update の 2001 年 8 月号から転載したものです。

于 2009-06-05T00:34:39.620 に答える
1

.NET の小さなコードをテストするとき、Booが私の「疑似コード」言語になっていることがわかりました。Python の型構文に非常に似ています。

于 2009-06-05T00:08:38.533 に答える
1

あなたはすでにそれについて言及しましたが..

Python には非常に明確な構文があります。これは疑似コードに非常に近く、読みやすいです。

于 2009-06-05T00:10:04.630 に答える
1

私はあなたがこれを逆に持っていると思います。この質問の問題は、実際のコードに使用する予定の言語に近い言語で疑似コードを作成する傾向があることです。一般的に使用されているプログラミング言語の融合である (エスペラントのような?) 疑似コード言語を作成したい人は誰でも手を差し伸べてください。

于 2009-06-05T00:50:19.540 に答える
1

TCL 構文は、疑似コードに最もよく似ています。コマンドは、読みやすくするため、およびアセンブリ コードのより一般的な低レベルの操作を表現するために、関数よりも優先されます。同時に、高度なアルゴリズムも非常に読みやすくなっています。構文が統一されているため、ユーザーは言語成果物ではなくステップに集中できます。数学演算の「expr」キーワードは、プログラムの数学部分とアルゴリズム部分を明確に区別するため、利点があるとさえ言えます。オーバーロードされる記号が少なくなり、代わりに「set」などの単語が使用されます。これは、疑似コードのもう 1 つの利点です。他のどの構文よりも、TCL は関数型スタイルと命令型スタイルの境界にまたがっています。

于 2011-07-06T15:48:22.110 に答える
0

Flash の Actionscript を試すことができます。

于 2009-06-05T00:31:06.693 に答える
0

疑似コードからの変換には lua が最適だと思います (ほとんどの場合)。変数の名前が適切である限り、lua はほとんどのプログラマーが簡単に読み取ることができ、かなり高速です!

于 2009-06-05T00:32:56.673 に答える
0

Prolog は、他の方法では遭遇しない可能性があるものです。疑似コードの問題をまとめて回避します。ある意味、コードはありません。あるのは事実とルールだけです。

たとえば、append 述語は、次のように、リストについて私たちが知っていることです:
リスト Y を空のリストに追加すると、Y が生成されます。

append([], Y, Y).

X を Y に追加すると Z が得られる場合、同じ値を X と Z の前に追加しても関係は維持されます。

append([X|Xs], Ys, [X|Zs]) :- append(Xs, Ys, Zs). 

私たちは実際に何かを行うコードを書いていません。リストの追加について知っていることを述べただけです。しかし今、Prolog に 2 つのリストを追加するように依頼できます。

?- append([1,2],[3,4],Z).
Z = [1, 2, 3, 4].

または、Prolog にリストを渡して、ターゲット リストを取得するために追加できるリストを表示するように依頼します。

?- append(X,Y,[1,2]).
X = [],
Y = [1, 2] ;
X = [1],
Y = [2] ;
X = [1, 2],
Y = [] ;
于 2010-04-28T01:36:48.720 に答える
0

Ada は疑似コードに非常によく似ているという Nosredna のコメントに同意します。

Ada に必要な余分な入力がすべて気にならないのであれば、コードが実際に意味を持っているので、Ada は素晴らしい言語だと思います。

于 2009-06-05T01:38:19.430 に答える