Từ quan điểm của tôi, thông tin như vậy rất cần thiết để thu hút những người đóng góp mới, cũng như cung cấp cho người dùng tiềm năng một ý tưởng ngay lập tức về việc họ có thể đòi hỏi bao nhiêu công việc để tích hợp ứng dụng vào hệ thống của họ.
- Một khía cạnh chung là các thư viện được sử dụng khi chạy ứng dụng.
Một số cài đặt được giới hạn trong một số bộ công cụ được chọn, như GTK + nhưng không phải là QT hoặc ngược lại. Đối với một quản trị viên duy trì một hệ thống và thường xuyên cập nhật các thành phần của nó trong một thời gian dài, đây có thể chỉ là một câu hỏi thực tế và không phải là một câu hỏi tôn giáo.
- Một khía cạnh khác là các thư viện được sử dụng và các điều kiện tiên quyết cần thiết để biên dịch ứng dụng.
Tức là đối với người dùng phân phối Linux dựa trên nguồn, nó tạo ra sự khác biệt lớn cho dù ứng dụng được viết bằng C hay Objective-C, vì trình biên dịch của họ cần hỗ trợ ngôn ngữ ngay từ đầu. Các ngôn ngữ khác có thể khiến bạn cần phải cài đặt một đống thư viện khổng lồ. Câu hỏi sau đó là, một lần nữa, bạn sẵn sàng chấp nhận bao nhiêu công việc để biên dịch ứng dụng này.
- Một khía cạnh khác là ý định thu hút những người đóng góp.
Hầu hết các nhà phát triển có sở thích cho một số ít ngôn ngữ hoặc có thể đơn giản là thiếu kinh nghiệm trong các ngôn ngữ khác. Để cho phép số lượng người đóng góp nhiều hơn cho một ứng dụng, một số dự án thậm chí còn chia nguồn của họ thành hai ngôn ngữ khác nhau (như Wesnoth, Vega Strike, Naev, chỉ để nêu tên một số). Một trong số chúng cho ứng dụng lõi (như C hoặc C ++), một cái khác để dễ dàng sửa đổi (như Python hoặc Lua). Đây là một liên kết đến một chương của "Kiến trúc của các ứng dụng nguồn mở" mô tả cách thức và lý do tại sao điều này được thực hiện trong Wesnoth.
- Cuối cùng, rõ ràng có rất nhiều thành kiến và thành kiến đối với một số ngôn ngữ.
Tôi sẽ chỉ nói rằng tôi đã thấy phần mềm kém hiệu quả khủng khiếp được viết bằng bất kỳ ngôn ngữ nào. Nếu bạn hỏi tôi, về hiệu quả, chất lượng mã của ứng dụng quan trọng hơn nhiều so với ngôn ngữ mà nó được viết.