“Programming” is an intellectual activity, referring to the act of being able to think of a solution to a problem/develop a way to do a task. A Program is a novel way to solve a problem/perform a task. An algorithm is a formal representation of the program, which makes a foray into the implementation of the solution (not a complete dive, though)
“Coding” is a much easier job (once you have sufficient practice). Coding finds its roots in “encoding”. Encoding is the act of representing information. Analogously, coding is the act of putting the program (as described above) in a suitable “Language” so that the computer can understand it and show you the output of what you designed.
It therefore makes a lot of sense that the language of implementation is not at all important, since you only need to change the syntaxes when you change a language of implementation. The core logic (program) is quintessential !
Let me try to put across an analogy
Programming is like poetry. The poet fantasizes a beautiful scene with all sorts of beautiful things. This creativity is possessed only by few individuals.
Coding is like writing the idea on paper in a suitable language so that people understand it. You need to find the correct and nice sounding word, but that word can be looked up in a Thesaurus. You need to find the correct permutation and combination of words that will put across your idea. This is similar to syntax of a language. You need to find the correct constructs that will put across your idea to the computer.
Thankfully, a “Programming Language” is very restricted and much, much simpler than a natural language. Its like you need to “Code” poetry from a word bank of 1000 words and no more. No fancy words etc..
Hope this post was nice ! Please do comment !