Posts

Showing posts with the label coding

Lessons Learnt: Porting an application from Go to Ada

Introduction This document describes some of my thoughts following the successful transition of a desktop terminal emulator program from Go and Gtk 2 to Ada and Gtk 3. The rewrite took place over a period of four months beginning in November 2021. Caveat I do not claim to be an expert in anything that follows. These days (2022) programming is a hobby for me and all the work described here was undertaken as a 'spare time' project. This is an 'opinion piece' - I am not going to back up every statement with references! Application Description My DASHER terminal emulators provide free, open source and modern emulations of the most commonly used types of terminal (D200 and D210) that were connected to Data General minicomputers of the 1970s through to the end of the century. Having both serial and telnet support, the emulators can be connected both to legacy hardware and modern emulations of that hardware. The first in this series of terminal emulators ...

Writing Better Go: Code or Data?

A Journey... I've been on a bit of an odyssey trying out various languages in case there is something out there that might suit me better than Go .  After considering many others - and actually trying out C# , F# , and Kotlin - my feeling is that I will not be abandoning Go in the short-to-medium term (although I may well delve deeper into Kotlin). However, as with many journeys, much of the benefit comes from the travelling itself rather than achieving a destination.  For the purposes of this exercise I ported a little utility of mine which unpacks a legacy file storage format to each of the aforementioned languages and tried hard to write idiomatically in each one.  Doing this inevitably leads one to question the structure of the original code and also any ingrained habits that might have passed their use-by date. ...and An Outcome If I am sticking with Go, I really ought to think about trying to write 'better' Go. A Case in Point One of my pet peeves abou...