Programming Languages in 2023

Daniele Baroncelli
3 min readAug 15, 2023

--

My very personal take on programming languages.

KOTLIN: Due to its advanced multiplatform capabilities, within 5 years it’s likely to become the top programming language for developing any type of client-side application (mobile, desktop or web). The compiler work they are doing for iOS and WebAssembly is outstanding. I am currently considering it only as a client-side language, because server-side it’s still very tied to the JVM, but I have hopes that Kotlin’s server memory-footprint will become much smaller when it will be capable to compile to the upcoming WASI standard, within 3–4 years.

GOLANG: It’s currently my favourite server-side language. I love its very-low usage of server resources, its concurrency-first approach and its ease of deployment. After you start using Golang, you will never want to have a JVM on the server-side, as it unnecessarily increases server costs. You can run highly performing Golang applications on a single core and very limited RAM.

PYTHON: 10 years ago I was looking for a new server-side language for my next project. I looked very closely into Python, but then I chose Golang, and I have never looked back. Golang has multiple advantages over Python (performance, statically typed, ease of deployment, real concurrency). Python is a general purpose language, it can do a lot of things, but nothing that great. Data Science is probably the sector where Python is currently retaining the biggest advantage.

SWIFT: Whoever wants to develop for Apple devices needs to know it. However, Kotlin Multiplatform will increasingly “compete” for the business logic and data layers of Apple apps, especially with its upcoming Swift direct-interoperability. For most companies it’s becoming obvious that duplicating the business logic for each platform is an unnecessary waste of resources.

JAVASCRIPT: For almost 30 years, it has been the only programming language to run on the browser. However it is a weak and ugly language, which compares very badly to more modern languages. Now things are changing with the rise of WebAssembly, already supported by all browsers, which allows any programming language (even garbage-collected) to compile code for the web. It’s going to be a slow transition, but I expect Javascript (and its famous frameworks such as React) to lose big shares of market within 10 years.

DART: In the last 3 years, it has become very popular because of Flutter, the Google-backed cross-platform framework which has clear advantages over the Facebook-backed ReactNative. However, Dart is not much better than Javascript and it has now a solid competitor in the multi-platform space, Kotlin, which is a much more powerful and versatile programming language.

JAVA: It’s becoming a legacy language. Kotlin is already able to do everything that Java can do, with a much nicer syntax and faster development time.

C/C++: they are the most “noble” programming languages. Unix and Linux have been written in C. In some ways, every programming language has been influenced by C/C++. However they are nowadays very old-minded languages, error-prone and slow to compile. For every use case, there is at least one better programming language to be used.

RUST: It has already become the best programming language for performance-critical applications, being preferred to C/C++. If you want to build embedded systems, IoT, cryptographic algorithms, Rust is the way to go.

PHP: It’s a walking dead. However, so many websites have been built with it in the last 25 years, that it still has a big chunk of the web market (mostly thanks to Wordpress). It’s very unlikely that a brand-new big project nowadays will be built with PHP.

--

--

Daniele Baroncelli

Mobile architect (client/server), with over 15 years experience. Focusing on Android, iOS, Kotlin, Golang, Compose, SwiftUI, KMP, MVI.