You'll need a computer, doesn't matter if it's a desktop, an old laptop or whatever. You'll not be able to actually learn programming properly on a phone (besides theory..).
I like to suggest to get started with online Python courses: https://www.codecademy.com/learn/learn-python-3 (Needs a free account nowadays) where you'll learn the very basics of programming. What are variables? Conditions? Loops? Bit of object oriented programming (OOP) and so on.
After doing the course you very much have to download Python and work on your own computer (instead of in the browser) if you want to learn and experiment more.
Just to get started with the actual language doesn't matter much. Though at some point you should look at strongly typed languages (like C#) to get a feel for data types. What is an integer? Bool? Float? And so on, something that JavaScript and Python (to some degree) mostly hides from you. One step even further would be C++ where you learn about pointers, how memory works etc. but that's not necessary for the first year or so (and might only be "good to know" if you don't intend to go that low level).
At that point you can probably write whatever little program you want and get it to run. The next step is algorithms, design patterns, how to structure and organize code (concepts like SOLID), databases, source control, security and much more vague knowledge. That's where it gets difficult and some things you'll only pick up when actually working in a team.
You'll need a computer, doesn't matter if it's a desktop, an old laptop or whatever. You'll not be able to actually learn programming properly on a phone (besides theory..).
I like to suggest to get started with online Python courses: https://www.codecademy.com/learn/learn-python-3 (Needs a free account nowadays) where you'll learn the very basics of programming. What are variables? Conditions? Loops? Bit of object oriented programming (OOP) and so on.
After doing the course you very much have to download Python and work on your own computer (instead of in the browser) if you want to learn and experiment more.
Just to get started with the actual language doesn't matter much. Though at some point you should look at strongly typed languages (like C#) to get a feel for data types. What is an integer? Bool? Float? And so on, something that JavaScript and Python (to some degree) mostly hides from you. One step even further would be C++ where you learn about pointers, how memory works etc. but that's not necessary for the first year or so (and might only be "good to know" if you don't intend to go that low level).
At that point you can probably write whatever little program you want and get it to run. The next step is algorithms, design patterns, how to structure and organize code (concepts like SOLID), databases, source control, security and much more vague knowledge. That's where it gets difficult and some things you'll only pick up when actually working in a team.