Cita:
Iniciado por agleiva Pretender que un bucle for o un array es "complejo" es lisa y llanamente ridículo.
Lo complejo es como lo pesado, depende de para quién. Pero no se puede negar que son más complejos que las variables más comunes, ifs y gotos. Aparentemente simular un array con variables es más complejo que un array porque requiere eval y otras cosas, pero intento ver si es así o no.
Cita: Son conceptos relacionados al Desarrollo de Software, para entenderlos hay que tener una mínima idea acerca del mismo.
Y yo no tengo siquiera una mínima idea acerca del mismo, según tú.
Cita: Pero no vas a encontrar a nadie tratando de "no utilizar funciones" o arrays, o cualquier otra herramienta para resolver algún problema, porque eso es simplemente estúpido.
A ver... digamos que un mono quiere alcanzar una manzana. A un lado tiene una rama suficientemente larga y a otro lado tiene una pistola que tras ser configurada puede lanzar un rayo que agarra y acerca cosas hasta 1k de distancia. ¿Qué te parece que va a usar el mono? ¿es estúpido por elegir algo que le resulte más fácil de usar? Antes de decir que un método es estúpido o inteligente piensa en quién va a usarlo.
Cita: Es un concepto totalmente cotidiano en la vida de cualquier programador que utilice un lenguaje moderno. Se trata de herramientas o funcionalidades que permiten aplicar operaciones sobre conjuntos (finitos o infinitos) de datos. Los datos pueden ser cualquier dato, en los lenguajes modernos las operaciones con streams o comprensiones de listas se pueden aplicar de manera genérica para cualquier tipo T, sin importar si ese tipo T es un tipo básico (strings, integers, doubles, booleans) o un tipo complejo con muchas propiedades y funciones.
Mi idea al preguntar era entender esto:
"The introduction of arrays into non-structured languages was a notable step forward, making stream data processing possible despite the lack of structured data types."
Ahí dice que algo no era posible sin datos estructurados. ¿Qué es lo que era imposible?
"La introducción de los arrays en la programación no estructurada fue un notable paso adelante, haciendo que *stream data processing* fuese posible a pesar de la falta de datos estructurados (o de tipo estructurado, no sé traducir bien eso)".
Cita: NO. El que tiene un concepto cerrado sos vos.
Yo no tengo un concepto sobre lo que es programar bien, sólo tengo algunas pequeñas ideas como que usar else es mejor que else if si no hay otros casos y el 2ndo siempre será true.
Si vamos al caso estoy cerrado a usar ciertas cosas ¿será porque tengo un concepto sobre ellas? Sí, que me parecen más complejas de lo que necesito.
Cita: Programar bien es, objetivamente, usar los paradigmas, conceptos, y funcionalidades adecuadas para cada tipo de problema. Empecinarse en usar conceptos inadecuados a pesar de que te lo están diciendo continuamente definitivamente NO es programar bien.
A mí me interesan los resultados y la comodidad. Si obtengo buenos resultados no me parece que mis conceptos sean tan inadecuados. Podés hablar de la velocidad y lo fácil que es conseguir apoyo, etc, como le dije a Malenko, en ese sentido puedes decir que entonces son inadecuados, en el sentido de que hay mejores, pero me da igual, ya lo he dicho, digamos que quiero usar bien a Pikachu y a algunos otros, pero los legendarios (los mejores) no me interesan. ¿Juego bien? Probablemente no, pero si consideramos que el juego es así, porque así me lo propongo o así me interesa (ver low level challange, solo challange, etc), es decir usar las herramientas que digo, entonces es posible hablar sobre cómo usarlas mejor o peor. Me interesa usar mejor las herramientas que uso, realmente no entiendo por qué tanto empecinamiento en que use otras. No importa si son mejores, recuerda el caso del mono.
Cita: Nótese que en ningún momento te hablé de herramientas (como lenguajes de programación o plataformas) sino de CONCEPTOS. Como te dije en el párrafo anterior, programar bien es utilizar los CONCEPTOS adecuados. Negarte a eso es negarte a aprender a programar bien. PUNTO.
Algunos dicen que los conceptos son herramientas, pero bueno, mi error. Sí, no me interesa aprenderlos si no veo la necesidad.
Bueno, programo mal, soy como alguien que, pudiendo aprender a caminar o correr, decide seguir gateando, entonces "ando mal". Insisto en el tema del mono y de los fines -para qué usar algo más complicado de lo necesario-, pero bueno, te daré la razón, es una forma correcta de verlo. Sin embargo, quien sepa programar bien debería ser capáz de hacerlo bien también sin herramientas (o conceptos) tan útiles como las que dices. Comprende que, si pregunto algo, será suponiendo eso o teniendo la esperanza de que haya un caso así, y que me respondan lo que pido, no que me manden a hacer las cosas "con las herramientas/conceptos". ¿Sabes kung fu? Genial, quiero aprender. ¿Te parece que eso no es una buena defensa, que debería aprender a usar armas? No me interesa por ahora, gracias. ¿Pero sabes pelear bien o sólo si es con armas? ¿sabes programar bien o sólo si es con functions, arrays y whiles/for?
Cita: Has dicho:
"hoy los arrays y functions me parecen innecesari@s en muchos casos"
Sí, si hubiera dicho que son innecesarios sería diferente, pero fíjate que dije en muchos casos, queriendo decir que en algunos sí son necesarios. Sinceramente no conozco casos en que lo sean, pero bueno, no he dicho no lo sean.
Cita: Y estás buscando argumentos, ejemplos y justificaciones para programar sin utilizar estos conceptos. Eso es un error y no voy a permitir que algún pobre pibe que esté queriendo empezar a programar en serio se alimente con tu desinformación.
De acuerdo, quien pueda aprender todo que lo haga. Pero yo seguiré tratando de pulir mi metodología.