Right now I'm on an S24 Ultra, before that a Note 10 Lite, and before that another Note 10 Lite.
Then you can attach a Bluetooth keyboard. And you can import scripts (Perl, Python, Shell, ...) via ssh from other devices. Last but not least, you can start an ssh server on the device and use Termux from your desktop or laptop. And you can start a web server, to access your device's media files, etc.
I would learn it on the bus, and at the time I didn't have a data plan, so I could only access things I had already downloaded. The `:help` documentation is very thorough.
https://play.google.com/store/apps/details?id=de.software_la...
Either that or I connect a wireless physical keyboard.
Edit: The killer feature of Penti is that it is transparent and allows you to put the 'buttons' where it is convenient to place the fingertips. Unlike regular software keyboards which hide half the screen and have 'buttons' that are pretty much thumbs-only. Since I code a lot I'm not particularly keen on mainstream next-word-guessing either.