SlideShare ist ein Scribd-Unternehmen logo
1 von 74
Estructura de lenguaje de
Programación
LENGUAJE: C#
Presentado por:
Daniel Solar
Rodrigo Montero
Ezequiel Gonzalez
Miguel Pinto
Edgardo Martínez
¿Qué es C#?
-C# es el último en una línea de evolución de los lenguajes derivados
de C,
que incluye C++ y Java.
-Usado por Microsoft para desarrollar la mayoría del código de .NET.
-C# es orientado a objetos, moderno, simple y potente.
-En C# todo es un objeto.
-Mejoras sobre C++ en las áreas de seguridad de datos, eventos y
recolección de basura.
-Soporta el modo unsafe que permite el uso de punteros como en C.
-Creación de páginas ASP.NET y servicios Web.
Sintaxis de C#
• Los programas en C# pueden
tener varios archivos, así como
uno solo. C# tiene un gran
parecido a Java por lo tanto su
estructura básica es
prácticamente la misma.
• Definiendo las variables,
llevando punto y coma al final
de cada instrucción, además es
importante mencionar los
espacios de nombres.
Sintaxis de C#
Los espacios de nombre son usados por el framework .NET como una especie
de organizador de clases, ya que estos las tienen agrupadas en los distintos
espacios de nombres, lo que en Java llaman "paquetes".
Sintaxis de C#
• Las clases contienen:
– Campos: variables
miembro
– Propiedades:
valores accedidos a
través de get/set
– Métodos:
funcionalidad
– Especiales:
eventos,
Indexadores,
Delegates
public class Persona :
IPersonaEdad
{
private int iAnio;
public Persona()
{
}
public int AnioDeNacimiento
{
get { return iAnio;};
set { iAnio = value;};
}
public int Edad()
{
return Today()-
AnioDeNacimiento
};
}
Sintaxis de C#
Statements
• Una sentencia completa se llama “statement”.
• Cada statement termina con punto y coma (;).
• Es la unidad básica de ejecución de C#.
• Un programa C# está formado por una secuencia de instrucciones (statements).
• Pueden ser:
–Declaraciones de variables
–Expresiones
–Selección (if, case)
–Iteración
–Etc…
Sintaxis de C#
Sintaxis de C#
En C# podemos usar Estructuras (Struct), y punteros
Punteros
En C# para mantener la seguridad de tipos
y la seguridad no se admite las
operaciones con punteros de manera
determinada, para ello se usa la palabra
clave unsafe para definir un contexto no
seguro para usar los punteros.
unsafe void crypt(byte[] arr)
{
byte * b = arr;
...
}
Sistema de Tipo y Semántica
• Las Rutinas Semánticas deben realizar la evaluación de las gramáticas siguiendo las
reglas semánticas asociadas al leguaje.
• En otras palabras verificar que todas las rutinas estén bien escritas, que no se
introduzcan sentencias con tipos de datos que no correspondan o no sean esperados
por el lenguaje, produciendo que el analizador semántico nos envié un mensaje de
error o advertencia.
• La compatibilidad de tipos es otra parte importante que hará el analizador semántico,
porque aquí donde el analizador verificara que los valores asignados a un objeto sean
correctos.
Sistema de Tipo y Semántica
Sistema de Tipo y Semántica
Para inicializar variables a veces hay que
poner ciertos modificadores.
Gestión de Memoria
• A pesar de que con .NET no tenemos que preocuparnos con la gestión de
memoria, tenemos que saber como funciona.
• El .NET framework cuando ejecuta su programa guarda los elementos en
dos tipos de lugares en la memoria:
• 1. El Stack.
• 2. El Heap.
• Tanto el Stack como el Heap actúan en la ejecución del programa y residen
en la memoria operativa de la máquina.
Gestión de Memoria
• Cuál es la diferencia entre Stack y
Heap?
El Stack lo podemos imaginar como un
conjunto de cajas ordenadas una encima de
otra. Cada vez que llamamos a un método,
para hacer el seguimiento de lo que ocurre en
la aplicación colocamos una caja en la parte
superior del Stack a esta caja se le llama
“Frame”. Una vez que el método es ejecutado
retiramos esta caja y la tiramos a la basura.
Procedemos entonces, a utilizar la caja
anterior que ahora se encuentra en la parte
superior del Stack.
Gestión de Memoria
• Cuál es la diferencia entre Stack y
Heap?
El Heap es similar, solo que su función es
mantener la información. Lo que existe en el
Heap puede ser accedido en cualquier
momento sin limitaciones en lo que se puede
acceder como ocurre en el Stack.
Gestión de Memoria
• Cuál es la diferencia entre Stack y
Heap?
El Stack se mantiene por sí mismo, lo que
significa que básicamente se encarga de su
gestión propia memoria. Cuando el cuadro de
arriba ya no se utiliza, es expulsado y nada
más ocurre. El Heap, en cambio, tiene que
preocuparse por la recolección de basura (GC)
- que trata de mantener la limpieza del Heap.
Gestión de Memoria
• Que elementos tenemos en el Stack y en el Heap?
Tipos Valores
En C #, todas las “cosas",
declaradas de tipos de la siguiente
lista son Tipos Valor (porque
pertenecen al espacio de nombres
System.ValueType):
• bool
• byte
• char
• decimal
• double
• enum
• float
• int
• long
• sbyte
• short
• struct
• uint
• ulong
• ushort
Tipos Referencia
Todas las "cosas" declaradas de
tipos de la siguiente lista son Tipos
Referencia (y heredan de
System.Object ... excepto, por
supuesto, para el objeto que es el
objeto System.Object):
• class
• interface
• delegate
• object
• string
Gestión de Memoria
• 1. Un Tipo Referencia siempre va en el
Heap.
•
2. Los Tipos Valor van siempre el en Stack.
Manipulación de Excepciones
• Las características de control de excepciones del lenguaje
C# proporcionan una manera de afrontar cualquier
situación inesperada o excepcional que se presente
mientras se ejecuta un programa. El control de
excepciones utiliza las palabras clave try, catch y finally
para intentar realizar acciones que podrían plantear
problemas, controlar errores cuando considere que sea
razonable y limpiar los recursos después.
• Las excepciones se crean mediante la palabra clave
throw.
Manipulación de Excepciones
Manipulación de Excepciones
Información general sobre excepciones. Las excepciones tienen las propiedades siguientes:
• Las excepciones son tipos que se derivan en última instancia de System.Exception.
• Utilice un bloque try alrededor de las instrucciones que puedan generar excepciones.
• Cuando se produce una excepción dentro del bloque try, el flujo de control salta al primer controlador de excepciones
asociado que se encuentre en cualquier parte de la pila de llamadas. En C#, la palabra clave catch se utiliza para definir un
controlador de excepciones.
• Si no hay un controlador de excepciones para una excepción determinada, el programa deja de ejecutarse y presenta un
mensaje de error.
• No detecte una excepción a menos que pueda controlarla y dejar la aplicación con un estado conocido. Si detecta una
excepción System.Exception, vuelva a producirla mediante la palabra clave throw al final del bloque catch.
• Si un bloque catch define una variable de excepción, puede utilizar dicho bloque para obtener más información sobre el tipo
de excepción que se ha producido.
• Un programa que utiliza la palabra clave throw puede generar explícitamente excepciones.
• Los objetos de excepción contienen información detallada sobre el error, tal como el estado de la pila de llamadas y una
descripción de texto del error.
• El código de un bloque finally se ejecuta aunque se produzca una excepción. Use un bloque finally para liberar recursos,
por ejemplo, para cerrar las secuencias o archivos que se abrieron en el bloque try.
Paradigmas
• C# es un lenguaje multi paradigma que incluye
diferentes paradigmas los cuales son
• Estructurado
• Imperativo
• Orientado a objetos
• Dirigido por eventos
• Genérico
• Concurrente
Paradigma Estructurado C#
La visión clásica de la programación
estructurada se refiere al control de
ejecución. El control de su ejecución es
una de las cuestiones más importantes
que hay que tener en cuenta al construir
un programa en un lenguaje de alto nivel.
La regla general es que las instrucciones
se ejecuten sucesivamente una tras otra,
pero diversas partes del programa se
ejecutan o no dependiendo de que se
cumpla alguna condición. Además, hay
instrucciones (los bucles) que deben
ejecutarse varias veces, ya sea en número
fijo o hasta que se cumpla una condición
determinada.
Paradigma Estructurado C#
En C# se puede programar estructuradamente de la misma manera que
en los lenguajes en los que fue basado, como C, C++ y Java
class suma
{
static void Main(string[] args)
{
int n1, n2, r;
Console.WriteLine("Ingrese el primer número: ");
n1 = int.Parse(Console.ReadLine());
Console.WriteLine("Ingrese el segundo número: ");
n2 = int.Parse(Console.ReadLine());
r = n1+ n2;
Console.WriteLine("El resultados es: " + r);
Console.ReadLine();
}
}
Paradigma Imperativo C#
• Los programas imperativos no son mas que un conjunto de
instrucciones que le indican a la computadora como realizar una
tarea.
• Con C# se escribe la mayoría de las instrucciones y programas que
se ejecutan en Windows, así diciéndole a la computadora como
realizar sus tareas.
Orientación a Objetos en C#
Programación orientada a objetos (POO) usa objetos y sus
interacciones para el diseño de programas. Esta basado en
varias técnicas las cuales son:
Herencia, Abstracción, Polimorfismo, Encapsulamiento
En C# hereda todo lo referente a POO de Java
La declaración de una clase comparte aspectos en común con
Java y C++:
La declaración de una clase incluye la definición e
implementación igual que Java
Fichero de código fuente (extensión .cs) puede contener la
declaración de varias clases igual que C++ y Java
Orientación a Objetos en C#
• Ejemplo de una clase que después se usara para instanciar un
objeto con dicha clase
Programación dirigida por
eventos en C#
• La estructura como la ejecución de los programas van
determinados por los sucesos que ocurran en el sistema,
definidos por el usuario o que ellos mismos provoquen.
Programación dirigida por
eventos en C#
• En este ejemplo el método MyMouseDown, recibe un
objeto en forma de evento y si se hizo clic con el botón
derecho del mouse dice en consola que fue el derecho
Programación Genérica en C#
• La programación genérica es un tipo de programación
que está mucho más centrada en los algoritmos que en
los datos. La idea de esta forma de programar pretende
generalizar las funciones utilizadas para que puedan
usarse en más de una ocasión.
Programación Recurrente en C#
• En C# podemos usar hilos para poder tener varios
procesos a la vez corriendo
• El Framework de .Net trae consigo la funcionalidad de
poder gestionar los hilos con la librería using
System.Threading, y define dos tipos de hilos, Primer
plano. (Foreground), Segundo plano. (BackGround). De
forma predeterminada cuando se crea un hilo, se trata
de un subproceso de primer plano, pero se puede
cambiar a un subproceso en segundo plano. La única
diferencia entre un hilo primer plano y el hilo de
segundo plano, es que un hilo de segundo plano se
cancelará automáticamente cuando todos los Hilos en
primer plano son detenidos en su proceso.
Programación Recurrente en C#
• Ejemplo de dos hilos
en C#
Dominios de Aplicación en C#
• C# trabaja principalmente en dos dominios, que
son el de Sistemas y el de Centrado en Web,
Microsoft ideo este lenguaje para trabajar en las
áreas en que ellos tienen presencia como son los
dominios antes mencionados.
Sistemas con C#
• C# es usado en sistemas mas
que en otros dominios. C# es
trabajado para crear programas
para Windows y cualquier
plataforma u herramienta
creada por Microsoft junto con
Visual Basic y F#.
• En las ultimas versiones de
Visual Studio se ha agregado
opciones para crear aplicaciones
nativas escritas en C# para
Android y iOS.
Sistemas con C#
• C# no solo es usado por
Microsoft para el uso de
sus sistemas, se puede
usar para programar
para cualquier
plataforma gracias a
MONO que es una
herramienta gratis y de
código abierto liderado
por Xamarin, hoy en día
una subsidiaria de
Microsoft.
Centrado en Web
• C# puede usarse en la web gracias a ASP.NET.
• ASP.NET es un modelo de desarrollo Web
unificado creado por Microsoft para el desarrollo
de sitios y aplicaciones web dinámicas con un
mínimo de código. ASP.NET forma parte de .NET
Framework que contiene las librerías necesarias
para la codificación. Se pueden usar distintos
lenguajes de programación para realizar
aplicaciones web en ASP.NET, pero el lenguaje
C# es el más utilizado para este tipo de
desarrollos.
Centrado en Web
• Ejemplo de como se ve cuando se comienza a escribir el
código detrás de la pagina web
Restricciones de Arquitectura
• C# contiene pocas restricciones de
Arquitectura, Microsoft ha trabajado desde
la creación de este lenguaje para que se
pueda utilizar en la gran mayoría posible
de arquitecturas
Restricciones de Arquitectura
• Desde un principio C# hace programas
para las arquitecturas x86(Procesadores de
32 bits), y x86-64 o AMD64(Procesadores
de 64 bits), esto porque son las
arquitecturas en las que se ejecuta el
sistema operativo Windows
Restricciones de Arquitectura
• Pero hoy en día C# puede hacer programas para muchas
arquitectura como la arquitectura ARM. (ARM o
Advanced RISC Machine es una arquitectura de tipo RISC
(Reduced Instruction Set Computer=Ordenador con
Conjunto Reducido de Instrucciones) de 32 bits y
recientemente con la llegada de su versión V8-A también
de 64 Bits desarrollada por ARM Holdings. ) Arquitectura
en la cual están todos los dispositivos móviles hoy en
día.
Otras Arquitecturas soportadas
• Gracias al entorno de desarrollo libre MONO C#
soporta varias arquitecturas
Otras Arquitecturas soportadas
Microsoft esta trabajando en un sistema Multi-arquitectura
para impulsar las aplicaciones universales que han salido
desde Windows 10 para que los desarrolladores escriban
programas que soporten
Aplicación llama a
las librerías(DLL)
que necesita para
ejecutarse
basándose en la
base de aplicación
escrita
Restricciones Conceptuales
• El proceso de compilación para el lenguaje C# se
hace por medio del .NET framework y el CLR
(Common Language Runtime = entorno en
tiempo de ejecución de lenguaje común). Que es
el verdadero nucleo del framework.
• Este permite integrar proyectos en distintos
lenguajes soportados por la plataforma .Net,
como C#, Visual Basic, C++, entre otros.
Restricciones Conceptuales
El CLR es el encargado de compilar
una forma de código intermedio
llamada Common Intermediate
Language (CIL, anteriormente
conocido como MSIL, por Microsoft
Intermediate Language), al código
de maquina nativo
Proceso de Compilación
El código fuente es copilado por el compilador de C#
(CSC.EXE) y lo convierte en un código intermedio, el CIL,
similar al BYTECODE de Java. Para generarlo, el compilador
se basa en las especificaciones que determinan las reglas
necesarias para crear el código CIL compatible con el CLR
Proceso de Compilación
Para ejecutarse se necesita un segundo
paso, un compilador JIT (Just-In-Time =
Compilación en tiempo de ejecución) es
el que genera el código máquina real
que se ejecuta en la plataforma del
cliente. La compilación JIT la realiza el
CLR a medida que el programa invoca
métodos. El código ejecutable obtenido
se almacena en la memoria caché del
ordenador, siendo recompilado de
nuevo sólo en el caso de producirse
algún cambio en el código fuente.
Estructura interna del entorno de
ejecución en lenguaje común.
Interpretes y Equipos Virtuales
• C# es lenguaje fuerte, flexible y portable,
el código sufre pocos cambios a la hora de
correrlo en otro IDE o sistema operativo
Interpretes y Equipos Virtuales
• ¿Qué es portabilidad?
• Se define como la característica que posee un software
para ejecutarse en diferentes plataformas, el código
fuente del software es capaz de reutilizarse en vez de
crearse un nuevo código cuando el software pasa de una
plataforma a otra. A mayor portabilidad menor es la
dependencia del software con respecto a la plataforma.
Interpretes y Equipos Virtuales
Como se ha dicho antes, Microsoft ha estado trabajando
para que los programadores creen apps para cualquier
plataforma, arquitectura y sistema operativo, eso incluye el
escribir el código una sola vez y que funcione en varios
sistemas. Con la introducción de las ultimas versiones de
Windows se han creado las Universal Windows Platform
(Plataforma Universal de Windows)
Interpretes y Equipos Virtuales
• Las aplicaciones universales permiten escribir el
código para varias plataformas sin necesidad de
modificar nada, ya es la misma aplicaciones que
se adaptara al dispositivo donde se encuentre
Interpretes y Equipos Virtuales
• Pero la portabilidad y flexibilidad de C# no solo es para
plataformas de Microsoft.
• Xamarin(basado en mono) permite construir aplicaciones
nativas para multiples plataformas compartiendo el código
base de C#.
• Usando el mismo IDE, lenguaje y APIs donde sea
C# en Macs
• Xamarin también te deja crear aplicaciones
escrita en C# para Mac y crear aplicaciones para
otras plataformas en un Mac
C# es el mejor lenguaje para el desarrollo
de apps
Se puede crear aplicaciones para cualquier plataforma utilizando
las habilidades, los equipos, y el código existente.
Cualquier cosa que puedes hacer con Objective-C, Swift o Java
puedes hacerlo con C#
Normalizaciones
• C# esta estandarizado por Microsoft como
parte de su plataforma .NET, que después
fue aprobado como un estándar por la
ECMA (ECMA-334) e ISO (ISO/IEC 23270).
No cuento con una acreditación en ANSI.
Normalizaciones
ECMA-334
Este estándar internacional establece la interpretación de
los programas escritos en el lenguaje C#
Estas especificaciones son:
• La representación de los programas en C #;
• La sintaxis y las limitaciones del lenguaje C #;
• Las reglas semánticas para la interpretación de los
programas de C #;
• Las restricciones y límites impuestos por una aplicación
conforme de C #.
Normalizaciones
La ISO/IEC 23270:2006
especifica la forma y
establece la interpretación
de los programas escritos
en el lenguaje de
programación C #.
Estándar revisado y
confirmado en el 2012
Sistemas Heredados
• El lenguaje C# tiene una larga herencia.
El lenguaje C que forma parte del lenguaje
B, que a su vez fue inspirado en BCPL, se
puede considerar el primer sistema del cual
hereda C#. Pero no antes de que surgiera
C++ que es la mejora de C con orientación a
objeto.
Sistemas Heredados
• Entonces nace C# en el 2000, heredando
todo lo que es C++ junto a la potencia de
Java. C# es un híbrido de C++ y Java que
fusiona, principalmente, la capacidad de
combinar operadores propia del primero
con la plena orientación a objetos del
segundo.
• Actualmente C# se encuentra entre los 10
lenguajes más utilizados. A pesar de su
corta historia.
Sistemas Heredados
• Pero C# también ha inspirados lenguajes como es el caso de
F# y Vala
• F# es un lenguaje de programación multiparadigma de
código abierto, para la plataforma .NET, que conjunta la
programación funcional con las disciplinas imperativa y
orientada a objetos.
• Vala es un lenguaje de programación creado con el objetivo
de acercar las características de los lenguajes modernos a C,
sin requisitos adicionales de tiempo de ejecución y con
pocos costos, centrado en los objetos de la biblioteca
Gobject, la sintaxis se inspira en C#, con leves modificaciones
para adaptarse mejor al sistema de objetos de GObject.
Simplicidad y Claridad
¿Es fácil para un programador escribir en
este lenguaje?
Depende de dos factores; del nivel del programador y de la
complejidad del programa. En este nivel en el que nos
encontramos estamos seguros que podemos hacer un
pequeño programa en cualquier lenguaje (Un “Hola
mundo” por ejemplo) navegando en internet y con los
conocimientos adquiridos con otros lenguajes.
Simplicidad y Claridad
¿Hasta qué punto es inteligible este
programa para un lector medio?
Nuevamente depende del nivel de
programador y de la complejidad
del programa. Como en el ejemplo
del “Hola mundo” hasta un
principiante podría leer el programa
y saber de qué se trata, pero si es
un programa complejo como un
editor de texto, por ejemplo, se
necesita un nivel más avanzado
Simplicidad y Claridad
¿Es fácil aprender y enseñar el lenguaje?
C# es un lenguaje fácil de aprender ya que es muy similar a
Java, no es un lenguaje complejo, y cualquier estudiante
podría aprende C# en un nivel básico sin mucho empeño
Depende del estudiante. Uno no aprende a programar un
lenguaje de la noche a la mañana, es cuestión de practica y
esfuerzo
Uniones
En C# las concatenaciones o uniones se
pueden hacer de dos maneras
int variable = 0;
Console.WriteLine("Este texto se imprimirá con esta variable: " +
variable + " con este otro texto");
int variable = 0;
Console.WriteLine("Este texto se imprimirá con esta variable: {0} con
este otro texto", variable);
Modificador que indica
donde imprimirá la
variable
Ortogonalidad
¿Un símbolo o una palabra reservada tiene
siempre el mismo significa independiente
del contexto en la que lo utilicemos?
Las palabras reservadas son aquellas
que tienen un uso determinado para
el lenguaje y, por lo tanto, no pueden
ser empleadas en el código como
identificadores (por ejemplo,
nombres para las variables). Como
vemos en el párrafo que hemos
citado las palabras reservados tiene
una función única por lo tanto no se
puede usar de otra forma en C#
Ortogonalidad
¿Tiene el lenguaje un pequeño número de
características básicas que interactúan de forma
predecible sin importar cómo los combinemos en un
programa ?
C# posee muchas características que siempre actuaran de
la misma manera sin importar la forma en que se escriban
o en el orden.
Una característica que no cambia seria:
Unificación de tipos
En C# todos los tipos derivan de una superclase común
llamada System.Object, por lo que automáticamente
heredarán todos los miembros definidos en esta clase. Y
esto no cambiara
Fiabilidad de los programas
¿El programa se comporta igual cada vez que lo
ejecutamos con los mismos datos de entrada?
Si podemos los mismos parámetros en
un programa lineal lazara los mismos
resultados en cada ejecución. Esto
cambia cuando usamos bucles y
condiciones, y mucho mas cambia
cuando usamos hilos, cada vez que
ejecutemos varios hilos no siempre
saldrán los mismos resultados. En el
ejemplo no siempre saldrán varios 2
primero, esto puede cambiar.
Fiabilidad de los programas
¿Se comporta igual cuando lo ejecutamos en
plataformas distintas?
C# es uno de los lenguajes de programación diseñados para la
infraestructura de lenguaje común.
¿Que es la infraestructura de lenguaje común ?
La infraestructura de lenguaje común es una especificación estandarizada
que describe un entorno virtual para la ejecución de aplicaciones, cuya
principal característica es la de permitir que aplicaciones escritas en distintos
lenguajes de alto nivel puedan luego ejecutarse en múltiples plataformas
tanto de hardware como de software sin necesidad de reescribir o recompilar
su código fuente.
Aplicabilidad
¿El lenguaje proporciona un soporte
adecuado para las aplicaciones del dominio
para lo que lo estamos utilizando ?
Microsoft ha hecho un trabajo excelente con C# , no solo
con la variedad de plataformas en la que se puede usar
sino que también las diferentes funciones que tiene el
lenguaje que puede hacer frente a las necesidades del
programador .
Abstracción
¿Cuántas veces hemos reinventado un algoritmo de
ordenación o estructura de datos de listas enlazadas que
probablemente halla sido implementado miles de veces?
Un algoritmo de ordenamiento es un
algoritmo que pone elementos de una
lista o un vector en una secuencia
dada por una relación de orden, es
decir, el resultado de salida ha de ser
una permutación —o
reordenamiento— de la entrada que
satisfaga la relación de orden dada.
Hay muchas formas de ordenar listas
enlazadas,
Todos estos métodos pueden
reinventarse para ordenarlos de la
forma en que queramos, de mayor a
menor, de dos en dos, etc.
Implementación eficiente
¿Nos permite la construcción y las características de
un lenguaje su implementación práctica y eficiente
en la plataforma coetáneas ?
Como ya se dijo en la anterior charla, C# permite usar todas
sus características en muchas plataformas de forma
eficiente
Coetáneas
Infografía
• http://www.ecma-international.org/default.htm
• https://es.wikipedia.org/wiki/C_Sharp
• https://es.scribd.com/doc/261667/Sesion-02-Sintaxis-de-CSharp-C
• http://dis.um.es/~bmoros/privado/bibliografia/LibroCsharp.pdf
Infografía
• http://nelson-venegas.blogspot.com/2012/05/procesos-hilos-
threads-subproceso.html
• https://nishiprog.wordpress.com/2011/10/08/lenguaje-
multiparadigma-c/
• https://ortizol.blogspot.com/2014/06/eventos-en-csharp-parte-1-
introduccion-a-eventos.html
• http://assets.mheducation.es/bcv/guide/capitulo/8448148703.pdf
• https://en.wikipedia.org/wiki/Mono_%28software%29
• https://msdn.microsoft.com/es-es/library/341zb1z3(v=vs.90).aspx
• http://www.maestrosdelweb.com/tutoria-desarrolloweb-asp-net/
• http://asp.net-tutorials.com/basics/code-behind/
Infografía
• http://users.salleurl.edu/~manuellv/MagSrc/Doc000185/Seminario_Introduccion_a_l
a_arquitectura_.NET_y_al_lenguaje_C_sharp.pdf
• http://www.mono-project.com/docs/about-mono/supported-platforms/
• https://es.wikipedia.org/wiki/C_Sharp
• http://onewindows.es/2016/09/microsoft-trabaja-subsistemas-multiarquitectura-
redstone-2-windows-10/
• https://es.wikipedia.org/wiki/Compilaci%C3%B3n_en_tiempo_de_ejecuci%C3%B3n
• https://es.wikipedia.org/wiki/Common_Language_Runtime
• https://es.wikipedia.org/wiki/Microsoft_.NET
• https://es.wikipedia.org/wiki/Arquitectura_ARM
• https://es.wikipedia.org/wiki/Reduced_instruction_set_computing
• https://blogs.windows.com/buildingapps/2015/03/02/a-first-look-at-the-windows-
10-universal-app-platform/#FRgITjExZyEJ7SSH.97
• https://www.xamarin.com/platform
• https://es.scribd.com/doc/9018328/Historia-C
Infografía
• www.rae.es (Real Academia de la Lengua)
• www.Wikipedia.org
• https://msdn.microsoft.com/en-
us/library/586y06yf(v=vs.110).aspx
• https://msdn.microsoft.com/en-us

Weitere ähnliche Inhalte

Was ist angesagt?

Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de ProgramaciónKudos S.A.S
 
Definición y función de lenguaje java script
Definición y  función de lenguaje java scriptDefinición y  función de lenguaje java script
Definición y función de lenguaje java scriptAndres Rodriguez
 
Historia del C++ y JAVA
Historia del C++ y JAVAHistoria del C++ y JAVA
Historia del C++ y JAVANohemi Cuesta
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciamonty19
 
Programacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaProgramacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaJosé Antonio Sandoval Acosta
 
Programación estructurada, modular y orientada a objeto
Programación estructurada, modular y orientada a objetoProgramación estructurada, modular y orientada a objeto
Programación estructurada, modular y orientada a objetoGermán Robles Tandazo
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosJosé Antonio Sandoval Acosta
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetosClara Patricia Avella Ibañez
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosAlvaro Enrique Ruano
 

Was ist angesagt? (20)

Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de Programación
 
Tutorial PSEINT
Tutorial PSEINT Tutorial PSEINT
Tutorial PSEINT
 
Valores y prácticas XP
Valores y prácticas XPValores y prácticas XP
Valores y prácticas XP
 
Definición y función de lenguaje java script
Definición y  función de lenguaje java scriptDefinición y  función de lenguaje java script
Definición y función de lenguaje java script
 
Ensayo php
Ensayo phpEnsayo php
Ensayo php
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programación
 
Ingenieria De Software
Ingenieria De SoftwareIngenieria De Software
Ingenieria De Software
 
Historia del C++ y JAVA
Historia del C++ y JAVAHistoria del C++ y JAVA
Historia del C++ y JAVA
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
Programacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaProgramacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herencia
 
Lenguaje de programacion ruby
Lenguaje de programacion rubyLenguaje de programacion ruby
Lenguaje de programacion ruby
 
Programación estructurada, modular y orientada a objeto
Programación estructurada, modular y orientada a objetoProgramación estructurada, modular y orientada a objeto
Programación estructurada, modular y orientada a objeto
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicos
 
Modelo espiral
Modelo espiralModelo espiral
Modelo espiral
 
Presentación JavaScript
Presentación JavaScriptPresentación JavaScript
Presentación JavaScript
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
 
Comandos java
Comandos javaComandos java
Comandos java
 
Pruebas unitarias
Pruebas unitariasPruebas unitarias
Pruebas unitarias
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 

Andere mochten auch (16)

Introducción a la Programación en Visual C# (C Sharp)
Introducción a la Programación en Visual C# (C Sharp)Introducción a la Programación en Visual C# (C Sharp)
Introducción a la Programación en Visual C# (C Sharp)
 
sistema operativo
sistema operativosistema operativo
sistema operativo
 
introducción a lenguajes de programacion
introducción a lenguajes de programacionintroducción a lenguajes de programacion
introducción a lenguajes de programacion
 
3. lenguaje c-
3. lenguaje c-3. lenguaje c-
3. lenguaje c-
 
Resumen lenguajes c#
Resumen lenguajes c#Resumen lenguajes c#
Resumen lenguajes c#
 
Tema 1[1][1]
Tema 1[1][1]Tema 1[1][1]
Tema 1[1][1]
 
Analista-programador Cobol - Módulo 1.3
Analista-programador Cobol - Módulo 1.3Analista-programador Cobol - Módulo 1.3
Analista-programador Cobol - Módulo 1.3
 
Programación
 Programación Programación
Programación
 
1.introduccion java
1.introduccion java1.introduccion java
1.introduccion java
 
Compilador e interpretador
Compilador e interpretadorCompilador e interpretador
Compilador e interpretador
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Programación desde cero en C# en español
Programación desde cero en C# en españolProgramación desde cero en C# en español
Programación desde cero en C# en español
 
C sharp
C sharpC sharp
C sharp
 
Etapas de compilacion
Etapas de compilacionEtapas de compilacion
Etapas de compilacion
 
C# guia total del programador
C# guia total del programadorC# guia total del programador
C# guia total del programador
 
Compiladores, Analisis Lexico Conceptos
Compiladores, Analisis Lexico ConceptosCompiladores, Analisis Lexico Conceptos
Compiladores, Analisis Lexico Conceptos
 

Ähnlich wie Caracteristicas de C Sharp

Reporte_de_microsoft_visual_c#
Reporte_de_microsoft_visual_c#Reporte_de_microsoft_visual_c#
Reporte_de_microsoft_visual_c#José García
 
Unidad 2 programación estructurada
Unidad 2 programación estructuradaUnidad 2 programación estructurada
Unidad 2 programación estructuradaRoberth Camana
 
Consideraciones pragmatica
Consideraciones pragmaticaConsideraciones pragmatica
Consideraciones pragmaticaJose Gallardo
 
Java Sobrecarga y Recursividad
Java Sobrecarga y RecursividadJava Sobrecarga y Recursividad
Java Sobrecarga y Recursividadpbcanessa
 
Lenguajes de programación orientados a objetos
Lenguajes de programación orientados a objetosLenguajes de programación orientados a objetos
Lenguajes de programación orientados a objetosDoris Aguagallo
 
Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...Eudris Cabrera
 
Reporte de visual c#(jose gonzalo estrada lopez)
Reporte de visual c#(jose gonzalo estrada lopez)Reporte de visual c#(jose gonzalo estrada lopez)
Reporte de visual c#(jose gonzalo estrada lopez)josegonzalo130
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++Rosbelia Balza
 
Lenguaje de la programación orientada a objetos c#
Lenguaje de la programación orientada a objetos c#Lenguaje de la programación orientada a objetos c#
Lenguaje de la programación orientada a objetos c#Juan Carlos Prieto
 

Ähnlich wie Caracteristicas de C Sharp (20)

Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
Reporte_de_microsoft_visual_c#
Reporte_de_microsoft_visual_c#Reporte_de_microsoft_visual_c#
Reporte_de_microsoft_visual_c#
 
Unidad 2 programación estructurada
Unidad 2 programación estructuradaUnidad 2 programación estructurada
Unidad 2 programación estructurada
 
Consideraciones pragmatica
Consideraciones pragmaticaConsideraciones pragmatica
Consideraciones pragmatica
 
Visual basic .NET
Visual basic .NETVisual basic .NET
Visual basic .NET
 
Fondo1 (2)
Fondo1 (2)Fondo1 (2)
Fondo1 (2)
 
Java Sobrecarga y Recursividad
Java Sobrecarga y RecursividadJava Sobrecarga y Recursividad
Java Sobrecarga y Recursividad
 
Lenguajes de programación orientados a objetos
Lenguajes de programación orientados a objetosLenguajes de programación orientados a objetos
Lenguajes de programación orientados a objetos
 
Javaqert
JavaqertJavaqert
Javaqert
 
Javaqert
JavaqertJavaqert
Javaqert
 
Programacion java
Programacion javaProgramacion java
Programacion java
 
Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...
 
lenguaje c.ppt
lenguaje c.pptlenguaje c.ppt
lenguaje c.ppt
 
Reporte de visual c#(jose gonzalo estrada lopez)
Reporte de visual c#(jose gonzalo estrada lopez)Reporte de visual c#(jose gonzalo estrada lopez)
Reporte de visual c#(jose gonzalo estrada lopez)
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++
 
tutorial de c++
tutorial de c++tutorial de c++
tutorial de c++
 
Tutorial C++
Tutorial C++Tutorial C++
Tutorial C++
 
Lenguaje de la programación orientada a objetos c#
Lenguaje de la programación orientada a objetos c#Lenguaje de la programación orientada a objetos c#
Lenguaje de la programación orientada a objetos c#
 

Kürzlich hochgeladen

ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxEL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxsisimosolorzano
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptxRigoTito
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
Diapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundariaDiapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundariaAlejandraFelizDidier
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfAlfaresbilingual
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxNadiaMartnez11
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSYadi Campos
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.docRodneyFrankCUADROSMI
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primariaWilian24
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdfValeriaCorrea29
 

Kürzlich hochgeladen (20)

ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxEL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Diapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundariaDiapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundaria
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 

Caracteristicas de C Sharp

  • 1. Estructura de lenguaje de Programación LENGUAJE: C# Presentado por: Daniel Solar Rodrigo Montero Ezequiel Gonzalez Miguel Pinto Edgardo Martínez
  • 2. ¿Qué es C#? -C# es el último en una línea de evolución de los lenguajes derivados de C, que incluye C++ y Java. -Usado por Microsoft para desarrollar la mayoría del código de .NET. -C# es orientado a objetos, moderno, simple y potente. -En C# todo es un objeto. -Mejoras sobre C++ en las áreas de seguridad de datos, eventos y recolección de basura. -Soporta el modo unsafe que permite el uso de punteros como en C. -Creación de páginas ASP.NET y servicios Web.
  • 3. Sintaxis de C# • Los programas en C# pueden tener varios archivos, así como uno solo. C# tiene un gran parecido a Java por lo tanto su estructura básica es prácticamente la misma. • Definiendo las variables, llevando punto y coma al final de cada instrucción, además es importante mencionar los espacios de nombres.
  • 4. Sintaxis de C# Los espacios de nombre son usados por el framework .NET como una especie de organizador de clases, ya que estos las tienen agrupadas en los distintos espacios de nombres, lo que en Java llaman "paquetes".
  • 5. Sintaxis de C# • Las clases contienen: – Campos: variables miembro – Propiedades: valores accedidos a través de get/set – Métodos: funcionalidad – Especiales: eventos, Indexadores, Delegates public class Persona : IPersonaEdad { private int iAnio; public Persona() { } public int AnioDeNacimiento { get { return iAnio;}; set { iAnio = value;}; } public int Edad() { return Today()- AnioDeNacimiento }; }
  • 6. Sintaxis de C# Statements • Una sentencia completa se llama “statement”. • Cada statement termina con punto y coma (;). • Es la unidad básica de ejecución de C#. • Un programa C# está formado por una secuencia de instrucciones (statements). • Pueden ser: –Declaraciones de variables –Expresiones –Selección (if, case) –Iteración –Etc…
  • 8. Sintaxis de C# En C# podemos usar Estructuras (Struct), y punteros Punteros En C# para mantener la seguridad de tipos y la seguridad no se admite las operaciones con punteros de manera determinada, para ello se usa la palabra clave unsafe para definir un contexto no seguro para usar los punteros. unsafe void crypt(byte[] arr) { byte * b = arr; ... }
  • 9. Sistema de Tipo y Semántica • Las Rutinas Semánticas deben realizar la evaluación de las gramáticas siguiendo las reglas semánticas asociadas al leguaje. • En otras palabras verificar que todas las rutinas estén bien escritas, que no se introduzcan sentencias con tipos de datos que no correspondan o no sean esperados por el lenguaje, produciendo que el analizador semántico nos envié un mensaje de error o advertencia. • La compatibilidad de tipos es otra parte importante que hará el analizador semántico, porque aquí donde el analizador verificara que los valores asignados a un objeto sean correctos.
  • 10. Sistema de Tipo y Semántica
  • 11. Sistema de Tipo y Semántica Para inicializar variables a veces hay que poner ciertos modificadores.
  • 12. Gestión de Memoria • A pesar de que con .NET no tenemos que preocuparnos con la gestión de memoria, tenemos que saber como funciona. • El .NET framework cuando ejecuta su programa guarda los elementos en dos tipos de lugares en la memoria: • 1. El Stack. • 2. El Heap. • Tanto el Stack como el Heap actúan en la ejecución del programa y residen en la memoria operativa de la máquina.
  • 13. Gestión de Memoria • Cuál es la diferencia entre Stack y Heap? El Stack lo podemos imaginar como un conjunto de cajas ordenadas una encima de otra. Cada vez que llamamos a un método, para hacer el seguimiento de lo que ocurre en la aplicación colocamos una caja en la parte superior del Stack a esta caja se le llama “Frame”. Una vez que el método es ejecutado retiramos esta caja y la tiramos a la basura. Procedemos entonces, a utilizar la caja anterior que ahora se encuentra en la parte superior del Stack.
  • 14. Gestión de Memoria • Cuál es la diferencia entre Stack y Heap? El Heap es similar, solo que su función es mantener la información. Lo que existe en el Heap puede ser accedido en cualquier momento sin limitaciones en lo que se puede acceder como ocurre en el Stack.
  • 15. Gestión de Memoria • Cuál es la diferencia entre Stack y Heap? El Stack se mantiene por sí mismo, lo que significa que básicamente se encarga de su gestión propia memoria. Cuando el cuadro de arriba ya no se utiliza, es expulsado y nada más ocurre. El Heap, en cambio, tiene que preocuparse por la recolección de basura (GC) - que trata de mantener la limpieza del Heap.
  • 16. Gestión de Memoria • Que elementos tenemos en el Stack y en el Heap? Tipos Valores En C #, todas las “cosas", declaradas de tipos de la siguiente lista son Tipos Valor (porque pertenecen al espacio de nombres System.ValueType): • bool • byte • char • decimal • double • enum • float • int • long • sbyte • short • struct • uint • ulong • ushort Tipos Referencia Todas las "cosas" declaradas de tipos de la siguiente lista son Tipos Referencia (y heredan de System.Object ... excepto, por supuesto, para el objeto que es el objeto System.Object): • class • interface • delegate • object • string
  • 17. Gestión de Memoria • 1. Un Tipo Referencia siempre va en el Heap. • 2. Los Tipos Valor van siempre el en Stack.
  • 18. Manipulación de Excepciones • Las características de control de excepciones del lenguaje C# proporcionan una manera de afrontar cualquier situación inesperada o excepcional que se presente mientras se ejecuta un programa. El control de excepciones utiliza las palabras clave try, catch y finally para intentar realizar acciones que podrían plantear problemas, controlar errores cuando considere que sea razonable y limpiar los recursos después. • Las excepciones se crean mediante la palabra clave throw.
  • 20. Manipulación de Excepciones Información general sobre excepciones. Las excepciones tienen las propiedades siguientes: • Las excepciones son tipos que se derivan en última instancia de System.Exception. • Utilice un bloque try alrededor de las instrucciones que puedan generar excepciones. • Cuando se produce una excepción dentro del bloque try, el flujo de control salta al primer controlador de excepciones asociado que se encuentre en cualquier parte de la pila de llamadas. En C#, la palabra clave catch se utiliza para definir un controlador de excepciones. • Si no hay un controlador de excepciones para una excepción determinada, el programa deja de ejecutarse y presenta un mensaje de error. • No detecte una excepción a menos que pueda controlarla y dejar la aplicación con un estado conocido. Si detecta una excepción System.Exception, vuelva a producirla mediante la palabra clave throw al final del bloque catch. • Si un bloque catch define una variable de excepción, puede utilizar dicho bloque para obtener más información sobre el tipo de excepción que se ha producido. • Un programa que utiliza la palabra clave throw puede generar explícitamente excepciones. • Los objetos de excepción contienen información detallada sobre el error, tal como el estado de la pila de llamadas y una descripción de texto del error. • El código de un bloque finally se ejecuta aunque se produzca una excepción. Use un bloque finally para liberar recursos, por ejemplo, para cerrar las secuencias o archivos que se abrieron en el bloque try.
  • 21. Paradigmas • C# es un lenguaje multi paradigma que incluye diferentes paradigmas los cuales son • Estructurado • Imperativo • Orientado a objetos • Dirigido por eventos • Genérico • Concurrente
  • 22. Paradigma Estructurado C# La visión clásica de la programación estructurada se refiere al control de ejecución. El control de su ejecución es una de las cuestiones más importantes que hay que tener en cuenta al construir un programa en un lenguaje de alto nivel. La regla general es que las instrucciones se ejecuten sucesivamente una tras otra, pero diversas partes del programa se ejecutan o no dependiendo de que se cumpla alguna condición. Además, hay instrucciones (los bucles) que deben ejecutarse varias veces, ya sea en número fijo o hasta que se cumpla una condición determinada.
  • 23. Paradigma Estructurado C# En C# se puede programar estructuradamente de la misma manera que en los lenguajes en los que fue basado, como C, C++ y Java class suma { static void Main(string[] args) { int n1, n2, r; Console.WriteLine("Ingrese el primer número: "); n1 = int.Parse(Console.ReadLine()); Console.WriteLine("Ingrese el segundo número: "); n2 = int.Parse(Console.ReadLine()); r = n1+ n2; Console.WriteLine("El resultados es: " + r); Console.ReadLine(); } }
  • 24. Paradigma Imperativo C# • Los programas imperativos no son mas que un conjunto de instrucciones que le indican a la computadora como realizar una tarea. • Con C# se escribe la mayoría de las instrucciones y programas que se ejecutan en Windows, así diciéndole a la computadora como realizar sus tareas.
  • 25. Orientación a Objetos en C# Programación orientada a objetos (POO) usa objetos y sus interacciones para el diseño de programas. Esta basado en varias técnicas las cuales son: Herencia, Abstracción, Polimorfismo, Encapsulamiento En C# hereda todo lo referente a POO de Java La declaración de una clase comparte aspectos en común con Java y C++: La declaración de una clase incluye la definición e implementación igual que Java Fichero de código fuente (extensión .cs) puede contener la declaración de varias clases igual que C++ y Java
  • 26. Orientación a Objetos en C# • Ejemplo de una clase que después se usara para instanciar un objeto con dicha clase
  • 27. Programación dirigida por eventos en C# • La estructura como la ejecución de los programas van determinados por los sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen.
  • 28. Programación dirigida por eventos en C# • En este ejemplo el método MyMouseDown, recibe un objeto en forma de evento y si se hizo clic con el botón derecho del mouse dice en consola que fue el derecho
  • 29. Programación Genérica en C# • La programación genérica es un tipo de programación que está mucho más centrada en los algoritmos que en los datos. La idea de esta forma de programar pretende generalizar las funciones utilizadas para que puedan usarse en más de una ocasión.
  • 30. Programación Recurrente en C# • En C# podemos usar hilos para poder tener varios procesos a la vez corriendo • El Framework de .Net trae consigo la funcionalidad de poder gestionar los hilos con la librería using System.Threading, y define dos tipos de hilos, Primer plano. (Foreground), Segundo plano. (BackGround). De forma predeterminada cuando se crea un hilo, se trata de un subproceso de primer plano, pero se puede cambiar a un subproceso en segundo plano. La única diferencia entre un hilo primer plano y el hilo de segundo plano, es que un hilo de segundo plano se cancelará automáticamente cuando todos los Hilos en primer plano son detenidos en su proceso.
  • 31. Programación Recurrente en C# • Ejemplo de dos hilos en C#
  • 32. Dominios de Aplicación en C# • C# trabaja principalmente en dos dominios, que son el de Sistemas y el de Centrado en Web, Microsoft ideo este lenguaje para trabajar en las áreas en que ellos tienen presencia como son los dominios antes mencionados.
  • 33. Sistemas con C# • C# es usado en sistemas mas que en otros dominios. C# es trabajado para crear programas para Windows y cualquier plataforma u herramienta creada por Microsoft junto con Visual Basic y F#. • En las ultimas versiones de Visual Studio se ha agregado opciones para crear aplicaciones nativas escritas en C# para Android y iOS.
  • 34. Sistemas con C# • C# no solo es usado por Microsoft para el uso de sus sistemas, se puede usar para programar para cualquier plataforma gracias a MONO que es una herramienta gratis y de código abierto liderado por Xamarin, hoy en día una subsidiaria de Microsoft.
  • 35. Centrado en Web • C# puede usarse en la web gracias a ASP.NET. • ASP.NET es un modelo de desarrollo Web unificado creado por Microsoft para el desarrollo de sitios y aplicaciones web dinámicas con un mínimo de código. ASP.NET forma parte de .NET Framework que contiene las librerías necesarias para la codificación. Se pueden usar distintos lenguajes de programación para realizar aplicaciones web en ASP.NET, pero el lenguaje C# es el más utilizado para este tipo de desarrollos.
  • 36. Centrado en Web • Ejemplo de como se ve cuando se comienza a escribir el código detrás de la pagina web
  • 37. Restricciones de Arquitectura • C# contiene pocas restricciones de Arquitectura, Microsoft ha trabajado desde la creación de este lenguaje para que se pueda utilizar en la gran mayoría posible de arquitecturas
  • 38. Restricciones de Arquitectura • Desde un principio C# hace programas para las arquitecturas x86(Procesadores de 32 bits), y x86-64 o AMD64(Procesadores de 64 bits), esto porque son las arquitecturas en las que se ejecuta el sistema operativo Windows
  • 39. Restricciones de Arquitectura • Pero hoy en día C# puede hacer programas para muchas arquitectura como la arquitectura ARM. (ARM o Advanced RISC Machine es una arquitectura de tipo RISC (Reduced Instruction Set Computer=Ordenador con Conjunto Reducido de Instrucciones) de 32 bits y recientemente con la llegada de su versión V8-A también de 64 Bits desarrollada por ARM Holdings. ) Arquitectura en la cual están todos los dispositivos móviles hoy en día.
  • 40. Otras Arquitecturas soportadas • Gracias al entorno de desarrollo libre MONO C# soporta varias arquitecturas
  • 41. Otras Arquitecturas soportadas Microsoft esta trabajando en un sistema Multi-arquitectura para impulsar las aplicaciones universales que han salido desde Windows 10 para que los desarrolladores escriban programas que soporten Aplicación llama a las librerías(DLL) que necesita para ejecutarse basándose en la base de aplicación escrita
  • 42. Restricciones Conceptuales • El proceso de compilación para el lenguaje C# se hace por medio del .NET framework y el CLR (Common Language Runtime = entorno en tiempo de ejecución de lenguaje común). Que es el verdadero nucleo del framework. • Este permite integrar proyectos en distintos lenguajes soportados por la plataforma .Net, como C#, Visual Basic, C++, entre otros.
  • 43. Restricciones Conceptuales El CLR es el encargado de compilar una forma de código intermedio llamada Common Intermediate Language (CIL, anteriormente conocido como MSIL, por Microsoft Intermediate Language), al código de maquina nativo
  • 44. Proceso de Compilación El código fuente es copilado por el compilador de C# (CSC.EXE) y lo convierte en un código intermedio, el CIL, similar al BYTECODE de Java. Para generarlo, el compilador se basa en las especificaciones que determinan las reglas necesarias para crear el código CIL compatible con el CLR
  • 45. Proceso de Compilación Para ejecutarse se necesita un segundo paso, un compilador JIT (Just-In-Time = Compilación en tiempo de ejecución) es el que genera el código máquina real que se ejecuta en la plataforma del cliente. La compilación JIT la realiza el CLR a medida que el programa invoca métodos. El código ejecutable obtenido se almacena en la memoria caché del ordenador, siendo recompilado de nuevo sólo en el caso de producirse algún cambio en el código fuente. Estructura interna del entorno de ejecución en lenguaje común.
  • 46. Interpretes y Equipos Virtuales • C# es lenguaje fuerte, flexible y portable, el código sufre pocos cambios a la hora de correrlo en otro IDE o sistema operativo
  • 47. Interpretes y Equipos Virtuales • ¿Qué es portabilidad? • Se define como la característica que posee un software para ejecutarse en diferentes plataformas, el código fuente del software es capaz de reutilizarse en vez de crearse un nuevo código cuando el software pasa de una plataforma a otra. A mayor portabilidad menor es la dependencia del software con respecto a la plataforma.
  • 48. Interpretes y Equipos Virtuales Como se ha dicho antes, Microsoft ha estado trabajando para que los programadores creen apps para cualquier plataforma, arquitectura y sistema operativo, eso incluye el escribir el código una sola vez y que funcione en varios sistemas. Con la introducción de las ultimas versiones de Windows se han creado las Universal Windows Platform (Plataforma Universal de Windows)
  • 49. Interpretes y Equipos Virtuales • Las aplicaciones universales permiten escribir el código para varias plataformas sin necesidad de modificar nada, ya es la misma aplicaciones que se adaptara al dispositivo donde se encuentre
  • 50. Interpretes y Equipos Virtuales • Pero la portabilidad y flexibilidad de C# no solo es para plataformas de Microsoft. • Xamarin(basado en mono) permite construir aplicaciones nativas para multiples plataformas compartiendo el código base de C#. • Usando el mismo IDE, lenguaje y APIs donde sea
  • 51. C# en Macs • Xamarin también te deja crear aplicaciones escrita en C# para Mac y crear aplicaciones para otras plataformas en un Mac
  • 52. C# es el mejor lenguaje para el desarrollo de apps Se puede crear aplicaciones para cualquier plataforma utilizando las habilidades, los equipos, y el código existente. Cualquier cosa que puedes hacer con Objective-C, Swift o Java puedes hacerlo con C#
  • 53. Normalizaciones • C# esta estandarizado por Microsoft como parte de su plataforma .NET, que después fue aprobado como un estándar por la ECMA (ECMA-334) e ISO (ISO/IEC 23270). No cuento con una acreditación en ANSI.
  • 54. Normalizaciones ECMA-334 Este estándar internacional establece la interpretación de los programas escritos en el lenguaje C# Estas especificaciones son: • La representación de los programas en C #; • La sintaxis y las limitaciones del lenguaje C #; • Las reglas semánticas para la interpretación de los programas de C #; • Las restricciones y límites impuestos por una aplicación conforme de C #.
  • 55. Normalizaciones La ISO/IEC 23270:2006 especifica la forma y establece la interpretación de los programas escritos en el lenguaje de programación C #. Estándar revisado y confirmado en el 2012
  • 56. Sistemas Heredados • El lenguaje C# tiene una larga herencia. El lenguaje C que forma parte del lenguaje B, que a su vez fue inspirado en BCPL, se puede considerar el primer sistema del cual hereda C#. Pero no antes de que surgiera C++ que es la mejora de C con orientación a objeto.
  • 57. Sistemas Heredados • Entonces nace C# en el 2000, heredando todo lo que es C++ junto a la potencia de Java. C# es un híbrido de C++ y Java que fusiona, principalmente, la capacidad de combinar operadores propia del primero con la plena orientación a objetos del segundo. • Actualmente C# se encuentra entre los 10 lenguajes más utilizados. A pesar de su corta historia.
  • 58. Sistemas Heredados • Pero C# también ha inspirados lenguajes como es el caso de F# y Vala • F# es un lenguaje de programación multiparadigma de código abierto, para la plataforma .NET, que conjunta la programación funcional con las disciplinas imperativa y orientada a objetos. • Vala es un lenguaje de programación creado con el objetivo de acercar las características de los lenguajes modernos a C, sin requisitos adicionales de tiempo de ejecución y con pocos costos, centrado en los objetos de la biblioteca Gobject, la sintaxis se inspira en C#, con leves modificaciones para adaptarse mejor al sistema de objetos de GObject.
  • 59. Simplicidad y Claridad ¿Es fácil para un programador escribir en este lenguaje? Depende de dos factores; del nivel del programador y de la complejidad del programa. En este nivel en el que nos encontramos estamos seguros que podemos hacer un pequeño programa en cualquier lenguaje (Un “Hola mundo” por ejemplo) navegando en internet y con los conocimientos adquiridos con otros lenguajes.
  • 60. Simplicidad y Claridad ¿Hasta qué punto es inteligible este programa para un lector medio? Nuevamente depende del nivel de programador y de la complejidad del programa. Como en el ejemplo del “Hola mundo” hasta un principiante podría leer el programa y saber de qué se trata, pero si es un programa complejo como un editor de texto, por ejemplo, se necesita un nivel más avanzado
  • 61. Simplicidad y Claridad ¿Es fácil aprender y enseñar el lenguaje? C# es un lenguaje fácil de aprender ya que es muy similar a Java, no es un lenguaje complejo, y cualquier estudiante podría aprende C# en un nivel básico sin mucho empeño Depende del estudiante. Uno no aprende a programar un lenguaje de la noche a la mañana, es cuestión de practica y esfuerzo
  • 62. Uniones En C# las concatenaciones o uniones se pueden hacer de dos maneras int variable = 0; Console.WriteLine("Este texto se imprimirá con esta variable: " + variable + " con este otro texto"); int variable = 0; Console.WriteLine("Este texto se imprimirá con esta variable: {0} con este otro texto", variable); Modificador que indica donde imprimirá la variable
  • 63. Ortogonalidad ¿Un símbolo o una palabra reservada tiene siempre el mismo significa independiente del contexto en la que lo utilicemos? Las palabras reservadas son aquellas que tienen un uso determinado para el lenguaje y, por lo tanto, no pueden ser empleadas en el código como identificadores (por ejemplo, nombres para las variables). Como vemos en el párrafo que hemos citado las palabras reservados tiene una función única por lo tanto no se puede usar de otra forma en C#
  • 64. Ortogonalidad ¿Tiene el lenguaje un pequeño número de características básicas que interactúan de forma predecible sin importar cómo los combinemos en un programa ? C# posee muchas características que siempre actuaran de la misma manera sin importar la forma en que se escriban o en el orden. Una característica que no cambia seria: Unificación de tipos En C# todos los tipos derivan de una superclase común llamada System.Object, por lo que automáticamente heredarán todos los miembros definidos en esta clase. Y esto no cambiara
  • 65. Fiabilidad de los programas ¿El programa se comporta igual cada vez que lo ejecutamos con los mismos datos de entrada? Si podemos los mismos parámetros en un programa lineal lazara los mismos resultados en cada ejecución. Esto cambia cuando usamos bucles y condiciones, y mucho mas cambia cuando usamos hilos, cada vez que ejecutemos varios hilos no siempre saldrán los mismos resultados. En el ejemplo no siempre saldrán varios 2 primero, esto puede cambiar.
  • 66. Fiabilidad de los programas ¿Se comporta igual cuando lo ejecutamos en plataformas distintas? C# es uno de los lenguajes de programación diseñados para la infraestructura de lenguaje común. ¿Que es la infraestructura de lenguaje común ? La infraestructura de lenguaje común es una especificación estandarizada que describe un entorno virtual para la ejecución de aplicaciones, cuya principal característica es la de permitir que aplicaciones escritas en distintos lenguajes de alto nivel puedan luego ejecutarse en múltiples plataformas tanto de hardware como de software sin necesidad de reescribir o recompilar su código fuente.
  • 67. Aplicabilidad ¿El lenguaje proporciona un soporte adecuado para las aplicaciones del dominio para lo que lo estamos utilizando ? Microsoft ha hecho un trabajo excelente con C# , no solo con la variedad de plataformas en la que se puede usar sino que también las diferentes funciones que tiene el lenguaje que puede hacer frente a las necesidades del programador .
  • 68. Abstracción ¿Cuántas veces hemos reinventado un algoritmo de ordenación o estructura de datos de listas enlazadas que probablemente halla sido implementado miles de veces? Un algoritmo de ordenamiento es un algoritmo que pone elementos de una lista o un vector en una secuencia dada por una relación de orden, es decir, el resultado de salida ha de ser una permutación —o reordenamiento— de la entrada que satisfaga la relación de orden dada. Hay muchas formas de ordenar listas enlazadas, Todos estos métodos pueden reinventarse para ordenarlos de la forma en que queramos, de mayor a menor, de dos en dos, etc.
  • 69. Implementación eficiente ¿Nos permite la construcción y las características de un lenguaje su implementación práctica y eficiente en la plataforma coetáneas ? Como ya se dijo en la anterior charla, C# permite usar todas sus características en muchas plataformas de forma eficiente
  • 71. Infografía • http://www.ecma-international.org/default.htm • https://es.wikipedia.org/wiki/C_Sharp • https://es.scribd.com/doc/261667/Sesion-02-Sintaxis-de-CSharp-C • http://dis.um.es/~bmoros/privado/bibliografia/LibroCsharp.pdf
  • 72. Infografía • http://nelson-venegas.blogspot.com/2012/05/procesos-hilos- threads-subproceso.html • https://nishiprog.wordpress.com/2011/10/08/lenguaje- multiparadigma-c/ • https://ortizol.blogspot.com/2014/06/eventos-en-csharp-parte-1- introduccion-a-eventos.html • http://assets.mheducation.es/bcv/guide/capitulo/8448148703.pdf • https://en.wikipedia.org/wiki/Mono_%28software%29 • https://msdn.microsoft.com/es-es/library/341zb1z3(v=vs.90).aspx • http://www.maestrosdelweb.com/tutoria-desarrolloweb-asp-net/ • http://asp.net-tutorials.com/basics/code-behind/
  • 73. Infografía • http://users.salleurl.edu/~manuellv/MagSrc/Doc000185/Seminario_Introduccion_a_l a_arquitectura_.NET_y_al_lenguaje_C_sharp.pdf • http://www.mono-project.com/docs/about-mono/supported-platforms/ • https://es.wikipedia.org/wiki/C_Sharp • http://onewindows.es/2016/09/microsoft-trabaja-subsistemas-multiarquitectura- redstone-2-windows-10/ • https://es.wikipedia.org/wiki/Compilaci%C3%B3n_en_tiempo_de_ejecuci%C3%B3n • https://es.wikipedia.org/wiki/Common_Language_Runtime • https://es.wikipedia.org/wiki/Microsoft_.NET • https://es.wikipedia.org/wiki/Arquitectura_ARM • https://es.wikipedia.org/wiki/Reduced_instruction_set_computing • https://blogs.windows.com/buildingapps/2015/03/02/a-first-look-at-the-windows- 10-universal-app-platform/#FRgITjExZyEJ7SSH.97 • https://www.xamarin.com/platform • https://es.scribd.com/doc/9018328/Historia-C
  • 74. Infografía • www.rae.es (Real Academia de la Lengua) • www.Wikipedia.org • https://msdn.microsoft.com/en- us/library/586y06yf(v=vs.110).aspx • https://msdn.microsoft.com/en-us

Hinweis der Redaktion

  1. En el Common Language Runtime (CLR) se refieren al código no seguro como código no comprobable lo cual no necesariamente significa que es peligroso sino que su seguridad no se puede comprobar por el CLR, básicamente la diferencia entre el código “unmanaged” y código definido como “unsafe” es que el primero corre fuera del CLR mientras que el “unsafe” tiene permiso del CLR para acceder directamente a la memoria.  Es importante tomar en cuenta que el hecho de que sea código unsafe deja al programador toda la responsabilidad del código dejándolo a cargo de garantizar que no introduce riesgos de seguridad ni errores de punteros.
  2. Equvalencia: dos objetos pueden considerarse del mismo tipo Compa: que los obe¡jetos puedan ser usados en cierto contexto Conversion: cambio de tipo Name: mas de misma vez
  3. Bueno, el Stack es responsable por hacer el seguimiento de la ejecución de lo que está en nuestro código. El Heap es más o menos responsable por hacer seguimiento de la mayor parte de nuestros datos.
  4. Simple Object Access Protocol Básicamente SOAP es un paradigma de mensajería de una dirección sin estado, que puede ser utilizado para formar protocolos más complejos y completos según las necesidades de las aplicaciones que lo implementan. Puede formar y construir la capa base de una "pila de protocolos de web service", ofreciendo un framework de mensajería básica en el cual los web services se pueden construir.
  5. La familia x86 reagrupa los microprocesadores compatibles con el juego de instrucciones Intel 8086.
  6. that the Alpha, MIPS, ARM big-endian and HPPA architectures are community-supported and may not be as complete as the other architectures. Support for SPARC64 works in older versions of Mono, but not in the recent versions.
  7. INTERMIDIET
  8. **la compilación en tiempo de ejecución (también conocida por sus siglas inglesas, JIT, just-in-time), también conocida como traducción dinámica, es una técnica para mejorar el rendimiento de sistemas de programación que compilan a bytecode, consistente en traducir el bytecode a código máquina nativo en tiempo de ejecución. **la caché es la memoria de acceso rápido de una computadora, que guarda temporalmente los datos recientemente procesados
  9. IDE= ENTORNO DE DESARROLLO INTEGRADO
  10. **La interfaz de programación de aplicaciones, abreviada como API[1] (del inglés: Application Programming Interface), es el conjunto de subrutinas, funciones y procedimientos (o métodos, en la programación orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción.
  11. GLib Object System, o GObject, es una biblioteca de software libre bajo la licencia LGPL que provee un sistema de objetos portable y una interoperabilidad multilenguaje transparente. GObject está diseñado para su utilización directa en programas C y a través de bindings, a otros lenguajes.