C#
Es un lenguaje de programación orientado a objetos desarrollado y
estandarizado por Microsoft
Únicamente para Windows
Existen los tipos básicos, objetos, estructuras (inmutables), y a partir
de la versión 2.0, los Nullable que permiten tener valores nulos o
desconocidos (frecuente en entornos de bases de datos).
Se puede declarar los arrays de una sola forma
String son inmutables y no es necesario llamar a un metodo equals
para compararlas pudiendo usar == y != sin que compare las
referencias.
Permite tener valores nulos o desconocidos.
Incorpora elementos que son muy útiles para el programador, como
tipos decimales o booleanos, un tipo básico string, así como una
instrucción que permita recorrer colecciones con facilidad, que en
otros lenguajes como Java y C++ hay que simularlos
Incluye mecanismos de control de acceso a tipos de datos, lo que
garantiza que no se produzcan errores difíciles de detectar como un
acceso a memoria de ningún objeto.
No se pueden usar variables no inicializadas previamente, y en el
acceso a tablas se hace una comprobación de rangos para que no se
excedan ninguno de los índices de esta.
se usa la palabra reservada “foreach “e “in” para iterar sobre los
elementos de una colección de objetos sin necesidad de crear un
índice de forma explícita.
Switch: Se admiten enteros, caracteres y booleanos como condiciones
de cada case, cadenas y enumerados. Además, a diferencia de Java,
cada case ha de terminar con un “break”, y, si queremos saltar de un
case a otro, podemos usar “goto”.
Parámetros: existen los parámetros “out” y “ref” que permiten
modificar los valores de los argumentos proporcionados en una
llamada a un método. También se puede hacer uso del parámetro
“params”, que recibe un número de argumentos variables.
Se pueden crear indizadores, los cuales nos permiten construir
fácilmente clases a cuyos objetos se puede acceder mediante un
índice.
Se usa ":" tanto para herencia en clases como para implementar
interfaces
No existe herencia múltiple.
Interfaz: Se introduce “new”,”protected”,”internal” y “private”
Un archivo puede contener varias clases
JAVA
Lenguaje de programación orientado a objetos, desarrollado por Sun
Microsystems
Multiplataforma
String son inmutables, pero es necesario llamar a un metodo equals
para compararlas.
IDEs mejor, sobre todo en el ámbito de la refactorización de código
donde Visual Studio todavía muy por detrás de IntelliJ, Eclipse y
Netbeans
Es gratis. Java 6 + Glassfish + Eclipse + Linux no cuestan.
Proyectos de código abierto
Es simple
Se puede declarar los arrays de dos formas
Solo existen los tipos básicos y objetosArquitectura Neutral
Es seguro
Es portable
Es interpretado
Es dinámico
No existe funcionalidad con “for-each”. Lo más parecido es la mejora
realizada en el “for”
Switch: En Java sólo se admiten enteros, caracteres y booleanos como
condiciones de cada case.
No se pueden crear Indizadores
Sintaxis de herencia: usa las palabras reservadas “extends” e
“implements”.
Existe herencia múltiple
Interfaz: Existe “public” y sin modificador (por defecto)
Un archivo solo contiene a una clase