Późna odpowiedź, ale ponieważ nie ma jeszcze akceptowanej odpowiedzi, spróbuję. Przyjmuję to jako dwa pytania i spróbuję na nie odpowiedzieć osobno:
Jak menedżerowie wybierają języki programowania?
W dużej mierze zależy od wielkości organizacji i doświadczenia menedżera, ale generalnie będzie polegać na ocenie obecnej sytuacji oraz przyszłych scenariuszy i wymagań. Zwykle odbywa się to za pomocą PESTLE lub podobnej analizy i tylko po to, aby podać kilka próbek w każdej kategorii:
- Polityczny
- „Nikt nie został zwolniony za zakup IBM” - bezpieczny wybór.
- Prezes usłyszał, że Java jest fajna - szum.
- Główny architekt uwielbia .NET - projekt dla zwierząt.
- Językiem kontroluje wrogi konkurent - dlaczego Google nie polega na C #.
- Ekonomiczny
- Koszty licencjonowania.
- Koszt szkolenia programisty.
- Koszty migracji bazy kodu.
- Społeczny
- Wpisowe od zespołu.
- Dostępność umiejętności w domu (potrzeby szkoleniowe, ciągłość).
- Dostępność umiejętności na rynku.
- Zagrożenie dla istniejącego status quo w zespole deweloperów.
- Dostępność wystarczająco dużej społeczności praktyk.
- Techniczny
- Poprawa wydajności.
- Polepszanie jakości.
- Możliwość współpracy z istniejącą bazą kodu.
- Przestrzeganie standardów.
- Dojrzałość.
- Prawny
- Warunki licencyjne.
- Kontrola technologii (Kto jest właścicielem technologii i kontroluje ją? Jaka może być strategia licencjonowania w przyszłości?)
- Zgodność z prawem i przepisami.
- Środowiskowy
- Istniejąca infrastruktura w firmie.
- Istniejące umiejętności w firmie.
- Integracja z partnerami zewnętrznymi.
- Poziom wsparcia technologicznego przez szersze środowisko.
Następnie kilka języków spełniających kryteria może być dalej oceniane za pomocą SWOT , analizy kosztów i korzyści lub podobnych.
Cały proces może być dość złożony, ale w ostatecznym rozrachunku większość firm lub zespołów projektowych wybierze najbezpieczniejszą opcję, biorąc pod uwagę ich obecną sytuację, która wciąż może zapewnić potrzebne im możliwości. Dość często może to oznaczać dłuższe trzymanie się obecnej platformy.
W jaki sposób programista może pomóc upewnić się, że dla projektu wybrano odpowiedni język programowania
Jak się okazało, mam nadzieję, że wykazano, że typowy programista zwykle miałby tylko 1/6 całkowitego wkładu w proces decyzyjny. I z reguły ona lub on byliby zainteresowani wyłącznie umiejętnościami językowymi!
Cóż, najlepszym sposobem na wpływ na decyzję wydaje się mieć szerszy obraz procesu selekcji, zawieranie sojuszników w zespole i poza nim, tworzenie dobrego opisu strony technologicznej i staranie się nie koncentrować wyłącznie na umiejętnościach językowych.
I oczywiście trzeba zająć pozycję, gdy kierownik projektu lub rozwoju (lub ktokolwiek inny odpowiedzialny) dostrzeże korzyści płynące z całego procesu oceny i jest przygotowany do rozważenia ryzyka i niepewności związanych z przejściem na inną język w pierwszej kolejności. Aby tak się stało, należy wykazać, że:
- Obecna platforma nie jest już wystarczająca.
- Nowa platforma obiecuje korzyści, które zdecydowanie przewyższają problemy.
Jednak gdybyś zapytał „Jaki jest najlepszy sposób, aby móc używać w pracy języka, który lubię”, odpowiedzią byłaby prawdopodobnie „dołącz do firmy, która już używa tego języka lub załóż własny”.