C , C + + , Python , C # , Perl , Objective C , Ruby , Java , BASIC , Clojure , Scala er blant de oppramsing av programmeringsspråk tilgjengelig til den moderne programvareutvikling team. Når det gjelder å plukke ett av disse språkene for å bruke for et bestemt prosjekt , vil de viktigste faktorene i avgjørelsen komme ned til de tekniske kravene i prosjektet og de språklige ferdighetene til utviklingsteamet . Target Plattform
En av de viktigste faktorene for å bestemme programmeringsspråket et prosjekt vil bli utviklet i er målet plattformen av en søknad . Hvis et lag er å utvikle et program som bare vil kjøre på operativsystemet Windows , så de kunne bruke Microsofts Visual C # . Men hvis laget hensikt for at programmet skal kjøres på flere plattformer det ikke fornuftig å programmere prosjektet på et språk utviklet for å kompilere programmer for ett enkelt operativsystem . Noe som Java , er at iboende multi - plattform, eller C + +, ville der kildekoden kan bli forskjøvet til å kompilere for ulike operativsystemer , være et smartere valg .
Biblioteker
< p> Mens være " lat " er vanligvis ikke en god ting, er det en god ting å være en lat programmerer. Lazy programmerere er utviklere som bruker eksisterende verktøy for å utføre grunnleggende funksjoner i de nye måter som er bestemt til deres nåværende prosjekt snarere enn å bruke tid på å lage et helt nytt verktøy . Eksempler på slike verktøy som programmerere kan bruke, snarere enn gjenoppfinne , inkluderer bibliotek for generering av grafiske brukergrensesnitt eller etablere nettverkstilkoblinger . Disse kan være individuelle bibliotekene satt ut av åpen kildekode-prosjekter , eller ekspansive , proprietær , sett med biblioteker. Hvis et selskap trenger å bruke slike biblioteker for sine prosjekter , så vil de trenger for å velge et språk som biblioteket har et grensesnitt . For eksempel, hvis en utvikling team ønsket å bruke Microsofts. NET rammeverket , ville de trenger å bruke en av Microsofts " Visual " programmeringsspråk.
Hardware Tilgang
Programmeringsspråk kan grovt deles inn i "lav" nivå språk som C og C + + , eller " høyt" nivå språk, for eksempel Python og Perl . Lavt nivå språk er utformet for å gi programmereren mer tilgang til selve maskinvaren kjører på en gitt enhet. Høynivå-språk , på den annen side , leder det meste av denne tilgang for programmereren. Hvis et lag er å utvikle et program hvis formål er ikke å manipulere individuelle maskinvarekomponenter , for eksempel et spill , deretter bruke en høynivå programmeringsspråk som gjør livet enklere for programmerere ved å styre minnebruk automatisk. Hvis programvaren teamet er å utvikle programvare som er spesielt utviklet for å få tilgang til og manipulere maskinvarekomponenter , for eksempel programvare for robot- komponenter eller maskinvaredrivere , så laget må bruke et lavt nivå språk for å få denne type tilgang.
teamet Skill Sett
i fravær av andre faktorer som styrer språket som et prosjekt må utvikles , som maskinvare- tilgang krav eller bibliotek kompatibilitet , ferdigheter sett av en utvikling lagets medlemmer er kritisk til denne avgjørelsen . Dersom et lag sammensatt av crack Java-utviklere som er kjent med C # og prosjektet kan være ferdig i Java , da prosjektets ledere vil trolig ha teamet gjøre prosjektet i Java. Dette er fordi laget vil være i stand til å fullføre prosjektet på kortere tid , med et bedre sluttprodukt i språket som de har mer dyktighet .