Tip 88

Choose the Best Language for the Task

by Ildar Akhmetov

I was exploring the codebase for Immich (an open-source replacement for Google Photos) the other day.

Note the languages: TypeScript, Dart, Python. Hmmm, let's see, which language does what... Both the server and the web client are TypeScript. Dart is for the mobile app.

And then... what is Python doing here?!

See -- there is the machine-learning directory. Automatic face recognition, finding similar photos, cool ML features. Could TypeScript do it? It definitely could! But Python is the best language for the task -- every machine learning library, every ML tutorial is Python-first. Python simply has the best building blocks for these tasks.

Of course, when you work with a legacy codebase, you don't have a choice. But for your next project, choose the best language!

Data analytics? Python or R.

Low-level system code? C or Rust.

Video game? C++ or C#.

The language is a tool, not your identity. And if you don't yet know the language you should use? Well, maybe it's time to learn it!

Related Tips

Get tips in your inbox

Two new tips every week.

Powered by Buttondown