自己書き換えを制限、gotoを制限、
動的型を制限、オブジェクトに制限
こうやって複雑さを増やすコードに制限をもうけることで大規模なプログラムが作りやすくなる。