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
  • Awards
    • Computable Awards
    • Nieuws
    • Winnaars
    • Partner worden
  • Vacatures
    • Vacatures bekijken
    • Vacatures plaatsen
  • Bedrijven
    • Profielen
    • Producten & Diensten
  • Kennisbank
  • Magazine
  • 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

    Agentic AI in actie

    De stappen van automatiseren naar écht autonoom werken. Welke toepassingen zijn succesvol?

    Computable.nl

    Staat Digitale Connectiviteit Bouw- en Installatiebranche

    Connectiviteit is de kern van veel processen en van strategisch belang voor de toekomst. Waar sta jij?

    Computable.nl

    Design Sprints: 4 dagen van idee naar prototype

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

    Geef een reactie Reactie annuleren

    Je moet ingelogd zijn op om een reactie te plaatsen.

    Populaire berichten

    Meer artikelen

    Uitgelicht

    Partnerartikel
    Security & Awareness

    De noodzaak van OT-cybersecurity en de...

    ‘Wat je niet weet, kan het meeste zeer doen’ De Europese Unie scherpt de cyberwetgeving stevig aan. Met de nieuwe...

    Meer persberichten

    Meer lezen

    Software & Development

    Buitenlandse Zaken gunt miljoenorders applicatiediensten

    Cloud & Infrastructuur

    GTIA-tracker: optimisme Amerikaans it-kanaal schept perspectief voor Benelux

    Carrière

    Kort: It-werknemer verwacht salarisgroei, The Ocean Cleanup in zee met SAP (en meer)

    betaalpas 2027
    Financiële dienstverlening

    Nieuwe betaalpas in 2027 nog vrij onbekend, maar heeft weinig erp-aanpassing nodig

    Software & Development

    Python-stichting wijst forse overheidssubsidie af door controversiële voorwaarden

    Overname M&A
    Security & Awareness

    Kort: Weer diverse overnames, Zander Labs wint Tech Fast 50 (en meer)

    ...

    Footer

    Direct naar

    • Carrièretests
    • Kennisbank
    • Planning
    • Computable Awards
    • Magazine
    • Ontvang Computable e-Magazine
    • Cybersec e-Magazine
    • Topics
    • Phishing
    • Ransomware
    • NEN 7510

    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