C , C + + , Python , C # , Perl , Objective C , Ruby , Java , BASIC , Clojure , Scala sono tra le litanie dei linguaggi di programmazione a disposizione del moderno team di sviluppo software . Quando si tratta di scegliere una di queste lingue da utilizzare per un progetto particolare , i principali fattori nella decisione scenderà ai requisiti tecnici del progetto e le competenze linguistiche del team di sviluppo . Piattaforma di destinazione
Uno dei fattori più importanti nel determinare il linguaggio di programmazione di un progetto sarà sviluppato in è la piattaforma di destinazione di un'applicazione. Se una squadra sta sviluppando un programma che verrà eseguito solo sul sistema operativo Windows , allora si potrebbe utilizzare Microsoft Visual C # . Tuttavia, se la squadra intende per l'applicazione per l'esecuzione su più piattaforme , non ha senso per programmare il progetto in un linguaggio progettato per compilare i programmi per un singolo sistema operativo . Qualcosa di simile a Java , che è intrinsecamente multi-piattaforma , o C + + , il cui codice sorgente può essere ottimizzato per compilare per diversi sistemi operativi , sarebbe una scelta più intelligente .
Biblioteche
< p > Pur essendo " pigro" di solito non è una buona cosa , è una cosa buona per essere un programmatore pigro . Programmatori pigri sono gli sviluppatori che utilizzano strumenti esistenti di svolgere le funzioni di base nei nuovi modi che sono particolare al loro progetto attuale , piuttosto che spendere tempo a creare uno strumento del tutto nuovo . Esempi di tali strumenti che i programmatori possono utilizzare , piuttosto che reinventare , includono librerie per la generazione di interfacce grafiche o stabilire connessioni di rete. Questi possono essere singole biblioteche messo fuori da progetti open source, o espansivi , proprietaria , set di librerie . Se una società ha bisogno di utilizzare tali librerie per i loro progetti , quindi avranno bisogno di selezionare una lingua per la quale la biblioteca dispone di un'interfaccia . Per esempio, se un team di sviluppo ha voluto utilizzare . NET di Microsoft , che avrebbero bisogno di utilizzare una delle lingue "visiva" di programmazione di Microsoft.
Hardware Accesso
linguaggi di programmazione
possono essere suddivisi in linguaggi di livello "basso", come C e C linguaggi di livello "alto", come Python e Perl + + o . Linguaggi di basso livello sono stati progettati per dare al programmatore più accesso all'hardware reale in esecuzione su un dato dispositivo . Linguaggi di alto livello , invece , gestiscono la maggior parte di questo accesso per il programmatore . Se una squadra sta sviluppando un programma il cui scopo non è quello di manipolare i singoli componenti hardware , come ad esempio un videogioco , quindi utilizzando un linguaggio di programmazione ad alto livello rende la vita più facile per i programmatori di gestire automaticamente l'utilizzo della memoria . Se il team di software sta sviluppando un software che è specificamente progettato per accedere e manipolare i componenti hardware , come ad esempio il software di controllo per i componenti robotiche o driver hardware , quindi la squadra deve utilizzare un linguaggio di basso livello per ottenere questo tipo di accesso .
Team insieme di abilità
in assenza di altri fattori che determinano la lingua in cui deve essere sviluppato un progetto , come ad esempio i requisiti di accesso hardware o compatibilità biblioteca , l' insieme di abilità di uno sviluppo i membri del team è fondamentale per questa decisione. Se una squadra è composta di crack sviluppatori Java che abbiano familiarità con C # e il progetto potrebbe essere completato in Java , allora manager del progetto avranno probabilmente il team di fare il progetto in Java . Questo perché la squadra sarebbe in grado di completare il progetto in meno tempo , con un prodotto finale migliore nella lingua con cui hanno più abilità .