c++ vs assembler

26/12/2003 - 13:34 por Fº Javier | Informe spam
Hola: ¿Pensais que sabiendo VC++ es productivo emplear tiempo aprendiendo
ensamblador, o seria mejor aprovechado ese tiempo estudiando nuevas
librerias para C++, por ejemplo?
Mis mejores saludos.

Fº Javier

Preguntas similare

Leer las respuestas

#6 Ricardo Gonzalez [MVP]
29/12/2003 - 04:24 | Informe spam
Es cierto, cada ambiente y cada aplicacion tienen diferentes requerimientos
que vienen a ser no funcionales como lo son el rendimiento o la complejidad
para la programacion. Es importante hacer el balance adecuado. Uno de los
grandes problemas que tienen los programadores es que utilizan un lenguaje
porque es el que conocen y no por un criterio claro sobre el objetivo y los
requerimientos de las aplicaciones que vas a construir. Otro ejemplo de
mucha mas abstraccion es Prolog (un lenguaje utilizado en algunos tipos de
aplicaciones relacionadas a Inteligencia artificial), obviamente, no vas a
programar en prolog un driver de un dispositivo de hardware, o programar en
assembler una aplicacion de contabilidad o algo por el estilo.

Lo que pretendo decir es que a cada herramienta, lenguaje y plataforma hay
que sacarle el jugo en el area para la que mejor funciona. no hay que
limitarse.

Lo que quiero resaltar, es en en el framework de .NET lo bueno es tener los
servicios disponibles independientemente del lenguaje que quieras y eso es
lo que realmente le da mas poder, y facilita su utilizacion. A la larga (en
terminos de .NET) para aplicaciones de uso general no existe mucha
diferencia entre el rendimiento que puedes obtener con una aplicacion
escrita en un lenguaje o otro dado que la implementacion de la gran mayoría
de las clases es de manera comun.

espero que todo este thread the haya ayudado a tomar una buena desicion.

un saludo y Feliz Año nuevo a todos.


Ricardo González Vargas.
MVP

"Zephryn Xirdal" wrote in message
news:%
"Ricardo Passians" escribió en el mensaje
news:
> Segun esa teoria, los que usan Visual C++ deberían dejarlo por otros


como
> Delphi, Visual Basic, Visual Fox, C# ??

Depende.

Desde luego, hacer una aplicación de bases de datos con el VC puede llegar


a
ser una tarea ingente, mientras que con Delphi, etc, puede llegar a ser
bastante grata, dado el soporte que para ello tienen. Respecto al C#,


NS/NC,
apenas he visto algo de él, pero entiendo que es un C++ de más "alto


nivel"

> En qué "nivel de abstracción" se puede considerar el VC++ respecto a los
> demás ?
>

Digamos que tienes el ensamblador, que es el nivel más bajo (quitando,


claro
está, el meter a mano los códigos de operación).

Luego tienes el C, que digamos es un ensamblador genérico, y que ante la
programación de sistemas se debería corresponder muy pocas instrucciones


de
código máquina por sentencia de C. Salvo bucles y algunas construcciones,
cada sentencia de C no debe crear más de dos o tres instrucciones de
ensamblador, amén de ciertos compiladores "agresivos" que aprietan el
código de forma extraordinaria.

Luego estaría el C++, que se correspondería a la parte del VC de bajo


nivel,
que digamos es una herramienta a caballo entre el C y otras de mayor


nivel,
como el Java o el C#. El C++ junto a bibliotecas de clases (como MFC) se
convertiría en un lenguaje de alto nivel, o casi, que es el otro 50% del


VC.

Y encima de todo, tendríamos el VB, Delphi, supongo que el C# y demás, que
entrarían dentro del nivel más alto de los lenguajes de programación como
tales.

Desde luego, que conforme vamos bajando de nivel, aumentamos el


rendimiento
hasta quizás el nivel de "C en lugar de ensamblador", en el que debería
haber muy pocas diferencias entre el código generado por el compilador de


C
y el tuyo propio en ensamblador.

Es, en mi opinión, una elección personal, pero hay que tener siempre


cierto
criterio a la hora de elegir.




Respuesta Responder a este mensaje
#7 Zephryn Xirdal
29/12/2003 - 15:19 | Informe spam

Lo que quiero resaltar, es en en el framework de .NET lo bueno es tener


los
servicios disponibles independientemente del lenguaje que quieras y eso es
lo que realmente le da mas poder, y facilita su utilizacion. A la larga


(en
terminos de .NET) para aplicaciones de uso general no existe mucha
diferencia entre el rendimiento que puedes obtener con una aplicacion
escrita en un lenguaje o otro dado que la implementacion de la gran


mayoría
de las clases es de manera comun.



Ya que estamos en el asunto, una duda:

Por lo que vi en su momento, el C# compila de forma nativa para la
plataforma .NET, digamos que es un compilador que genera código directamente
para el juego de instrucciones de la máquina virtual .NET, en el sentido de
que lo que escribes se traduce directamente a código ¿clr?, sin capas
intermedias, mientras que el VC, lo que genera es un código que apoya en una
capa intermedia situada entre lo que el VC genera y el clr.

Evidentemente, cuando se compile con el VC para plataforma nativa, se genera
código directo del procesador, pero cuando se hace para .NET existe una capa
intermedia situada entre el código que escribes y el que ejecuta .NET.

¿Es cierto?



espero que todo este thread the haya ayudado a tomar una buena desicion.


un saludo y Feliz Año nuevo a todos.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida