introduccion
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
introduccion [2014/03/11 04:02] – lmateu | introduccion [2020/03/08 21:05] (actual) – lmateu | ||
---|---|---|---|
Línea 13: | Línea 13: | ||
* A fines de los 70's aparece el primer lenguaje orientado a objetos: Smalltalk. | * A fines de los 70's aparece el primer lenguaje orientado a objetos: Smalltalk. | ||
* En los 80's Bjarne Stroustrup enriquece C con clases para facilitar la programación orientada a objetos en un lenguaje eficiente, dando así origen al lenguaje C++. Tampoco es robusto y es complejo. | * En los 80's Bjarne Stroustrup enriquece C con clases para facilitar la programación orientada a objetos en un lenguaje eficiente, dando así origen al lenguaje C++. Tampoco es robusto y es complejo. | ||
+ | * A fines de los 80 Guido Van Rossum concibe Python como en lenguaje de programación fácil de usar. Favorece la escritura rápida de programas pero sacrificando la eficiencia en tiempo de ejecución: Un programa en Python puede requerir de 10 a 100 veces más tiempo de ejecución que el mismo reescrito en C. | ||
* En los 90's James Gosling concibe Java como una forma de darle robustez a C++. Es menos complejo que C++. | * En los 90's James Gosling concibe Java como una forma de darle robustez a C++. Es menos complejo que C++. | ||
+ | |||
===== Ejemplo de programa en C ===== | ===== Ejemplo de programa en C ===== | ||
Línea 120: | Línea 122: | ||
^ ^ Java ^ C ^ | ^ ^ Java ^ C ^ | ||
| declaración | < | | declaración | < | ||
- | | asignación de memoria | < | + | | asignación de memoria | < |
| acceso | < | | acceso | < | ||
| destrucción | | < | | destrucción | | < | ||
Línea 158: | Línea 160: | ||
* **switch** (//exp//) { //const// : //inst// ... **break**; ... **default**: | * **switch** (//exp//) { //const// : //inst// ... **break**; ... **default**: | ||
- | Pero se deben considerar las siguientes diferencias entre C y Java. | + | Pero se debe tener cuidado si el compilador implementa una versión de C anterior al estándar C99, como por ejemplo ansi-C. |
- | En C el ciclo for no admite declarar la variable de control en la misma expresión de inicialización. | + | Antes de C99 el ciclo for no admite declarar la variable de control en la misma expresión de inicialización. |
- | el siguiente código es ilegal: | + | |
< | < | ||
Línea 177: | Línea 178: | ||
</ | </ | ||
- | Además las declaraciones de variables | + | Además las declaraciones de variables |
< | < | ||
Línea 194: | Línea 195: | ||
</ | </ | ||
- | GCC sí admite | + | A partir de C99 sí se admiten |
==== Funciones ==== | ==== Funciones ==== | ||
Línea 217: | Línea 218: | ||
| | ||
int main(int argc, char **argv) { | int main(int argc, char **argv) { | ||
- | double res= fact(atoi(argv[1]); | + | double res= fact(atoi(argv[1])); /* invoca la función fact */ |
printf(" | printf(" | ||
return 0; | return 0; | ||
Línea 250: | Línea 251: | ||
| | ||
int main(int argc, char **argv) { | int main(int argc, char **argv) { | ||
- | double res= fact(atoi(argv[1]); | + | double res= fact(atoi(argv[1])); /* invoca la función fact */ |
printf(" | printf(" | ||
return 0; | return 0; |
introduccion.1394510553.txt.gz · Última modificación: 2014/03/11 04:02 por lmateu