lunes, 4 de junio de 2018


Programación funcional


Resultado de imagen para programación funcional
El estilo de programación que enfatiza la evaluación de expresiones, antes que la ejecución de comandos. Los lenguajes funcionales ofrecen al programador un buen número de recursos expresivos que permiten resolver problemas complejos mediante programas pequeños y robustos. Entre ellos cabe destacar: un sistema de tipos polimórficos que permite definir una amplia variedad de estructuras de datos de uso genérico, la posibilidad de definir funciones que aceptan otras funciones como argumentos y devuelven funciones como resultado, facilidades para definir y manipular estructuras de datos infinitas, un modelo computacional simple, claro y bien fundamentado, etc.

Características

Los programas escritos en un lenguaje funcional están constituidos únicamente por definiciones de funciones, entendiendo éstas no como subprogramas clásicos de un lenguaje imperativo, sino como funciones puramente matemáticas, en las que se verifican ciertas propiedades como la transparencia referencia(el significado de una expresión depende únicamente del significado de  sub expresiones), y por tanto, la carencia total defectos colaterales.

Otras características propias de estos lenguajes son la no existencia de asignaciones de variables y la falta de construcciones estructuradas como la secuencia o la iteración (lo que obliga en la práctica a que todas las repeticiones de instrucciones se lleven a cabo por medio defunciones recursivas).
Existen dos grandes categorías de lenguajes funcionales: los funcionales puros y los híbridos. La diferencia entre ambos estriba en que los lenguajes funcionales híbridos son menos dogmáticos que los puros, al admitir conceptos tomados de los lenguajes imperativos, como las secuencias de instrucciones o la asignación de variables. En contraste, los lenguajes funcionales puros tienen una mayor potencia expresiva, conservando a la vez su transparencia referencial, algo que no se cumple siempre con un lenguaje funcional híbrido.

Los lenguajes que podemos encontrar en la programación funcional son:
1.-Lisp: El Lisp(oLISP) es una familia de lenguajes de programación de computadora de tipo multiparadigma con una larga historia y un uso intensivo de paréntesis en su sintaxis.
Especificado originalmente en 1958 por John McCarthyy sus colaboradores en el Instituto Tecnológico de Massachusetts, el Lisp es el segundo lenguajes de programación de alto nivel de mayor antigüedad entre los que continúan teniendo un uso extendido en la actualidad; únicamente FORTRAN es anterior.
Al igual que el FORTRAN, el Lisp ha cambiado mucho desde sus comienzos, y han existido un gran número de dialectos en su historia. Hoy, los dialectos Lisp de propósito general más ampliamente conocidos son el Common Lispy el Scheme.
El Lisp fue creado originalmente como una notación matemática práctica para los programas de computadora, basada en el cálculo lambda de Alonzo Church. Se convirtió rápidamente en el lenguaje de programación favorito en la investigación de la inteligencia artificial (AI). Como lenguajes de programación precursor, el Lisp fue pionero en muchas ideas en ciencias de la computación, incluyendo las estructuras de datos de árbol, el manejo de almacenamiento automático, tipos dinámicos, y el compilador auto contenido.

El nombre LISP deriva del "LIStProcessing" (Proceso de Listas). Las listas encadenadas son una de las estructuras de datos importantes del Lisp, y el código fuente del Lisp en sí mismo está compuesto de listas. Como resultado, los programas de Lisp pueden manipular el código fuente como una estructura de datos, dando lugar a los macrosistemas que permiten a los programadores crear una nueva sintaxis de lenguajes de programación de dominio específico empotrados en el Lisp.

Ejemplo

Lista
Número de términos
Términos
(HOLA)
1
HOLA
(ESTA ES UNA LISTA)
4
ESTA, ES, UNA, LISTA
((AB T56) HOLA ())
3
(AB T56), HOLA, ()

