¿Qué lenguaje de programación es el más difícil de hackear (el más seguro) y qué método podría usarse para agregar protección adicional a mi página web y a mi aplicación para que no sea hackeada?

Nada es inquebrantable. Nada.
Dicho esto, pasemos a otros puntos.

Leer
Repase las vulnerabilidades de seguridad más explotadas y cómo tapar esos agujeros. Las compañías como OWASP hacen una lista de las 10 principales vulnerabilidades y métodos para corregirlas. Además, manténgase al tanto de las últimas vulnerabilidades y verifique si afectan su aplicación.
Hay demasiadas cosas para enumerar, desde la inyección de SQL hasta el uso de SSL hasta qué no, para enumerar aquí junto con las correcciones. Eso abarcaría demasiadas páginas, probablemente lo suficiente como para causar un desbordamiento de pila en quora. (Si sabes a qué me refiero 😉)

Pruébalo
No le hagas caso a nadie. Es posible que haya seguido todas las pautas de seguridad al codificar su aplicación. Pero nunca confíes demasiado en que tienes todo correcto. Prueba. Siempre. Existen soluciones pagas / gratuitas que realizan análisis de código estático, así como pruebas dinámicas de penetración web.
Además, la mayoría de las herramientas de prueba se mantienen actualizadas con las vulnerabilidades que siguen surgiendo. También hacen un buen trabajo al clasificar las lagunas de seguridad en función de su gravedad y también proporcionan una posible solución.

Servidor vs Aplicación
Y este es uno de los casos en que lo que está afuera importa un poco más que lo que está adentro. Quiero decir, el servidor en el que se ejecuta tu página web. Puede escribir la aplicación más segura, pero si su servidor está desactualizado / vulnerable, no será de mucha utilidad.

Seguridad vs rendimiento
Con cada medida de seguridad que ponga, su aplicación tendrá un impacto en el rendimiento. Así que solo ponga tanta seguridad como sea necesario.
Si está utilizando una herramienta de prueba, puede obtener una mejor perspectiva sobre qué agujeros de bucle corregir y cuáles tienen un costo mayor en la aplicación en comparación con el error.

Esa es una gran pregunta.

Evite la inyección de SQL mediante el uso de procedimientos almacenados. Esto también permite el registro.

Las variables escritas son importantes en mi opinión.

Dirección IP estática.

Hash las contraseñas para la comparación unidireccional. No almacene la contraseña de un usuario de ninguna forma. El hash servirá.

Código simple Si es complejo, probablemente necesite reescribirse.

Separe los datos del software con un DBA.

Todavía tiene riesgo en los procesos y la memoria.

La seguridad no depende del idioma. ¡Depende de cómo se escriba un código para evitar ataques!

El lenguaje no determina la seguridad, el compilador, la implementación y el código (lo que escribes) hacen.