¿La programación se trata de definiciones de variables, para bucles, ifs y estructuras de datos?

No se. Considera esto:

La regla de rasgo [A, B] extiende la Función1 [A, Opción [B]] {
condición val: A => booleano
salida val: B
def apply (en: A): Opción [String] =
if (condición (in)) Algunos (salida) más Ninguno
}
Regla de objeto {
def ejecutar [A, B] (en: A, reglas: Lista [Reglas [A, B]]): Lista [B] =
rules.map (_ (in)). flatten
}
clase de caso DividesRule (denom: Int, salida: String)
extiende la Regla [Int, String] {
anular la condición val = (_% denom == 0)
}
object Main extiende la aplicación {
reglas val = Lista (
DividesRule (3, “Fizz”),
DividesRule (5, “Buzz”)
)
1 a 100 foreach {i =>
Rule.run (i, rules) match {
caso Nil => println (i.toString)
case xs => println (xs.mkString (“”))
}
}
}

Ese es el infame rompecabezas FizzBuzz implementado con un solo bucle si y no, en Scala. Son solo definiciones y manipulación de secuencias con un poco de FP para darle sabor. La programación real va de una declaración de problema a una solución que funciona, solo usando control de flujo y abstracción.

No olvide que las estructuras de datos caen de definiciones, bucles e ifs.
No confundas la simplicidad con que sea fácil.
Además: no olvide que las cosas simples a menudo son absurdamente poderosas.

¿Correr consiste en colocar los pies en el suelo, sacarlos del suelo y respirar?
¿Ser el cirujano se trata de cortar personas?
¿Ser arquitecto es dibujar con un lápiz?
¿Ser astronauta se trata de sentarse en un cohete?

Lo que hiciste fue simplificar demasiado el tema. La programación es un gran tema. Hay muchos lenguajes de programación. Muchos paradigmas Cada paradigma tiene sus propias abstracciones. Cada conjunto de abstracciones conduce a diferentes herramientas, y así sucesivamente. Decir que solo se trata de bucles, ifs y algunas otras cosas simplemente no se siente bien.

No, la programación no se trata solo de variables, bucles, ifs y estructuras de datos. No, la programación no es realmente todo ensamblaje. Es una embarcación complicada que es increíblemente interesante y compleja.

PD.
Hay lenguajes en los que no existe una concepción de “for loop” o “definición variable” o “if” o “estructura de datos”, y puede programarlos perfectamente.

Más o menos.

La parte que te perdiste es la “recursividad”, que no es estrictamente necesaria, pero sí útil.

Pero la mayoría de las cosas en la programación podrían reducirse para bucles, ifs y estructuras de datos si realmente quisieras.

Pero decir “todo sobre” en este contexto es como decir que la poesía es “todo sobre palabras y signos de puntuación”, o que las películas son “todo sobre patrones de colores en pantalla y sonidos”.

La programación se trata tanto de todas las cosas que enumeró como la poesía de Shakespeare se trata de letras, comas, espacios y líneas. Lo que quiere decir, sin rodeos, que usted absolutamente, completamente perdió el punto.

La programación se trata de resolver problemas y describir estas soluciones de manera formal. Las variables, los bucles, los condicionales y las estructuras de datos son meramente abstracciones útiles que pueden ayudar o no a su proceso de pensamiento, pero el objeto principal de este campo son los problemas y las soluciones .

Eso es lo básico, pero ciertamente hay más.

Funciones, objetos, métodos, hilos y mucho más.

Pero en realidad, la programación se trata de construir cosas, por lo que si bien la construcción de casas podría ser “Madera, ladrillos, vidrio, tornillos y nada más”, la realidad es que hay mucho más en el acto real de construcción.

O como escribir un libro, no decimos “¿Palabras? ¿Eso es todo?”.

La programación consiste en dar soluciones a los problemas del día a día. Las definiciones variables, los bucles y las estructuras de datos son solo herramientas para hacerlo.

De la misma manera que la ciencia es una manera de hacernos la vida más fácil. Matemáticas, Física, Química son solo herramientas utilizadas para hacerlo.

No, la programación se trata de resolver problemas y representar sistemas en código. Puede usar los conceptos que mencionó para lograr esto. Te falta el bosque por los árboles.