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

Entradas populares de este blog

Java

Python