C , C + + , Python , C # , Perl, Objective C , Ruby , Java , BASIC , Clojure , Scala är bland de litania av programmeringsspråk tillgängliga för modern mjukvaruutveckling laget . När det gäller att plocka ett av dessa språk att använda för ett visst projekt , kommer de viktigaste faktorerna i beslutet komma ner till de tekniska kraven för projektet och de språkkunskaper i utvecklingsteamet . Målplattform
En av de viktigaste faktorerna för programmeringsspråket ett projekt kommer att utvecklas i är målplattformen av en ansökan . Om ett lag är att utveckla en applikation som endast kommer att köras på operativsystemet Windows , så de kunde använda Microsofts Visual C # . Men , om laget har för avsikt att tillämpa för att köras på flera plattformar är det inte vettigt att programmera projektet på ett språk för att kompilera program för ett enda operativsystem . Något som Java , är det naturligt multi - plattform eller C + + , skulle vars källkod kan finjusteras för att kompilera för olika operativsystem , vara ett smartare val .
Bibliotek
Samtidigt som " lata " är oftast inte en bra sak , är det en bra sak att vara en lat programmerare . Lazy programmerare är utvecklare som använder befintliga verktyg för att utföra grundläggande funktioner i de nya sätt som är specifika för deras nuvarande projekt snarare än att spendera tid på att skapa ett helt nytt verktyg . Exempel på sådana verktyg som programmerare kan använda , snarare än att återuppfinna , omfattar bibliotek för att generera grafiska användargränssnitt eller etablera nätverksanslutningar . Dessa kan vara enskilda biblioteken tas ut av open source-projekt , eller expansiva , patentskyddad , uppsättningar av biblioteken . Om ett företag behöver för att använda sådana bibliotek för sina projekt , då de måste välja ett språk som biblioteket har ett gränssnitt . Till exempel, om ett utvecklingsteam ville använda Microsofts . NET ramverk , skulle de behöva använda en av Microsofts "Visuellt" programmeringsspråk .
Hårdvaran
Programmeringsspråk kan grovt delas in i " låg " nivå språk , som C och C + + , eller "hög" språk nivå, exempelvis Python och Perl . Låg nivå språk är utformade för att ge programmeraren mer tillgång till själva hårdvaran som körs på en viss enhet . Högnivåspråk , å andra sidan , hantera det mesta av detta tillträde för programmeraren . Om ett lag är att utveckla ett program vars syfte är inte att manipulera enskilda maskinvarukomponenter , t.ex. ett videospel , sedan använda en hög nivå programmeringsspråk som gör livet enklare för programmerare genom att hantera minnesanvändningen automatiskt . Om programvaran teamet utvecklar programvara som är särskilt utformade för att komma åt och manipulera maskinvarukomponenter , t.ex. styrprogram för robotiserade komponenter eller maskinvarudrivrutiner , då laget har att använda en låg nivå språk att få denna typ av tillgång .
Team kompetens
i avsaknad av andra faktorer som avgör vilket språk som ett projekt måste utvecklas , till exempel krav på hårdvaran eller bibliotek kompatibilitet , de färdigheter som en utveckling lagets medlemmar är kritiska till detta beslut . Om ett lag består av crack Java-utvecklare som är bekanta med C # och projektet skulle kunna slutföras i Java , då projektets chefer kommer antagligen laget göra projektet i Java . Detta beror på att laget skulle kunna slutföra projektet på kortare tid , med en bättre slutprodukt i det språk som de har mer skicklighet . Addera