Java vs C: Similitudes y diferencias




Sintaxis

La sintaxis de Java y de código C es muy similar en ciertas situaciones. Por ejemplo, la declaración primitiva tipo de datos, sentencias de control de flujo, e incluso algunas funciones de la biblioteca tienen una sintaxis casi idéntica entre C y Java. Ambos lenguajes usan llaves para dividir el código en bloques. Esta característica define un lenguaje como C-ser base. Además de Java y C, otros idiomas basados en C incluyen C + +, C #, PHP, y D.

Orientado a Objetos vs Imperativo

Los idiomas se escriben a menudo con un paradigma de programación específico en mente. Estos paradigmas dan forma a la lengua y pueden imponer restricciones sobre lo que es posible en ese idioma. El lenguaje de programación Java es principalmente un lenguaje orientado a objetos, mientras que el lenguaje C es principalmente un lenguaje imperativo. Los programadores pueden encontrar maneras de resolver estos prejuicios implícitos paradigmáticos. Por ejemplo, un programador llamado Bjarne Stroustrup amplió C en un lenguaje orientado a objetos C + + con la invención. Los programas se centran en los estados imperativos que cambian el estado de un programa. Programas orientados a objetos enfoque en el diseño y la interacción entre los objetos, que son combinaciones lógicas de datos y funciones.

La recolección de basura frente a la gestión de memoria manual 

Un programa de ordenador puede asignar memoria para almacenar datos. Cuando ya no se necesita esta información, que debe ser devuelto al sistema operativo. Si no se devuelve la memoria, se producen pérdidas de memoria y puede afectar al rendimiento. En Java, los datos no se utiliza se devuelven automáticamente por un componente de recolección de basura de la Máquina Virtual Java (JVM). Con C, la memoria debe ser devuelto manualmente.

Java bytecode vs binarios compilados

Cuando se compila un programa Java, el resultado final es bytecode Java. Bytecode de Java que se ejecuta en una JVM, lo que permite a cualquier ordenador con una JVM para ejecutar bytecode Java. Con C, el código fuente se compila en archivos binarios específicos de la máquina que son compatibles sólo dentro de un estrecho rango de arquitecturas. Trasladar los programas en C para otras arquitecturas requiere el código fuente para volver a compilar y, a menudo parcialmente reescrito para dar cabida a los nuevos requisitos de hardware.



Deja un comentario