Tuy ngôn ngữ máy cũng là một loại ngôn ngữ lập trình nhưng ở đây chúng ta hiểu ngôn ngữ lập trình là ngộn ngữ lập trình bậc cao.trong ngôn ngữ máy mọi chỉ thị đều được biểu diễn bởi các con số nhị phân 0 và 1.
Ngôn ngữ máy khó đọc và khó sử dụng tuy vậy ngôn ngữ máy là ngôn ngữ duy nhất mà bộ vi xử lí có thể nhận biết và thực hiện một các trực tiếp.
Ngoài ra yếu điểm chính của các chương trình viết bằng ngôn ngữ máy là phụ thuộc vào phần cứng máy tính.các ngôn ngữ lập trình bậc cao được phát triển để khắc phục các yếu điểm trên của ngôn ngữ máy.
Ngôn ngữ lập trình sử dụng các cụm từ tự nhiên nên dễ nhớ,đễ học và không phụthuộc vào phần cứng máy tính