SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

Estructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+xEstructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+xSophia Galarraga
 
Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Yaskelly Yedra
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteJosé Antonio Sandoval Acosta
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasJ M
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesHumano Terricola
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...Hugo Alberto Rivera Diaz
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARESAnel Sosa
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Osiris Mirerus
 
Implementación de clases
Implementación de clasesImplementación de clases
Implementación de clasesFernando Solis
 
INDICES EN SQL SERVER
INDICES EN SQL SERVERINDICES EN SQL SERVER
INDICES EN SQL SERVERDarwin Durand
 
Lenguaje Borland C - Estructura y Componentes
Lenguaje Borland C - Estructura y ComponentesLenguaje Borland C - Estructura y Componentes
Lenguaje Borland C - Estructura y ComponentesKarina Arguedas Ruelas
 
Sistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosSistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosGuillermo Chirinos
 
Fundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosFundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosALGLYS RAMIREZ
 
maquinas de turing
maquinas de turingmaquinas de turing
maquinas de turingAnel Sosa
 

La actualidad más candente (20)

Estructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+xEstructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+x
 
Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o Hebras
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARES
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 
Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
 
Implementación de clases
Implementación de clasesImplementación de clases
Implementación de clases
 
Topicos Avanzados de Programacion Unidad 1 Eventos
Topicos Avanzados de Programacion Unidad 1 EventosTopicos Avanzados de Programacion Unidad 1 Eventos
Topicos Avanzados de Programacion Unidad 1 Eventos
 
INDICES EN SQL SERVER
INDICES EN SQL SERVERINDICES EN SQL SERVER
INDICES EN SQL SERVER
 
Tipos de datos abstractos
Tipos de datos abstractosTipos de datos abstractos
Tipos de datos abstractos
 
Lenguaje Borland C - Estructura y Componentes
Lenguaje Borland C - Estructura y ComponentesLenguaje Borland C - Estructura y Componentes
Lenguaje Borland C - Estructura y Componentes
 
Sistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosSistema De Gestión De Base De Datos
Sistema De Gestión De Base De Datos
 
Fundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosFundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetos
 
maquinas de turing
maquinas de turingmaquinas de turing
maquinas de turing
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
Estimación Software por Puntos de Función
Estimación Software por Puntos de FunciónEstimación Software por Puntos de Función
Estimación Software por Puntos de Función
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 

Destacado (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
 

Similar a 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
 

Similar a 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#
 

Último

LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
La evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariaLa evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariamarco carlos cuyo
 

Último (20)

LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
La evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariaLa evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundaria
 

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

Notas del editor

  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.