Here is a straightforward explanation
Web programming deals with the stuff that makes it all work. Programs can communicate between the files that the developer has created and the server that will display them. Web servers use programs to serve sites. Web browsers are programs developed to show places to end-users. Other programs may be required to add exceptional functionality to a site.
Imagine that I wanted to create a page where I collected names and email addresses to create a mailing list. I can make a page in HTML that has a box to fill in the information. But I need to do something with information type people.
Maybe I want information to go into a database so that I can later download the mailing list as a .csv file. For this, I need to write (or search) a program that will collect the names and put them in the correct place in the database. Then I can edit my HTML and tell it to use my program to submit information when a person fills the form.
A lot of programs exist to do this kind of work, so I wouldn’t need to write one from scratch. But it would help me to know some programming to make sure that I was not using something that was poorly written or had security weaknesses.
Web design is the most common term for professionals in this industry. Often, when someone says that they are a web designer mentioning very broad skills, one of which is visual design.
There are two flavors in front-end development and back-end development. Some of these skills overlap in these two tastes, but they have very different purposes in the web design profession.
It is basically someone who develops web based applications that uses the fundamentals of server side scripting and rich media.
Web Programmer is a coder. Both developers and programmers are interchangeable, they mean the same. Therefore to say on top of each other does not mean that it is a separate work. But if one does not create only website pages, they certainly should not be referred to as web programmers, they are a web developer.