Gå til hovedindhold
Version2 it for professionelle
Forsiden

Hovedmenu

  • It-nyheder
  • Blogs
  • It-job
  • It-firmaer
  • Whitepapers
  • Opret bruger
  • Log ind
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?
Se kommentarer (2)
Emner Udviklingsværktøjer, C#

Sådan flyttes milliarder af kodelinjer fra VB6

Microsoft har endegyldigt vinket farvel til Visual Basic version 6. Afløseren, VB.Net, er ikke bagudkompatibel, men firmaet Artinsoft fra Costa Rica kan hjælpe med en oversættermaskine.

Af Tania Andersen Onsdag, 11. februar 2009 - 11:02

VB6 er en død sild. Microsoft har vinket farvel til den gamle udgave af Visual Basic, som ikke er kompatibel med efterfølgeren, Visual Studio .Net.

Det var nødvendigt at modernisere Visual Basic på en række områder, for at få sproget til at passe sammen med det kørselsmiljø, som ligger under hele familien af .Net-sprog. Det betyder, at mange firmaer står med håret i postkassen og massevis af VB6-kode på disken.

Firmaet Artinsoft, som er baseret i Costa Rica, har udviklet et værktøj, som kan oversætte VB6 til VB.Net og C#.

Det er i høj grad C#, som kunderne er interesseret i at oversætte til, fortæller Artinsofts direktør Roberto Leitón Garro, der er i Danmark for at snakke med samarbejdspartneren Avanade.

»I de næste tre til fem år er der 24 milliarder linjers kode, som skal flyttes. Det giver en ide om, hvor meget VB6, der er derude,« fortæller Roberto Leitón Garro.

Artinsofts værktøj kan tilrettes kundernes ønsker. Det skyldes at problemerne ved at oversætte VB6-kode især stammer fra tredjepartskomponeter, som ikke nødvendigvis har en pendant i .Net-verdenen. Et andet ønske som kunderne stiller op med, er muligheden for at få koden til at opfylde bestemte krav til udformning. Sådanne politikker findes i mange store virksomheder.

Kunstig intelligens oversætter Artinsoft kan oversætte 90 til 95 procent af kildekoden, målt i kodelinjer, helt automatisk. Det kan øges ved at tilrette værktøjet til specifikke kodebaser, og det sker ved at tilføje regler til værktøjet, som fungerer ved at benytte kunstig intelligens, der prøver at genkende mønstre i koden. Det er, hvad der kaldes for en "semantisk oversætter."

Der er ikke noget kørselsmodul, som skal benyttes til at afvikle den oversatte kode, og dermed slipper kunderne også for ekstra licensomkostninger.

Firmaet her endda oversat VB6 for selveste Microsoft og har netop oversat fem millioner kodelinjer for bankvirksomheden Citigroup. Firmaet står også bag den "upgrade wizard," som følger med Visual Studio, Microsofts universalværktøj.

Selve den automatiske oversættermaskine kan klare millionvis af linjer på et par dage, men hele oversættelsesprocessen minder meget om så mange andre softwareprojekter.

Første fase handler om at kigge VB6-programmet efter i sømmene. Dernæst kigger partner-selskabet Avanade tættere på koden, og derefter kværnes kodebasen gennem oversætteren. Det giver en ny kodebase, som ikke kan kompileres på grund af fejl, og det er startskuddet til at rette den sidste del af koden i hånden. Til sidst testes programmet på samme måde som alle andre softwareprodukter.

Men på trods af den omfattende proces er der stadig penge at spare ved at oversætte, i forhold til at skrive programmet om fra bunden. Ifølge Roberto Leitón Garro koster det fem gange mere at starte forfra, og tidsbesparelsen er i samme størrelsesorden.

Ifølge partner-firmaet Avanades danske afdeling er der ikke den store interesse for at flytte programmernes forretningslogik til andre arkitekturer, som f.eks. webapplikationer eller SOA-løsninger. Kunderne er glade for de pc-baserede programmer, som de er.

Send Tweet
Udskriv

IT-job & karriere

  • Se alle it-job
  • Importer din kompetenceprofil fra LinkedIn
