低レベルのプログラミング言語は、マシンのハードウェアを念頭に置いて記述されており、0からのインデックス作成も例外ではありません。Cプログラミング言語は、アレイインデックスがメモリの位置の差を測定しているため、0ベースの配列インデックスを使用するため、0は最初のインデックスを参照します。Cはプログラミングの世界の他の世界に非常に影響を与えていたため、他の多くの言語も0ベースのアレイインデックスの使用を開始しました。ただし、LuaやMatlabなどの一部の高レベルの言語は、この慣習を無視しています。これは、プログラミングを初めて使用する人を混乱させる可能性が高いためです。
Low-level programming languages are written with the machine's hardware in mind, and indexing from 0 is no exception. The C programming language uses 0-based array indexing, because the array index is measuring the difference in memory locations, so 0 would refer to the first index. Because C was so influential on the rest of the programming world, many other languages also started using 0-based array indexing. However, some higher-level languages such as Lua or MATLAB ignore this convention, most likely because it can be confusing for those new to programming.