Domänspecifika språk

Utveckla programvara mer effektivt!

Hur vore det att kunna öka utvecklingstakten i dina mjukvaruprojekt samtidigt som du får högre kvalitet, säkrare leveranser och nöjdare medarbetare?

En utopi? Nej, det är i högsta grad verklighet.

Det här är speciellt riktat till dig som arbetar i eller driver ett företag som levererar programvara. Ett bortglömt verktyg i programmerarens verktygslåda är Domänspecifika programmeringsspråk (DSL), den nyckel som låser upp knutarna i din verksamhet och gör att dina projekt blir framgångsrikare.

Är då detta något nytt och krångligt som har barnsjukdomar? Nej, det är varken nytt eller krångligt. DSL har funnits sedan 1990-talet och använts flitigt sedan dess. HTML är ett exempel på ett sådant språk som funnits länge och används fortfarande för att publicera innehåll på webben.

Det som däremot är nytt är att använda programmeringsspråk som är specialanpassade till den egna verksamheten. Genom att använda DSL i stället för ett vanligt programmeringsspråk så får du ett antal värdefulla fördelar.

Rekrytera och behålla bra mjukvaruutvecklare

Att rekrytera och behålla bra mjukvaruutvecklare kan vara en utmaning. I en högkonjunktur är det en eftertraktad yrkesgrupp som kan vara svår att behålla i företaget.

Kodning av DSL-språk behöver inte göras av enbart programmerare, utan också av andra grupper som är kunniga inom det verksamhetsområde som språket avser. Det frigör resurser så att de istället kan fler fokusera på mer tekniskt intressanta uppgifter som att utveckla kod för nya plattformar.

Behöver du rekrytera nu för att kunna leverera?

Högre kvalitet

Du får högre kvalité på det levererade systemet genom att stor del av programkoden inte skrivs för hand utan genereras från DSL. Felaktigheter i mjukvarusystem kan grovt delas upp i tre kategorier:

  1. Missuppfattningar i kommunikationen mellan kund och leverantör.
  2. Missförstånd mellan de som skriver specifikationen och de som programmerar.
  3. Fel i de skrivna programmen.

Genom att använda ett DSL som är noga anpassat till verksamheten så minskar andelen missförstånd som beror på ordval, formuleringar och otillräcklig information. Det beror på att innehållet i ett DSL-dokument kontrolleras mot en strikt syntax och måste därför vara kompletta.

Det kan naturligtvis bli fel när ett DSL översätts till körbar programkod av en tolk och kodgenerator, men den processen är gemensam för alla program. Rättningar i den generatorn slår igenom på samtliga program direkt. Totalt sett är det färre rader kod och därför färre felaktigheter. Dessutom är de flesta fel systematiska och är därför lättare att hitta.

Hur mycket är högre kvalitet värd för dig?

Förenklad kommunikation

Hur skulle det vara om alla avdelningar i företaget förstod vad de andra menade?

Idag fungerar det ofta så att några är experter på kundens behov och vad som ska åstadkommas. Andra är experter på att bygga system som är effektiva. Dessutom finns det teknisk support, kundtjänst, översättning, mm. Tillsammans har de alla kunskaper som behövs för ett lyckat resultat. Problemet är bara att varje grupp har sina egna specifika expertområden och sitt egna sätt att beskriva problemen.

Med DSL får alla en gemensam syn på vad systemet ska innehålla och hur det ska fungera i och med att koden är skriven med verksamhetsnära begrepp som de flesta känner igen. Kommunikationen mellan företagets alla funktioner och kunden underlättas också.

Man kan säga att ett mjukvarusystem eller applikation skrivet i DSL är delvis självdokumenterande. Det beror på att syntaxen i ett DSL är så koncis och stringent att det inte finns lika mycket plats för feltolkningar som i vanlig text. Eftersom kod skriven i DSL-format är vanlig text så kan alla som är insatta i problemområdet (domänen) läsa den. Dessutom är det enkelt att dela innehållet med varandra genom alla media som vi normalt använder som mail, chat etc …

Vad är det värt för dig att minska missuppfattningar?

Fånga affärsnyttan

Det faktiska innehållet i ett mjukvarusystem eller applikation är ibland svårt att ta på. Övergripande innehåll är enkelt att dokumentera, men detaljerna kan vara gömda i algoritmer, subrutiner och krångligt skriven kod. Med ett bra DSL så finns affärsnyttan redan uttryckt i klartext, med alla detaljer.

En annan sak som blir mycket lättare med DSL är att spåra förändringar över tid. Detta på grund av att ett program i DSL bara innehåller kondenserad information om verksamheten. Ett “vanligt” program består till stora delar av kodrader som beror av operativsystem, databaser, kommunikation m.m. En jämförelse mellan två versionen av ett program i DSL är mycket enklare att förstå.

Vad innehåller egentligen din applikation?

Snabbare utvecklingstakt

När du väl har ett välfungerande och välspecat DSL på plats är det som att byta från stadstrafik till motorväg. Det blir mycket lättare att lägga till fler komponenter och ändra i befintliga eftersom du bara behöver beskriva det affärsmässiga innehållet, inte skriva en massa ny implementationskod.

Har du nytta av ta fram nya komponenter snabbare?

Enklare att byta plattform

Ett av de besvärligaste problemen med ett stort mjukvarusystem är att byta ut någon av de ingående tekniska komponenterna mot en modernare variant eller från en annan leverantör. Att det är krångligt och tidsödande beror helt enkelt på att traditionell programkod innehåller två saker samtidigt. Dels kod som utför affärsnyttan och dels kod som använder operativsystem, bibliotekstjänster, databaser och mycket annat. Att bara byta databas kan vara en stor utmaning.

DSL hjälper även till för detta. Du kan snabbare byta teknisk plattform genom att den mesta informationen om systemets innehåll ligger i DSL och inte i vanlig programkod. Det är också mycket enklare att prova nya tekniker, utan att behöva skriva om en mängd kod.

Du kan även kontakta oss genom att ringa 0703-685573, mejla till info@pik.nu eller använd kontaktformuläret.

Logo10

Vi erbjuder föreläsningar och workshops som är specialanpassade för er specifika verksamhet.