Erfaren udvikler til C# og SQL
Udgivet 22. maj 8.29
.Net Web Developer
Udgivet 8. maj 15.44
Software Developer
Udgivet 21. maj 8.06
EPIserver Web Developer
Udgivet 14. maj 9.33

Kommentarer (2)

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Torben Mogensens billede
Torben Mogensen 11. feb. 2009 - 11.33
 
90 - 95%

Det betyder at mellem hver tiende og hver tyvende kodelinje skal håndoversættes. Det vil kræve indsigt i koden i en sådan grad, at man næsten ligesågodt kan håndoversætte det hele.

Jeg er også lidt loren ved ideen om at bruge kunstig intelligens til at genkende kodemønstre. Selv om de bruger betegnelsen "semantisk oversættelse", tvivler jeg på, at der er garantier for, at semantikken bevares.

Jeg kan ikke se, at det skulle være umuligt at oversætte al VB6-kode til .NET -- hvis man altså kender den præcise semantik for VB6. Det kan selvfølgelig være et problem, hvis der ikke findes et dokument, der beskriver dette, men at man skal til at lave reverse engineering for at finde det, men det skulle alligevel være overkommeligt.

Det kan så være, at den resulterende kode ikke er specielt læsbar, fordi man ikke direkte kan bruge lignende programstrukturer i VB.NET (fordi de ikke har eksakt samme semantik), men man kan gøre et forsøg på at gøre det læseligt, hvor det er muligt. Og jeg vil til enhver tid have en 100% korrekt oversættelse, der måske kun er 75% læsbar, end en 100% læsbar oversættelse, der kun er 95% korrekt.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Jakob Leander 11. feb. 2009 - 15.50
 
Re: 90 - 95%

De linier, der skal håndoversættes, kræver ikke funktionel indsigt i applikationen, men handler primært om at løse tekniske ting et automatisk konverteringsværktøj ikke kan håndtere, som f.eks. visse former for COM+ anvendelse. Det er vores erfaring at disse rettelser af ”konverteringsfejl” sagtens kan laves af folk, der ikke har specielt kendskab til den specifikke applikation. Endvidere gælder, at selvom en mindre del af koden skal håndoversættes, er der stadig en ganske stor besparelse i at slippe for at håndoversætte de øvrige 90-95% som kan være mange 100.000 linier kode. Det er i øvrigt ikke vores erfaringer at andre værktøjer kan garantere en 100% automatisk oversættelse under alle omstændigheder.

Vi hører mange af vore kunder efterspørge at ”koden kan vedligeholdes manuelt bagefter” uden brug af specielle run-time engines, som binder kunden til produkter og/eller licenser. Vi er derfor meget begejstrede for ArtinSofts semantiske oversættelse, hvor f.eks. ”On Error Goto” sætninger erstattes med ”Try/Catch” og ”if, else, elseif” ændres til ”switch statements” i .NET koden under konverteringen og at koden reelt bliver ligeså god som om den var håndkonverteret.

Ved store projekter anbefaler vi en tilpasning af ArtinSoft værktøjet, så kunden kan få præcis den kode ud de ønsker, der overholder interne kode-guidelines, og hvor vi up-front minimerer antallet af tilfælde, hvor en automatisk konvertering ikke er mulig.

Jakob Leander, Solution Manager, Avanade

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer

Tilføj kommentar

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Log ind herunder eller opret en bruger for at skrive kommentarer
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?

Seneste nyt

Microsoft-dansker gør C#-udviklere klogere med nyt kodeværktøj

Udgivet 23. maj 16.03Opdateret 24. maj 16.08

Rygte: Microsoft lancerer Office til iOS i november

Udgivet 24. maj 15.33Opdateret 24. maj 15.33

Yahoos nye browser får uheldig start - lækker eget sikkerhedscertifikat

Udgivet 24. maj 14.52Opdateret 24. maj 14.53

Danske internetudbydere nægter at blokere 12 pokersites

Udgivet 24. maj 13.58Opdateret 24. maj 13.58

