Ontwikkelen

We ontwikkelen rekenintensieve software. Daarbij maken we gebruik van onze kennis van efficiënte rekenmethoden en datastructuren. We kennen de programmeermethoden die het maximale uit de hardware te halen.

Wetenschappelijke softwareontwikkeling: een vak apart

Onze software ontwikkelaars beschikken over de speciale kennis en vaardigheden die nodig zijn voor het ontwikkelen van rekenintensieve programmatuur: wetenschappelijke softwareontwikkeling.

  • Intensieve kennis van wiskunde en algoritmiek
    Om de rekentijd en nauwkeurigheid in de hand te houden moet gebruik gemaakt worden van slimme wiskundige benaderingen en algoritmen. Onze programmeurs moeten dan ook bekend zijn met een breed scala aan wiskundige technieken en goed op de hoogte blijven van de laatste ontwikkelingen op dit gebied. Daarnaast moeten ze scherp zijn op specifieke problemen die in dit soort programmatuur kunnen optreden, zoals het groeien van afrondfouten.
  • Performance-aware programmeren
    Een kleine slordigheid bij het schrijven van de programmatuur kan de rekentijd of het geheugengebruik gemakkelijk factoren groter maken dan nodig. En dat terwijl rekentijd en geheugengebruik altijd enorm kritisch zijn bij dit soort programmatuur. Onze programmeurs leren tijdens hun werk al snel om dit soort slordigheden te vermijden.  Ze stellen er een eer in om zo te programmeren dat rekentijd en geheugengebruik minimaal worden (zonder de onderhoudbaarheid van de code aan te tasten, uiteraard).
  • Keuze voor een heldere structuur en goede interne documentatie
    Rekenintensieve programmatuur bevat meestal zeer complexe algoritmen en datastructuren. Om de code onderhoudbaar te houden is het van belang om:

    • de structuur van de programmatuur helder en overzichtelijk te houden en te werken vanuit een goed gedefinieerde en doordachte architectuur,
    • gebruik te maken van zelfverklarende variabelenamen en functienamen,
    • op een effectieve manier commentaar toe te voegen zodat de lezer van de programmatuur goed kan begrijpen hoe de algoritmen geïmplementeerd zijn. Daarmee kunnen toekomstige programmeurs dan aanpassingen maken zonder de bestaande functionaliteit aan te tasten.
  • Een speciale manier van testen
    Het testen van rekenintensieve programmatuur is anders dan dat van gewone programmatuur: de uitkomsten kunnen soms binnen bepaalde grenzen variëren waardoor het exact vergelijken van uitkomsten weinig zinvol is. Bovendien gaat het vaak om enorme hoeveelheden gegevens, waardoor het vinden van de oorzaak van een fout al snel heel lastig wordt. VORtech heeft in de loop van de jaren speciale technieken ontwikkeld om toch snel te kunnen constateren of een programma doet wat het zou moeten doen en om de oorzaak van afwijkingen snel te vinden.
  • Begrip van de toepassing
    Onze programmeurs zijn weliswaar niet op elk toepassingsgebied waarin ze werken een expert, maar ze zijn wel in staat om zich snel de basistheorie van een toepassing eigen te maken. Of het meteorologie, bodemkunde, geluidshinder of waterstromingen betreft, doordat ze in veel gebieden actief zijn, zullen al snel een goede gesprekspartner worden voor de toepassingsexperts.

Dit alles maakt onze programmeurs tot unieke experts op het gebied van wetenschappelijke softwareontwikkeling: het ontwikkelen van programmatuur voor grootschalige berekeningen met vaak extreem veel gegevens.

Geïnteresseerd?

Als u denkt dat onze ontwikkelaars iets voor u kunnen betekenen, neem dan gerust contact met ons op voor een vrijblijvend kennismakingsgesprek.

 

 

Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someonePrint this page
Social Media Auto Publish Powered By : XYZScripts.com