Een buurman van me werkt aan een programma waarin wetenschappelijke calculaties kunnen worden uitgevoerd. Je kan dit zien als zijn levenswerk omdat er nu al meer dan 30 jaar werk in zit. Inhoudelijk kan ik niet op het programma in gaan omdat deze nog steeds onder embargo is (wordt binnenkort gepubliceerd in een tijdschrift). Maar de codebase is best fors, het geheel met forms en datafiles is 400 MB, waarvan ruim 2 MB enkel code is (geen forms oid).
In al die jaren is hij steeds tegen het probleem aangelopen dat de taal die hij gebruikt binnen een mum van tijd weer wordt opgevolgd. Zo was het programma in het begin GWBasic, daarna een hele tijd Quickbasic en zo'n 8 jaar geleden heeft hij alles naar Visual Basic over gezet, welke nu inmiddels bij versie 6 is beland.
Nu is het probleem dat Microsoft de ondersteuning voor Visual Basic binnen niet al te lange tijd stopt gaat zetten. Dit zal betekenen dat hij weer gedwongen gaat worden om over te stappen op een andere taal.
Omdat de code zoals die nu is nogal rommelig is zijn we tot de conclusie gekomen dat het herschrijven van de code de beste oplossing is. Echter dan rijst de vraag om in welke taal dat moet gaan gebeuren. Omdat er nu berekeningen in zitten die soms welk uren kunnen duren is het op zich verstandig om voor de snelheid voor C++ te gaan. Echter C++ is inmiddels ook al 30 jaar oud en heeft een wat hoge leercurve (de beste man is inmiddels met de vut). Na het doornemen van een paar voorbeelden met hem gaf hij aan de de syntax op zich wel duidelijk is. Maar dan ben je er natuurlijk niet.
Een tweede reden dat de boel herschreven moet worden is omdat hij de broncode wil publiceren over grofweg 2 jaar. En de huidige staat van de code is erg rommeleig, dit komt omdat er in de loop der jaren gewoon telkens dingen zijn toegevoegd. Een aantal stukjes zijn gewoon letterlijk uit QBasic-code gehaald.
Het volgende punt is dan de GUI. Het pakket kent nu een apart programma om grafieken weer te geven. Deze zal dan ook herschreven moeten worden. Alleen de bedoeling met de rewrite is dat de code pakweg de komende 50 jaar mee kan gaan zonder dat deze (waarschijnlijk tzt door iemand anders) weer moet worden omgezet naar een nieuwe taal. Ik zat in eerste instantie te denken om bijvoorbeeld GTK 2.0 te gebruiken. Echter is dat waarschijnlijk binnen een niet al te lange tijd weer hopeloos achterhaald (zoals GTK 1.0 nu is bijvoorbeeld). Vanuit de QT-hoek verwacht ik wat meer totaaloplossingen waarbij je eventueel je programma's middels een wizard kan omzetten naar de nieuwe libs tzt. Puur ontwikkelen op een Windows Platform ligt eigenlijk niet binnen de mogelijkheden omdat Microsft de eigenschap heeft om dus elke 10 jaar met een nieuwe taal te komen. En Java lijkt me nu ook niet echt geschikt voor dergelijke berekeningen.
Graag jullie mening over deze situatie
.
In al die jaren is hij steeds tegen het probleem aangelopen dat de taal die hij gebruikt binnen een mum van tijd weer wordt opgevolgd. Zo was het programma in het begin GWBasic, daarna een hele tijd Quickbasic en zo'n 8 jaar geleden heeft hij alles naar Visual Basic over gezet, welke nu inmiddels bij versie 6 is beland.
Nu is het probleem dat Microsoft de ondersteuning voor Visual Basic binnen niet al te lange tijd stopt gaat zetten. Dit zal betekenen dat hij weer gedwongen gaat worden om over te stappen op een andere taal.
Omdat de code zoals die nu is nogal rommelig is zijn we tot de conclusie gekomen dat het herschrijven van de code de beste oplossing is. Echter dan rijst de vraag om in welke taal dat moet gaan gebeuren. Omdat er nu berekeningen in zitten die soms welk uren kunnen duren is het op zich verstandig om voor de snelheid voor C++ te gaan. Echter C++ is inmiddels ook al 30 jaar oud en heeft een wat hoge leercurve (de beste man is inmiddels met de vut). Na het doornemen van een paar voorbeelden met hem gaf hij aan de de syntax op zich wel duidelijk is. Maar dan ben je er natuurlijk niet.
Een tweede reden dat de boel herschreven moet worden is omdat hij de broncode wil publiceren over grofweg 2 jaar. En de huidige staat van de code is erg rommeleig, dit komt omdat er in de loop der jaren gewoon telkens dingen zijn toegevoegd. Een aantal stukjes zijn gewoon letterlijk uit QBasic-code gehaald.
Het volgende punt is dan de GUI. Het pakket kent nu een apart programma om grafieken weer te geven. Deze zal dan ook herschreven moeten worden. Alleen de bedoeling met de rewrite is dat de code pakweg de komende 50 jaar mee kan gaan zonder dat deze (waarschijnlijk tzt door iemand anders) weer moet worden omgezet naar een nieuwe taal. Ik zat in eerste instantie te denken om bijvoorbeeld GTK 2.0 te gebruiken. Echter is dat waarschijnlijk binnen een niet al te lange tijd weer hopeloos achterhaald (zoals GTK 1.0 nu is bijvoorbeeld). Vanuit de QT-hoek verwacht ik wat meer totaaloplossingen waarbij je eventueel je programma's middels een wizard kan omzetten naar de nieuwe libs tzt. Puur ontwikkelen op een Windows Platform ligt eigenlijk niet binnen de mogelijkheden omdat Microsft de eigenschap heeft om dus elke 10 jaar met een nieuwe taal te komen. En Java lijkt me nu ook niet echt geschikt voor dergelijke berekeningen.
Graag jullie mening over deze situatie
[ Voor 3% gewijzigd door LauPro op 19-03-2005 18:05 ]
Inkoopacties - HENK terug! - Megabit
It is a war here, so be a general!