El primero me parece perfectamente bien. La diferencia es la forma en que lo miras.
El primero está encadenado. Como desarrollador, sé que cualquier lenguaje que admita cadenas como esta devolverá el resultado de la primera función, pero debido a que hay otra función, el resultado se utilizará como entrada para esa. Esto es cierto hasta que se alcanza el final de la cadena, y todo devuelve un resultado.
Ahora el otro, se ve desde el punto de las matemáticas. Si estás acostumbrado a las matemáticas, pero no tanto a la programación, eso tiene sentido para ti. Primero obtenemos el resultado de uno, luego obtenemos el resultado de uno y dos y así sucesivamente. Aquí estás resolviendo una ecuación, paso a paso, para alcanzar el mismo resultado. También podría decir ((a + b) + c) + d. Empiezas en el nivel más profundo y trabajas para salir.
- ¿Puede una computadora portátil estar sin una unidad de CD?
- ¿Cuáles son las funciones básicas y las partes de una computadora?
- Traté de habilitar 4 procesadores y la computadora portátil solo habilitó 1 y me volví lento, después de desmarcar la caja, la computadora portátil se bloqueaba cada vez que intentaba reproducir algo. ¿Que puedo hacer para arreglarlo?
- ¿Cuál es la diferencia entre un i5 4th gen y un 7th gen?
- ¿Por qué mi computadora portátil se apaga cada vez que juego?
Para mí, la primera opción es mucho más legible y lógica que la versión matemática. También con cadenas, por ejemplo en javascript, puede hacer esto:
var text = s1.concat (s2)
.concat (S3)
.concat (S4);
.. que para algunas personas también es más fácil de leer, ya que estas cadenas se vuelven cada vez más complejas, no solo con la misma función, sino con una multitud de ellas.