Computable.nl
  • Thema’s
    • Carrière
    • Innovatie & Transformatie
    • Cloud & Infrastructuur
    • Data & AI
    • Governance & Privacy
    • Security & Awareness
    • Software & Development
    • Werkplek & Beheer
  • Sectoren
    • Channel
    • Financiële dienstverlening
    • Logistiek
    • Onderwijs
    • Overheid
    • Zorg
  • Computable Awards
    • Overzicht
    • Nieuws
    • Winnaars
    • Partner worden
  • Vacatures
    • Vacatures bekijken
    • Vacatures plaatsen
  • Bedrijven
    • Profielen
    • Producten & Diensten
  • Kennisbank
  • Nieuwsbrief

Software-ontwikkelen met declaratieve technieken

27 mei 2020 - 08:223 minuten leestijdOpinieSoftware & Development
dr. Nico Verwer
dr. Nico Verwer

In Amsterdam vindt op 8 en 9 oktober de conferentie Declarative Amsterdam plaats. Sprekers zullen presentaties geven over opgedane ervaringen, trends en het toekomstperspectief op gebieden als functioneel programmeren, declaratief modelleren, databases, xml en afgeleide talen, zoals json, css, data-visualisatie, formele grammatica’s, parseren en domein-specifieke talen.

In de begintijd van computers werden computers geleverd inclusief een team van programmeurs. De prijs was gebaseerd op die van de hardware. Tegenwoordig is dat omgekeerd; het ontwikkelen van software kost veel tijd, geld en mankracht, en levert ook nog eens vaak totaal mislukte projecten op.

Niet hoe maar wat

Met declaratief programmeren beschrijft de softwareontwikkelaar niet ‘hoe’ een programma iets moet doen, maar ‘wat’ het programma moet doen. De computer bepaalt vervolgens hoe dit resultaat is te bereiken. Dit principe wordt al op diverse deelgebieden van de informatica gebruikt, waaronder user interfaces en databases. Een simpel voorbeeld is de sql-query

SELECT * FROM Users WHERE Country=’NL’

Om een sql-query uit te voeren zal een sql-processor de query analyseren, waar mogelijk optimaliseren (bijvoorbeeld door de volgorde van operaties te veranderen), en bepalen welke indexen gebruikt kunnen worden. Deze code die de computer ‘onder water’ uitvoert is veel complexer dan de oorspronkelijke query, en zou voor een menselijke programmeur veel meer tijd gekost hebben om te schrijven en te debuggen.

Een ander voorbeeld is ’two-way data binding’ in user interfaces, zoals gebruikt in (onder andere) XForms, React en Vue. Dit mechanisme koppelt een (gestructureerd) data model aan user interface elementen, zonder te specificeren hoe deze koppeling precies tot stand komt. Andere aspecten van user interfaces, zoals afhankelijkheden tussen velden, zijn ook makkelijker vast te leggen op een declaratieve manier. In XForms kun je bijvoorbeeld met één regel code vastleggen dat een invoerveld zichtbaar of actief is, op basis van de inhoud van andere invoervelden. Denk aan het invullen van een ‘state’ als het land ‘VS’ is.

Reductie complexiteit

Waar declaratief programmeren is toegepast, heeft het geleid tot een reductie van de complexiteit van code,de omvang van teams en de doorlooptijd van projecten. Het basisidee is dat procedurele code (zoals gangbaar in bijvoorbeeld Java) wordt vervangen door een beschrijving van de relaties tussen de onderdelen van een systeem. De computer interpreteert en optimaliseert die beschrijving en implementeert daarmee het systeem. De omvang van declaratieve programmacode is veel kleiner, soms maar een kwart van procedurele code. Het resultaat is software die minder bugs bevat, sneller (en goedkoper) ontwikkeld is, en makkelijker te onderhouden is.

Declaratief programmeren is bekend binnen databases en user interfaces, maar is bruikbaar voor veel meer toepassingsgebieden. Het vereist wel een andere mind-set van softwareontwikkelaars, en wordt daarom nog maar weinig gebruikt. De conferentie Declarative Amsterdam wil bijdragen aan een betere bekendheid en waardering van declaratieve methoden in softwareontwikkeling.

Meer over

APIDatabasesHTMLJavaJavascript

Deel

    Inschrijven nieuwsbrief Computable

    Door te klikken op inschrijven geef je toestemming aan Jaarbeurs B.V. om je naam en e-mailadres te verwerken voor het verzenden van een of meer mailings namens Computable. Je kunt je toestemming te allen tijde intrekken via de af­meld­func­tie in de nieuwsbrief.
    Wil je weten hoe Jaarbeurs B.V. omgaat met jouw per­soons­ge­ge­vens? Klik dan hier voor ons privacy statement.

    Whitepapers

    Computable.nl

    Design Sprints: 4 dagen van idee naar prototype

    Hoe zet je in vier dagen tijd een gevalideerd prototype neer met Design Sprints?

    Computable.nl

    Resultaatgericht Samenwerken (RGS).

    RGS is een gestructureerde methode die vastgoedprofessionals direct ondersteunt bij kwaliteitsverbetering, kostenefficiëntie en verduurzaming.

    Computable.nl

    De principes van cloud-native techniek

    Cloud-native technologieën voegen flexibiliteit, schaalbaarheid en beveiliging toe en verlagen de operationele kosten voor de IT-omgeving. Hoe dragen Kubernetes, KEDA en AKS hieraan bij?

    Meer lezen

    ActueelOverheid

    Dictu sluit applicatiecontract met CGI, IBM, Sogeti, Sopra Steria, TCS en Circle8

    OpinieSoftware & Development

    SAM: jouw bondgenoot tegen shelfware

    ActueelOverheid

    Ministerie BZK negeert advies AcICT over stilleggen Digipoort

    man kijkt naar het korte nieuwsoverzicht van Computable
    ActueelCarrière

    Kort: Aanvalsdetectie ai-agents, kenniskloof cio’s, overnames Wolters Kluwer, Esprit ICT en Main

    cybercrime
    ActueelCloud & Infrastructuur

    Rijkswaterstaat moet vaart maken met beveiligen van bruggen en sluizen

    Lek kwetsbaarheid vulnerability
    ActueelSecurity & Awareness

    Grote kans op misbruik en schade door kritieke kwetsbaarheid in SAP-systemen

    Geef een reactie Reactie annuleren

    Je moet ingelogd zijn op om een reactie te plaatsen.

    Populaire berichten

    Meer artikelen

    Footer

    Direct naar

    • Carrièretests
    • Kennisbank
    • Planning
    • Computable Awards
    • Magazine
    • Abonneren Magazine
    • Cybersec e-Magazine

    Producten

    • Adverteren en meer…
    • Jouw Producten en Bedrijfsprofiel
    • Whitepapers & Leads
    • Vacatures & Employer Branding
    • Persberichten

    Contact

    • Colofon
    • Computable en de AVG
    • Service & contact
    • Inschrijven nieuwsbrief
    • Inlog

    Social

    • Facebook
    • X
    • LinkedIn
    • YouTube
    • Instagram
    © 2025 Jaarbeurs
    • Disclaimer
    • Gebruikersvoorwaarden
    • Privacy statement
    Computable.nl is een product van Jaarbeurs