0% encontró este documento útil (0 votos)
44 vistas19 páginas

Informe de C#

C# es un lenguaje de programación moderno y de propósito general desarrollado por Microsoft a principios de 2000, diseñado para ser simple, seguro y fácil de aprender, integrándose con .NET Framework. Se utiliza ampliamente en el desarrollo de aplicaciones de escritorio, juegos, web y móviles, destacándose por su soporte a la programación orientada a objetos y su capacidad de interoperabilidad. C# ha ganado popularidad gracias a su amplia adopción, fuerte comunidad de desarrolladores y su integración con el ecosistema de Microsoft.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
44 vistas19 páginas

Informe de C#

C# es un lenguaje de programación moderno y de propósito general desarrollado por Microsoft a principios de 2000, diseñado para ser simple, seguro y fácil de aprender, integrándose con .NET Framework. Se utiliza ampliamente en el desarrollo de aplicaciones de escritorio, juegos, web y móviles, destacándose por su soporte a la programación orientada a objetos y su capacidad de interoperabilidad. C# ha ganado popularidad gracias a su amplia adopción, fuerte comunidad de desarrolladores y su integración con el ecosistema de Microsoft.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

de autor

desconocido
tiene licencia CSC204 Principios de lenguajes
de programación
Nombres:
Mark Mamdouh (líder del equipo): 42110220
Eyad Osama: 42110398
Youssef Ashraf: 42110183
Desarrollando la historia del lenguaje:
C# (pronunciado "C sharp") es un lenguaje de programación moderno y
de propósito general que fue diseñado y desarrollado por Microsoft
Corporation a principios de la década del 2000. Se introdujo por
primera vez en el año 2000 y en un principio se llamó "Cool" antes de
cambiarle el nombre a C#. El lenguaje fue desarrollado por un equipo
dirigido por Anders Hejlsberg, quien también fue el arquitecto principal
de los lenguajes de programación Turbo Pascal y Delphi. Hejlsberg
comenzó a trabajar en C# en 1999, con el objetivo de crear un lenguaje
que combinara la potencia y flexibilidad de C++ con la simplicidad y
facilidad de uso de Visual Basic, a pesar del uso del signo almohadilla (#)
en su nombre. La elección del signo de libra se debió principalmente a
razones de marca y atractivo visual, ya que se asemeja a un símbolo
musical sostenido (♯). El nombre "C sharp" fue elegido para significar
que C# es un lenguaje de nivel superior a C y para indicar que incluye
características y mejoras adicionales respecto de su predecesor. C# se
desarrolló en un entorno doméstico, teniendo como base la sede de
Microsoft en Redmond, Washington. El lenguaje fue creado en
respuesta a la creciente demanda de un lenguaje de programación
moderno, orientado a objetos, que fuera potente y fácil de usar. C# fue
diseñado para ser un lenguaje simple, seguro y fácil de aprender, con
características diseñadas específicamente para el desarrollo de
aplicaciones de Windows. El entorno que rodeó el desarrollo de C#
estuvo influenciado por varios factores, incluida la necesidad de un
lenguaje de programación moderno y potente que pudiera abordar los
desafíos del desarrollo de aplicaciones de Windows. C# fue diseñado
para integrarse con .NET Framework, que proporcionaba un amplio
conjunto de bibliotecas y herramientas para el desarrollo de
aplicaciones. El lenguaje fue desarrollado con énfasis en la simplicidad,
la seguridad y la productividad, con el objetivo de proporcionar a los
desarrolladores una experiencia de programación intuitiva y eficiente.

Dominio y categoría de C#
C# pertenece al dominio de los lenguajes de programación de propósito
general y cae dentro de la categoría de lenguajes de programación
orientados a objetos y de tipado estático. Como lenguaje de propósito
general, C# está diseñado para ser versátil y aplicable a una amplia
gama de escenarios de desarrollo de software.
Desarrollo de aplicaciones de escritorio:
C# se utiliza ampliamente para crear aplicaciones de escritorio en la
plataforma Windows. Un ejemplo destacado es la suite Microsoft
Office, que incluye aplicaciones como Microsoft Word, Excel y
PowerPoint. Estas aplicaciones se desarrollan utilizando C# y
proporcionan una amplia funcionalidad para el procesamiento de
documentos, análisis de datos y creación de presentaciones.

Desarrollo del juego:


C# es un lenguaje popular en la industria del desarrollo de juegos,
especialmente cuando se utiliza junto con motores de juegos como
Unity o MonoGame. Unity, una poderosa plataforma de desarrollo de
juegos, utiliza C# como su lenguaje de programación principal. Se han
desarrollado muchos juegos exitosos utilizando C# y Unity, incluidos
"Cuphead" y "Hollow Knight".
Desarrollo de aplicaciones web:
C# se utiliza en el desarrollo de aplicaciones web a través del marco
[Link]. [Link] permite a los desarrolladores crear aplicaciones web
dinámicas e interactivas utilizando C#. Proporciona un amplio soporte
para la programación del lado del servidor y se integra perfectamente
con otras tecnologías de Microsoft. Un ejemplo notable es el sistema de
gestión de contenidos, Umbraco, que está construido utilizando C# y
[Link].

Desarrollo de aplicaciones móviles:


C# es un lenguaje destacado para el desarrollo de aplicaciones móviles,
especialmente para la plataforma Windows y el desarrollo
multiplataforma. Xamarin, un marco para crear aplicaciones móviles
multiplataforma, utiliza C# como su lenguaje principal. Esto permite a
los desarrolladores escribir el código una vez e implementarlo en
múltiples plataformas. Un ejemplo de una aplicación móvil desarrollada
con C# y Xamarin es "Hue Lights", que controla los sistemas de
iluminación inteligente Philips Hue.

Programación de bases de datos:


C# se puede utilizar para la programación de bases de datos utilizando
la biblioteca [Link] de .NET Framework. [Link] proporciona
capacidades de acceso y manipulación de datos, lo que permite a los
desarrolladores interactuar con varios sistemas de administración de
bases de datos. Un ejemplo es Microsoft SQL Server, donde C# se utiliza
comúnmente para desarrollar aplicaciones que interactúan con la base
de datos y realizan recuperación, manipulación y procesamiento de
datos.

Sistemas integrados:
C# también se puede utilizar en el desarrollo de sistemas
integrados. .NET Micro Framework permite a los desarrolladores crear
aplicaciones para dispositivos con recursos limitados utilizando C#. Un
ejemplo es la plataforma Netduino, que es una plataforma electrónica
de código abierto construida sobre .NET Micro Framework y que
permite a los desarrolladores crear sistemas integrados y dispositivos
de Internet de las cosas (IoT) utilizando C#.

Objetivos:
Simplicidad y facilidad de uso:
C# fue diseñado para ser un lenguaje de programación simple y fácil de
usar. El objetivo era facilitar a los desarrolladores, especialmente a
aquellos familiarizados con lenguajes como Visual Basic, aprender y
utilizar C#. La sintaxis de C# se hizo sencilla, reduciendo la complejidad y
haciendo la programación más accesible.
Programación orientada a objetos:
C# adoptó los principios de la programación orientada a objetos (POO).
Proporcionó una manera para que los desarrolladores crearan
aplicaciones utilizando clases y objetos, lo que permite la organización
del código, la reutilización y la modularidad. La programación orientada
a objetos promueve sistemas de software mantenibles y escalables.
Interoperabilidad e integración:
C# tenía como objetivo funcionar bien con otras tecnologías de
Microsoft. Fue diseñado para integrarse sin problemas con el código
existente y las bibliotecas escritas en diferentes lenguajes dentro del
ecosistema .NET. Esta interoperabilidad permitió a los desarrolladores
aprovechar su trabajo anterior y colaborar en diferentes lenguajes.

Independencia de la plataforma:
C# tenía como objetivo poder ejecutarse en varias plataformas.
Aprovechó .NET Framework, que permitió ejecutar código C# en
diferentes sistemas operativos, como Windows, macOS y Linux. Esta
independencia de plataforma permitió a los desarrolladores escribir
aplicaciones que pudieran ejecutarse en múltiples plataformas sin
modificaciones importantes.

Productividad y rendimiento:
C# centrado en mejorar la productividad de los desarrolladores y el
rendimiento de las aplicaciones. Proporcionó características de lenguaje
de alto nivel, como la gestión automática de memoria a través de la
recolección de basura, lo que redujo la carga manual de la gestión de
memoria. Además, C# incorporó características como programación
asincrónica para mejorar la capacidad de respuesta y el rendimiento de
las aplicaciones.

Seguridad y protección:
C# tenía como objetivo mejorar la seguridad y protección del software.
Incluía características como tipado fuerte, gestión automática de
memoria y manejo de excepciones para minimizar errores de
programación y mitigar vulnerabilidades de seguridad. Estas
características ayudaron a los desarrolladores a escribir aplicaciones
confiables y seguras.

Preocupaciones:
Actuación:
El rendimiento eficiente fue crucial para los desarrolladores. Si bien los
lenguajes administrados como C# introdujeron la gestión automática de
memoria a través de la recolección de basura, surgieron inquietudes
sobre una posible sobrecarga de rendimiento. Para abordar esto, C#
evolucionó con características como tipos de valores, estructuras y la
capacidad de interactuar con código no administrado, lo que permite a
los desarrolladores optimizar secciones de código críticas para el
rendimiento.
Complejidad del lenguaje:
Simplificar C# fue una prioridad durante su desarrollo. El objetivo era
hacer que el lenguaje fuera poderoso pero simple, logrando un
equilibrio entre los dos. C# se propuso lograr esto ofreciendo una
sintaxis limpia e intuitiva, facilitando a los desarrolladores escribir y
comprender el código. El objetivo era reducir la complejidad y
promover la legibilidad.
Adopción y estandarización comunitaria:
Para que cualquier lenguaje de programación tenga éxito, la adopción y
estandarización por parte de la comunidad son cruciales. Microsoft
trabajó activamente para construir una sólida comunidad de
desarrolladores en torno a C# proporcionando documentación integral
y herramientas de desarrollo como Visual Studio.
Éxito:
Adopción y popularidad:
C# ha sido adoptado ampliamente y ha ganado una inmensa
popularidad entre los desarrolladores. Se clasifica constantemente
entre los mejores lenguajes de programación en varias encuestas e
índices de la industria. La popularidad de C# se puede atribuir a su
asociación con Microsoft y al amplio soporte y recursos proporcionados
por la empresa. La gran comunidad de desarrolladores de C#, los foros
activos y la disponibilidad de recursos de aprendizaje han contribuido
aún más a su éxito.
Integración con el ecosistema de Microsoft:
C# se integra perfectamente con el ecosistema de Microsoft,
particularmente con .NET Framework y las herramientas y tecnologías
asociadas. Esta integración ha sido un factor importante en el éxito de
C#. Permite a los desarrolladores aprovechar un conjunto completo de
bibliotecas, marcos y entornos de desarrollo proporcionados por
Microsoft para crear aplicaciones de Windows. La estrecha alineación
con las tecnologías de Microsoft ha hecho de C# una opción atractiva
para los desarrolladores.

Contribución:
C# ha hecho contribuciones significativas al mundo de la programación
desde sus inicios, ya que contribuyó en:
Programación orientada a objetos:
C# ha jugado un papel fundamental en la popularización de los
conceptos de programación orientada a objetos (POO). Proporciona
soporte sólido para clases, herencia, polimorfismo y encapsulación.
Estas características permiten a los desarrolladores escribir código
limpio, modular y reutilizable, lo que hace que el desarrollo de software
sea más eficiente y fácil de mantener.
Programación basada en eventos:
C# introdujo el concepto de delegados y eventos. Los delegados son
objetos que pueden hacer referencia a métodos y eventos y permiten
manejar y responder a diversas ocurrencias dentro de una aplicación.
Este modelo, conocido como programación basada en eventos,
simplifica el diseño de aplicaciones interactivas y responsivas,
mejorando la experiencia del usuario.
Desarrollo multiplataforma:
C# expandió su alcance más allá de Windows con la introducción
de .NET Core. Este marco permite el desarrollo multiplataforma,
permitiendo que las aplicaciones se ejecuten en diferentes sistemas
operativos como Windows, macOS y Linux. C# ha facilitado a los
desarrolladores la creación de software que puede implementarse en
diversas plataformas y llegar a un público más amplio.

¿Qué es especial o nuevo en C#?


Gestión de memoria: C# incluye gestión automática de memoria a
través de un recolector de elementos no utilizados, que libera
automáticamente la memoria que ya no está en uso. Esto ayuda a los
desarrolladores a evitar errores comunes relacionados con la memoria,
como pérdidas de memoria y excepciones de referencias nulas,
mejorando la confiabilidad y la estabilidad de las aplicaciones C#.
Amplios marcos y bibliotecas: C# se beneficia de un rico ecosistema de
marcos y bibliotecas que se han desarrollado y evolucionado a lo largo
del tiempo. Estos marcos, como [Link] para el desarrollo web y
Xamarin para el desarrollo de aplicaciones móviles multiplataforma,
brindan a los desarrolladores herramientas y abstracciones poderosas
para agilizar el desarrollo de aplicaciones.
Consulta integrada en lenguaje (LINQ):
C# presentó Language Integrated Query (LINQ), revolucionando la
consulta y manipulación de datos. LINQ proporciona una sintaxis
unificada para consultar datos de diferentes fuentes, como bases de
datos, colecciones y XML. Hace que las operaciones de datos sean más
concisas y legibles, mejorando la productividad del desarrollador y
reduciendo la complejidad del código.

Descripción general:
1-Variables y tipos de datos:
C# admite varios tipos de datos, como int (para números enteros), float
(para números de punto flotante), string (para texto), bool (para valores
booleanos) y más. Las variables se declaran utilizando el tipo de datos,
seguido del nombre de la variable.
Ejemplo:

2-Declaraciones de flujo de control:


C# incluye declaraciones de flujo de control para ejecución condicional.
Algunas afirmaciones comúnmente utilizadas son:
if-else: ejecuta un bloque de código según una condición.
switch: evalúa diferentes casos y ejecuta los bloques de código
correspondientes.
Ejemplo:

3-Entrada y salida:
C# proporciona varios métodos para operaciones de entrada y salida. La
clase Consola permite leer la entrada del usuario y escribir la salida en
la ventana de la consola. El espacio de nombres [Link] ofrece clases
para trabajar con archivos y directorios.
Ejemplo:

4- Iteradores y bucles:
C# ofrece varias construcciones de bucle para iterar sobre colecciones o
repetir bloques de código. Las declaraciones de bucle comúnmente
utilizadas incluyen:
foreach: itera sobre elementos de una colección o una matriz.
para: repite un bloque de código una cantidad específica de veces.
mientras: repite un bloque de código mientras una condición dada sea
verdadera.
do-while: repite un bloque de código al menos una vez y luego continúa
mientras una condición dada sea verdadera.
Ejemplo: Iteración con bucles:
5-Matrices y colecciones:
C# admite matrices y colecciones para almacenar y manipular grupos
de datos. Las matrices tienen un tamaño fijo, mientras que las
colecciones como List<T> y Diccionario<TKey, TValue> Proporcionar más
flexibilidad. Permiten un cambio de tamaño dinámico y proporcionan
métodos adicionales para la manipulación de datos.
Ejemplo:

6-Funciones y métodos:
C# permite la creación de funciones y métodos para encapsular bloques
de código reutilizables. Las funciones pueden tener parámetros y
valores de retorno.
Ejemplo:

7-Manejo de archivos:
C# proporciona clases y métodos para trabajar con archivos, lo que le
permite leer y escribir en archivos, manipular rutas de archivos y
realizar diversas operaciones con archivos. El espacio de nombres
[Link] contiene clases como Archivo, Directorio y Ruta que facilitan
las tareas de manejo de archivos.
Ejemplo:

8-Inicialización de objetos y constructores:


En C#, los objetos se pueden inicializar y configurar utilizando
inicializadores y constructores de objetos. Los inicializadores de objetos
proporcionan una forma concisa de establecer los valores iniciales de
las propiedades de los objetos, mientras que los constructores son
métodos especiales utilizados para crear e inicializar objetos.
Ejemplo:
Delegados y eventos:
C# admite delegados y eventos, que permiten la programación basada
en eventos y la implementación de mecanismos de devolución de
llamada. Los delegados se utilizan para definir y hacer referencia a
métodos, mientras que los eventos proporcionan una forma de notificar
a los suscriptores cuando ocurre una acción o condición particular.
Ejemplo:
Comentarios comunes:
Fácil de aprender y leer: muchas personas aprecian la sintaxis limpia y
legible de C#, lo que hace que sea más fácil para los principiantes
comprender el lenguaje y para los desarrolladores experimentados
comprender y mantener el código.
Oportunidades laborales y crecimiento profesional: C# tiene una gran
demanda en el mercado laboral, particularmente para el desarrollo de
aplicaciones de Windows y el desarrollo de software empresarial. El
dominio de C# abre varias oportunidades profesionales y potencial para
el crecimiento profesional.
Fuerte apoyo de la comunidad: C# tiene una comunidad de
desarrolladores grande y activa que contribuye a su crecimiento y
mejora. La gente valora la voluntad de la comunidad de compartir
conocimientos, ayudar y colaborar en proyectos de código abierto,
creando un entorno de apoyo para el aprendizaje y el desarrollo.

Referencias:
Historia de C# recuperada de:
 [Link]
csharp-version-history
 [Link]
Dominio y categorías recuperados de:
 [Link]
 [Link]
 [Link]
 [Link]
 [Link]
 [Link]
Metas, éxitos, aportaciones y preocupaciones extraídas de:
 [Link]
programming-guide/
 [Link]
 [Link]
csharp/

Lo que es especial o nuevo en C# se obtiene de:


 [Link]
Comentarios y descripción general:
 [Link]
language/

También podría gustarte