Dokumentation: Her er Spillemyndighedens krav - og 12 ulovlige pokersider

Udgivet 24. maj 13.58Opdateret 24. maj 15.49

Flere it-nyheder »

Tilmeld dig Version2's it-nyhedsbrev og vind den nye iPad.

Whitepapers

Om eBinder

eBinder ApS

Kick-start your master data management initiative

Affecto Denmark

Affecto Data Quality Assessment: Er din indsigt og beslutning baseret på validt data?

Affecto Denmark

Framework til datamigrering i SAP miljøer - spar op til 50% på dine Data Migration udgifter

Affecto Denmark

Få et Data Warehouse (DW) review hos Affecto

Affecto Denmark
  • Flere whitepapers

Branchenyheder

Konica Minoltas stand på drupa 2012 slog besøgsrekord

Konica Minolta Business Solutions Denmark

Komplex it er blevet Brocade Premier Partner

Komplex IT

Øg din effektivitet og produktivitet med bizhub C654/C754

Konica Minolta Business Solutions Denmark

Brugerfjendtlige it-løsninger gør brugerne til en sikkerhedstrussel

Projectplace

Athena IT-Group A/S med solid indtjening

Athena IT-Group

Seneste debat

  1. GOTO - programming with the stars (F#)

    10 comments.
    Last update 1 minut 47 sekunder
    Skrevet af Henrik Schmidt
  2. Danske internetudbydere nægter at blokere 12 pokersites

    6 comments.
    Last update 22 minutter 20 sekunder
    Skrevet af Peter Brodersen
  3. Microsoft-dansker gør C#-udviklere klogere med nyt kodeværktøj

    1 comment.
    Last update 53 minutter 3 sekunder
    Skrevet af Casper Bang
  4. Dokumentation: Her er Spillemyndighedens krav - og 12 ulovlige pokersider

    4 comments.
    Last update 1 time 1 minut
    Skrevet af Mikkel Kirkgaard Nielsen
  5. Meego-afløseren Tizen klar til at tage kampen op med Android

    12 comments.
    Last update 1 time 58 minutter
    Skrevet af Jacob Sparre Andersen
  6. Kynisk it-guru: »Internettet er basalt set noget lort«

    7 comments.
    Last update 2 timer 5 minutter
    Skrevet af Poul-Henning Kamp
  7. Oracle tabte, vandt Google Java ?

    16 comments.
    Last update 2 timer 15 minutter
    Skrevet af Poul-Henning Kamp
  8. Yahoos nye browser får uheldig start - lækker eget sikkerhedscertifikat

    1 comment.
    Last update 2 timer 26 minutter
    Skrevet af Thue Kristensen

Mere debat »

It-virksomheder

Ubivox
|
Omada
|
Platon
|
Ricoh Danmark
|
Twins Consulting
|
Byggeweb
|
ØBERG Partners
|
Devoteam
|
Devteam Danmark
|
Sec4it
|
Planahead
|
Coolsms
 

Information

  • Kontakt redaktionen
  • Job- og annoncesalg
  • Teknisk support
  • Om Version2
  • Brugerbetingelser
  • Privatlivspolitik

Aktuelle emner

  • Agil udvikling
  • Android
  • Bruttolønsordning
  • Business Intelligence
  • Cloud computing
  • Download Windows 8
  • HTML5
  • Harddisk-priser
  • IE9
  • Intranet
  • It-sikkerhed
  • Kindle Fire
  • Multimedieskat
  • NemID
  • OS X Mountain Lion
  • Open source CMS
  • Projektledelse
  • Scrum
  • Sharepoint intranet
  • Storage
  • Ubuntu 11.10
  • Virtualisering
  • Windows 8
  • Windows Phone 7
  • iOS 5
  • iPhone 4S

Tjenester

  • Android-app
  • iPhone-app
  • RSS-feeds
Følg @version2dk
Tilmeld dig Version2's it-nyhedsbrev og vind den nye iPad.

Version2 udgives af

  • Mediehuset Ingeniøren A/S work Skelbækgade 4 1717 København V
  • Tlf. work 33265300