programs are basically written in any editor. a simple notepad or an advanced Integrated Development Environment (IDE). We call the code you write source code. A good IDE is usually as important for the programmer as good quality tools are for a mechanic. An IDE will assist the programmer while he or she writes code by pinpointing spelling errors and wrong syntax.

Source code.

You can split programming languages into two different kinds: those who need to be compiled and those who needs an interpreter.

Interpreted Code.

If you write your program in a language that requires a interpretor (It could be JavaScript, Python or PHP) you need to install such a interpreter on the device where you want to run th code and then just ask the interpreter to run the code.

The interpreter need to interptret the code every time you run the code.

If you language needs a compiler (e.g C#, Java, or Go) running your application willl require two steps:

Compiled Code

Using such a language would require a compiler instead of an interpreter installed on your machine and then you ask your compiler to compile your program. The compilation results into a compiled verion of the source code

You only need to compile the code once (Except for when you make changes to the surcecode)

Some compiled languages (C#, Java) still needs an working environment installed on the machine you want to execute your code on - Other compiled languages (C or Go?) is directly understood by the CPU or runs on bare metal as programmers says. Using languages that relies on an environment is good if the environment is available for your system, and languages that compiles directly for the CPU are clever if it supports your CPU (Some CPUs takes different instructions than others but most computer CPU's are compatible)

The process of programming

Many students thinks that programs are written from the first line to the last. Luckily that is not the truth! Programming is much more like small patches put together at the end. I would write something I think will be needed and then elaborate a bit on that, then realizing that som of the code Iwrote were unnecessary and another part of the code was just plain wrong! Then Imight add another tiny part and make it work together with the first part. Coding is a mess unless the programmer is very experienced in that particular domain he is programming in.

A Programming Advice or three...

First of all: There is now correct way to write a program!

That being said there are some general advice I would like to give you:

xkcd: programming