Trả lời muộn, nhưng vì chưa có câu trả lời được chấp nhận, tôi sẽ thử. Tôi coi đó là hai câu hỏi và sẽ cố gắng trả lời riêng:
Làm thế nào để các nhà quản lý chọn ngôn ngữ lập trình?
Phụ thuộc nhiều vào quy mô của tổ chức và kinh nghiệm của người quản lý, nhưng nhìn chung sẽ liên quan đến việc đánh giá tình hình hiện tại và các kịch bản và yêu cầu trong tương lai. Điều này thường được thực hiện thông qua PESTLE hoặc phân tích tương tự, và chỉ để đưa ra một vài mẫu trong mỗi loại:
- Chính trị
- "Không ai bị sa thải vì mua IBM" - sự lựa chọn an toàn.
- CEO nghe nói rằng Java rất tuyệt - cường điệu.
- Kiến trúc sư trưởng yêu thích .NET - dự án thú cưng.
- Ngôn ngữ được kiểm soát bởi một đối thủ cạnh tranh thù địch - tại sao Google không dựa vào C #.
- Kinh tế
- Chi phí cấp phép.
- Chi phí đào tạo nhà phát triển.
- Mã chi phí di chuyển cơ sở.
- Xã hội
- Mua vào từ đội.
- Kỹ năng sẵn có trong nhà (nhu cầu đào tạo, liên tục).
- Kỹ năng sẵn có trên thị trường.
- Đe dọa đến hiện trạng trong nhóm nhà phát triển.
- Có sẵn của cộng đồng thực hành đủ lớn.
- Công nghệ
- Nâng cao năng suất.
- Cải thiện chất lượng.
- Khả năng tương tác với cơ sở mã hiện có.
- Tuân thủ các tiêu chuẩn.
- Trưởng thành.
- Hợp pháp
- Điều khoản cấp phép.
- Kiểm soát công nghệ (Ai sở hữu và kiểm soát công nghệ? Chiến lược cấp phép trong tương lai có khả năng là gì?)
- Tuân thủ pháp luật và quy định.
- Môi trường
- Cơ sở hạ tầng hiện có trong công ty.
- Kỹ năng hiện có trong công ty.
- Tích hợp với các đối tác bên ngoài.
- Mức độ hỗ trợ công nghệ của môi trường rộng lớn hơn.
Sau đó, một loạt các ngôn ngữ phù hợp với tiêu chí có thể được đánh giá thêm bằng cách sử dụng SWOT , phân tích lợi ích chi phí hoặc tương tự.
Toàn bộ quá trình có thể khá phức tạp, nhưng vì điểm mấu chốt là hầu hết các công ty hoặc nhóm dự án sẽ đi đến lựa chọn an toàn nhất với hoàn cảnh hiện tại của họ vẫn có thể cung cấp các khả năng họ cần. Thông thường, nó có thể có nghĩa là gắn bó với nền tảng hiện tại lâu hơn.
Làm thế nào một lập trình viên có thể giúp đảm bảo ngôn ngữ lập trình phù hợp được chọn cho một dự án
Như đã từng, hy vọng, đã chứng minh một lập trình viên điển hình thường sẽ chỉ bằng 1/6 tổng số đầu vào trong quá trình ra quyết định. Và như một quy luật, cô ấy hoặc anh ấy sẽ chủ yếu quan tâm đến khả năng ngôn ngữ một mình!
Chà, cách tốt nhất để tác động đến quyết định dường như có một bức tranh rộng lớn hơn về quá trình lựa chọn, làm cho các đồng minh trong và ngoài nhóm, tạo ra một bản tóm tắt tốt về mặt công nghệ của mọi thứ và cố gắng không tập trung vào khả năng ngôn ngữ một mình.
Và, tất nhiên, người ta cần vào vị trí khi Giám đốc Dự án hoặc Phát triển (hoặc bất kỳ ai chịu trách nhiệm) thấy được lợi ích của việc trải qua toàn bộ quá trình đánh giá và sẵn sàng xem xét các rủi ro và sự không chắc chắn của việc chuyển sang khác ngôn ngữ ở nơi đầu tiên. Để điều này xảy ra, nó cần phải được chứng minh rằng:
- Nền tảng hiện tại không còn đủ.
- Một nền tảng mới hứa hẹn những lợi ích vượt xa những rắc rối.
Tuy nhiên, liệu bạn có hỏi "Cách tốt nhất để có thể sử dụng ngôn ngữ tôi thích là gì", câu trả lời có lẽ là "tham gia một công ty đã sử dụng ngôn ngữ hoặc bắt đầu ngôn ngữ của bạn".