miércoles, 20 de diciembre de 2017

imagen de https://www.linkedin.com/pulse/java-vs-c-from-top-toe-sergii-tymchuk
¿Qué es C#?
C# es un lenguaje de programación de propósito general que apareció por primera vez en el año 2000, como parte de la iniciativa .NET de Microsoft. Fue diseñado para el Common Language Infrastructure(CLI). Las aplicaciones de C# se compilan en código de bytes que puede funcionar con las implementaciones de CLI.

¿Qué es Java?
Inicialmente lanzado por Sun Microsystems en 1995, Java es un lenguaje de programación de propósito general que fue diseñado con el objetivo específico de permitir a los desarrolladores de “escribir una vez, ejecutar en cualquier lugar”.  Las aplicaciones Java se compilan en código de bytes que puede funcionar con las implementaciones de la máquina virtual de Java (JVM). Al igual que la CLI, la JVM ayuda a cerrar la brecha entre el código fuente y los 1’s y 0’s que entiende la computadora.

C# vs Java: Principales similitudes
Los orígenes de Java y C# están estrechamente ligados a la transición de los lenguajes de programación de bajo nivel como C++, puesto que los lenguajes de programación de alto nivel que se compilan en código de bytes se pueden ejecutar en una máquina virtual. Esto viene con una serie de beneficios, más notablemente la capacidad de escribir código legible por el hombre, una vez que se puede ejecutar en cualquier arquitectura de hardware que tiene la máquina virtual instalada en él. Estas son algunas de las principales similitudes entre C# y Java:
* Garbage Collection. En lenguajes de bajo nivel, la gestión de memoria puede ser tedioso porque hay que recordar eliminar adecuadamente los nuevos objetos para liberar recursos. Ese no es el caso en C# y Java, donde la recolección de basuraincorporada ayuda a prevenir pérdidas de memoria mediante la eliminación de objetos que ya no están siendo utilizados por la aplicación.
* Herencia única. Tanto C# y Java soportan una sola sola ruta de herencia de cualquier clase base a cualquiera de sus clases derivadas. Esto limita los efectos secundarios no deseados que pueden ocurrir cuando existen varias rutas entre múltiples clases base y clases derivadas.
* Interfaces. Una interfaz es una clase abstracta en donde todos los métodos son abstractos. Un método abstracto es uno que se declara pero que no contiene los detalles de su implementación. El código de administración de todos los métodos o propiedades definidas por la interfaz debe ser suministrado por la clase que lo implementa.


¿Cuándo se debe usar C# o Java?
Con tanto en común entre ambos lenguajes de programación, final la decisión será tuya, dependiendo en gran medida de la plataforma que elijas para tu proyecto. C# se utiliza principalmente en las implementaciones de .NET Framework, Mono, y Portable.NET de CLI. Si tu software o aplicación web se está construyendo para Windows, C# funciona mejor con la suite de tecnologías de .NET.

Basados en lo anterior, si deseas desarrollar para Unix, Linux u otras plataformas que no son Microsoft, Java es la mejor opción. La comunidad Open Source está en constante creación de nuevas bibliotecas y herramientas. Hay que recordar también que Java es el lenguaje principal utilizado por Google para desarrollar Android, que es actualmente el mayor sistema operativo para dispositivos móviles.

Ten en cuenta que las ventajas mencionadas anteriormente son leves, ni uno ni otro lenguaje de programación es probable que desaparezcan en el corto plazo. Ambos lenguajes han existido el tiempo suficiente como para que realmente no haya nada que no se puede construir en uno que no se pueda construir en el otro. En pocas palabras: Elije el lenguaje de programación que mejor se adapte a tu proyecto o plataforma de elección.

C# vs. Java: Principales diferencias
Existen muchas similitudes entre ambos lenguajes de programación pero es importante recordar que C # tiene su origen en el deseo de Microsoft de tener un lenguaje propietario “similar a Java” para su propia la plataforma .NET. Al mismo tiempo, la comunidad de código abierto de Java continuó creciendo, y hay una carrera de armas técnica desarrollada entre los dos lenguajes de programación.  Estas son algunas de las principales diferencias entre C# y Java.
* Windows vs. Open-Source. Si bien existen implementaciones de código abierto, C# se utiliza sobre todo para el desarrollo de plataformas de Microsoft por medio del Framework de.NET. En el otro extremo del espectro, Java tiene un enorme ecosistema de código abierto y ganó un segundo aire a pesar de su edad, en parte gracias a la adopción de la JVM de Google para Android.
* Excepciones contraladas. Java distingue entre dos tipos de excepciones-marcado y sin marcar. C# eligió un enfoque más minimalista tan solo por tener un tipo de excepción. Mientras que la capacidad de capturar las excepciones puede ser útil, también puede tener un efecto adverso sobre el control de la escalabilidad y la versión.
* Polimorfismo. C# y Java tienen enfoques muy diferentes de polimorfismo. Mientras que Java permite el polimorfismo de forma predeterminada, C # debe invocar la palabra clave “virtual” en una clase base y la palabra clave “override” en una clase derivada.
TAMBIEN TE PODRIAN INTERESAR

Checa esto

¿Que temas debe de haber en la pagina?

Posts Populares

Popular Posts

Recent Posts