First I needed to decide which programming language I will use for this project. Since I want to create a multi-platform program there are not many choices.
The program will be used mostly by very small customers, so I need something very simple, without installation problems. The ideal should be having no dependencies on other components.
I could have used Java, but this requires a big runtime and the user interface does not look very native.
Another option was C#, but that is a Windows/Microsoft based language. I know that there is Mono, but using .NET in Windows and Mono in other OSes would add maintenance problems. Moreover it also requires a large runtime.
To me, the natural choice was C++. That language can be compiled almost everywhere, and it it will probably be the same for a very long time. I will probably do most of the development under Windows, and the Visual Studio IDE is really great.
This leads to the next question: how to create the user interface? The answer in the next post.