2.-Camel: Camel es un estilo de escritura que se aplica a frases o palabras compuestas. El nombre se debe a que las mayúsculas a lo largo de una palabra en Camel se asemejan a las jorobas de un camello. El nombre Camel se podría traducir como Mayúsculas/Minúsculas Camello. El término case se traduce como "caja tipográfica", que a su vez implica si una letra es mayúscula o minúscula y tiene su origen en la disposición de los tipos móviles en casilleros o cajas.

Existen dos tipos de Camel Case:
Upper Camel Case, cuando la primera letra de cada una de las palabras es mayúscula.

 Ejemplo: EjeploderCamelCase.
Lower Camel Case igual que la anterior,excepción de que la primera letra es minúscula. Ejemplo: ejemplo de Lower Camel Case

3.- Hope: Hope es un pequeño lenguaje de programación funcional desarrollado en los 70 en la Universidad de Edimburgo.  Fue el primer lenguaje en contar con tipo de datos algebraicos y evaluación call-by-patter.

Ejemplo

Expresión (E): 2 + 3 * 4;
Resultado(R): 14
(E): (2 + 3) * 4;
(R): 20
(E): (113 + 20) – (20 + 34);
(R): 69 : núm.


4.-Erlang: Erlang es un lenguaje de programación concurrente (u orientada a la concurrencia) y un sistema de ejecución que incluye una máquina virtual (BEAM) y bibliotecas (OTP).
El subconjunto de programación secuencial de Erlang es un lenguaje funcional, con evaluación estricta, asignación única, y tipado dinámico. Fue diseñado en la compañía Ericsson para realizar aplicaciones distribuidas, tolerantes a fallos, soft-real-time y de funcionamiento ininterrumpido. Proporciona el cambio en caliente de código de forma que éste se puede cambiar sin parar el sistema. Originalmente, Erlang era un lenguaje propietario de Ericsson, pero fue cedido como software de código abierto en 1998. La implementación de Ericsson es principalmente interpretada, pero también incluye un compilador HiPE (sólo soportado en algunas plataformas).
La creación, gestión y comunicación de procesos es sencilla en Erlang, mientras que en muchos lenguajes, los hilos se consideran un apartado complicado y propenso a errores. En Erlang toda concurrencia es explícita.
Erlang recibe el nombre de A. K. Erlang. A veces se piensa que el nombre es una abreviación de Ericsson  Lenguaje, debido a su uso intensivo en Ericsson. Según Bjarne Däcker -quien fue el jefe del Computer Science Lab en su día-, esta dualidad es intencional.

Ejemplo

Operador
Descripción
Tipo
X > Y
X es mayor que Y
Coerce
X < Y
X es menor que Y
Coerce
X =< Y
X es igual o menor que Y
Coerce
X >= Y
X es igual o mayor que Y
Coerce
X == Y
X es igual a Y
Coerce
X /= Y
X no es igual a Y
Coerce
X =:= Y
X es igual a Y
Exact
X =/= Y
X no es igual a Y
Exact

Programación   funcional con recursividad

En ciencias de la computación, un sistema de tipos define cómo un lenguaje de programación clasifica los valores y las expresiones en tipos, cómo se pueden manipular estos tipos y cómo interactúan. Un tipo indica un conjunto de valores que tienen el mismo significado genérico o propósito (aunque algunos tipos, como los tipos de datos abstractos y tipos de datos función, tal vez no representen valores en el programa que se está ejecutando). Los sistemas de tipificación varían significativamente entre lenguajes, siendo quizás las más importantes variaciones las que estén en sus implementaciones de la sintáctica en tiempo de compilación y la operativa en tiempo de ejecución.

Técnicas de programación recursivas

Las funciones recursivas son aquellas que se invocan a si mismas en algún momento de su ejecución. En análisis de Algoritmos las técnicas recursivas se usan mucho para la solución de Problemas. Esta forma en análisis de Algoritmos es llamada Divide y Venceras. Para poder resolver un problema de forma recursiva es necesario saber alguna solución no recursiva para alguno de los casos mas sencillos. "Usamos la solución mas simple para resolver un problema mas complejo" Así, todo método recursivo debe tener al menos una sentencia que devuelva un resultado (la solución del caso más sencillo) y las sentencias necesarias para acercarse en cada invocación a ese caso. La recursión permite programar algoritmos aparentemente complicados con un código simple y claro, ahorrando trabajo al programador. A simple vista parece la solución perfecta para muchos problemas, pero hay que tener en cuenta que en ocasiones ralentizará el programa en exceso

