C#
Definición
C# (en inglés es pronunciado como “C Sharp”, en español como “C Almohadilla”), es un lenguaje de programación diseñado por la conocida compañía Microsoft. Fue estandarizado en hace un tiempo por la ECMA e ISO dos de las organizaciones más importantes a la hora de crear estándares para los servicios o productos. El lenguaje de programación C# está orientado a objetos.
Aunque
es posible escribir código para la plataforma .NET en muchos otros lenguajes,
C# es el único que ha sido diseñado específicamente para ser utilizado en ella,
por lo que programarla usando C# es mucho más sencillo e intuitivo que hacerlo
con cualquiera de los otros lenguajes ya que C# carece de elementos heredados
innecesarios en .NET. Por esta razón, se suele decir que C# es el lenguaje
nativo de .NET
Características
del lenguaje C#
Aunque es
pronto para entrar con detenimiento en el lenguaje C# podemos adelantar las
características más relevantes de este lenguaje, características que se
describen con profundidad posteriormente, durante el estudio detallado de los
elementos del lenguaje.
Es
autocontenido
Un
programa en C# no necesita de ficheros adicionales al propio código fuente,
como los ficheros de cabecera (.h) de C++, lo que simplifica la arquitectura de
los proyectos software desarrollados con C++.
Es
homogéneo
El tamaño de los tipos de datos básicos es
fijo e independiente del compilador, sistema operativo o máquina en la que se
compile (no ocurre lo que en C++), lo que facilita la portabilidad del código.
Es
actual
C#
incorpora en el propio lenguaje elementos que se han demostrado ser muy útiles
para el desarrollo de aplicaciones como el tipo básico decimal que
representa valores decimales con 128 bits, lo que le hace adecuado para
cálculos financieros y monetarios, que permite una cómoda iteración por
colecciones de datos, proporciona el tipo básico string, permite definir
cómodamente propiedades (campos de acceso controlado), etc.
Está
orientado a objetos
C# soporta todas las características propias
del paradigma de la programación orientada a objetos: encapsulación, herencia y polimorfismo.
C#
sólo admite herencia simple
Todos
los métodos son, por defecto, sellados, y los métodos redefinibles han de
marcarse, obligatoriamente, con el modificador virtual.
Es un
lenguaje orientado al desarrollo de componentes (módulos independientes de
granularidad mayor que los objetos) ya que los componentes son
objetos que se caracterizan por sus propiedades, métodos y eventos y
estos aspectos de los componentes están presentes de manera natural en C#.
En C# todo son objetos
Desaparece la distinción entre tipos
primitivos y objetos de lenguajes como Java o C++ (sin penalizar la eficiencia
como en LISP o Smalltalk).
El
software es robusto y duradero
El mecanismo automático de recolección de
basura, la gestión de excepciones, la comprobación de tipos, la imposibilidad
de usar variables sin inicializar y hacer conversiones de tipo (castings) no
seguras, gestión de versiones, etc. ayudan a desarrollar software fácilmente
mantenible y poco propenso a errores.
Además,
no hay que olvidar el aspecto económico: la posibilidad de utilizar C++ puro
(código no gestionado o inseguro), la facilidad de interoperabilidad (XML,
SOAP, COM, DLLs...) junto con un aprendizaje relativamente sencillo (para los
que ya conocen otros lenguajes de programación) hace que el dominio y uso del
lenguaje junto a otras tecnologías sea muy apreciado.
Entre las ventajas de Python, destacan las siguientes:
1.- Declaraciones en el espacio de nombres
Al
empezar a programar algo, se puede definir una o más clases dentro de un mismo
espacio de nombres.
2.- Tipos de datos
En C# existe un rango más amplio y definido de
tipos de datos que los que se encuentran en C, C++ o Java.
3.- Atributos
Cada
miembro de una clase tiene un atributo de acceso del tipo público, protegido,
interno, interno protegido y privado.
4.-Pase de parámetros
Aquí
se puede declarar a los métodos para que acepten un número variable de
parámetros. De forma predeterminada, el pase de parámetros es por valor, a menos
que se use la palabra reservada ref, la cual indica que el pase es por
referencia.
5.- Propiedades
Un objeto tiene
intrínsecamente propiedades, y debido a que las clases en C# pueden ser
utilizadas como objetos, C# permite la declaración de propiedades dentro de
cualquier clase.
6.- Inicializador
Un inicializador es como una
propiedad, con la diferencia de que, en lugar de un nombre de propiedad, un
valor de índice entre corchetes se utiliza en forma anónima para hacer
referencia al miembro de una clase.
7.- Control de versiones
C# permite mantener múltiples versiones de
clases en forma binaria, colocándolas en diferentes espacios de nombres. Esto
permite que versiones nuevas y anteriores de software puedan ejecutarse en
forma simultánea.
Comentarios
Publicar un comentario