Säg den programmerare som inte har ägnat sig åt ”copy and paste”. Det kan till exempel handla om några smarta kodrader för att lösa ett problem, som finns tillgängliga på en sajt som Stack Overflow.

Men ofta måste koden som kopieras redigeras för att den ska fungera. Det kan vara triviala ändringar som att byta namn på variabler, men det kan också vara mer komplexa ändringar, till exempel vad gäller kodstrukturen.

Ett lite mer extremt exempel är att man hittar kod som löser ett problem på ett bra sätt, men att den är skriven med ett annat språk än ens egen mjukvara. I vissa lägen, om det inte går att anropa moduler skrivna i olika språk, så blir det nödvändigt att konvertera koden till önskat språk.

Läs ocksåPerfekta julklappen? Byggsats låter kidsen bygga en Raspberry Pi-laptop

Motherboard berättar om ett nytt verktyg som ska underlätta kopiering av kod. Det heter Code Carbon Copy, har skapats på universitet MIT och befinner sig i experimentstadiet. Det presenterades nyligen på en konferens i Paderborn i Tyskland, se faktaruta.

Forskarna på MIT har testat att göra åtta kodkopieringar, mellan sex program som finns tillgängliga för verklig användning, som VLC, MT Paint och M Player. Sju av kopieringarna gick bra, men i det åttonde fallet, från MT Paint till Bmp2tiff, fungerade det helt enkelt inte. Det berodde på att krångliga datastrukturer användes, vilket beskrivs i en rapport.

Som det ser ut i dagsläget befinner sig sådana här verktyg i en väldigt tidig fas av sin utveckling. Det behövs en hel del mänsklig inblandning i processen, till exempel för att kontrollera resultatet av en kopiering och, inte minst, ange vilken kod som ska kopieras.

Läs ocksåNu kommer servrarna med Nvidias nya monsterpropp

Så världens alla programmerare behöver inte vara rädda för att bli ersatta av kopieringsverktyg riktigt än. Men kanske kan sådana så småningom underlätta det dagliga arbetet för en del programmerare.

Fakta

Konferensen hette Association for Computing Machinery's Symposium on the Foundations of Software Engineering.