TÓM TẮT
Bối cảnh và mục đích
Trong tháng 6 năm 1994 Trợ lý Bộ trưởng Quốc phòng cho Command, Control, Communications và tình báo đưa một cuộc khảo sát ngôn ngữ lập trình của Bộ Quốc phòng Mỹ (DoD). Mục đích là để xác định số lượng ngôn ngữ lập trình được sử dụng ngày hôm nay trong DoD so với 20 năm trước, khi Bộ Quốc phòng đầu tiên bắt đầu phát triển ngôn ngữ lập trình Ada.
Một nghiên cứu năm 1977, "Một ngôn ngữ lập trình chung cho Bộ Quốc phòng-nền, lịch sử và yêu cầu kỹ thuật ", xác định" 450 "là tối thiểu, số lượng có thể của ngôn ngữ mục đích chung và tiếng địa phương được sử dụng trong Bộ Quốc phòng, nhưng đã đi vào để nói rằng con số thực tế đã không được biết đến. Làm thế nào ước tính này, và các phương pháp sử dụng để đếm ngôn ngữ gốc, phiên bản, và tiếng địa phương, đã đến được vẫn hỏi. Trong khảo sát này, như là một phần của việc thiết lập một phương pháp mạnh mẽ, đếm số lượng ngôn ngữ được sử dụng ngày nay yêu cầu đầu vào của các tổ chức phát triển hoặc duy trì các hệ thống tự động thông tin (AISS) và các hệ thống vũ khí. Một mẫu điều tra dân số sẽ bao gồm các hệ thống mới, những người đang được hiện đại hóa, và những người đang được duy trì. Trong nghiên cứu này, một mẫu đánh giá của các hệ thống vũ khí đã được xác định từ năm 1994 yêu cầu ngân sách của Tổng thống về Nghiên cứu, phát triển, thử nghiệm và đánh giá các chương trình trên 15 triệu $ và các chương trình mua sắm quá 25 triệu $ (RDT & E). Trong số các chương trình 1.300 xác định, 423 chương trình được chọn vì chúng bao gồm các ứng dụng phần mềm. Danh sách Bộ Quốc phòng hiện tại của 53 AISS lớn được sử dụng như một mẫu dân số cho các hệ thống phi vũ khí.
Các chuyên gia trong lĩnh vực ngôn ngữ lập trình có khác biệt đáng kể trong việc phân loại ngôn ngữ lập trình cho tính mục đích, đặc biệt là trong việc xác định các thuật ngữ "phương ngữ" và "phiên bản. " Đối với bài viết này, chúng tôi sử dụng thuật ngữ "phương ngữ" để chỉ một sự thay đổi tương đối nhỏ trong một ngôn ngữ trong khi "phiên bản" chỉ ra một sự thay đổi lớn và thường có một "tên" khác nhau mặc dù cái tên "" mới chỉ có thể được nối của một khác nhau năm hoặc số với tên ban đầu (ví dụ, Jovial, Jovial 73). Chúng tôi tính một "phiên bản" của một ngôn ngữ gốc như một ngôn ngữ riêng biệt. Các phương pháp và thu thập dữ liệu tiếp cận được giải thích chi tiết trong báo cáo này cho phép mở rộng hơn nữa của dân số mẫu.
Các phát hiện và kết luận
các ước tính 237.600.000 dòng nguồn mã trong cuộc khảo sát này được phân bố trong năm thế hệ (Bảng ES-1 và ES-2 ).
có 37 thế hệ thứ ba ngôn ngữ mục đích chung và đặc biệt, sau này được chỉ được sử dụng trong các hệ thống vũ khí. (Bảng ES-3 và ES-4).
Đối với cả hai hệ thống vũ khí và AISS, hơn 80% các ứng dụng được viết bằng ngôn ngữ thế hệ thứ ba.
Có sử dụng nhiều hơn các ngôn ngữ thế hệ thứ tư trong các ứng dụng AIS do thương mại off-the- sản phẩm kệ cho các ứng dụng như quản lý dữ liệu, hiển thị đồ họa tương tác, và biên tập viên.
có sử dụng nhiều hơn các ngôn ngữ thế hệ thứ nhất và thứ hai (máy và lắp ráp, tương ứng) trong các hệ thống vũ khí hơn trong các ứng dụng AIS. Sự khác biệt này là do việc sử dụng các mục đích đặc biệt các máy tính nhúng trong các hệ thống vũ khí.
Hầu hết các công ty chỉ ra rằng hơn một ngôn ngữ đang được sử dụng trong phần mềm ứng dụng. Sử dụng đa ngôn ngữ này bao gồm các ngôn ngữ từ tất cả năm thế hệ. Với ngôn ngữ hiện đại lập trình và trình biên dịch, tăng cường sử dụng các sản phẩm COTS, và tái sử dụng các thành phần phần mềm, nó sẽ trở thành một thực tế phổ biến để sản xuất các ứng dụng với các thành phần được viết bằng các ngôn ngữ khác nhau.
Khuyến nghị
Chấp nhận số 450 hoặc tổng quát hơn ngôn ngữ lập trình mục đích trong sử dụng vào những năm 1970, chúng ta có thể thấy sự tiến bộ đáng kể đã được thực hiện bởi các cơ quân sự và các cơ quan trong việc giảm số lượng đến 37 trong các hệ thống lớn, có tính mới hoặc được hiện đại hóa. Tuy nhiên, cuộc khảo sát cho thấy một di sản đáng kể của các ứng dụng vẫn sử dụng phiên bản cũ của ngôn ngữ lập trình, ngôn ngữ nhà cung cấp duy nhất, và các ngôn ngữ quân sự được xác định. Các chi phí bảo trì cho các ứng dụng này có thể được giảm và độ tin cậy của họ tăng lên bằng cách chuyển đổi các ứng dụng này với một phiên bản hiện tại của một ngôn ngữ thông tin liên bang Processing Standard. Phương pháp chuyển đổi tự động nên cung cấp một công nghệ hiệu quả chi phí để tạo điều kiện chuyển đổi này. Re-kỹ thuật các ứng dụng trong ngôn ngữ khác cũng là một cơ hội giảm chi phí. Mã dư thừa có thể được loại bỏ, các thành phần phần mềm có thể được tái sử dụng, hiện đại và off-the-shelf công cụ lập trình có thể được sử dụng để cải thiện khả năng bảo trì và độ tin cậy.
Do đó, chúng tôi đề nghị Chương trình dịch vụ và Quốc phòng Cơ quan quản lý thường xuyên xem xét các ứng dụng phần mềm của họ để xác định một chiến lược chuyển đổi và kế hoạch nâng cấp chúng cho các phiên bản hiện tại của các tiêu chuẩn dựa trên các phiên bản của ngôn ngữ và công cụ tiết kiệm lao động hiện đại. Sự tiến bộ trong việc giảm số lượng ngôn ngữ được sử dụng, như thể hiện trong cuộc khảo sát này, chỉ ra rằng giảm hơn nữa nên có thể. Thật vậy, chúng ta nhận ra rằng một số mi
đang được dịch, vui lòng đợi..
