Ngôn ngữ lập trình được chia ra làm 4 giai đoạn phát triển:
- Ngôn ngữ thế hệ 1: Ngôn ngữ máy, được viết bằng các lệnh mã nhị phân: 101010
-Ngôn ngữ thế hệ 2: Hợp ngữ, sự lai tạp, thay thế các lệnh ngôn ngữ máy bàng một ngôn ngữ gợi tả hơn mà ở đó mỗi lệnh được viết bằng một dòng. Ưu điển của nó là trương trình sau khi biên dịch rất nhỏ gọn, rễ dàng xâm nhập vào hạ tầng hệ thống: VD mov ax, 2h
-Ngôn ngữ thế hệ 3:Ngôn ngữ lập trình có cấu trúc ra đời đánh dấu bước phát triển vượt bậc về mặt lập trình, các lập trình viên không còn phải khó nhọc như khi lập trình hợp ngữ. Ở đây chương trình được module hoá dưới dạng các hàm, các thủ tục. Đại diện của thế hệ này là Pascal, Fotran, C....
+ Trong đó ngôn ngữ C là một ngôn ngữ thế hệ 3 rất mạnh, phải nói đúng hơn là C chưa phải là một ngôn ngữ thế hệ 3 toàn vẹn, nó là ngôn ngữ thế hệ 2,5 thì đúng hơn. Ngôn ngữ C rất mềm dẻo, và hơn nữa với sự xúc tích của các câu lệnh đã làm C rất được các nhà lập sử dụng làm ngôn ngữ phát triển ứng dụng của mình. Sự ưa thích C đã đưa nó đến những phát triển kế tiếp: Visual C, C Builder...
+ Ngôn ngữ C++ là bước phát triển kế tiếp của ngôn ngữ C, ở đây thên một công cụ lập trình mới, thêm một phương pháp lập trình mới đó la lập trình hướng đối tượng OOP (Object Oriented Programming). Lập trình hướng đối tượng là ở đó chương trình được phân hoạch vào các mođule là các đối tượng có khả năng tự chứa dữ liệu (thuộc tính - Properties), tự giải quyết các vấn để liên quan (phương thức - Method). Ban hiểu nôm na như sau: Một chiếc xe đạp có các thành phần là có 2 bánh, có bàn đạp, có xích ...Đây được gọi là các thuộc tính của nó. Xe đạp còn có khả năng đi, dừng, nổ xăm...Đây được gọi là các phương thức của nó...
- Thế hệ thứ 4: Là các ngôn ngữ trực quan Visual C, Visual Basic, C Builder, Denphi. Là các ngôn ngữ hướng đối tượng mà ở đó một phần modul chương trình được hỗ trợ lập trình ở mức trực quan, trực tiếp (Ví dụ như phần giao diện). Nói đúng hơn đây là các ngôn ngữ hướng sự kiện.
- Java: Đây là ngôn ngữ được phát triển bởi công ty Sun Microsytem. Được đánh giá là ngôn ngữ lập trình mạng rất mạnh. Ưu điển của nó là hướng đối tượng triệt để, chạy trên mọi hệ điều hành có cài máy ảo Java, Có khả năng tuỳ biến giao diện theo sự lựa chọn của người dùng...