Câu hỏi cho việc chọn lựa “đúng” ngôn ngữ lập trình ln là chủ đề được đưa ra trong qui trình lập trình.Việc chọn lựa ngơn ngữ lập trình trong cơng đoạn thực thi của một dự án ln đóng vai trị quan trọng.
Trong trường hợp lý tưởng, thiết kế nên đảm trách mà khơng có bất cứ kiến thức liên quan đến ngơn ngữ thực hiện sau đó sao cho thiết kế có thể thực hiện được trên bất kỳ ngơn ngữ lập trình nào.
2.1 Chất lượng địi hỏi cho một ngơn ngữ lập trình:
• Tính mơ đun hóa • Giá trị của tài liệu • Cấu trúc dữ liệu
• Control flow (luồng điều khiển) • Tính hiệu quả
• Khả năng tích hợp (Integrity) • Tính khả chuyển (Portability) • Hỗ trợ hộp thoại
• Yếu tố ngôn ngữ chuyên biệt
2.2 Khả năng Mô đun hóa của ngơn ngữ lập trình
Khả năng mơ đun hóa là mức độ hỗ trợ những khả năng mơ đun hóa chương trình. Phác thảo một chương trình lớn thành nhiều mô đun là điều kiện tiên quyết để thực thi trong dự án phần mềm.
Khơng có khả năng mơ đun hóa thì phân chia cơng việc trong giai đoạn thực hiện trở nên không thể được. Những chương trình đơn nhất trở nên khơng thể quản lý: chúng khó có thể bảo trì và sưu liệu và chúng thực hiện với thời gian biên dịch dài.
Ngôn ngữ như Pascal chuẩn (không hỗ trợ mô đun, nhưng so sánh với Turbo Pascal và Mođun 2) để chứng minh tính khơng thích hợp cho những dự án lớn.
Nếu một ngôn ngữ hỗ trợ phát thảo một chương trình thành những phần nhỏ, chúng phải đảm bảo những thành phần phải hoạt động với nhau. Nếu một thủ tục được thực thi ở mô đun khác, cũng được kiểm tra thủ tục có thực sự tồn tại và nó có được sử dụng chính xác hay không (nghĩa là số tham số và kiểu dữ liệu là chính xác).
Những ngơn ngữ với việc biên dịch độc lập (ví dụ như C) nơi việc kiểm tra của ngơn ngữ chỉ thay thế ở q trình run-time.
Ngơn ngữ với việc biên dịch tách biệt (ví dụ Ada và Modula-2) mỗi mơ đun có một mơ tả giao diện cung cấp những phương thức cơ bản cho việc kiểm tra những thành phần của mô đun dùng tại thời điểm chạy chương trình (run time).
2.3 Giá trị sưu liệu của ngơn ngữ lập trình
Ảnh hưởng của khả năng có thể đọc và bảo trì của chương trình. Điều quan trọng của giá trị sưu liệu được nâng lên đối với những chương trình lớn và cho những phần mềm mà khách hàng vẫn tiếp tục phát triển.
Giá trị của sưu liệu cao mang lại kết quả hơn. Vì chương trình nói chung chỉ được 1 lần nhưng việc đọc nó có thể lặp lại, hiệu quả tối thiểu thêm vào trong cách viết sẽ chịu ảnh hưởng không đâu nhiều hơn là trong quá trình bảo trì. Giống như phạm vi ngơn ngữ ảnh hưởng đến khả năng đọc chương trình
Nhiều ngôn ngữ mở rộng với quá nhiều chức năng chuyên biệt sẽ khó để hiểu thấu tất cả chi tiết, vì vậy dẫn đến giải thích sai.
2.4 Cấu trúc dữ liệu trong ngơn ngữ lập trình
Dữ liệu phức tạp phải được xử lý, sự sẵn sàng trong cấu trúc dữ liệu trong ngơn ngữ lập trình đóng vai trị quan trọng.
Ngôn ngữ như C cho phép khai báo con trỏ đối với cấu trúc dữ liệu. Điều này cho phép cấu trúc dữ liệu phức tạp, và phạm vi và cấu trúc của chúng có thể thay đổi ở thời điểm run- time. Tuy nhiên, việc drawback những cấu trúc dữ liệu chúng được mở và được phép truy xuất không nghiêm ngặt (nhưng so sánh với Java).
Trọng tâm trong dự án lớn với nhiều nhóm dự án, dữ liệu trừu tượng mang nghĩa cụ thể. Mặc dù dữ liệu trừu tượng có thể phân biệt với bất kỳ mô đun ngôn ngữ, bởi khả năng đọc tốt hơn.
Ngơn ngữ lập trình hướng đối tượng có những đặc trưng mở rộng loại kiểu dữ liệu trừu tượng cho phép hiện thực hoá những hệ thống phần mềm phức tạp. Đối với những giải pháp mở rộng và uyển chuyển, ngơn ngữ lập trình hướng đối tượng cung cấp tuỳ chọn đặc biệt tốt.
2.5 Ví dụ minh họa
Ví dụ: Giai đoạn thực hiện phần mềm quản lý thư viện, các giai đoạn trước đã được minh họa ở các chương trước
Giai đoạn 5: Thực hiện phần mềm
Hệ thống lớp đối tượng: Tạo lập các lớp đối tượng (THU_VIEN, DOC_GIA, SACH) theo mô tả của phần thiết kế trong một môi trường cụ thể nào đó (Visual Basic, Visual C++, Java,…)
Hệ thống giao diện: Tạo lập (vẽ) các màn hình giao diện (màn hình chính, màn hình lập thẻ, màn hình cho mượn sách, màn hình nhận sách, màn hình trả sách) theo mơ tả của phần thiết kế trong một mơi trường cụ thể nào đó (Visual Basic, Viusal C++, Java) Hệ thống lưu trữ: Tạo lập cấu trúc cơ sở dữ liệu (các bảng THU_VIEN, DOC_GIA,
SACH, MUON_SACH) theo mô tả của phần thiết kế trong mơi trường cụ thể nào đó(Access, SQL Server, Oracle,…)