Most languages need software to write the code, however you can do so in notepad. But you will need a complier in a few languages. For example: C++ you can use code blocks to programme in and compile. But VBScript or Batch progamming you can write in notepad and save as a certain file type to run.
It goes without saying that some sort of software is needed for programming; at minimum, you need an editor and a program trnaslator of some type. As Matt1998x points out, there is some software for programming installed already on just about any computer you might have. Windows includes Notepad and Visual Basic for Scripting, while MacOS and Linux often have several different editors and interpreters pre-installed.
The real question is, what sort of programming do you want to do? Most programming tools are available for free, or at least have a free edition for newcomers to work with. You simply have to choose which of them you want to try learning first.
My recommendation is to start with Python, and a nice Pythonic Integrated Development Environment such as Eric or PyCharm (though PyCharm is only free for the first 30 days, after that you would have to buy it). Python is one of the easier languages to start with, for most people anyway, and is fairly powerful. That having been said, not everyone prefers the same languages, so you will want to try out several different ones over time to figure out which you are most comfortable with.