[eside-ghost] sistemas embebidos, C vs C++

Alfredo Beaumont alfredo.beaumont en gmail.com
Mie Nov 26 15:18:19 CET 2008


Tuesday 25 November 2008(e)an, halls(e)k idatzi zuen:
> wop!
>
> En el curro donde estoy estabamos realizando un proyecto con
> microcontroladores de la familia MSP430 de Texas Instruments [1] y por una
> serie de razones vamos a repensarlo y reorganizarlo todo desde cero de una
> forma mas estructurada y mas bonito y mas genial todo.
>
> Hasta ahora el proyecto lo estabamos escribiendo en C++, utilizando el IAR
> Workbench [2] como IDE, con su propio compilador y tal. Y aqui nos ha
> surgido el problema. A la hora de decidir en que lenguaje lo desarrollamos
> tenemos division de opiniones. Los que vienen de software de PC son mas
> partidarios de C++, mientras que los que vienen de microcontroladores y
> ensamblador, son mas partidarios de C.
>
> El problema basico viene siendo un balance entre optimizacion (algunos de
> los micros que usamos solo tienen 128 bytes de RAM), facilidad de codigo,
> rapidez de ejecucion (tanto de los micros como del tiempo requerido para
> realizar el proyecto), y portabilidad.

Portabilidad C. Para todo lo demas C++. Hacerlo bonito con C quiere decir que 
vas a dedicar una cantidad importante de recursos a añadir funcionalidades que 
C++ ya te da, y probablemente lo hagas de forma menos eficiente. En cuanto a 
eficiencia creo que ambos lenguajes estan igualados, y basta con tener cuidado 
con algunas de las caracteristicas de C++. Es decir, es mejor usar un 
subconjunto de C++ (que ya esta hecho) que un superconjunto de C que tienes 
que desarrollarte tu mismo.

Pero bueno, esta es solo mi opinion (creo que en la linea de juanval) a nivel 
teorico. Luego en la practica tendreis condicionantes especificos que pueden 
ser importantes (experiencia de los programadores, herramientas, etc.)

Saludos
-- 
Alfredo Beaumont Sainz
http://www.alfredobeaumont.org/blog.cgi


Más información sobre la lista de distribución eside-ghost