Tipos

Abstract Una clase abstract tiene al menos un método abstracto. Una clase abstracta no se instancia, sino que se utiliza como clase base para la herencia.
Final Una clase final se declara como la clase que termina una cadena de herencia. No se puede heredar de una clase final. Por ejemplo, la clase Math es una clase final.
Public Las clases public son accesibles desde otras clases, bien sea directamente o por herencia. Son accesibles dentro del mismo paquete en el que se han declarado. Para acceder desde otros paquetes, primero tienen que ser importadas.
Synchronizable Este modificador especifica que todos los métodos definidos en la clase son sincronizados, es decir, que no se puede acceder al mismo tiempo a ellos desde distintos threads; el sistema se encarga de colocar los flags necesarios para evitarlo. Este mecanismo hace que desde threads diferentes se puedan modificar las mismas variables sin que haya problemas de que se sobre escriban.


link de un video

https://www.youtube.com/watch?v=pdbkwUDdfRk



Modelos de evaluación

Evaluación es el proceso sistemático de recolección y análisis de datos con la finalidad de determinar si es que, y hasta que punto, unos objetivos han sido o están siendo logrados. La información resultante se pone al servicio de la toma de decisiones.

Aplicación en rutinas en pseudocódigo

Generalmente se utiliza pseudocódigo en los libros de texto y publicaciones científicas relacionadas con la informática y la computación numérica, para la descripción de algoritmos, de manera que todos los programadores puedan entenderlo, aunque no todos conozcan el mismo lenguaje de programación. Generalmente, en los libros de texto se adjunta una explicación que acompaña a la introducción y que explica las convenciones particulares en uso. El nivel de detalle del pseudocódigo puede, en algunos casos, acercarse a la de formalizar los idiomas de propósito general.
Un programador que tiene que aplicar un algoritmo específico, sobre todo uno des familiarizado, generalmente comienza con una descripción en pseudocódigo, y luego "traduce" esa descripción en el lenguaje de programación meta y lo modifica para que interactúen correctamente el resto del programa. Los programadores también pueden iniciar un proyecto describiendo la forma del código en pseudocódigo en el papel antes de escribirlo en su lenguaje de programación, como ocurre en la estructuración de un enfoque de Top-down y Bottomup arriba hacia abajo.

Programación orientada a objetos

Es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe variedad de lenguajes de programación que soportan la orientación a objetos.
La programación orientada a objetos es una forma de programar que trata de encontrar una solución a estos problemas. Introduce nuevos conceptos, que superan y amplían conceptos antiguos ya conocidos. Entre ellos destacan los siguientes:


Resultado de imagen para programacion orientada a objetos






link de un video 

Abstracción
Resultado de imagen para abstraccion programación funcional
Abstracción (informática):La abstracción consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan. ... La abstracción encarada desde el punto de vista de la programación orientada a objetos expresa las características esenciales de un objeto, las cuales distinguen al objeto de los demás.
Abstracción de EntidadesEs un objeto que representa un modelo útil de una entidad que se desea.
Abstracción de AccionesUn objeto que representa un conjunto de operaciones y todas ellas desempeñan funciones del mismo tipo.
Abstracción de Máquinas virtuales: Un objeto que agrupa operaciones, todas ellas virtuales, utilizadas por algún nivel superior de control u operaciones (entre ellos podríamos hablar de un circuito).
Abstracción de coincidenciaUn objeto que almacena un conjunto de operaciones que no tienen relación entre sí.

Encapsulamiento

En programación modular, y más específicamente en programación orientada a objetos, se denomina encapsulamiento al ocultamiento del estado, es decir, de los datos miembro de un objeto de manera que solo se pueda cambiar mediante las operaciones definidas para ese objeto.
Clases
La encapsulación da lugar a que las clases se dividan en dos partes:

