Many people want to learn programming but can’t because they don’t have a computer. Good news for them: you can learn programming using just your mobile phone. Let’s see how:

1. Online Code Editors and Compilers:#

The easiest way to code on a mobile device is by using online code editors and compilers. Search for terms like online code editor or online compiler in your search engine (or ask an AI chatbot), and you’ll find many options, such as CodePen, which is a front-end web development environment. The advantage is that you can code directly from your browser without installing any additional apps. Even if your mobile device isn’t high-end, you can still manage. However, your phone must support internet browsing. If you struggle to find a code editor or compiler that supports your programming language, try searching with the specific programming language name.

2. Code Editor Apps:#

Apart from web-based options, there are many code editor apps available for Android. In my opinion, the best options are:

Both are cross-platform, so you can use the same editor everywhere. Emacs is relatively easier to use. Neovim has a learning curve but it a is very powerful editor if you can master it. To run Neovim, you’ll need Termux. For both editors, you can find detailed instructions on their respective websites. Feel free to ask me if you need help.

For convenience, you can buy a separate keyboard and use it with your phone via USB OTG. A keyboard will make programming much easier. Alternatively, you can install one of the following:

These apps allow you to use a computer-like keyboard on your mobile device.

There are many other code editor apps on the Play Store, but most are tagged Contains ads, which I don’t prefer. However, I found one ad-free app called Code Studio. You can try it out.

Additionally, there are apps for learning programming, such as Hyperskill. These apps offer programming courses designed to be engaging, helping you stay motivated. Features like scoring and notifications will keep you inspired to learn coding.