[Solucionado] Programacion OOP o Estructurada

Hola compañeros.

Ahora tengo esta inquietud.

Me queda claro que el paradigma orientado a objetos es mucho mejor que el estructurado, pero eso es desde el punto de vista humano-programador.

Pero que hay en terminos de la maquina-ejecutora, que es quien realiza verdaderamente el trabajo y debido a las limitadas prestaciones de los micros ¿Que es lo mas optimo? aquello que ocupe menos memoria no solo flash si no tambien ram, aquello que use menos ciclos de procesamiento.

Yo intuyo que el compilador de arduino traduce finalmente todo a lo mismo, sea POO o estructurado, asi que al final no se vera diferencia por usar uno u otro paradigma y que la diferencia radicara en los algoritmos empleados por el programador.

La inquietud me surge de haber leido esta pagina

pagina

¿Ustedes que opinan?

Yo pienso que no hay que obcecarse en utilizar siempre uno u otro método. Si miramos desde el punto de vista rendimiento/recursos, en principio ganaría la programación estructurada, pues la OOP es, digamos, una capa más, aunque gracias a la eficiencia del compilador/enlazador, el "grosor" de dicha capa en el ejecutable final tiende a cero.
Creo que el rendimiento de la máquina, sino el rendimiento del programador, es la base para tomar una u otra vía en la mayoría de los casos. En caso de programas pequeños, el utilizar OOP casi complica la solución del problema, mientras que en proyectos complejos es casi una locura tomar exclusivamente la vía de la programación estructurada, por no hablar de lo que se nos complicará la cosa si necesitamos en el futuro modificar o ampliar. Por supuesto, en ambas metodologías se puede programar bien o mal (por simplificar), y ahí sí que podemos encontrar diferencias de eficiencia bestiales.

Pues investigando mas el tema, muchos concuerdan en que estructurado es mas optimo para el micro, pero si le proyecto es muy complejo como dicen por ahi, es un dolor de cabeza no usar poo. Creo que al final es una decisicion personal del programador y de los factores que el ponga en balanza.

En el proceso de investigacion encontre este documento que me parece de lectura obligada no solo para quien usa arduino con micro avr 8 bits si no para cualquiera que use un micro de estos.

Documento

Por si no conocen donde se cambia la bandera de optimizacion en los parametros del compilador en el ide de arduino. El archivo es:

ruta_instalacion_arduino_ide\hardware\arduino\avr\platform.txt

En este archivo se encuentra 3 veces el parametro -Os (optimizado para espacio) y se puede cambiar a otros como -O1,-O2,-O3 (optimizado de velocidad)

Saludos.

recordemos que el chiste de la POO es la reutilizacion de codigo, dicho esto siempre que programamos hardware con un lenguaje de alto nivel como lo es C, siempre siempre hacemos uso de ambas programaciones, estructurada y orientada a objetos.

recordemos que en un lenguaje de alto nivel todo esta almacenado en librerias que tienen funciones especificas, estas librerias estan basadas en POO, asi que tu codigo puede utilizar solo programacion estructurada pero a fin de cuentas las librerias que cargas no son mas que POO.

en un nivel mas bajo como el lenguaje ensamblador puedes prescindir de la POO, pero bueno mi punto es que al programar por ejemplo, arduino, siempre hacemos uso de ambas programaciones aunque no nos demos cuenta, el decir que una es mejor que otra como dice noter, depende de la aplicacion que se le de y , hablando de compiladores pienso que solo en un nivel bajo (como ensamblador) se puede utilizar integramente programacion estructurada

jejeje mi umilde opinion