I have started to learn go, Google’s system language. I really like it. I appreciate these features in particular:

It is truly cross-platform, in par with java

It has a huge standard library, again like java’s but without the GUI stuff

It compiles to standalone executables that include the runtime! Imagine a JAR file that would carry a little JVM with it. No need to “install go” on a deployment machine!

In terms of design, it takes a little bit of time to get used to. But on the whole it is fairly easy and straightforward. I have a good knowledge of C, java, lua and bash and I had no problem to adapt to go.

This driver is very efficient because it embeds a compiled version of the sqlite C library into its jar. So far so good, they provide shared libs for all operating systems and processors: from Windows 32bit to Linux ARMv7, MacOSX etc.

Even though the Linux libs cover all major processor architectures (Inter 32bit or 64bit and different ARM variants), they have something in common: they are compiled against glibc!

So this driver doesn’t work by default on alpine linux.

I have at least two solutions:

Build it by hand (so I cannot draw it automatically from maven central)

Use its pure java implementation (but then I sacrifice the nice performance offered by the compiled lib)

Anyway, this is not a showstopper for me using sqlite in Java, but it makes things a little bit more complicated.