Risposta in ritardo, ma poiché non esiste ancora una risposta accettata, la proverò. Lo prendo come due domande e cercherò di rispondere separatamente:
In che modo i manager scelgono i linguaggi di programmazione?
Dipende fortemente dalla dimensione dell'organizzazione e dall'esperienza del manager, ma generalmente implica la valutazione della situazione attuale e degli scenari e requisiti futuri. Questo di solito viene eseguito tramite PESTLE o analisi simili e solo per fornire alcuni esempi in ciascuna categoria:
- Politico
- "Nessuno è stato licenziato per aver acquistato IBM" - scelta sicura.
- Il CEO ha appreso che Java è cool - hype.
- Chief Architect ama .NET - progetto per animali domestici.
- La lingua è controllata da un concorrente ostile, perché Google non si affida a C #.
- Economico
- Costi di licenza.
- Costo della formazione degli sviluppatori.
- Costi di migrazione della base di codice.
- Sociale
- Buy-in dal team.
- Disponibilità di competenze in casa (esigenze di formazione, continuità).
- Disponibilità di competenze sul mercato.
- Minaccia allo status quo esistente all'interno del team di sviluppo.
- Disponibilità di comunità di pratica sufficientemente ampia.
- Tecnologico
- Miglioramento della produttività.
- Miglioramento di qualità.
- Capacità di interoperare con la base di codice esistente.
- Aderenza agli standard.
- Scadenza.
- legale
- Termini di licenza.
- Controllo della tecnologia (Chi possiede e controlla la tecnologia? Qual è probabilmente la futura strategia di licenza?)
- Conformità legale e normativa.
- Ambientale
- Infrastruttura esistente all'interno dell'azienda.
- Competenze esistenti all'interno dell'azienda.
- Integrazione con partner esterni.
- Livello di supporto tecnologico da parte di un ambiente più ampio.
Quindi un gruppo di lingue corrispondenti ai criteri può essere ulteriormente valutato utilizzando SWOT , analisi costi- benefici o simili.
L'intero processo può essere piuttosto complesso, ma come linea di fondo la maggior parte delle aziende o dei team di progetto sceglieranno l'opzione più sicura date le loro attuali circostanze che possono ancora offrire le capacità di cui hanno bisogno. Abbastanza spesso potrebbe significare rimanere più a lungo sulla piattaforma attuale.
In che modo un programmatore può assicurarsi di scegliere il linguaggio di programmazione giusto per un progetto?
Come è stato, si spera, dimostrato che un programmatore tipico avrebbe normalmente solo 1/6 dell'input totale nel processo decisionale. E di norma lei o lui sarebbero interessati principalmente alle capacità linguistiche da solo!
Bene, il modo migliore per influenzare la decisione sembra avere un quadro più ampio del processo di selezione, fare alleati all'interno e all'esterno del team, creare un buon brief sul lato tecnologico delle cose e cercare di non concentrarsi solo sulle capacità linguistiche.
E, naturalmente, è necessario entrare nella posizione in cui un responsabile del progetto o dello sviluppo (o chiunque altro sia responsabile) vede i benefici derivanti dall'intero processo di valutazione ed è pronto a considerare i rischi e le incertezze del passaggio a un altro la lingua in primo luogo. Perché ciò accada, è necessario dimostrare che:
- La piattaforma attuale non è più adeguata.
- Una nuova piattaforma promette vantaggi che superano di gran lunga la seccatura.
Tuttavia, avresti chiesto "Qual è il modo migliore per essere in grado di utilizzare sul posto di lavoro la lingua che mi piace", probabilmente la risposta sarebbe stata "unisciti a un'azienda che già utilizza la lingua o creane una tua".