Interfaz:Captura la visión externa de una clase, abarcando la abstracción del 
comportamiento común a los ejemplos de esa clase.
Implementación: Comprende la representación de la abstracción, así como los mecanismos que conducen al comportamiento deseado.

Formas de encapsular
Estándar: (Predeterminado)
Abierto: Hace que el miembro de la clase pueda ser accedido desde el exterior de la Clase y cualquier parte del programa.
Protegido: Solo es accesible desde la Clase y las clases que heredan (a cualquier nivel).
Semi cerrado : Solo es accesible desde la clase heredada.
Cerrado: Solo es accesible desde la Clase.

Ventajas
Lo que hace el usuario puede ser controlado internamente (incluso sus errores), evitando que todo colapse por una intervención indeseada.
Al hacer que la mayor parte del código esté oculto, se pueden hacer cambios y/o mejoras sin que eso afecte el modo de como los usuarios van a utilizar el código.

Principio de ocultación

Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una "interfaz" a otros objetos que específica cómo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas; solamente los propios métodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no puedan cambiar el estado interno de un objeto de manera inesperada, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstracción. La aplicación entera se reduce a un agregado o rompecabezas de objetos.

Polimorfismo

Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre; al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O, dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en "tiempo de ejecución", esta última característica se llama asignación tardía o asignación dinámica. Algunos lenguajes proporcionan medios más estáticos (en "tiempo de compilación") de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.

Herencia

Las clases no se encuentran aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento, permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple; siendo de alta complejidad técnica por lo cual suele recurrirse a la herencia virtual para evitar la duplicación de datos.

Lenguaje

*C++: es un lenguaje de programación diseñado a mediados de los años 1979 por Bjarne Stroustrup. La intención de su creación fue el extender al lenguaje de programación C mecanismos que permiten la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.
*Java: es un lenguaje de programación de propósito general, concurrente, orientado a objetos, que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en inglés como WORA, o "write once, run anywhere"), lo que quiere decir que el código que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra. Java es, a partir de 2012, uno de los lenguajes de programación más populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos diez millones de usuarios reportados.2​3​
*C# (pronunciado si sharp en inglés) es un lenguaje de programación orientado a objetos desarrollado y 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). C# es uno de los lenguajes de programación diseñados para la infraestructura de lenguaje común.

Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET, similar al de Java, aunque incluye mejoras derivadas de otros lenguajes.
Objeto
Instancia de una clase. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos), los mismos que consecuentemente reaccionan a eventos. Se corresponden con los objetos reales del mundo que nos rodea, o con objetos internos del sistema (del programa).
Clase
Una clase se puede definir de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ella.
Herencia
Por ejemplo, herencia de la clase C a la clase D, es la facilidad mediante la cual la clase D hereda en ella cada uno de los atributos y operaciones de C, como si esos atributos y operaciones hubiesen sido definidos por la misma D. Por lo tanto, puede usar los mismos métodos y variables registrados como "públicos" (public) en C. Los componentes registrados como "privados" (private) también se heredan pero se mantienen escondidos al programador y sólo pueden ser accedidos a través de otros métodos públicos. Para poder acceder a un atributo u operación de una clase en cualquiera de sus subclases pero mantenerla oculta para otras clases es necesario registrar los componentes como "protegidos" (protected), de esta manera serán visibles en C y en D pero no en otras clases.

Aplicación en rutina en pseudocódigo

// my first program in C++
#include <iostream>
using namespace std;
int main ()
{
  cout << "Hello World!";
  return 0;
}




La programación dirigida por eventos

Resultado de imagen para programacion dirigida por eventos
Es un paradigma de programación en el que el flujo del programa está determinado por eventos o mensajes desde otros programas o hilos de ejecución.
Las aplicaciones desarrolladas con programación dirigida por eventos implementan un bucle principal o main loop donde se ejecutan las dos secciones principales de la aplicación: El selector de eventos y el manejador de eventos.
Características

