text: また多様なプログラミング言語が生み出される背景には、さまざまな事情があり、ハードウェアが時代とともに変化してきたことや、プログラミング言語というテクノロジーやコンピュータサイエンスの発展も影響しており、下のような諸事情もある。プログラムと言っても、個人が自分だけのために趣味で書く数行から数十行程度の短いプログラム（やスクリプト）から、数百人のプログラマが協働して企業の大規模なシステムのために書く長大なプログラムまで、様々なプログラムがある。プログラミング言語の記述に 簡潔さを求め、可読性が高いことを求め、バグが入り込みにくい記述を好むプログラマの方が多く、世の中では一般的である（特に、業務として、ミスの少ないプロの仕事としてプログラミングを行わなければいけない職業的プログラマで多い）一方で、ごちゃごちゃして難読で、一名で書くならともかく複数名でプログラムを書くと高頻度で誤読やバグを招きがちな記述でもあまり気にしなかったり面白がる趣味的なプログラマも一部にいる。プログラムが搭載されるシステムも多様で、マイクロコントローラ、組み込みシステムから汎用デスクトップPC、GPUそしてスーパーコンピュータまで様々あり、それぞれのシステムのハードウェアの特性や制約に合ったプログラムやプログラミング言語がある。もともとプログラミング言語はもっぱら大学のコンピュータサイエンスの研究室や大手企業の研究所などの奥深くばかりで開発されていたのだが、ここ数十年では個人が趣味的に新しいプログラミング言語を構想しそのコンパイラを自分で書くための書籍なども時折出版されるようになり、つまり世の中の普通の人が新たなプログラミング言語を独自に作成するためのノウハウも広まってハードルが次第に下がってきている。ウィキペディアに記事が掲載されているプログラミング言語を知りたい場合はプログラミング言語一覧を参照のこと。分類・種類  プログラミング言語の分類法は多数ある。ひとつの分類法としては（そして計算機科学の教科書や情報処理技術者の教科書などで、まっさきに一種の定番のように挙げてある分類方法としては）、機械寄り（CPU寄り）か人間（の思考）寄りか、で分類する方法であり、低水準言語 / 高水準言語 と分類する方法である。（" 低級言語 / 高級言語 " とも）低水準言語の例としては、機械語の「命令コード」