¿Qué tipo de áreas de programación hay? (como análisis de datos, automatización, creación de sitios web)

Muchos. Primero, está el estilo del lenguaje, que se puede dividir por la estructura matemática utilizada para describir los algoritmos, el estilo de evaluación y el sistema de tipos.

Estructura matemática: quiero decir, lógica vs. programación funcional frente a imperativa.
estilo de evaluación: me refiero a los estilos JIT, compilación, interpretación, etc. de convertir el código en código de ensamblaje.
sistema de tipos: Cálculo orientado a objetos vs. Cálculo secuencial frente a teoría de categorías / Álgebra abstracta (Haskell, Idris, Agda …) vs. vinculación dinámica vs. tipificación estática versus tipificación débil vs. tipificación fuerte.

Luego, hay disciplinas reales en las que uno usaría la programación para:
1. Programación web
2. Computación de alto rendimiento (no necesariamente Big Data, sino más bien como computación científica o análisis de datos donde los algoritmos son grandes y complejos, mientras que los datos pueden ser pequeños)
3. Big Data y análisis de datos
4. Aprendizaje automático, inteligencia artificial, procesamiento de lenguaje natural, etc.
5. Programación de bajo nivel (programación incorporada, programación del kernel del SO, programación del controlador del dispositivo, programación del firmware)
6. Programación de sistemas de nivel superior (scripts de contenedores Docker, escritura de secuencias de comandos Vagrant, shell scripting, escritura de un servidor de archivos en Go, Rust o NodeJS, escritura de secuencias de comandos de Chef, etc.)
Probablemente hay mucho más por ahí que podrías entrar y que extrañé.

No creo que haya un número difícil para cuántos tipos de idiomas o cuántas disciplinas hay en la programación. El número es enorme, y está cambiando cada día. Lo mejor que puedes hacer es encontrar algo que te interese y centrarte en él.

Numeroso. En primer lugar, está el estilo dialectal, que se puede separar por la estructura científica utilizada para representar los cálculos, el estilo de evaluación y el marco de clasificación.

Estructura numérica: quiero decir, lógica versus utilitaria versus programación básica.

estilo de evaluación: me refiero a JIT, acumulación, elucidación, etc., estilos de transformación de código en código de recopilación.

Marco de clasificación: objeto orientado versus cálculo secuencial versus teoría de clases / álgebra abstracta (Haskell, Idris, Agda …) versus vinculación dinámica versus escritura estática versus escritura frágil versus escritura sólida.

En ese punto, los trenes reales utilizarían la programación para:

1. Programación web

2. Elite Computing (no es inexorablemente Big Data, sino más bien como un procesamiento experimental o una investigación de información donde los cálculos son enormes y complejos, mientras que la información puede ser poca)

3. Enormes datos y análisis de datos

4. Aprendizaje automático, inteligencia artificial, procesamiento de lenguaje natural, etc.

5. Programación de bajo nivel (programación insertada, programación de bit de SO, programación de controlador de gadget, programación de firmware)

6. mayor cantidad de programaciones de frameworks (scripts Docker, compositores Vagrant, shell shell, compositores en Go, Rust o NodeJS, compositores Chef, etc.)

Probablemente hay mucho más por ahí que podrías entrar que me perdí.

No creo que haya un número difícil para qué tipo de dialectos o qué número de órdenes hay en la programación. El número es enorme, y está cambiando cada día. Lo mejor que puedes hacer es descubrir algo con lo que estés ocupado y concentrarte en ello.