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
    • Overzicht
    • 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

    Meer lezen

    AI data-analyse business consultancy
    ActueelData & AI

    Kort: Nieuwe ai-oplossingen van Netsuite en Xebia, data-analyse voor wielersport (en meer)

    Failliet
    ActueelCarrière

    Ex-Rodeo-topman Pieter Vos persoonlijk failliet na bewezen miljoenenfraude

    ActueelCloud & Infrastructuur

    Tech Tribes laat oog vallen op OpenValue Group

    ActueelSecurity & Awareness

    Kort: Heel veel medische apparatuur cyber-onveilig, 5 miljoen voor R&D (en meer)

    Unit4, De Musketier, Veenendaal
    ActueelSoftware & Development

    Unit4 volgend jaar mogelijk in de etalage

    Onderwijs Tech
    ActueelOnderwijs

    Kort: Edtech Workspace naar Jaarbeurs, Skinvision haalt hoogste certificering binnen (en meer)

    ...

    Footer

    Direct naar

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

    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