Computerworld News Service: Microsofts to-do-liste i forhold til softwareudvikling inkluderer fortsatte og nye investeringer på flere forskellige områder heriblandt cloud computing, nettet, parallel computing, mobile enheder samt agil og distribueret udvikling, skriver en chef fra virksomheden i et blogindlæg.
Microsoft er i forbindelse med investerings-prioriteringen opmærksom på den voksende mængde af valgmuligheder, som udviklerne har i forhold til programmering, skriver S. Somasegar, som er senior vice president i Microsoft Developer Division, i et blogindlæg med titlen Key Software Development Trends.
"Mere end nogensinde før er udviklerne i dag åbne i forhold til at overveje og benytte adskillige teknologier, der gør det muligt for dem gnidningsfrit at bygge løsninger og levere dem hurtigt til deres kunder," påpeger Somasegar.
Microsoft har "engageret sig i at bringe de bedste cloud computing-platforme og services til Windows' økosystem," skriver han. Microsofts cloud-platform nævnes ikke ved navn i blogindlægget, men hedder Windows Azure.
"Skyen er blot et enkelt eksempel på en virtualiseret it-platform, og den næste generation af udvikler-værktøjer er nødt til at gøre det muligt at udvikle software, der kan udrulles og yde tilfredsstillende i skyen og andre virtuelle miljøer," fremhæver Somasegar.
Under overskriften "Nettet som platform" skriver Somasegar, at browseren leverer et rigt runtime-miljø og giver "friktionsfri adgang" til applikationer. Han bemærker, at brugen af JavaScript-biblioteker hjælper webudviklere til at få mere fra hånden med JavaScript, og henviser til Microsofts Silverlight-platform som et eksempel på en teknologi, der muliggør "medrivende internet-applikationer."
"Udviklerne vælger i stigende grad nettet som platform til software og softwareudvikling. Udviklere og designere bruger i stigende grad værktøjer, der tilbyder righoldig udvikling, fejlfinding og profilering, og som er designet til nettet," mener Somasegar.
Moores Lov opfyldes
I forhold til parallel-programmering påpeger Somasegar, at Moores Lov, der betyder, at processorydelsen fordobles hver 18. måned, nu opfyldes ved at tilføje flere processorkerner i stedet for at øge hver processorkernes ydelse.
"Kun en lille håndfuld programmører evner i dag at skrive kode med en god ydelse i miljøer med flere og mange processorkerner," siger han og tilføjer:
"I fremtiden vil parallel-biblioteker, -fejlfinding, -profilering og -diagnosticering gøre det muligt for flere udviklere at drage nytte af ressourcer til parallelberegning."
Agile udviklingsmetoder hos Microsoft selv
Microsofts tidligere bestræbelser i forhold til parallel computing inkluderer virksomhedens Concurrency Runtime, der leverer et planlægningslag til kontrol af applikationsressourcer.
For at imødekomme den hastige vækst inden for mobile enheder udvikler Microsoft software, der kan drage fordel af nye brugergrænseflader såsom talegenkendelse samt kamera- og touch-baserede løsninger, siger Somasegar.
"Windows 7 giver en fantastisk platforms-understøttelse af touch-kompatible applikationer. Silverlight og Windows Presentation Foundation har taget kamera-baserede interaktioner og multi-touch til sig, ligesom også Microsoft Foundation Class Library har gjort. Jeg forventer, at brugergrænseflade-paradigmerne vil fortsætte med at udvikle sig og blive mere intuitive og stærke," fortæller han.
I en anerkendelse af tendensen mod brugen af agile udviklingsmetoder, der muliggør en mere iterativ udvikling, vil Microsoft tage hensyn til de agile metoder i den kommende Visual Studio 2010 IDE, der efter planen vil udkomme i april, fortæller Somasegar. IDE understøtter agile processer såsom enhedstest og iterations-planlægning.
"Inden for Microsofts egne rækker har mange team selv integreret elementer af agile udviklingsmetoder i deres processer," oplyser han.
I forhold til distribueret udvikling siger Somasegar, at team, der arbejder på tværs af tidszoner og landegrænser bør have den samme oplevelse som en enlig udvikler, men samtidig gøre brug af cloud-baserede udviklingsaktiviteter som kode-inspektion og såkaldt remote pair programming.
"Gode udviklingsværktøjer til distribuerede team vil gøre det muligt for udviklere at bygge den næste generation af software og udnytte klodens talentpulje," siger Somasegar.
Han afslutter sit blogindlæg med en opfordring til læserne om at gøre opmærksom på andre vigtige tendenser, som Microsoft bør være opmærksom på.
Oversat af Thomas Bøndergaard