Politik

My Hovercraft is full of eels, vad kan du om de revolutionerande domänspecifika datorspråken (DSL)?

Datorspråken utvecklas i allt snabbare takt, allteftersom världen datoriseras och datan digitaliseras. Behovet av nya högeffektiva datorspråk har drivit fram en ny slags språk som kallas domän-specifika datorspråk eller DSL för den som gillar förkortningar, och som mest kan jämföras med alla de reseparlörer som man ser på flygplatser över hela världen, där du på planet från Budapest till London kan lära dig nog med engelska för att förklara att din Hovercraft är full med ålar. Kolla den här nu klassiska Monty Python-sketchen.

Det finns andra exempel på samma ide.Charles Kay Ogdens skapade sin kända Basic English, som var en version av engelskan med en begränsad vokabulär och något förenklad grammatik.

Men vad de domänspecifika datorspråken mest liknar är fackspråk som den engelska som talas i de mångkulturealla sydafrikanska gruvorna med arbetare från hela Afrika, som får lära sig en speciellt gruv-engelska för att kunna tala med varandra under sitt gruvarbete långt ner under marken. Eller för den delen den svenska som pratas bland de kriminella MC-gängen i Sverige, eller för den delen bland läkare och sjuksköterskor i operationssalarna i Sverige.

På samma sätt så håller det nu på att växa fram domänspecifika datorspråk som CSS, dvs Cascading Style Sheets – stilmallar för layout av XML- och HTML-dokument, och nu också dussintals små supereffektiva datorspråk som gör det så enkelt som överhuvudtaget möjligt att skriva samman dynamiska webbsajter. Alltså datorspråk som är byggda kring den s.k. REST-arkitekturen som definierades i Ray Fieldings nu ikoniska doktorsavhandling från år 2000, och som hanterar HTTP-meddelanden som, GET, POST, PUT, DELETE, data i JSON-format och vars främsta representant är Blake Mizeranys Ruby-baserade Sinatra som jag redan har skrivit om flera gånger här på bloggen och som jag nu har som hobby-projekt under julen.

Martin Fowler skriver bl.a. så här om Domänspecifika datorspråk: Domain Specific Languages

People find DSLs valuable because a well-designed DSL can be much easier to program with than a traditional library. This improves programmer productivity, which is always valuable. In particular it may also improve communication with domain experts, which is an important tool for tackling one of the hardest problems in software development.

CSS is an excellent example of this, most people who program CSS don’t consider themselves to be programming. Despite this, however, I don’t generally think that end-users will usually write in DSLs directly – it’s the communication enhancement that’s important.

Just Fowlers insikt att DSL- kan förbättra kommunikationen med domänexperter, är synnerligen viktigt. Det betyder också att domänexperter alltmer själva kommer att kunna programmera i sina egna domäner.

Ett annat DLS som länge har spelat en viktig roll inom IT-världen är SQL eller Structured Query Language, det standardiserade språk som skapades så tidigt som 1970 av Edgar F. Codd här i Silicon Valley för att manipulera data i relationsdatabaser.

Det har skrivit väldigt mycket om Design-mönster inom IT-världen. Design-mönster är en problemidentifieringsteknik inom arkitektur och programutvecklingsmetodik som innebär att man katalogiserar olika typiska problem och deras typiska lösningar.

Det var arkitekten Christopher Alexander som såg designmönster som ett sätt för arkitekter att hitta standard-lösningar till för arkitekter vanligt förekommande design-problem.

På samma sätt tillhandahåller domänspecifika språk ett ramverk med en inbyggd vokabulär för den programmerar som vill skriva datorprogram som snabbt och effektivt hanterar HTTP-meddelanden och de data som åtföljer dom meddelanden.

Och med tanke på webbens stora genomslag så handlar det om miljoner webbsajter runt om i världen.

Nu är språk som Sinatra och alla dess efterföljare inte avsedda för gigantiska webbsajter med miljoner läsare, utan om mer småskaliga lösningar, men produktiviteten är rent fenomenal och den här trenden mot domän-specifika datorspråk kommer bara att eskalera.

Twisted, som bl.a. används på Lucasfilm är ett paradexempel på nya DSL-språk som gör det enkelt att skriva program som tidigare tog månader och krävde expertkunskaper.

Välkommen till en helt ny värld där gamla murar har fallit, tack vare en internationell grupp programmeringsentusiaster.

Pressklipp:
Vår tids öppna verkstad kommer till Sverige, Molnet ger Sverige nya jobb,Nya webbstandarden tar form,Bredband åt alla,Nätet blir ett verktyg för social kontroll

[tags]DSL, domain-specific languages, Domänspecifika språk, Sinatra Ruby , ålar och datorspråk[/tags]

One thought on “My Hovercraft is full of eels, vad kan du om de revolutionerande domänspecifika datorspråken (DSL)?

  1. Bossebus

    Då borde jag vara den ideala programmeraren eftersom jag kan kommunicera med i princip vem som helst iaf om personen står mitt emot mig.

    Men det är en livslång vana.

Comments are closed.