Olaf Schlüter
2 min readOct 8, 2021

Last year our team had to decide which programming language to use for building a client library for smartphone apps to enable them to interact with a service we built. Lot's of cryptographiy and X.509 certificate processing was involved as well as json processing and TLS-secured client-server communication. The client library should be native code. It should provide an ABI accessible by many programming languages, especially Swift, Java, Kotlin and Dart. It should be available on all smartphone platforms in use. If possible it should be able to be used in desktop apps (Windows, macOS, Linux) as well.

We looked at modern languages like Rust or Go or Dart but eventually resorted to C/C++. Two main reasons: we could rely on C and C++ being there forever - we do not know the future of the modern languages - and its ecosystem provided us with all the cryptography we needed (by openssl), json processing and TLS support. And the C ABI is easy to integrate into other programming languages, C binding and parameter passing is supported as an ffi by literally all of them.

We do use Flutter/Dart to build some apps making use of that library. And we are able to deploy those apps not only to all smartphones but all desktops as well.

On the server side we use Java with the Spring Boot framework. It provides us with so many powerful elements we would lack by implementing a server using a more modern approach (I would prefer Go if that ecosystem provides me with all the parts I need for my server app, but most of the time it doesn't.).

So that is the advantage of "old" programming languages: maturity, future availability and the size of the ecosystem of libraries and frameworks to use. New programming languages are always in need to catch up there. Some may grow mature eventually. We'll see.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Olaf Schlüter
Olaf Schlüter

Written by Olaf Schlüter

IT security specialist, Physicist by education, believing in God as for the exceptional harmony of the laws of nature to create and support life.

No responses yet

Write a response