Existen carpinteros que jamas en su trabajo usan martillos y mucho menos clavos... o sea... ve tu a saber cuantos tipos de carpinteros hay... hasta hay pájaros que solo usan su pico y todo el mundo sabe que son carpinteros...
Una persona puede ser programador sin saber lenguaje alguno de programación porque existen muchas herramientas para ello... si le encomiendan hacer un programa y lo hace, es un programador, y no importa el método usado para llevar a cabo su tarea...
Cierto, depende del entorno. Por ejemplo los primeros programadores unían bornes o perforaban tarjetas para crear programas, pues bien, decirles que no saben programar por el simple hecho de no "reconocer" su metodología es un error.
Por otro lado está la eficiencia, por ejemplo, se puede matar a una mosca con una granada, esto eficaz porque logra el objetivo sin problemas, pero no es eficiente. Bajo este concepto programar por ejemplo en Java no sería eficiente por la cantidad de recursos que consume XD, pero sí la programación en Assembly, C o C++.
Se me viene a la mente la forma de "programar" de IronMan en las películas, jeje, todo es virtual y con los simples dedos:
Ahora, siendo fríos y puristas un Programador es tal cual dice la Wiki:
es aquella persona que elabora programas de computadora, es decir escribe, depura y mantiene el código fuente de un programa informático, que ejecuta el hardware de una computadora, para realizar una tarea determinada.