Al comenzar la ejecución del programa se llevarán a cabo las inicializaciones y demás código inicial y a continuación el programa quedará bloqueado hasta que se produzca algún evento.
2. Cuando alguno de los eventos esperados por el programa tenga lugar, el programa pasará a ejecutar elcódigo del correspondiente administrador de evento.
3.  puede emplearse también para desarrollar interfaces entre componentes de Software o módulos del núcleo.
4. la programación orientada a eventos permite interactuar con el usuario en cualquier momento de la ejecución.
5.  los programas creados bajo esta arquitectura se componen por un bucle exterior permanente encargado de recoger los eventos y procesos que se encargan de tratarlos

Lenguaje

JavaScript :(abreviado comúnmente JS) es un lenguaje de programación interpretado, dialecto del estándar ECMAScript. Se define como orientado a objetos,3​ basado en prototipos, imperativo, débilmente tipado y dinámico.
Visual C++: (también conocido como MSVC++, Microsoft Visual C++) es un entorno de desarrollo integrado (IDE) para lenguajes de programación C, C++ y C++/CLI.
Visual C# es uno de los lenguajes de programación de alto nivel que pertenecen al paquete .NET otros lenguajes son Visual Basic, C/C++. Con  él se pueden escribir tanto programas convencionales como para Internet.
Visual J# 2005 permite a los desarrolladores utilizar la sintaxis del lenguaje Java para generar aplicaciones y servicios que se ejecutarán en .NET Framework. Visual J# integra la sintaxis de Java en el entorno de desarrollo integrado (IDE) de Visual Studio®. Visual J# también admite la mayor parte de la funcionalidad de Visual J++ 6.0®, incluyendo las extensiones de Microsoft. Visual J# no es una herramienta para desarrollar aplicaciones que se ejecuten en una máquina virtual de Java. Las aplicaciones y servicios generadas con Visual J# sólo se ejecutarán en .NET Framework. Visual J# ha sido desarrollado independientemente por Microsoft. No está refrendado ni aprobado por Sun Microsystems, Inc.

Elementos secuenciales, simultáneos o concurrentes

Los eventos secuenciales son una forma de programación también conocida como programación dirigida por eventos, esto es un paradigma de programación en el que tanto 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.
Para entender la programación dirigida por eventos, podemos oponerla a lo que no es: mientras en la programación secuencial (o estructurada) es el programador el que define cuál va a ser el flujo del programa, en la programación dirigida por eventos será el propio usuario —o lo que sea que esté accionando el programa— el que dirija el flujo del programa.
 Aunque en la programación secuencial puede haber intervención de un agente externo al programa, estas intervenciones ocurrirán cuando el programador lo haya determinado, y no en cualquier momento como puede ser en el caso de la programación dirigida por eventos.

Multitareas

En esta entrada introduciremos el concepto de programación multitarea en microcontroladores. En una computadora normal, es el sistema operativo el que reparte el tiempo de procesador (o procesadores) y los recursos entre todas las aplicaciones y tareas que estamos ejecutando.

Basado en procesos

Los procesos que se comunican entre sí para
Intercambiar datos.
En ambas situaciones se necesita que los procesos sincronicen su ejecución, para evitar conflictos o establecer contacto para el intercambio de datos. La interacción entre procesos se logra mediante variables compartidas o bien mediante el paso de mensajes. Además la interacción puede ser explícita, si aparece en la descripción del programa, o implícita, si aparece durante la ejecución del programa.

Basado en hebras

Los programas que se van a describir se ejecutan empleando sistemas operativos como Windows 95 o superior. Una de las características de estos sistemas operativos es el de ser multitarea, lo que quiere decir que se pueden ejecutar dos o más programas concurrentemente. Estos programas comparten el tiempo de ejecución e incluso pueden acceder a las mismas variables, lo que presentará ciertos problemas que será necesario resolver. Se admiten dos formas de multitarea: basada en procesos y basada en hebras.
Se emplea aquí el segundo tipo, multitarea basada en hebras (threads). Un thread o hebra es una unidad remitente de código ejecutable, es decir, un camino de ejecución dentro de un proceso. El nombre proviene del concepto “hebra en ejecución”. Todos los procesos tienen una hebra como mínimo, pudiendo tener varias. Así, es posible que un proceso tenga dos o más de sus fragmentos ejecutándose simultáneamente.

