質問: プログラムというのはまずプログラムの仕様を決めて、 そのプログラムのアルゴリズムや流れをフローチャートかアクティビティ図に書き込み、 そのフローチャートかアクティビティ図をもとにプログラミング言語でプログラムをするのがプログラムの基本だと思っています。 しかし、自分が作ったアルゴリズムやプログラムの流れに不備がないか不安な時やアセンブリ言語やLISPなどといった特殊な仕組みのコードを使う言語を使う予定がある時など(よくネタプログラミング言語のベースとなるBrainf**kも特殊な仕組みに入れられますね。)に そのプログラムを本来使う予定のとは違うプログラミング言語でテストしてから、本来使う予定のプログラミング言語でプログラムを組むというのはありなのでしょうか? 僕もこれがありなのかどうか不安なので、早急にお答えください。
回答: TL;DR: 可能です。 理論的な話をすると、**チューリング完全**という概念があり、広く使われているプログラミング言語の多くは万能チューリングマシンと同じ計算能力を持つとされています。 このため、あるチューリング完全である言語で実装可能なものは、他のチューリング完全な言語でも実装可能となります。 ただし、言語特有のライブラリなどに依存する問題により、実際には実現困難な場合もあります。