Skip to content

Languages

Focus is on python, javascript, and C++, but anything goes really.

Note that python is the preferred language for tool and application implementation for a number of reasons, including having consistent tooling and ensuring that everyone on the team is able to collaborate. By remaining consistent and lowering the

Javascript cannot be escaped on the modern web, and so is a requirement by default. In instances where is makes sense, using serverside javascript is certainly supported, but python is still the preferred approach.

C++ is used for QGIS development and the focus for conventions will be on using C++ with QT.

There are no strict rules applied to technology, so everybody is free to use whatever works, and a key ability in open source ecosystems is to remain adaptable and be capable of leveraging the existing tools that are the best available. Stand on the shoulders of giants where you can.

Because these are not considered core competencies, there aren't really any expectations, requirements, or recommendations that apply to other ecosystems. How users choose to code in rust, go, ruby, or c is entirely up to them. But there are caveats.

Boring solutions often work best. The newest shiny can be fun but it's rarely a good idea to dive into early adoption. Team work is important, and it's hard to work as a team when you're using esoteric tools.

When in doubt, have a look at a chart of Diffusion of innovations and try assess if the current position is at the end of the early adopter and start of the early majority group.

This includes the development of mobile, cross platform, or native apps. Whilst universal support for PWAs lingers, it is still a way off from being the de facto standard for the development industry. In the meantime, stick to using tools that the rest of the team can get up to speed with quickly or have experience with, such as QT, python, or javascript. Nobody will stop you from starting an app in kotlin, but it's unlikely to get the momentum or collaboration that is desired within the organisation.