アルゴリズム と ロジック の違い

世の中には、何でもかんでも アルゴリズム という言葉を使って説明しているプログラマーが居ます。また、そのような書籍も存在します。
アルゴリズム という言葉とよく似た言葉で ロジック というものもあります。
ここでは、アルゴリズムとロジックの違いを簡単に説明します。揚げ足とりをするつもりはありません。

 

言葉の定義的なことではありません。実際にどのような意図で使われるのかということを説明します。
言葉の定義的にはどっちも同じようなものなので、自分が好きな方をお使いになればよろしいかとおもいます。

 

言葉の定義はこちら

アルゴリズムの定義

 

ロジックの定義

 

アルゴリズムとは

アルゴリズムとは、数学寄りの話になります。
アルゴリズム事典とかに掲載されていたり、論文が発表されていたり、その手法に名前がついているものを一般的にアルゴリズムと呼びます。
(もしくは自分が行動な数学理論を理解しており、そういう方法を構成できるのであれば、自分の考えたものもアルゴリズムと言うことができるでしょう。
ですが、そんなことは稀ですね。普通のプログラマではあまり無いことです。私は、「自分でアルゴリズムを考えて発表した」なんて人は見たことがありません。)

 

そもそも、様々なアルゴリズムはもう便利なライブラリで実装されており、自分で組むということすらありません。
アルゴリズム事典みたいな本を読みながらコーディングし始めた場合、本当にそれは便利なライブラリが実装してくれていないのか?自分で組む必要があるのかをご確認ください。論文や書籍に載ってるコードはたいてい複雑だし、エラー処理もほぼありません。
そんなの使うのはバグの温床になるだけです。ソートのアルゴリズムを自分で書くんじゃないよ!

 

ロジック

問題を解決するための手順をロジックと言います。アルゴリズムと言えるほどアカデミックでもないし、特別な名前がついている訳でもないものはたいていロジックです。多くの場合は、処理の順番や手順のことをロジックと言って良いと思います。

 

「処理Aと処理Bを入れ替えたら処理速度が速くなった」というのはロジックです。

 

まとめ

  • べつにちゃんとした定義なんか無い。
  • ただ、なんでもかんでも偉そうにアルゴリズムと言ってると馬鹿だと思われる。
  • 大抵の場合、それはアルゴリズムじゃなくてロジック。
  • アルゴリズムとロジックの違いなんて記事を偉そうに書いてる人は自分の定義をゴリ押ししてるだけなので要注意。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です