Aplicación en rutinas de pseudocódigo

While (true){
      Switch (event){
          case mousse_button_down:
          case mouse_click:
          case keypressed:
          case Else:
      }
  }



Bibliografía

Alvarez, Y. (17 de 5 de 2013). manejo de tecnicas de programacion. Obtenido de http://programacionfuncionalconrecursividad.blogspot.com/
ecured. (4 de 6 de 2018). ecu red. Obtenido de https://www.ecured.cu/Programaci%C3%B3n_Orientada_a_Objetos
ecured. (4 de 6 de 2018). ecured. Obtenido de https://www.ecured.cu/Encapsulamiento
Ivan, J. (4 de 5 de 2013). programacion dirigida por eventos. Obtenido de http://programaciondirigidaporeventos.blogspot.com/2013/05/programacion-dirigida-por-eventos-y.html
jimenez, j. (4 de 5 de 2013). manejo de tecnicas de programacion. Obtenido de http://javierjimenez30.blogspot.com/2013/05/aplicacion-de-rutinas-en-pseudocodigo.html
Lara, D. (7 de 7 de 2015). styde. Obtenido de https://styde.net/abstraccion-programacion-orientada-a-objetos/
LeeLyys. (8 de 5 de 2014). blogdiario.com hispavista. Obtenido de http://leelyys.blogspot.es/1399508096/programacion-funcional-con-recursividad-/
MAGIMAGIKARP. (2 de 3 de 2016). programacion dirigida por eventos. Obtenido de https://abelmartinblog.wordpress.com/2016/03/02/eventos-secuenciales-simultaneos-concurrentes/
Minsky, J. M. (1958). ecured conocimiento con todos y para todos. Obtenido de https://www.ecured.cu/LISP
ProgramacionCv. (25 de 5 de 2017). blogdiario.comhispavista. Obtenido de http://programacioncv.blogspot.es/1495790427/programacion-funcional-concepto-caracteristicas-y-lenguajes-/
Rosendo. (15 de 5 de 2013). tecnicas de programacion. Obtenido de http://progfuncional.blogspot.com/2013/05/visual-j.html
Velázquez, C. A. (s.f.). programacion computacional. Obtenido de http://informaticabachilleratoitea.blogspot.com/p/visual-c.html
wikilibros. (20o de 8 de 2014). wikilibros libros libres pra un mundo libre. Obtenido de https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Erlang/Ejemplos_peque%C3%B1os_del_lenguaje
wikipedia. (11 de 8 de 2015). wikipedia. Obtenido de https://es.wikipedia.org/wiki/Abstracci%C3%B3n_(inform%C3%A1tica)
wikipedia. (31 de 5 de 2018). wikipedia. Obtenido de https://es.wikipedia.org/wiki/C%2B%2B#Ejemplos
wikipedia. (30 de 5 de 2018). wikipedia. Obtenido de https://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n)
wikipedia. (28 de 5 de 2018). wikipedia. Obtenido de https://es.wikipedia.org/wiki/C_Sharp
wikipedia. (23 de 5 de 2018). wikipedia. Obtenido de https://es.wikipedia.org/wiki/JavaScript
wikipedia. (11 de 5 de 2018). wikipedia. Obtenido de https://es.wikipedia.org/wiki/Visual_C%2B%2B
wikipedia. (5 de 3 de 2018). wikipedia. Obtenido de https://es.wikipedia.org/wiki/Programaci%C3%B3n_dirigida_por_eventos
wipedia. (30 de 5 de 2018). wikipedia. Obtenido de https://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos



No hay comentarios.:

Publicar un comentario