<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://www.ecured.cu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Adrianeth+jc.jiguani2&amp;*</id>
	<title>EcuRed - Contribuciones del colaborador [es]</title>
	<link rel="self" type="application/atom+xml" href="https://www.ecured.cu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Adrianeth+jc.jiguani2&amp;*"/>
	<link rel="alternate" type="text/html" href="https://www.ecured.cu/Especial:Contribuciones/Adrianeth_jc.jiguani2"/>
	<updated>2026-06-10T03:21:09Z</updated>
	<subtitle>Contribuciones del colaborador</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Algoid&amp;diff=2340147</id>
		<title>Algoid</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Algoid&amp;diff=2340147"/>
		<updated>2014-09-29T14:16:52Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre=Algoid&lt;br /&gt;
|familia=Lenguajes de Programación Orientado a Objetos&lt;br /&gt;
|imagen=Algoid11.jpg &lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción= &lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador=Yann Caron&lt;br /&gt;
|desarrollador= &lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|lanzamiento inicial= &lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos= &lt;br /&gt;
|idioma= &lt;br /&gt;
|licencia= &lt;br /&gt;
|premios=&lt;br /&gt;
|web=http://www.algoid.net/&lt;br /&gt;
}}&lt;br /&gt;
'''Algoid''' es el primer lenguaje y al menos hasta el momento el único, que le puede dar una plataforma de programación en un entorno móvil, en donde es posible ir viendo, paso a paso, a través del depurador, lo que hace el código.&lt;br /&gt;
&lt;br /&gt;
Algoid es un lenguaje de scripts y un entorno de desarrollo ([[IDE]]), diseñado para simplificar el aprendizaje de quien entra a programar por primera vez. Algoid está diseñado en  términos de educar y enseñar principalmenmte a los niños.&lt;br /&gt;
==Características==&lt;br /&gt;
*Es un lenguaje sencillo pero completo.&lt;br /&gt;
*Tiene un entorno para escribir los programas.&lt;br /&gt;
*Es un lenguaje funcional.&lt;br /&gt;
*Es orientado a Objetos.&lt;br /&gt;
*Tiene un depurador ([[debugger]]).&lt;br /&gt;
*Toma ideas del aprendizaje de programación usando robots y [[SmallTalk]].&lt;br /&gt;
*El lenguaje tiene estructuras como la recursión y aspectos orientados a las bases de la programación.&lt;br /&gt;
*Corre en [[Android]], por lo que podemos tenerlo accesible incluso desde el teléfono.&lt;br /&gt;
==Historia==&lt;br /&gt;
La motivación, indica el autor, se inició cuando su hijo de 10 años le preguntó que a qué se dedicaba él. Dice haber contestado: “soy ingeniero en desarrollo de cómputo… pero ¿cómo explicarle de manera más fácil a un niño de diez años esto?”, por lo cual creó Algoid, para así mostrarle a la gente qué es lo que hacen los desarrolladores de software y cómo hacemos esto, de manera que puedan todos aprender y hacerlo también.&lt;br /&gt;
==Objetivo==&lt;br /&gt;
Hay muchas maneras de aprender a programar: a través de lenguajes visuales, los cuales son ideales para aprender la lógica de la programación, pero que están lejos de los lenguajes actuales o bien, usar los lenguajes estándar, difíciles en extremo de aprender en un primer intento. Hay tanto que saber de bajo nivel para poder usarlos que resulta muy complicado y que sin duda es la razón de esta problemática.&lt;br /&gt;
&lt;br /&gt;
Así pues, el propósito de Algoid es balancear este compromiso creando una solución simple, por ejemplo, la que se plantea con la tortuga de [[Logo]], y además, dotar de un poderoso depurador para ir observando instrucción por instrucción lo que hacen los programas. Igualmente se ha buscado usar una sintaxis simple y que el lenguaje sea completo, es decir, tenga todas las estructuras de datos típicos.&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://www.algoid.net/&lt;br /&gt;
*http://www.androidpit.es/aplicacion/fr.cyann.algoid&lt;br /&gt;
*https://play.google.com/store/apps/details?id=fr.cyann.algoid&amp;amp;hl=es_419&lt;br /&gt;
*http://www.unocero.com/2014/08/16/algoid-lenguaje-de-programacion-para-ninos/&lt;br /&gt;
*http://arielinfante.blogspot.com/2014/08/lenguaje-de-programacion-para-ninos.html&lt;br /&gt;
*http://www.scoop.it/t/informatica-educativa-y-tics&lt;br /&gt;
*http://digitalshopmx.wordpress.com/2014/08/16/tecnologia-celular-algoid-lenguaje-de/&lt;br /&gt;
 &lt;br /&gt;
[[Category:Programación]][[Category:Informática]]&lt;br /&gt;
[[Category:Lenguajes_de_programación_orientada_a_objetos]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Archivo:Algoid11.jpg&amp;diff=2340142</id>
		<title>Archivo:Algoid11.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Archivo:Algoid11.jpg&amp;diff=2340142"/>
		<updated>2014-09-29T14:11:15Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: subió una nueva versión de «Archivo:Algoid11.jpg»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sumario ==&lt;br /&gt;
&lt;br /&gt;
== Estado de copyright: ==&lt;br /&gt;
&lt;br /&gt;
== Fuente: ==&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Archivo:Algoid11.jpg&amp;diff=2340134</id>
		<title>Archivo:Algoid11.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Archivo:Algoid11.jpg&amp;diff=2340134"/>
		<updated>2014-09-29T14:09:38Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: subió una nueva versión de «Archivo:Algoid11.jpg»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sumario ==&lt;br /&gt;
&lt;br /&gt;
== Estado de copyright: ==&lt;br /&gt;
&lt;br /&gt;
== Fuente: ==&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Algoid&amp;diff=2340131</id>
		<title>Algoid</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Algoid&amp;diff=2340131"/>
		<updated>2014-09-29T14:03:50Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: Página creada con '{{Ficha Software |nombre= Algoid |familia= Lenguajes de Programación Orientado a Objetos |imagen= algoid.jpg  |tamaño= |descripción=  |imagen2= |tamaño2= |descripción2= |cr...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Algoid&lt;br /&gt;
|familia= Lenguajes de Programación Orientado a Objetos&lt;br /&gt;
|imagen= algoid.jpg &lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción= &lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador= Yann Caron&lt;br /&gt;
|desarrollador= &lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|lanzamiento inicial= &lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos= &lt;br /&gt;
|idioma= &lt;br /&gt;
|licencia= &lt;br /&gt;
|premios=&lt;br /&gt;
|web= http://www.algoid.net/&lt;br /&gt;
}}&lt;br /&gt;
''''''Algoid'''''' es el primer lenguaje y al menos hasta el momento el único, que le puede dar una plataforma de programación en un entorno móvil, en donde es posible ir viendo, paso a paso, a través del depurador, lo que hace el código.&lt;br /&gt;
&lt;br /&gt;
Algoid es un lenguaje de scripts y un entorno de desarrollo ([[IDE]]), diseñado para simplificar el aprendizaje de quien entra a programar por primera vez. Algoid está diseñado en  términos de educar y enseñar.&lt;br /&gt;
==Características==&lt;br /&gt;
*Es un lenguaje sencillo pero completo.&lt;br /&gt;
*Tiene un entorno para escribir los programas.&lt;br /&gt;
*Es un lenguaje funcional.&lt;br /&gt;
*Es orientado a Objetos.&lt;br /&gt;
*Tiene un depurador ([[debugger]]).&lt;br /&gt;
*Toma ideas del aprendizaje de programación usando robots y [[SmallTalk]].&lt;br /&gt;
*El lenguaje tiene estructuras como la recursión y aspectos orientados a las bases de la programación.&lt;br /&gt;
*Corre en [[Android]], por lo que podemos tenerlo accesible incluso desde el teléfono.&lt;br /&gt;
==Historia==&lt;br /&gt;
La motivación, indica el autor, se inició cuando su hijo de 10 años le preguntó que a qué se dedicaba él. Dice haber contestado: “soy ingeniero en desarrollo de cómputo… pero ¿cómo explicarle de manera más fácil a un niño de diez años esto?”, por lo cual creó Algoid, para así mostrarle a la gente qué es lo que hacen los desarrolladores de software y cómo hacemos esto, de manera que puedan todos aprender y hacerlo también.&lt;br /&gt;
==Objetivo==&lt;br /&gt;
Hay muchas maneras de aprender a programar: a través de lenguajes visuales, los cuales son ideales para aprender la lógica de la programación, pero que están lejos de los lenguajes actuales o bien, usar los lenguajes estándar, difíciles en extremo de aprender en un primer intento. Hay tanto que saber de bajo nivel para poder usarlos que resulta muy complicado y que sin duda es la razón de esta problemática.&lt;br /&gt;
&lt;br /&gt;
Así pues, el propósito de Algoid es balancear este compromiso creando una solución simple, por ejemplo, la que se plantea con la tortuga de [[Logo]], y además, dotar de un poderoso depurador para ir observando instrucción por instrucción lo que hacen los programas. Igualmente se ha buscado usar una sintaxis simple y que el lenguaje sea completo, es decir, tenga todas las estructuras de datos típicos.&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://www.algoid.net/&lt;br /&gt;
*http://www.androidpit.es/aplicacion/fr.cyann.algoid&lt;br /&gt;
*https://play.google.com/store/apps/details?id=fr.cyann.algoid&amp;amp;hl=es_419&lt;br /&gt;
*http://www.unocero.com/2014/08/16/algoid-lenguaje-de-programacion-para-ninos/&lt;br /&gt;
*http://arielinfante.blogspot.com/2014/08/lenguaje-de-programacion-para-ninos.html&lt;br /&gt;
*http://www.scoop.it/t/informatica-educativa-y-tics&lt;br /&gt;
*http://digitalshopmx.wordpress.com/2014/08/16/tecnologia-celular-algoid-lenguaje-de/&lt;br /&gt;
 &lt;br /&gt;
[[Category:Programación]][[Category:Informática]]&lt;br /&gt;
[[Category:Lenguajes_de_programación_orientada_a_objetos]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Archivo:Algoid11.jpg&amp;diff=2340127</id>
		<title>Archivo:Algoid11.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Archivo:Algoid11.jpg&amp;diff=2340127"/>
		<updated>2014-09-29T14:00:07Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sumario ==&lt;br /&gt;
&lt;br /&gt;
== Estado de copyright: ==&lt;br /&gt;
&lt;br /&gt;
== Fuente: ==&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Scheme&amp;diff=2319224</id>
		<title>Scheme</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Scheme&amp;diff=2319224"/>
		<updated>2014-08-28T16:03:24Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre=Scheme&lt;br /&gt;
|familia=Lenguaje de Programación&lt;br /&gt;
|imagen=Scheme.jpg&lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción= lenguaje interpretado&lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador= laboratorios del MIT&lt;br /&gt;
|desarrollador= Guy L. Steele y Gerald Jay Sussman&lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|lanzamiento inicial= 1975&lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos=&lt;br /&gt;
|idioma=&lt;br /&gt;
|licencia=&lt;br /&gt;
|premios=&lt;br /&gt;
|web=&lt;br /&gt;
}}&lt;br /&gt;
'''Scheme''' es un dialecto de [[Lisp]], es un [[lenguaje interpretado]], muy expresivo y soporta varios paradigmas. Fue desarrollado por [[Guy L. Steele]] y [[Gerald Jay Sussman]] en la década de los setenta e introducido en el mundo académico a través de una serie de artículos conocidos como los [[Lambda Papers]] de Sussman y Steele.&lt;br /&gt;
==Historia==&lt;br /&gt;
Scheme es un [[lenguaje de programación]] que surgió en los laboratorios del MIT en [[1975]], cuando Guy L. Steele y Gerarld J. Sussman buscaban un lenguaje con una semántica muy clara y sencilla. &lt;br /&gt;
Pensaban que los lenguajes no se deberían desarrollar añadiendo muchas características, sino quitando las debilidades y las limitaciones que hacen que las características adicionales parezcan necesarias. &lt;br /&gt;
 &lt;br /&gt;
Estuvo influenciado por el cálculo lambda. El desarrollo de Scheme ha sido lento, ya que la gente que lo estandarizó es muy conservadora en cuanto a añadirle nuevas características porque la calidad ha sido siempre más importante que la utilidad empresarial. &lt;br /&gt;
Por eso Scheme es considerado como uno de los lenguajes mejor diseñados de propósito general. &lt;br /&gt;
 &lt;br /&gt;
==Características==&lt;br /&gt;
La filosofía de Scheme es minimalista. Su objetivo no es acumular un gran número de funcionalidades, sino evitar las debilidades y restricciones que hacen necesaria su adicción. Así, Scheme proporciona el mínimo número posible de nociones primitivas, construyendo todo lo demás a partir de un reducido número de abstracciones. Por ejemplo, el mecanismo principal para el control de flujo son las llamadas recursivas finales.&lt;br /&gt;
 &lt;br /&gt;
Scheme fue el primer dialecto de Lisp que usó ámbito estático o léxico en lugar de dinámico de forma exclusiva. También fue uno de los primeros lenguajes de programación con continuaciones explícitas. Scheme ofrece también gestión automática de memoria (recolección de basura).&lt;br /&gt;
 &lt;br /&gt;
Las listas son la estructura de datos básica del lenguaje, que también ofrece arrays entre sus tipos predefinidos. Debido a su especificación minimalista, no hay sintaxis explícita para crear registros o estructuras, o para programación orientada a objetos, pero muchas implementaciones ofrecen dichas funcionalidades.&lt;br /&gt;
Scheme se llamaba originalmente &amp;quot;Schemer&amp;quot;, siguiendo la tradición de los lenguajes [[Planner]] y [[Conniver]]. Su nombre actual es debido a que sus autores usaban el sistema operativo ITS, que limitaba la longitud de los nombres de fichero a 6 caracteres.&lt;br /&gt;
 &lt;br /&gt;
==Ventajas de Scheme==&lt;br /&gt;
Scheme, como todos los dialectos de [[Lisp]], tiene una sintaxis muy reducida, comparado con muchos otros lenguajes. No necesita reglas de precedencia, ya que, en esencia, carece de operadores: usa notación prefija para todas las llamadas a función.&lt;br /&gt;
Las macros de Scheme permiten adaptarlo a cualquier dominio. Pueden ser usadas, por ejemplo, para añadir soporte a la programación orientada a objetos. Scheme proporciona un sistema de macros higiénico que, aunque no tan potente como el de Common Lisp, es mucho más seguro y, con frecuencia, sencillo de utilizar. La ventaja de un sistema de macros de este tipo (que también se encuentra en otros lenguajes, como Dylan) es que evita automáticamente colisiones entre los nombres usados en la definición de la macro y en el contexto en que ésta se expande. En contrapartida, las macros higiénicas no pueden introducir nuevos símbolos.&lt;br /&gt;
 &lt;br /&gt;
Scheme facilita la programación funcional. La [[programación funcional]] pura no precisa de variables globales ni sufre de efectos secundarios, y es, por tanto, automáticamente segura en presencia de procesos concurrentes (thread-safe), forma esta de facilitar considerablemente la verificación de programas, al menos en comparación con el estilo imperativo.&lt;br /&gt;
 &lt;br /&gt;
En Scheme, los procedimientos son objetos de primera clase. Ello permite la definición de funciones de orden superior, que facilitan un mayor grado de abstracción en los programas. También es posible la creación de procedimientos anónimos.&lt;br /&gt;
 &lt;br /&gt;
El estándar de Scheme es también minimalista. Ello conlleva ventajas e inconvenientes. Por ejemplo, escribir un compilador o intérprete de Scheme que sea fiel al estándar es más fácil que implementar uno de Common Lisp; empotrar Lisp en dispositivos con poca memoria será también más factible si usamos Scheme en lugar de Common Lisp. A los aficionados a Scheme les divierte mucho señalar que su estándar, con sólo 50 páginas, ¡es más corto que el índice del libro de Guy Steele Common Lisp: The Language!&lt;br /&gt;
 &lt;br /&gt;
==Desventajas de Scheme==&lt;br /&gt;
El estándar de Scheme es realmente minimalista y específico en sí. Ello provoca que existan multitud de implementaciones diferentes, cada una de las cuales introduce extensiones y bibliotecas propias que las hace incompatibles entre sí. Los Scheme Requests for Implementation (SRFI) tratan de poner remedio a este problema.&lt;br /&gt;
 &lt;br /&gt;
Hay quien ve el hecho de que los procedimientos y variables compartan el mismo espacio de nombres como una desventaja, ya que algunas funciones tienen nombres que son de uso común para variables. Por ejemplo, list es el nombre de un procedimiento, así que es muy habitual ver lst o xs como nombres de variables, en lugar de &amp;quot;list&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
Como hemos dicho, el espacio de nombres es único (Scheme es un LISP-1) y, por tanto, también incluye a las macros. Ello hace imposible distinguir el uso de una macro del de una función, así que, si no consultamos la definición de cada uno de los objetos usados, no será en general posible determinar el orden de evaluación en programas con los que no estemos familiarizados.&lt;br /&gt;
 &lt;br /&gt;
==Sintaxis==&lt;br /&gt;
Scheme posee una sintaxis reducida comparada a otros lenguajes. Utiliza la notación prefija. Por ejemplo, si se desea realizar la suma 1+1, se debe programar la siguiente instrucción &lt;br /&gt;
 (+ 1 1) &lt;br /&gt;
Los paréntesis son obligatorios, ya que separan las instrucciones que serán evaluadas por el intérprete. Para realizar comentarios dentro del código, se utiliza el &amp;quot;;&amp;quot;, así se marca que toda la línea será de comentario &lt;br /&gt;
Ejemplo: &lt;br /&gt;
 &lt;br /&gt;
 ;Esta línea es un comentario, y la orden de abajo es ejecutada &lt;br /&gt;
 (+ 1 1)&lt;br /&gt;
 &lt;br /&gt;
===Sintaxis Básica===&lt;br /&gt;
 Expresión -&amp;gt; átomo | lista&lt;br /&gt;
 átomo -&amp;gt; número | string | identificador | carácter | boolean&lt;br /&gt;
 lista -&amp;gt; '(' secuencia-expresión ')'&lt;br /&gt;
 secuencia-expresión -&amp;gt; expresión secuencia - expresión | expresión&lt;br /&gt;
 función -&amp;gt; ( nombre_función argumento1 argumento 2... argumento n)&lt;br /&gt;
 &lt;br /&gt;
==Variables locales y globales== &lt;br /&gt;
Las variables son dinámicamente tipadas. Dicho de otra forma, no se debe especificar lo que se va a guardar dentro de la misma. Las variables globales se nombran con la instrucción (define nombre valor) &lt;br /&gt;
Por ejemplo, &lt;br /&gt;
  (define variable 5) &lt;br /&gt;
 &lt;br /&gt;
Por otro lado, las variables locales se definen con la instrucción ( let variables función). &lt;br /&gt;
Por ejemplo: sumar dos números guardados en una variable local &lt;br /&gt;
  (let &lt;br /&gt;
  ;variables de la operación &lt;br /&gt;
  ((numero1 5) &lt;br /&gt;
  (numero2 7)) &lt;br /&gt;
  ;instrucción que suma los números, es decir, la función &lt;br /&gt;
  (+ numero1 numer2))&lt;br /&gt;
 &lt;br /&gt;
==Creando Procedimientos Completos ==&lt;br /&gt;
Utilizando la instrucción (define (nombre args) función) se crea un procedimiento dentro del programa. En mi caso, voy a implementar la instrucción del ejemplo anterior en una función &lt;br /&gt;
 ; función que suma dos números agregados como argumento &lt;br /&gt;
 (define (suma num1 num2) &lt;br /&gt;
 ; implementación del let anterior, aunque no es estrictamente necesario &lt;br /&gt;
 (let &lt;br /&gt;
 ;variables de la operación &lt;br /&gt;
 ((numero1 num1) &lt;br /&gt;
 (numero2 num2)) &lt;br /&gt;
 ; instrucción que suma los números, es decir, la función &lt;br /&gt;
 (+ numero1 numero2)) &lt;br /&gt;
 &lt;br /&gt;
De la misma manera, el procedimiento anterior pudo ser escrito de esta manera: &lt;br /&gt;
 ;segunda implementación de suma de dos números, esta vez, sin el let &lt;br /&gt;
 (define (suma num1 num2) &lt;br /&gt;
 (+ num1 num2)) &lt;br /&gt;
para llamar a la función creada, se utiliza la orden (función args). Así, para llamar a nuestra función de suma, se escribe: &lt;br /&gt;
 (suma 2 3) &lt;br /&gt;
Se llama con dos números, debido a que con esa cantidad de argumentos se estableció la función. &lt;br /&gt;
 &lt;br /&gt;
==Estructuras de control ==&lt;br /&gt;
En Scheme existe la instrucción cond, con la cual se pueden revisar si se cumplen o no con requerimientos para realizar dicha funcion. Su sintaxis es: &lt;br /&gt;
 (cond &lt;br /&gt;
 ((condición) (función-salida) &lt;br /&gt;
 .... &lt;br /&gt;
 .... &lt;br /&gt;
 .... &lt;br /&gt;
 (else (función-salida)) &lt;br /&gt;
En este caso, el else es opcional &lt;br /&gt;
 &lt;br /&gt;
Por ejemplo, si se desea sumar solamente numeros positivos en nuestra funcion de suma, se podría realizar la siguiente implementación &lt;br /&gt;
 ; Función de suma, esta vez, aceptara solamente numeros positivos &lt;br /&gt;
 (define suma num1 num2) &lt;br /&gt;
 ;;manejo de las condiciones &lt;br /&gt;
 (cond &lt;br /&gt;
 ((and (&amp;gt; num1 0) (&amp;gt;num2 0)) (+ num1 num2)) &lt;br /&gt;
 (else &lt;br /&gt;
 &amp;quot;error al recibir parámetros&amp;quot; )))&lt;br /&gt;
==Manejo de valores booleanos==&lt;br /&gt;
En Scheme se utiliza el #t como verdadero y el #f como falso. Técnicamente, cualquier símbolo que no sea #f será tomado por el interprete como #t. &lt;br /&gt;
Para poder operarlos, existen las instrucciones AND, OR, NOT, de funcionamiento idéntico a los demás lenguajes de programación. &lt;br /&gt;
En el caso de AND, devolverá #t si y solo si ambos argumentos son verdaderos &lt;br /&gt;
  (and #t #t) &lt;br /&gt;
  OR devolverá #t si uno o ambos argumentos son verdaderos &lt;br /&gt;
  (or #t #f) &lt;br /&gt;
  NOT devolverá el complemento a su argumento &lt;br /&gt;
  (not #t)&lt;br /&gt;
 &lt;br /&gt;
==Referencias==&lt;br /&gt;
* http://www.taringa.net/posts/info/4209323/Lenguaje-de-Programacion-Scheme.html&lt;br /&gt;
* http://www.gedlc.ulpgc.es/docencia/lp/documentacion/GB_Scheme.pdf&lt;br /&gt;
* http://www.dccia.ua.es/dccia/inf/asignaturas/LPP/2010-2011/teoria/tema2.html&lt;br /&gt;
* https://moodle2012-13.ua.es/moodle/pluginfile.php/36381/mod_resource/content/10/Seminario%201-%20Introducci%C3%B3n%20a%20Scheme.pdf&lt;br /&gt;
* http://www.dccia.ua.es/dccia/inf/asignaturas/LPP/2008-2009/tema-04.html&lt;br /&gt;
* http://es.slideshare.net/t__y__r/programacin-funcional-con-scheme&lt;br /&gt;
* http://ceciliaurbina.blogspot.com/2010/11/scheme.html&lt;br /&gt;
* http://csrg.inf.utfsm.cl/~rbonvall/lp/docs/funcional-diapos.pdf&lt;br /&gt;
* http://www.taringa.net/posts/apuntes-y-monografias/16384272/Ranking-de-lenguajes-de-programacion-mas-usados-2014.html&lt;br /&gt;
[[Category:Programación]][[Category:Informática]]&lt;br /&gt;
[[Category:Lenguajes_de_programación_orientada_a_objetos]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Scheme&amp;diff=2319214</id>
		<title>Scheme</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Scheme&amp;diff=2319214"/>
		<updated>2014-08-28T15:52:59Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: Página creada con '{{Ficha Software |nombre=Scheme |familia=Lenguaje de Programación |imagen=Scheme.jpg |tamaño= |descripción= lenguaje interpretado |imagen2= |tamaño2= |descripción2= |creado...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre=Scheme&lt;br /&gt;
|familia=Lenguaje de Programación&lt;br /&gt;
|imagen=Scheme.jpg&lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción= lenguaje interpretado&lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador= laboratorios del MIT&lt;br /&gt;
|desarrollador= Guy L. Steele y Gerald Jay Sussman&lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|lanzamiento inicial= 1975&lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos=&lt;br /&gt;
|idioma=&lt;br /&gt;
|licencia=&lt;br /&gt;
|premios=&lt;br /&gt;
|web=&lt;br /&gt;
}}&lt;br /&gt;
'''Scheme''' es un dialecto de Lisp, es un lenguaje interpretado, muy expresivo y soporta varios paradigmas. Fue desarrollado por Guy L. Steele y Gerald Jay Sussman en la década de los setenta e introducido en el mundo académico a través de una serie de artículos conocidos como los Lambda Papers de Sussman y Steele.&lt;br /&gt;
==Historia==&lt;br /&gt;
Scheme es un lenguaje de programación que surgió en los laboratorios del MIT en 1975, cuando Guy L. Steele y Gerarld J. Sussman buscaban un lenguaje con una semántica muy clara y sencilla. &lt;br /&gt;
Pensaban que los lenguajes no se deberían desarrollar añadiendo muchas características, sino quitando las debilidades y las limitaciones que hacen que las características adicionales parezcan necesarias. &lt;br /&gt;
 &lt;br /&gt;
Estuvo influenciado por el cálculo lambda. El desarrollo de Scheme ha sido lento, ya que la gente que lo estandarizó es muy conservadora en cuanto a añadirle nuevas características porque la calidad ha sido siempre más importante que la utilidad empresarial. &lt;br /&gt;
Por eso Scheme es considerado como uno de los lenguajes mejor diseñados de propósito general. &lt;br /&gt;
 &lt;br /&gt;
==Características==&lt;br /&gt;
La filosofía de Scheme es minimalista. Su objetivo no es acumular un gran número de funcionalidades, sino evitar las debilidades y restricciones que hacen necesaria su adicción. Así, Scheme proporciona el mínimo número posible de nociones primitivas, construyendo todo lo demás a partir de un reducido número de abstracciones. Por ejemplo, el mecanismo principal para el control de flujo son las llamadas recursivas finales.&lt;br /&gt;
 &lt;br /&gt;
Scheme fue el primer dialecto de Lisp que usó ámbito estático o léxico en lugar de dinámico de forma exclusiva. También fue uno de los primeros lenguajes de programación con continuaciones explícitas. Scheme ofrece también gestión automática de memoria (recolección de basura).&lt;br /&gt;
 &lt;br /&gt;
Las listas son la estructura de datos básica del lenguaje, que también ofrece arrays entre sus tipos predefinidos. Debido a su especificación minimalista, no hay sintaxis explícita para crear registros o estructuras, o para programación orientada a objetos, pero muchas implementaciones ofrecen dichas funcionalidades.&lt;br /&gt;
Scheme se llamaba originalmente &amp;quot;Schemer&amp;quot;, siguiendo la tradición de los lenguajes Planner y Conniver. Su nombre actual es debido a que sus autores usaban el sistema operativo ITS, que limitaba la longitud de los nombres de fichero a 6 caracteres.&lt;br /&gt;
 &lt;br /&gt;
==Ventajas de Scheme==&lt;br /&gt;
Scheme, como todos los dialectos de Lisp, tiene una sintaxis muy reducida, comparado con muchos otros lenguajes. No necesita reglas de precedencia, ya que, en esencia, carece de operadores: usa notación prefija para todas las llamadas a función.&lt;br /&gt;
Las macros de Scheme permiten adaptarlo a cualquier dominio. Pueden ser usadas, por ejemplo, para añadir soporte a la programación orientada a objetos. Scheme proporciona un sistema de macros higiénico que, aunque no tan potente como el de Common Lisp, es mucho más seguro y, con frecuencia, sencillo de utilizar. La ventaja de un sistema de macros de este tipo (que también se encuentra en otros lenguajes, como Dylan) es que evita automáticamente colisiones entre los nombres usados en la definición de la macro y en el contexto en que ésta se expande. En contrapartida, las macros higiénicas no pueden introducir nuevos símbolos.&lt;br /&gt;
 &lt;br /&gt;
Scheme facilita la programación funcional. La programación funcional pura no precisa de variables globales ni sufre de efectos secundarios, y es, por tanto, automáticamente segura en presencia de procesos concurrentes (thread-safe), forma esta de facilitar considerablemente la verificación de programas, al menos en comparación con el estilo imperativo.&lt;br /&gt;
 &lt;br /&gt;
En Scheme, los procedimientos son objetos de primera clase. Ello permite la definición de funciones de orden superior, que facilitan un mayor grado de abstracción en los programas. También es posible la creación de procedimientos anónimos.&lt;br /&gt;
 &lt;br /&gt;
El estándar de Scheme es también minimalista. Ello conlleva ventajas e inconvenientes. Por ejemplo, escribir un compilador o intérprete de Scheme que sea fiel al estándar es más fácil que implementar uno de Common Lisp; empotrar Lisp en dispositivos con poca memoria será también más factible si usamos Scheme en lugar de Common Lisp. A los aficionados a Scheme les divierte mucho señalar que su estándar, con sólo 50 páginas, ¡es más corto que el índice del libro de Guy Steele Common Lisp: The Language!&lt;br /&gt;
 &lt;br /&gt;
==Desventajas de Scheme==&lt;br /&gt;
El estándar de Scheme es realmente minimalista y específico en sí. Ello provoca que existan multitud de implementaciones diferentes, cada una de las cuales introduce extensiones y bibliotecas propias que las hace incompatibles entre sí. Los Scheme Requests for Implementation (SRFI) tratan de poner remedio a este problema.&lt;br /&gt;
 &lt;br /&gt;
Hay quien ve el hecho de que los procedimientos y variables compartan el mismo espacio de nombres como una desventaja, ya que algunas funciones tienen nombres que son de uso común para variables. Por ejemplo, list es el nombre de un procedimiento, así que es muy habitual ver lst o xs como nombres de variables, en lugar de &amp;quot;list&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
Como hemos dicho, el espacio de nombres es único (Scheme es un LISP-1) y, por tanto, también incluye a las macros. Ello hace imposible distinguir el uso de una macro del de una función, así que, si no consultamos la definición de cada uno de los objetos usados, no será en general posible determinar el orden de evaluación en programas con los que no estemos familiarizados.&lt;br /&gt;
 &lt;br /&gt;
==Sintaxis==&lt;br /&gt;
Scheme posee una sintaxis reducida comparada a otros lenguajes. Utiliza la notación prefija. Por ejemplo, si se desea realizar la suma 1+1, se debe programar la siguiente instrucción &lt;br /&gt;
 (+ 1 1) &lt;br /&gt;
Los paréntesis son obligatorios, ya que separan las instrucciones que serán evaluadas por el intérprete. Para realizar comentarios dentro del código, se utiliza el &amp;quot;;&amp;quot;, así se marca que toda la línea será de comentario &lt;br /&gt;
Ejemplo: &lt;br /&gt;
 &lt;br /&gt;
 ;Esta línea es un comentario, y la orden de abajo es ejecutada &lt;br /&gt;
 (+ 1 1)&lt;br /&gt;
 &lt;br /&gt;
===Sintaxis Básica===&lt;br /&gt;
 Expresión -&amp;gt; átomo | lista&lt;br /&gt;
 átomo -&amp;gt; número | string | identificador | carácter | boolean&lt;br /&gt;
 lista -&amp;gt; '(' secuencia-expresión ')'&lt;br /&gt;
 secuencia-expresión -&amp;gt; expresión secuencia - expresión | expresión&lt;br /&gt;
 función -&amp;gt; ( nombre_función argumento1 argumento 2... argumento n)&lt;br /&gt;
 &lt;br /&gt;
==Variables locales y globales== &lt;br /&gt;
Las variables son dinámicamente tipadas. Dicho de otra forma, no se debe especificar lo que se va a guardar dentro de la misma. Las variables globales se nombran con la instrucción (define nombre valor) &lt;br /&gt;
Por ejemplo, &lt;br /&gt;
  (define variable 5) &lt;br /&gt;
 &lt;br /&gt;
Por otro lado, las variables locales se definen con la instrucción ( let variables función). &lt;br /&gt;
Por ejemplo: sumar dos números guardados en una variable local &lt;br /&gt;
  (let &lt;br /&gt;
  ;variables de la operación &lt;br /&gt;
  ((numero1 5) &lt;br /&gt;
  (numero2 7)) &lt;br /&gt;
  ;instrucción que suma los números, es decir, la función &lt;br /&gt;
  (+ numero1 numer2))&lt;br /&gt;
 &lt;br /&gt;
==Creando Procedimientos Completos ==&lt;br /&gt;
Utilizando la instrucción (define (nombre args) función) se crea un procedimiento dentro del programa. En mi caso, voy a implementar la instrucción del ejemplo anterior en una función &lt;br /&gt;
 ; función que suma dos números agregados como argumento &lt;br /&gt;
 (define (suma num1 num2) &lt;br /&gt;
 ; implementación del let anterior, aunque no es estrictamente necesario &lt;br /&gt;
 (let &lt;br /&gt;
 ;variables de la operación &lt;br /&gt;
 ((numero1 num1) &lt;br /&gt;
 (numero2 num2)) &lt;br /&gt;
 ; instrucción que suma los números, es decir, la función &lt;br /&gt;
 (+ numero1 numero2)) &lt;br /&gt;
 &lt;br /&gt;
De la misma manera, el procedimiento anterior pudo ser escrito de esta manera: &lt;br /&gt;
 ;segunda implementación de suma de dos numeros, esta vez, sin el let &lt;br /&gt;
 (define (suma num1 num2) &lt;br /&gt;
 (+ num1 num2)) &lt;br /&gt;
para llamar a la función creada, se utiliza la orden (función args). Así, para llamar a nuestra función de suma, se escribe: &lt;br /&gt;
 (suma 2 3) &lt;br /&gt;
Se llama con dos números, debido a que con esa cantidad de argumentos se estableció la función. &lt;br /&gt;
 &lt;br /&gt;
==Estructuras de control ==&lt;br /&gt;
En Scheme existe la instrucción cond, con la cual se pueden revisar si se cumplen o no con requerimientos para realizar dicha funcion. Su sintaxis es: &lt;br /&gt;
 (cond &lt;br /&gt;
 ((condición) (funcion-salida) &lt;br /&gt;
 .... &lt;br /&gt;
 .... &lt;br /&gt;
 .... &lt;br /&gt;
 (else (funcion-salida)) &lt;br /&gt;
En este caso, el else es opcional &lt;br /&gt;
 &lt;br /&gt;
Por ejemplo, si se desea sumar solamente numeros positivos en nuestra funcion de suma, se podría realizar la siguiente implementación &lt;br /&gt;
 ; Funcion de suma, esta vez, aceptara solamente numeros positivos &lt;br /&gt;
 (define suma num1 num2) &lt;br /&gt;
 ;;manejo de las condiciones &lt;br /&gt;
 (cond &lt;br /&gt;
 ((and (&amp;gt; num1 0) (&amp;gt;num2 0)) (+ num1 num2)) &lt;br /&gt;
 (else &lt;br /&gt;
 &amp;quot;error al recibir parámetros&amp;quot; )))&lt;br /&gt;
==Manejo de valores booleanos==&lt;br /&gt;
En Scheme se utiliza el #t como verdadero y el #f como falso. Técnicamente, cualquier símbolo que no sea #f será tomado por el interprete como #t. &lt;br /&gt;
Para poder operarlos, existen las instrucciones AND, OR, NOT, de funcionamiento idéntico a los demás lenguajes de programación. &lt;br /&gt;
En el caso de AND, devolverá #t si y solo si ambos argumentos son verdaderos &lt;br /&gt;
  (and #t #t) &lt;br /&gt;
  OR devolverá #t si uno o ambos argumentos son verdaderos &lt;br /&gt;
  (or #t #f) &lt;br /&gt;
  NOT devolverá el complemento a su argumento &lt;br /&gt;
  (not #t)&lt;br /&gt;
 &lt;br /&gt;
==Referencias==&lt;br /&gt;
* http://www.taringa.net/posts/info/4209323/Lenguaje-de-Programacion-Scheme.html&lt;br /&gt;
* http://www.gedlc.ulpgc.es/docencia/lp/documentacion/GB_Scheme.pdf&lt;br /&gt;
* http://www.dccia.ua.es/dccia/inf/asignaturas/LPP/2010-2011/teoria/tema2.html&lt;br /&gt;
* https://moodle2012-13.ua.es/moodle/pluginfile.php/36381/mod_resource/content/10/Seminario%201-%20Introducci%C3%B3n%20a%20Scheme.pdf&lt;br /&gt;
* http://www.dccia.ua.es/dccia/inf/asignaturas/LPP/2008-2009/tema-04.html&lt;br /&gt;
* http://es.slideshare.net/t__y__r/programacin-funcional-con-scheme&lt;br /&gt;
* http://ceciliaurbina.blogspot.com/2010/11/scheme.html&lt;br /&gt;
* http://csrg.inf.utfsm.cl/~rbonvall/lp/docs/funcional-diapos.pdf&lt;br /&gt;
* http://www.taringa.net/posts/apuntes-y-monografias/16384272/Ranking-de-lenguajes-de-programacion-mas-usados-2014.html&lt;br /&gt;
[[Category:Programación]][[Category:Informática]]&lt;br /&gt;
[[Category:Lenguajes_de_programación_orientada_a_objetos]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Archivo:Scheme.jpg&amp;diff=2319211</id>
		<title>Archivo:Scheme.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Archivo:Scheme.jpg&amp;diff=2319211"/>
		<updated>2014-08-28T15:48:41Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sumario ==&lt;br /&gt;
&lt;br /&gt;
== Estado de copyright: ==&lt;br /&gt;
&lt;br /&gt;
== Fuente: ==&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Swift&amp;diff=2318663</id>
		<title>Swift</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Swift&amp;diff=2318663"/>
		<updated>2014-08-28T12:42:10Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: Página creada con '{{Ficha Software |nombre=Swift  |familia=Lenguaje de Programación |imagen=Swift.jpg |tamaño= |descripción= |imagen2= |tamaño2= |descripción2= |creador= Apple |desarrollador...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre=Swift&lt;br /&gt;
 |familia=Lenguaje de Programación&lt;br /&gt;
|imagen=Swift.jpg&lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción=&lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador= Apple&lt;br /&gt;
|desarrollador=&lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|lanzamiento inicial= 2014&lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos=&lt;br /&gt;
|idioma=&lt;br /&gt;
|licencia=&lt;br /&gt;
|premios=&lt;br /&gt;
|web=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
'''Swift''' es un [[lenguaje de programación]]  creado por [[Apple]] con el compilador [[LLVM]] para los [[sistemas operativos]] [[OS X]] e [[iOS]] presentado el [[2 de junio]] del [[2014]] en el WWDC 2014 junto con su manual. El lenguaje en un principio coexistirá con Objective-C lenguaje que maneja la plataforma de programación oficial de Apple [[Xcode]] y permite la edición de código en tiempo real de [[Cocoa]] y [[Cocoa Touch]].  &lt;br /&gt;
&lt;br /&gt;
==Desde el Blog==&lt;br /&gt;
Apple ha apostado por el formato blog para promocionar y aleccionar a los desarrolladores de su nuevo lenguaje de programación basado en C pero que promete ser más rápido y con un flujo de trabajo más eficiente.&lt;br /&gt;
El objetivo es convertir a los desarrolladores en expertos del lenguaje de programación de Apple a través de consejos, noticias, actualizaciones y mucho más. Para comenzar, en el blog han explicado cómo funcionará la compatibilidad de las aplicaciones creadas a través de Swift, los diferentes [[frameworks]] y demás. Una entrada muy interesante que hace presagiar una apertura, al menos en cuanto a desarrolladores, de la comunicación hacia una modernidad.&lt;br /&gt;
&lt;br /&gt;
==Características==&lt;br /&gt;
Enfocado para aquellos que están empezando a programar totalmente compatible con Xcode, incluye guías y referencia para su compresión y las aplicaciones creadas con este lenguaje podrán ser enviadas a la App Store. Además, Swift ha sido construido para ser rápido según Apple usando un compilador LLVM de alto rendimiento que transforma el código de Swift en código nativo optimizado para sacar el máximo provecho del [[Mac]], del [[iPhone]] o del [[iPad]] y del resto del hardware de la compañía.&lt;br /&gt;
&lt;br /&gt;
En esta línea, Swift recoge las mejores características de C y [[Objective-C]] como tipos, control de flujo u operadores e incluye algunas características enfocadas a la programación orientada a objetos como las clases y los protocolos así como otras características para hacer del código algo más expresivo:&lt;br /&gt;
*Cierres unificadas con      punteros de función.&lt;br /&gt;
*Múltiples valores de      retorno.&lt;br /&gt;
*Iteración rápida y concisa      sobre un rango o una colección.&lt;br /&gt;
*Estructuras que soportan      métodos, extensiones y protocolos.&lt;br /&gt;
*Patrones de programación      como mapas o filtros.&lt;br /&gt;
&lt;br /&gt;
Swift es el resultado de las últimas investigaciones sobre los lenguajes de programación, combinada con décadas de experiencia en la construcción de plataformas de Apple. Un paso adelante que ha cogido por sorpresa a todos y que ha sido una de las grandes alegrías de la keynote de la WWDC 2014.&lt;br /&gt;
Swift adopta los patrones de programación segura y añade características modernas que hacen que programar sea más fácil y flexible según la descripción que se ha recogido en iTunes.&lt;br /&gt;
&lt;br /&gt;
Según el vicepresidente de Ingeniería de Software de Apple Craig Federeghi, Swift es rápido, moderno y diseñado con seguridad. Es como Objetive-C, pero sin C.&lt;br /&gt;
&lt;br /&gt;
A pesar de que todo cambio suele generar resistencia, Apple ha hecho énfasis en que el objetivo es facilitar la vida al desarrollador. Es por esto que Swift cuenta con características que cumplen este fin, como un modo de vista previa o playground que permitirá pre-visualizar el código en ejecución. En su demostración, pudo apreciarse que Swift requiere que sea escrito menos código para construir una aplicación.&lt;br /&gt;
&lt;br /&gt;
El código de Swift puede ser editado en los frameworks Cocoa y Cocoa Touch. Por otro lado se asegura que será mucho más rápido que Objective-C ya que combina el rendimiento y la eficiencia de los lenguajes compilados con la sencillez y la interactividad de los populares lenguajes de scripting. Está optimizado para aprovechar al máximo las capacidades de tus dispositivos OS X y iOS.&lt;br /&gt;
&lt;br /&gt;
==Historia==&lt;br /&gt;
El desarrollo de Swift se ha llevado a cabo durante 4 largos años en los que la compañía ha trabajado muy duro.&lt;br /&gt;
Hay que destacar que gracias a este nuevo lenguaje de programación los de Cupertino también tratarán de limitar que se porten las aplicaciones a otras plataformas móviles, consiguiendo así cierta exclusividad. Como anécdota, debemos decir que durante la presentación de Swift Federeghi trató de llamar la atención de los asistentes señalando que podrían jugar y enredar todo lo que quisieran con su nuevo lenguaje de programación.&lt;br /&gt;
&lt;br /&gt;
Con Swift, Apple pone a disposición de los desarrolladores muchas más funcionalidades y más libertad a la hora de realizar su trabajo gracias a más de 4.000 APIs, entre las que encontramos la integración con Touch ID, integración con Siri, la posibilidad de crear filtros para la aplicación nativa de la cámara o nuevas APIs para iCloud entre otras muchas.&lt;br /&gt;
&lt;br /&gt;
==Ejemplo de Código==&lt;br /&gt;
 let personas= [&amp;quot;Pedro&amp;quot;: 67, &amp;quot;Juan&amp;quot;: 8, &amp;quot;Julio&amp;quot;: 33, &amp;quot;Alberto&amp;quot;: 25]&lt;br /&gt;
 for (Nombre, Edad) in personas&lt;br /&gt;
 {&lt;br /&gt;
     println(&amp;quot;\(Nombre) tiene \(Edad) años.&amp;quot;)&lt;br /&gt;
 }&lt;br /&gt;
==Referencias==&lt;br /&gt;
 &lt;br /&gt;
*http://appleweblog.com/2014/06/swift&lt;br /&gt;
*http://www.applesfera.com/ios/apple-suelta-una-bomba-con-swift-un-nuevo-lenguaje-de-programacion&lt;br /&gt;
*https://oja.la/curso/ios/curso-basico-de-swift-nuevo-lenguaje-de-programacion-para-iphone-apps&lt;br /&gt;
*http://bitelia.com/2014/06/swift-nuevo-lenguaje-programacion-apple&lt;br /&gt;
*http://www.fayerwayer.com/2014/06/apple-presenta-swift-su-nuevo-lenguaje-de-programacion/http://www.europapress.es/portaltic/software/noticia-asi-nuevo-lenguaje-programacion-apple-swift-20140604131814.html&lt;br /&gt;
*http://appleweblog.com/2014/07/swift-blog&lt;br /&gt;
*http://appleweblog.com/2014/06/swift&lt;br /&gt;
*http://applesencia.com/2014/07/tres-sitios-comenzar-programar-swift&lt;br /&gt;
*http://www.ipadizate.es/2014/06/14/swift-lenguaje-programacion-apple-marcara-diferencia-93031/&lt;br /&gt;
&lt;br /&gt;
[[Category:Programación]][[Category:Informática]]&lt;br /&gt;
[[Category:Lenguajes_de_programación_orientada_a_objetos]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Archivo:Swift.jpg&amp;diff=2318661</id>
		<title>Archivo:Swift.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Archivo:Swift.jpg&amp;diff=2318661"/>
		<updated>2014-08-28T12:39:46Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sumario ==&lt;br /&gt;
&lt;br /&gt;
== Estado de copyright: ==&lt;br /&gt;
&lt;br /&gt;
== Fuente: ==&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Basic_4GL&amp;diff=2297261</id>
		<title>Basic 4GL</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Basic_4GL&amp;diff=2297261"/>
		<updated>2014-07-23T14:59:29Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: Página creada con '{{Ficha Software |nombre= Basic 4GL |imagen=Basic4GL.jpg |familia= Lenguaje de programación. |descripción=  |creador= Tom Mulgrew |desarrollador=  |diseñador=  |año de a...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Basic 4GL&lt;br /&gt;
|imagen=Basic4GL.jpg&lt;br /&gt;
|familia= Lenguaje de programación.&lt;br /&gt;
|descripción= &lt;br /&gt;
|creador= [[Tom Mulgrew]]&lt;br /&gt;
|desarrollador= &lt;br /&gt;
|diseñador= &lt;br /&gt;
|año de aparición= &lt;br /&gt;
|última versión estable=&lt;br /&gt;
|Licencia=&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;div align=&amp;quot;justify&amp;quot;&amp;gt; &lt;br /&gt;
Basic4GL, es un programa para la creacion principalmente de juegos, tanto [[2D]] como [[3D]], aunque tambien se le pueden crear Animaciones para cualquiera de sus trabajos en [[BASIC]].&lt;br /&gt;
&lt;br /&gt;
==Historia==&lt;br /&gt;
[[Tom Mulgrew]] creador de Basic4GL partió de un deseo de ser capaz de ejecutar funciones de [[OpenGL]] con facilidad y rapidez, sin la totalidad de la instalación se requiere normalmente en un lenguaje como [C++] y ser más estable.Él construyó una máquina virtual similar a la que se usaba en su lugar de trabajo. Comenzó simplemente, con pocas funciones de OpenGL y mínimo otras funcionalidades. La primera versión fue relativamente popular, nombrada [[GLBasic]], que también pasa a ser un [[lenguaje de programación]] comercial. &lt;br /&gt;
Mulgrew se impuso lameta de ampliar Basic4GL hasta el punto de que podría cargar y mostrar y modelo MD2.&lt;br /&gt;
==Características==&lt;br /&gt;
Basic4GL es una interpretación, la versión de código abierto del lenguaje de programación BASIC, que también cuenta con soporte para gráficos por ordenador en 3D usando OpenGL. Mientras se interprete, también es capaz de compilar los programas de los usuarios en la parte superior de la máquina virtual para producir programas ejecutables. &lt;br /&gt;
Se utiliza una sintaxis similar a los dialectos tradicionales y las características básicas de un [[IDE]] y un depurador muy completa y exhaustiva. &lt;br /&gt;
Basic4GL no está diseñado para competir con los lenguajes de programación como C++, sino que estaba destinado a reemplazar las antiguas lenguas como el [[QBasic]] o [[GFA BASIC]]. &lt;br /&gt;
Es un lenguaje de programación libre para computadoras de [[Windows]] con soporte incorporado para la biblioteca de gráficos OpenGL.&lt;br /&gt;
Las nuevas características incluidas desde la versión 2.0 son un depurador simbólico integrado, una librería para sprites y texturas 2D y la capacidad de generar ficheros EXE.&lt;br /&gt;
Basic4GL cuenta conlos comandos habituales que usted esperaría encontrar en una versión de BASIC como &lt;br /&gt;
*PRINT &lt;br /&gt;
*ENTRADA &lt;br /&gt;
*GOSUB&lt;br /&gt;
También incluye una serie de características que los programadores de C estarán familiarizados con ellas, como el soporte para los punteros, estructuras y lo más importante de toda la [[API]] OpenGL v1.1.&lt;br /&gt;
===Características nuevas por versión===&lt;br /&gt;
*2.3.0 - Altacapacidad de red &lt;br /&gt;
*2.3.5 - Soporte para la compilación de código en tiempo de ejecución &lt;br /&gt;
*2.4.2 - Se ha modificado el sistema de sonido de OpenAL para Audiere&lt;br /&gt;
*2.4.3 - Apoyo a ProgramasDLLs &lt;br /&gt;
*2.5.0 - Soporte para funciones añadidas &lt;br /&gt;
*2.5.8 - Soporte para números hexadecimales &lt;br /&gt;
 &lt;br /&gt;
==Plataforma==&lt;br /&gt;
Basic4GL fue diseñado para funcionar con el sistema operativo Windows, pero se están desarrollandoversiones para [[Linux]] y [[Mac OS]]. Actualmente Basic4GLestá siendo portado a Linux. La principal diferencia entre Basic4GL para Windows y la nueva versión de Linux es que utiliza la librería SDL en lugar de las bibliotecas de Windows específicos para inicializaruna ventana de OpenGL habilitado. También hay un proyecto basado en Linux para crear una versión extendida de Basic4GL que envuelve más de cerca a la biblioteca SDL conocido como [[Basic4SDL]].&lt;br /&gt;
 &lt;br /&gt;
==Ejemplo de código==&lt;br /&gt;
 Dim A&lt;br /&gt;
 For A = 0 To 4&lt;br /&gt;
  Printr &amp;quot;Hola&amp;quot;; A&lt;br /&gt;
 Next&lt;br /&gt;
Cuando se introduce el código anterior en Basic4GL y es ejecutado, se muestra en pantalla la siguiente salida.&lt;br /&gt;
 Hola 0&lt;br /&gt;
 Hola 1&lt;br /&gt;
 Hola 2&lt;br /&gt;
 Hola 3&lt;br /&gt;
 Hola 4&lt;br /&gt;
==Fuentes==&lt;br /&gt;
*http://www.basic4gl.net/&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://soft1.foroes.org/t3-basic4gl-un-programa-para-la-creacion-de-juegos&lt;br /&gt;
*http://masterbuck12.blogspot.com/2013/10/blog-post.html&lt;br /&gt;
*http://basic4gl.proboards.com/thread/1813&lt;br /&gt;
*http://web.archive.org/web/20110721162503/http://www.basic4gl.net/&lt;br /&gt;
*http://b4gl-linux.wikispaces.com/?responseToken=08dc22ee592b9dce0b8c92f9ff10afe47&lt;br /&gt;
*http://sourceforge.net/projects/basic4gl/&lt;br /&gt;
[[Category:Programación]][[Category:Informática]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Archivo:Basic4GL.jpg&amp;diff=2297252</id>
		<title>Archivo:Basic4GL.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Archivo:Basic4GL.jpg&amp;diff=2297252"/>
		<updated>2014-07-23T14:53:56Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sumario ==&lt;br /&gt;
&lt;br /&gt;
== Estado de copyright: ==&lt;br /&gt;
&lt;br /&gt;
== Fuente: ==&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Scratch&amp;diff=2240878</id>
		<title>Scratch</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Scratch&amp;diff=2240878"/>
		<updated>2014-05-26T21:19:16Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: Página creada con '{{Ficha Software |nombre= Scratch |imagen=Scratch.png |familia= Lenguaje de programación. |descripción=  |creador= Michael Resnick |desarrollador=  |diseñador=  |año de ...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Scratch&lt;br /&gt;
|imagen=Scratch.png&lt;br /&gt;
|familia= Lenguaje de programación.&lt;br /&gt;
|descripción= &lt;br /&gt;
|creador= [[Michael Resnick]]&lt;br /&gt;
|desarrollador= &lt;br /&gt;
|diseñador= &lt;br /&gt;
|año de aparición= [[2007]]&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|Licencia=Open Source&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;div align=&amp;quot;justify&amp;quot;&amp;gt; &lt;br /&gt;
Scratch es un [[lenguaje de programación]] que facilita crear historias interactivas, juegos y animaciones y compartir sus creaciones con otras personas en la Web. Permite a los principiantes o personas sin sentido de la programación, obtener resultados sin tener que aprender a escribir de manera sintácticamente correcta primero. Scratch está escrito en [[Squeak]] (una implementación libre de [[Smalltalk-80]]), a partir de la versión 2.0 el código es reescrito en [[actionscript]] ([[Adobe Flash]]). Es un entorno de programación que facilita el aprendizaje autónomo.&lt;br /&gt;
&lt;br /&gt;
==Lanzamiento==&lt;br /&gt;
Scratch es un entorno de programación de computadores desarrollado por un grupo de investigadores del Lifelong Kindergarten del Laboratorio de Medios del MIT, bajo la dirección y liderazgo del Dr. Michael Resnick, apareció por primera vez en el verano de [[2007]]. Aunque este es un proyecto de código abierto, su desarrollo es cerrado pero el código fuente se ofrece de manera libre y gratuita. Este entorno aprovecha los avances en diseño de interfaces para hacer que la programación sea más atractiva y accesible para todo aquel que se enfrente por primera vez a aprender a programar. Según sus creadores, fue diseñado como medio de expresión para ayudar a niños y jóvenes a expresar sus ideas de forma creativa, al tiempo que desarrollan habilidades de pensamiento lógico y de aprendizaje del [[Siglo XXI]]. &lt;br /&gt;
&lt;br /&gt;
A partir del [[9 de mayo]]  de [[2013]], se dio un cambio radical en el sitio Web de Scratch, que desde esa fecha, despliega la versión 2.0 que funciona completamente en línea. Con esta nueva versión se pueden crear, editar y ver los proyectos directamente en un navegador Web, sin tener que descargar e instalar ningún programa en la computadora. También está disponible una versión descargable de Scratch 2.0.&lt;br /&gt;
&lt;br /&gt;
Esta versión ofrece nuevas posibilidades como implementar la estructura recursiva y crear funciones que admiten parámetros. Además, conserva casi la totalidad de las funciones de la versión 1.4, pues están presentes los mismos elementos, solo que con diferente ubicación. &lt;br /&gt;
&lt;br /&gt;
==Características==&lt;br /&gt;
Programando con Scratch, los estudiantes pueden crear historias interactivas, juegos, animaciones, música, producciones artísticas y compartir sus creaciones con otras personas a través del sitio Web de la herramienta (http://scratch.mit.edu/). Entre las características de este entorno que tienen mayor relevancia  en procesos educativos para introducir a los estudiantes en programación, tenemos:&lt;br /&gt;
*Tanto el conjunto de instrucciones, como la interfaz, están disponibles en varios idiomas, entre ellos español.&lt;br /&gt;
*La interfaz gráfica permite crear y utilizar un escenario con múltiples fondos y tantos objetos móviles programables (sprites) como se quiera; cada uno de ellos con sus respectivos disfraces.&lt;br /&gt;
*En lugar de escribir instrucciones (código), permite programar con el ratón (mouse), arrastrando bloques autoencajables y soltándolos en el área de programas. Estos se comportan como piezas de Lego o de un rompecabezas, pero solo encajan si son sintácticamente correctos.&lt;br /&gt;
*Posibilita explorar principios básicos de programación sin las complicaciones de sintaxis que tienen otros lenguajes. Esto permite al estudiante centrarse en solucionar problemas en lugar de hacerlo en ubicar comas y corchetes.&lt;br /&gt;
*Los bloques autoencajables están categorizados por colores de acuerdo con su funcionalidad (Azul=Movimiento; Violeta=Apariencia; Fuscia=Sonido; Verde=Lápiz; Naranja=Control; Azul claro=Sensores; Verde claro=Números; Rojo=variables). Este código visual también ayuda a los estudiantes.&lt;br /&gt;
*Los modos de diseño y ejecución del ambiente de programación son simultáneos, lo que  permite que los cambios realizados a un programa en ejecución se reflejen inmediatamente en el comportamiento del objeto móvil programable (sprite).&lt;br /&gt;
*Ayuda a los estudiantes a pensar algorítmicamente y a aprender a abordar problemas metódicamente.&lt;br /&gt;
*Ofrece a los estudiantes oportunidades para: improvisar, someter a prueba sus ideas, ensayar, corregir errores y superar sus propias expectativas; todo esto, en un dialogo permanente con la computadora pero en el que el estudiante está en control, situación esta que activa procesos metacognitivos.&lt;br /&gt;
*Tiene un bajo umbral de inicio y desde la primera clase los estudiantes pueden realizar pequeñas actividades que los mantienen motivados e interesados.&lt;br /&gt;
*Tiene un umbral alto de complejidad. Esto posibilita que las actividades y proyectos sean tan complejos como la creatividad de los estudiantes lo demande. &lt;br /&gt;
*Tiene amplias posibilidades, característica ésta particularmente importante para los docentes ya que pueden plantear proyectos de integración que involucren contenidos de diversas asignaturas. &lt;br /&gt;
*Permite a los estudiantes ganar comprensión sobre conceptos matemáticos como expresiones Booleanas, variables, coordenadas y números aleatorios.&lt;br /&gt;
*A medida que los estudiantes crean programas, aprenden conceptos fundamentales de computación tales como, control de flujo, iteración (repetición o ciclos), condicionales, procedimientos, hilos múltiples y eventos.&lt;br /&gt;
*Permite controlar y mezclar diferentes medios (gráficas, texto, música y sonido).&lt;br /&gt;
*Facilita la manipulación de imágenes mediante filtros programados.&lt;br /&gt;
*Favorece el intercambio entre usuarios de objetos y sus programas, por lo tanto, estimula el aprendizaje colaborativo. &lt;br /&gt;
*Con solo presionar el botón ¡Compartir!, el proyecto queda publicado en la página Web de Scratch. &lt;br /&gt;
*Este programa está basado en bloques gráficos y la interfaz que tiene es muy sencilla e intuitiva. &lt;br /&gt;
*Tiene un entorno colaborativo mediante el cual se pueden compartir proyectos, scripts y personajes en la web.&lt;br /&gt;
*El trabajo en Scratch se realiza mediante la unión de bloques que pueden ser eventos, movimientos de gráficos y sonidos. &lt;br /&gt;
*Los programas pueden ser ejecutados directamente sobre el navegador de Internet.&lt;br /&gt;
&lt;br /&gt;
==Ventajas de Scratch==&lt;br /&gt;
*Las aplicaciones Web 2.0 posibilitan una interacción social nunca antes vista, pero requieren millones de líneas de código para hacerla realidad. Las computadoras son omnipresentes en la sociedad contemporánea, por lo tanto, no es suficiente saber utilizar las herramientas básicas de estos sino que cada vez se hace más necesario tener conocimientos de programación que permitan a las personas comprender cómo funcionan las máquinas y los sistemas que tiene a su alrededor.&lt;br /&gt;
*En este contexto, es indudable que herramientas como Scratch contribuyen efectivamente a preparar a los estudiantes desde la primaria, para que puedan insertarse activamente al mundo altamente programado que los espera. Pero va más allá; Scratch promueve el desarrollo de algunas habilidades y capacidades intelectuales de orden superior que, en el nivel escolar, son responsabilidad de cualquier sistema educativo de calidad.&lt;br /&gt;
*La programación de computadores posibilita no solo activar una amplia variedad de estilos de aprendizaje sino desarrollar pensamiento algorítmico. Además, compromete a los estudiantes en considerar varios aspectos importantes para solucionar problemas: decidir sobre la naturaleza del problema, seleccionar una representación que ayude a resolverlo y, monitorear sus propios pensamientos (metacognición) y estrategias de solución utilizadas. Incluso, compromete a los jóvenes en la búsqueda de soluciones innovadoras a problemas inesperados; no se trata solamente de aprender a solucionar problemas de manera predefinida, sino estar preparado para generar nuevas soluciones a medida que se presentan los problemas.&lt;br /&gt;
*Otro conjunto de habilidades que se pueden desarrollar con la programación, es el identificado por el Consorcio de Habilidades Indispensables para el Siglo XXl, habilidades de aprendizaje que serán fundamentales para el éxito de los estudiantes en el futuro próximo: pensar creativamente, comunicar claramente, analizar sistemáticamente, colaborar efectivamente, diseñar iterativamente y aprender continuamente.&lt;br /&gt;
*Es un programa gratuito, de software libre.&lt;br /&gt;
*Es perfecto para enseñar y aprender a programar.&lt;br /&gt;
*Está disponible para varios sistemas operativos, Windows, Mac y Linux.&lt;br /&gt;
*Permite compartir los proyectos a través de Internet, pudiendo ser descargados y utilizados por otras personas.&lt;br /&gt;
*Es multilenguaje.&lt;br /&gt;
&lt;br /&gt;
==Desventajas==&lt;br /&gt;
Hasta la versión 1.4 de este entorno encontramos que no soporta:&lt;br /&gt;
*métodos, que permitan pasar el control de la ejecución de una secuencia de bloques a otra;&lt;br /&gt;
*parámetros, que permitan influenciar el comportamiento de los métodos;&lt;br /&gt;
*valores de retorno, que permitan a una secuencia de bloques “devolver” información a otra;&lt;br /&gt;
*herencia y polimorfismo, que permitan la existencia de relaciones entre estructuras de datos.&lt;br /&gt;
Por supuesto todas estas fueron solucionadas en la versión 2.0.&lt;br /&gt;
&lt;br /&gt;
==Scratch para niños con Necesidades Educativas Especiales (NEE)==&lt;br /&gt;
 &lt;br /&gt;
*'''Discapacidad intelectual''': Scratch plantea un modo diferente de enseñanza/aprendizaje, donde el alumno es protagonista, necesita pensar, puede plantear preguntas y soluciones a esas preguntas. El aprendizaje es activo y constructivo.&lt;br /&gt;
*'''Autismo y Síndrome Asperger''': en uno de los foros de Scratch dice como inmediatamente comprobó la irresistible conexión entre estudiantes con espectro autista y la programación. Aunque se piensa que la programación es un acto solitario, puede ser para estos estudiantes la primera experiencia social y puede servir como un plan potencial y viable de carrera para ellos. Los estudiantes con Síndrome Asperger y espectro autista con alto funcionamiento, encuentran una zona de confort e interés que no habían descubierto antes. Estos estudiantes pasan de ser invisibles a ser reconocidos a través de su trabajo que los transforma en superestrellas creadores de juegos. Estos jóvenes descubren un nuevo medio que captura su interés de un modo tan absorbente que fascina verlo. &lt;br /&gt;
*'''Discapacidad motriz''': El proceso de adaptar la tecnología mediante Rampas Digitales es lento y sólo podemos considerarlo acabado cuando observemos y valoremos cómo lo utiliza el alumno y creamos que hemos conseguido lo que deseábamos. Durante todo este tiempo,  nuestra complicidad con el ordenador transcurre en una atmósfera entre amigable y hostil. Cuando la tarea se hace tediosa, surge la tentación de abandonarla pero, si continuamos, podemos llegar a realizar las adaptaciones necesarias para mejorar la autonomía del alumno. Es un continuo ensayo porque siempre hay algo que mejorar.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://www.ceibal.edu.uy/UserFiles/P0001/ODEA/ORIGINAL/100910_scratch2.elp&lt;br /&gt;
*http://www.eduteka.org/modulos/9/278&lt;br /&gt;
*http://www.edukanda.es/mediatecaweb/data/zip/1174/page_03.htm&lt;br /&gt;
*http://info.scratch.mit.edu/es/About_Scratch&lt;br /&gt;
*http://recursostic.educacion.es/observatorio/web/ca/software/programacion/619-iniciandose-en-la-programacion-con-scratch&lt;br /&gt;
*http://www.genbetadev.com/lenguajes-de-programacion/scratch-ensenando-programacion-a-los-peques&lt;br /&gt;
*http://www.um.es/ead/red/34/scratch.pdf&lt;br /&gt;
[[Category:Programación]][[Category:Informática]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Archivo:Scratch.png&amp;diff=2240876</id>
		<title>Archivo:Scratch.png</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Archivo:Scratch.png&amp;diff=2240876"/>
		<updated>2014-05-26T21:17:10Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sumario ==&lt;br /&gt;
&lt;br /&gt;
== Estado de copyright: ==&lt;br /&gt;
&lt;br /&gt;
== Fuente: ==&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=D_(lenguaje_de_programaci%C3%B3n)&amp;diff=2210617</id>
		<title>D (lenguaje de programación)</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=D_(lenguaje_de_programaci%C3%B3n)&amp;diff=2210617"/>
		<updated>2014-04-24T16:49:18Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: Página creada con '{{Ficha Software |nombre= D |imagen=Dlp.png |familia= Lenguaje de programación. |descripción= Multiparadigma. Orientado a Objetos. Imperativo. Funcional y Meta.  |creador=  |d...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= D&lt;br /&gt;
|imagen=Dlp.png&lt;br /&gt;
|familia= Lenguaje de programación.&lt;br /&gt;
|descripción= Multiparadigma. Orientado a Objetos. Imperativo. Funcional y Meta. &lt;br /&gt;
|creador= &lt;br /&gt;
|desarrollador= [[Andrei Alexandrescu]] y [[Walter Bright]]&lt;br /&gt;
|diseñador= Walter Bright y Andrei Alexandrescu &lt;br /&gt;
|año de aparición= 2001&lt;br /&gt;
|última versión estable=2.064&lt;br /&gt;
|Licencia=Open Source&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;div align=&amp;quot;justify&amp;quot;&amp;gt; &lt;br /&gt;
'''D''' es un [[lenguaje de programación]] de uso general desarrollado por [[Walter Bright]] y [[Andrei Alexandrescu]] cuya primera versión apareció en [[1999]]. Se origina como un rediseño de [[C++]], con un enfoque más pragmático, pero no es un lenguaje puramente derivado del anterior. D ha mantenido algunas características de C++ y también está influido por otros conceptos de otros lenguajes como [[Java]], [[C#]] y [[Eiffel]]. Una versión estable fue lanzada el [[2 de enero]] de [[2007]] y la ultima el [[2 de agosto]] de [[2012]].&lt;br /&gt;
==Clasificación==&lt;br /&gt;
D es un lenguaje con un potencial increible, capaz de proporcionar al desarrollador la productividad y la elegancia de [[Python]] o [[Ruby]] pero con la eficiencia de [[C]].&lt;br /&gt;
La clasificación del lenguaje de programación D sería: lenguaje compilado a código nativo (con compilación opcional a [[.NET]] como C#), orientado a objetos pero permitiendo programar con funciones libres y clases ligeras (structs), con plantillas y mixins (que permiten la programación genérica) y con posibilidad de acceso a bajo nivel.&lt;br /&gt;
 &lt;br /&gt;
==Principales diferencias respecto a C==&lt;br /&gt;
Esta clasificación parece exactamente la misma que la de C++ y no es casual, pues C++ es el lenguaje al que D aspira a sustituir. D es un lenguaje evolucionario, no revolucionario y en un principio puede parecer que no aporta demasiado sobre C++. Pero no son las características generales sino los detalles de las mismas los que marcan la diferencia. &lt;br /&gt;
 &lt;br /&gt;
En primer lugar D conserva todas las características de expresividad de C++ (cosa que ni C# ni mucho menos Java consiguen en su afán por hacerse lenguajes más accesibles), pero con una sintaxis y unas construcciones mucho más sencillas y lógicas. Además, otro de los puntos fuertes de C++, su rendimiento, también se ve reflejado en D (en algunas ocasiones incluso superado.)&lt;br /&gt;
Por otro lado D cuenta con muchas otras características de las que C++ no dispone. &lt;br /&gt;
 &lt;br /&gt;
==Características de las que C no dispone==&lt;br /&gt;
*'''Gestión automática de memoria (recolección de basura):''' En C++ cuando creamos objetos que queremos que transciendan el ámbito de la función, método o bloque de código que los ha creado los creamos con utilizando el operador &amp;quot;new&amp;quot;. Este operador se encargará de asignar automáticamente la memoria que sea necesaria para el objeto y llamará a su constructor, devolviéndonos una referencia al objeto ya inicializado que podremos almacenar en una variable del tipo del objeto.&lt;br /&gt;
Cuando ya no vamos a necesitar el objeto procedemos a borrarlo con el operador &amp;quot;delete&amp;quot; lo que liberará la memoria asignada por el objeto. El programa en C++ que no tiene o ha tenido una fuga de memoria porque el flujo de ejecución de una parte del mismo termina antes de llegar al delete (y por lo tanto la memoria queda asignada para siempre sin posibilidad de recuperarla) o ha fallado porque erróneamente se ha hecho un delete del mismo objeto dos veces a un miembro de un objeto previamente borrado. Obviamente estos errores son evitables pero errar es humano y cuantas más tareas delegue en el programador el lenguaje de programación más posibilidad hay de que haya errores.&lt;br /&gt;
La gestión automática de memoria quiere decir que el programador seguirá creando los nuevos objetos con &amp;quot;new&amp;quot; pero ya no tendrá que preocuparse de borrarlos con &amp;quot;delete&amp;quot; porque existirá un &amp;quot;recolector de basura&amp;quot; que se encargará de eliminar automáticamente los objetos para los que ya no exista ninguna referencia. &lt;br /&gt;
*'''Gestión de errores mediante manejo de excepciones:''' C++ permite gestionar los errores mediante el mecanismo de manejo de excepciones, aunque por herencia de C en demasiadas ocasiones se sigue utilizando el sistema de &amp;quot;valores mágicos devueltos por la función&amp;quot;.&lt;br /&gt;
En D el sistema de manejo de excepciones es superior al de C++ al incorporar algunas características de lenguajes más recientes. Cuando una excepción producida en código D no se captura, se muestra un mensaje de error con información de la excepción. La sintaxis es parecida a la de otros lenguajes con manejo de excepciones.&lt;br /&gt;
*'''Guardas de ámbito para asegurar la ejecución de código a la salida de un ámbito:''' Aunque D tenga recolección automática de memoria hay otro tipo de recursos que se siguen teniendo que liberar manualmente. Ejemplos de estos recursos son los ficheros, los cerrojos y mutex; pero hay otros. Realmente, usando las guardas de ámbito, la instrucción finally nunca es necesaria aunque se sigue manteniendo en el lenguaje. Las guardas de inclusión no sustituyen a la instrucción except; para capturar excepciones y realizar operaciones en la captura debemos seguir usándola.&lt;br /&gt;
La guarda de ámbito de éxito (sucess) sería equivalente a el &amp;quot;else&amp;quot; de las excepciones en Python.&lt;br /&gt;
*'''Estructuración del código en módulos y paquetes:''' En C/C++ la estructuración del código se hace creando &amp;quot;ficheros de cabecera&amp;quot; con extensión .h o .hpp que contienen las declaraciones de los símbolos que cada subparte explota, y luego esos ficheros de cabecera se importan usando la directiva del preprocesador #include. Esta importación lo único que hace es incluir el código del .h importado allí donde se encuentra la directiva import. Esto lleva a problemas cuando varios ficheros de cabecera definen un mismo símbolo, con soluciones poco elegantes. C++ añade además el concepto de namespaces que permite agrupar los símbolos de distintos ficheros en un único espacio de nombres lógico.&lt;br /&gt;
En D, como en casi todos los lenguajes modernos, la estructuración del código y las bibliotecas se hace usando módulos y paquetes. Un módulo no es más que un fichero fuente de código D (generalmente con extensión .d).&lt;br /&gt;
Al contrario de lo que sucede en otros lenguajes, cuando importamos los símbolos de un módulo no hace falta anteponer el nombre del módulo con un punto antes de llamar a un símbolo. &lt;br /&gt;
*'''Compatiblidad de llamada con C:''' Debido a la difusión del lenguaje, la mayoría de las [[APIs]] de [[sistemas operativos]] y librerías de sistemas están escritas en C u ofrecen una interfaz para el mismo. D puede acceder a bibliotecas de C. Para ello, además de enlazar con el fichero binario de la biblioteca mediante parámetros al compilador, debemos incluir en nuestro código D una declaración de los símbolos y funciones de C a los que queramos acceder. Como los tipos de datos de D suelen tener una correspondencia muy directa con los de C este proceso suele ser bastante sencillo; sin embargo para conversiones de ficheros de cabecera .h más complicados se dispone de la herramienta [[htod]] que realiza la conversión de tipos y sintaxis de forma automática, tomando como entrada un fichero .h de C y generando un fichero .d que podemos incluir en nuestros proyectos.&lt;br /&gt;
*'''Delegados, funciones anidadas y funciones literales:''' En D existe un tipo de dato llamado &amp;quot;delegado&amp;quot; que puede usarse para pasar referencias a un método de una clase como parámetros para otras funciones y métodos. Son, en concepto, similares a los punteros a método de C++ pero con una sintaxis tanto de declaración como de creación y uso mucho más sencilla.&lt;br /&gt;
D permite tener funciones anidadas y funciones anónimas. Las primeras son funciones que están definidas dentro de otra función. Son muy útiles para estructurar nuestro código de una forma más jerárquica.&lt;br /&gt;
Las funciones anónimas son funciones (normalmente sencillas) sin nombre que suelen utilizarse como argumento para una función que espera recibir una función como argumento.&lt;br /&gt;
*'''Declaración anticipada de funciones innecesaria:''' En C y C++ para que una función pueda llamar a otra esta debe haber sido declarada con anterioridad a la misma. Para ello puede estar el cuerpo completo de la función, o sólo un &amp;quot;prototipo&amp;quot; que indica los tipos aceptados y el valor devuelto.&lt;br /&gt;
 &lt;br /&gt;
==Otras Características==&lt;br /&gt;
D está siendo diseñado con lecciones aprendidas del uso de C++ en vez de ser diseñado desde una perspectiva teórica. Aunque usa muchos de los conceptos de C/C++ también descarta algunos, y por lo tanto no es compatible con código escrito en C o C++. D retiene la habilidad de C++ de hacer código de bajo nivel, permitiendo incluir código en ensamblador. La herencia múltiple de C++ es reemplazada por herencia simple e interfaces y 'mixins'. La sintaxis de declaración y la sintaxis para las expresiones se parecen a las de C++.&lt;br /&gt;
 &lt;br /&gt;
El soporte del lenguaje ensamblador demuestra una de las diferencias entre D con respecto a otros lenguajes como Java y C#. Esto permite incluir código específico de la máquina con código D, una técnica comúnmente usada por programadores de software de sistema para acceder a características de bajo nivel necesarias para interactuar directamente con el hardware, permitiendo escribir software como sistemas operativos y drivers.&lt;br /&gt;
D incluye soporte para comentarios de documentación, pero hasta ahora sólo el compilador entregado por Digital Mars implementa un generador de documentación.&lt;br /&gt;
 &lt;br /&gt;
===Orientada a objetos===&lt;br /&gt;
La programación orientada a objetos está basada en herencia simple, con todas las clases derivadas de la clase Object. D no soporta herencia múltiple; en vez de eso, usa interfaces parecidas a las de Java, que son comparables a las clases abstractas de C++.&lt;br /&gt;
 &lt;br /&gt;
===Metaprogramación===&lt;br /&gt;
Es soportada por una combinación de plantillas, ejecución de funciones en tiempo de compilación, tuplas y 'mixins' de cadena. Soporta CTFE (evaluación de funciones en tiempo de compilación).&lt;br /&gt;
 &lt;br /&gt;
===Manejo de memoria===&lt;br /&gt;
La memoria es usualmente manejada por un recolector de basura, pero objetos específicos pueden ser finalizados inmediatamente cuando salen del ámbito. Es posible el manejo de memoria explícito usando los operadores sobrecargados new y delete, y simplemente llamando las funciones malloc y free de C directamente. La recolección de basura puede ser controlada: los programadores pueden agregar y excluir rangos de memoria de ser observados por el recolector, pueden pausar y reanudar el recolector y forzar un ciclo generacional o de recolección completa. El manual da muchos ejemplos de cómo implementar diferentes esquemas de manejo de memoria altamente optimizados para cuando la recolección de basura es inadecuada para el programa.&lt;br /&gt;
 &lt;br /&gt;
===Interacción con otros sistemas===&lt;br /&gt;
La API de C es admitida, al igual que todos los tipos fundamentales y derivados de C, permitiendo acceso directo al código existente escrito en C y bibliotecas. La biblioteca estándar de C es parte del D estándar. A menos que se usen namespaces muy explícitos puede ser de alguna forma difícil de acceder, como se puede observar en módulos escritos en D que hagan uso de dicha característica. Pero la biblioteca estándar de D es usualmente suficiente.&lt;br /&gt;
 &lt;br /&gt;
==Implementación==&lt;br /&gt;
Las implementaciones actuales de D compilan el código directamente a código máquina para lograr una ejecución eficiente.&lt;br /&gt;
Cambios al lenguaje no se hacen regularmente desde la versión 1.0. El diseño está virtualmente congelado, y nuevos lanzamientos se concentran en resolver bugs existentes. El compilador oficial de Walter Bright define el lenguaje.&lt;br /&gt;
*'''DMD:''' El compilador de Digital Mars, el compilador oficial de D. El front end está bajo la licencia Artistic License y la licencia GNU GPL; las fuentes para el front end son distribuidas con los binarios del compilador. El back end es propietario, pero el código es abierto.&lt;br /&gt;
*'''GDC:''' Un front end para el back end [[GCC]], construido usando las fuentes del compilador *DMD. Snapshots soportan la versión 2.0 del lenguaje.&lt;br /&gt;
*'''LDC:''' Un compilador basado en DMD y usa LLVM como back end. El backend [[LLVM]] permite que LDC logre optimizar el código alcanzando rendimiento similar a C/C++ e incluso superándolo en ocasiones.&lt;br /&gt;
 &lt;br /&gt;
==Herramientas de desarrollo==&lt;br /&gt;
D todavía no está soportado en muchos entornos de desarrollo, lo cual es un problema esencial para muchos usuarios. Editores que pueden ser usados incluyen a Entice Designer, emacs, vim, SciTE y Zeus entre otros. Vim soporta el resaltado de sintaxis y completado de código (a través de ctags parcheados). Code::Blocks incluye soporte parcial del lenguaje.&lt;br /&gt;
Hay dos plu-gins en desarrollo para Eclipse, Descent y Mmrnmhrm.&lt;br /&gt;
Adicionalmente, hay IDEs escritas en el propio D como Poseidon, que incluye completado de código, resaltado de sintaxis y depurador.&lt;br /&gt;
 &lt;br /&gt;
Aplicaciones escritas en D pueden ser depuradas con cualquier depurador de C o C++, como GDB o WinDbg, aunque soporte para varias características fundamentales de D es limitado. Un depurador con soporte explícito para D es Ddbg para Windows. El depurador comercial [[ZeroBUGS]] para Linux tiene soporte experimental para D. Ddbg puede ser usado con varios IDEs o desde la línea de comandos, ZeroBUGS tiene su propia interfaz gráfica.&lt;br /&gt;
 &lt;br /&gt;
==Dificultades presentes en D==&lt;br /&gt;
===Sobrecarga de operadores===&lt;br /&gt;
La sobrecarga de operadores en D a veces son menos poderosas que las de C++. Un ejemplo es el opIndex, que sufre porque D no permite regresar referencias. Esto hace operaciones como obj[i]++;imposibles. La solución parcial de D es el operador opIndexAssign, que solo repara casos donde la expresión indexeada es solo un valor L como obj[i] = 5 pero no los casos originales.&lt;br /&gt;
===División en la biblioteca estándar===&lt;br /&gt;
La biblioteca estándar en D es llamada Phobos. Algunos miembros de la comunidad piensan que Phobos es demasiado simple y que posee numerosos problemas, por lo cual un reemplazo llamado Tango fue escrito. Sin embargo, Tango y Phobos eran incompatibles debido a varias diferencias (soporte de hilos, recolector de basura, etc). La existencia de dos bibliotecas, ambas de uso elevado, llevó a problemas significativos donde algunos paquetes usan Phobos y otros usan Tango. Este problema fue resuelto con la versión 2.0 del lenguaje.&lt;br /&gt;
===Soporte sin finalizar para bibliotecas compartidas/dinámicas===&lt;br /&gt;
Bibliotecas compartidas ELF de Unix son soportadas hasta un punto usando el compilador GDC. En Windows, DLLs son soportadas y permiten a objetos recolectados por el recolector de basura de ser seguramente pasados a funciones de C, ya que el recolector de basura revisa el stack por punteros. Sin embargo, todavía hay limitaciones con DLLs en D incluyendo el hecho de que la información en tiempo de ejecución de clases definidas en la DLL es incompatible con esas definidas en el ejecutable, y que cualquier objeto creado desde la DLL debe ser finalizado antes de que la DLL sea descargada.&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://www.unocero.com/2013/12/31/d-un-nuevo-lenguaje-de-programacion/‎&lt;br /&gt;
*http://juanjoalvarez.net/es/detail/2007/apr/25/el-lenguaje-de-programacion-d/‎&lt;br /&gt;
*http://www.digitalmars.com/d/&lt;br /&gt;
*http://www.dsource.org/&lt;br /&gt;
*http://ddbg.mainia.de/&lt;br /&gt;
*http://dlang.org/comparison.html&lt;br /&gt;
 &lt;br /&gt;
==Fuentes==&lt;br /&gt;
*The D Programming Language, Addison-Wesley Professional&lt;br /&gt;
*D Programming Language 1.0. Digital Mars&lt;br /&gt;
[[Category:Programación]][[Category:Informática]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Archivo:Dlp.png&amp;diff=2210616</id>
		<title>Archivo:Dlp.png</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Archivo:Dlp.png&amp;diff=2210616"/>
		<updated>2014-04-24T16:48:17Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sumario ==&lt;br /&gt;
&lt;br /&gt;
== Estado de copyright: ==&lt;br /&gt;
&lt;br /&gt;
== Fuente: ==&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Xtend&amp;diff=2185082</id>
		<title>Xtend</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Xtend&amp;diff=2185082"/>
		<updated>2014-03-19T21:58:46Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: Página creada con '{{Ficha Software |nombre= Xtend |imagen=Xtend.jpg |familia= Lenguaje de programación. |descripción=  |creador=  |desarrollador=  }} &amp;lt;div align=&amp;quot;justify&amp;quot;&amp;gt;  '''Xtend:''' Es un l...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Xtend&lt;br /&gt;
|imagen=Xtend.jpg&lt;br /&gt;
|familia= Lenguaje de programación.&lt;br /&gt;
|descripción= &lt;br /&gt;
|creador= &lt;br /&gt;
|desarrollador= &lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;div align=&amp;quot;justify&amp;quot;&amp;gt; &lt;br /&gt;
'''Xtend:''' Es un lenguaje de tipado estático para la plataforma [[Java]]. Integra Closures, la noción de properties y características para reducir el ruido al escribir, como evitar paréntesis, punto y coma y returns. También se puede hacer sobrecarga de operadores. El '''objetivo de Xtend''' no es remplazar a Java, algo bastante complicado, sino ser una alternativa en algunas situaciones en las que Java no es lo suficientemente útil.&lt;br /&gt;
==Carcaterísticas Destacadas==&lt;br /&gt;
Java es una gran plataforma y un lenguaje muy consolidado. Xtend no intenta reemplazar a Java, sino que aspira a convertirse en una alternativa conveniente en algunas situaciones en las que Java no es tan brillante. Ahí está Xtend, reduciendo el ruido de Java, reduciendo el código a lo mínimo, lo que no sólo nos ayuda a escribir menos, sino que más importante hace el código más legible y sencillo de mantener, pero además añade unas cuantas importantes características que se echan en falta en Java.&lt;br /&gt;
&lt;br /&gt;
Uno de los puntos más destacables de '''Xtend''' es que '''reduce la cantidad de código necesario que debemos escribir''': elimina toda la parte redundante como tener que declarar algunas variables intermedias, los bucles o la definición de las variables de retorno en los métodos. También se hace opcional el uso de getter y setter para acceder a los atributos o no tener que poner paréntesis en la invocación de métodos que no reciben parámetros.&lt;br /&gt;
&lt;br /&gt;
Además de esa '''eliminación de ruido''' se ha implementado el uso de '''clousures''' (una de las características más demandadas de Java), el uso de templates expressions con lo que podemos concatenar strings de forma más potente o extender tipos usando métodos de extensión que permiten añadir nuevos métodos.&lt;br /&gt;
&lt;br /&gt;
Xtend compila a código java legible. Es decir, en lugar de generar bytecode directamente: xtend pasa nuestro código .xtend a otro fichero .java con la sintaxis habitual de java. '''Xtend está desarrollada y diseñado para [[Eclipse]]''' así que dentro del [[IDE]] disponemos de una serie de plugin para facilitar la implementación usando el lenguaje.&lt;br /&gt;
Cuenta también con soporte del IDE de Eclipse, que permite ver un archivo fuente .xtend en su versión Xtend o su versión Java a la par.&lt;br /&gt;
==Ventajas==&lt;br /&gt;
A primera vista, parece ser como Java pero con algunas cosas extras. De hecho, compila a código de Java, produce código en Java, que puede ser leído por seres humanos y no es código hexadecimal o bytecode. Se supone que con ello y el conocimiento de Java del programador, se podría modificar el código generado por el [[compilador]] de Xtend. Es claro que tratar de modificar código compilado es muy difícil, por lo que quizás con Xtend, modificar algunas partes compiladas a código Java, podría no ser tan mala idea. &lt;br /&gt;
&lt;br /&gt;
Xtend ha sido implementado usando el sistema [[Xtext]], una herramienta que permite la creación de lenguajes de dominio específico. En ese sentido, Xtend es una demostración impresionante de lo poderoso de usar [[Xtext]].&lt;br /&gt;
Xtend también cuenta con características como inferencia de tipos, como en [[Scala]], y [[Extension Methods]] (de aquí sacaron el nombre Xtend) que sirve para agregar nuevos métodos a clases existentes y multiple dispatch, como metaprogramación en [[Groovy]] pero de una manera un poco particular, los métodos se implementan en la clase donde se usan.&lt;br /&gt;
&lt;br /&gt;
Los detalles del lenguaje indican que empieza en Java, con sintaxis similar y un sistema de tipos estáticos idéntico. Además, usa el [[JDK]] como su biblioteca. Una diferencia importante es que solamente usa clases, No hay interfaces, no enums, no otras cosas. Pero además de comportarse como Java, incluye inferencias de tipo automáticas, lo cual significa que aunque el lenguaje usa tipos estáticos, no hay que especificarlos.&lt;br /&gt;
===Sintaxis===&lt;br /&gt;
Por ejemplo dos sintaxis validas serían:&lt;br /&gt;
 val palabra=”Hello”&lt;br /&gt;
 val String palabra=”Hello”&lt;br /&gt;
Otro añadido a Java es la automatización de “getters” y “setters” (obtención de información y definición de parámetros)&lt;br /&gt;
 persona.nombre es lo mismo que persona.getnombre&lt;br /&gt;
 persona.nombre =”mike” es lo mismo que persona.setnombre (“mike”)&lt;br /&gt;
&lt;br /&gt;
La pregunta básica es si Xtend realmente extiende Java. Tiene esta nueva idea una colección de nuevas características, que podrían ser añadidas a Java en la siguiente versión. Las dos más importantes son los métodos de extensión y cerradura. Una cerradura en este caso significa una función anónima, así como una función que captura el entorno actual. Los métodos de extensión que se usan sirven para añadir métodos para construir o cerrar clases cerradas.&lt;br /&gt;
&lt;br /&gt;
Hay otras ventajas: por ejemplo mejores maneras de expresar los “switch“, así como algunas facilidades para construir cadenas de caracteres en un formato complejo con expresiones en templates.&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://www.eclipse.org/Xtext/xtend/&lt;br /&gt;
*http://www.genbetadev.com/lenguajes.../xtend-eclipse-lanza-un-nuevo...‎&lt;br /&gt;
*http://www.genbetadev.com/lenguajes-de-programacion/xtend-eclipse-lanza-un-nuevo-lenguaje-basado-en-java-que-reduce-el-codigo-a-escribir&lt;br /&gt;
*http://www.unocero.com/2011/11/10/eclipse-lanza-nuevo-lenguaje-xtend/‎&lt;br /&gt;
*https://www.eclipse.org/xtend/&lt;br /&gt;
*https://www.eclipse.org/xtend/documentation.html&lt;br /&gt;
*https://projects.eclipse.org/projects/tools.xtend&lt;br /&gt;
*http://www.eclipse.org/forums/eclipse.xtend&lt;br /&gt;
*http://www.eclipse.org/xtend/new_and_noteworthy/&lt;br /&gt;
*http://help.eclipse.org/indigo/topic/org.eclipse.../Xtend_language.html&lt;br /&gt;
[[Category:Programación]][[Category:Informática]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Archivo:Xtend.jpg&amp;diff=2185076</id>
		<title>Archivo:Xtend.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Archivo:Xtend.jpg&amp;diff=2185076"/>
		<updated>2014-03-19T21:45:38Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sumario ==&lt;br /&gt;
&lt;br /&gt;
== Estado de copyright: ==&lt;br /&gt;
&lt;br /&gt;
== Fuente: ==&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Ceylon_(lenguaje_de_programaci%C3%B3n)&amp;diff=2180116</id>
		<title>Ceylon (lenguaje de programación)</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Ceylon_(lenguaje_de_programaci%C3%B3n)&amp;diff=2180116"/>
		<updated>2014-03-06T14:02:57Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Ceylon&lt;br /&gt;
|imagen= Ceylon00.jpg&lt;br /&gt;
|familia= Lenguaje de programación orientada a objetos.&lt;br /&gt;
|descripción= El propósito de Ceylon es mejorar deficiencias de Java, aunque a la vez pretende no ser excluyente de este.&lt;br /&gt;
|creador= Gavin King &lt;br /&gt;
|desarrollador= Red Hat&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;div align=&amp;quot;justify&amp;quot;&amp;gt; &lt;br /&gt;
'''Ceylon''' es un [[lenguaje de programación orientada a objetos]], desarrollado por [[Red Hat]]. El lenguaje en sí mismo toma mucha de su sintaxis de Lenguaje de programación [[Java]]. Es de tipado estático y con inferencia de tipos que se ejecuta sobre la [[máquina virtual Java]] o también puede compilar a JavaScript. Este lenguaje ha sido creado por [[Gavin King]], creador de [[Hibernate]]. El propósito de Ceylon es mejorar deficiencias de Java, aunque a la vez pretende no ser excluyente de este; sino que también tengan código escrito en Java y en [[JavaScript]].&lt;br /&gt;
==Características==&lt;br /&gt;
Ceylon, un lenguaje de tipo estático que mantiene algunos de los mejores dispositivos del lenguaje Java (y ejecuta en la JVM) pero mejora la legibilidad de ese lenguaje, la modularidad integrada y la incorporación de dispositivos de lenguaje funcional, como funciones de orden superior. Ceylon también incorpora dispositivos de C y Smalltalk. Así como el lenguaje Java, ese nuevo lenguaje enfoca la computación empresarial, pero también es flexible y útil en otras áreas.&lt;br /&gt;
&lt;br /&gt;
Algunos llaman Ceylon de &amp;quot;matador de Java&amp;quot; (quizás debido a dudas acerca del futuro del lenguaje Java) pero en realidad Ceylon ejecuta en la JVM, por tanto, no es una sustitución, sino una ampliación de la tecnología Java. El uso de la JVM para soportar la ejecución de Ceylon es un modelo ideal, pues significa que Ceylon (como Java) es portátil a lo largo de una gran variedad de arquitecturas que actualmente soportan la JVM.&lt;br /&gt;
&lt;br /&gt;
La mayoría de los lenguajes actuales desafían una categorización simple y, en lugar de eso, representan una variedad de estilos de programación. Ceylon no es diferente. Es un lenguaje de tipo estático (es decir, la verificación de tipo ocurre en el tiempo de compilación, diferentemente de los lenguajes de tipo dinámico como Lisp, en el cual la verificación de tipo se realiza en el tiempo de ejecución). Ceylon es un lenguaje orientado a objetos, como el lenguaje Java, y también soporta funciones de orden superior (lo que significa que las funciones pueden tomar funciones como entrada o salida) con un estilo de sintaxis típico de C. Las funciones de orden superior no son soportadas directamente en el lenguaje Java; por tanto, esa funcionalidad representa una diferencia exclusiva en los dos lenguajes.&lt;br /&gt;
&lt;br /&gt;
Sin embargo, a veces las mejorías tienen más que ver con lo que un lenguaje elimina, y no con lo que añade. Ceylon simplifica y elimina elementos del idioma Java, sustituyéndolos por un esquema más simple. Un ejemplo de simplificación es la eliminación de las palabras clave public, protected y private. En lugar de eso, Ceylon simplemente incluye la anotación shared, que define los elementos de una clase que son visible externamente. Ceylon también elimina la capacidad de sobrecargar, pero proporciona algunas soluciones alternas para esa funcionalidad (como parámetros con valores predeterminados y secuenciados) con sintaxis más simple.&lt;br /&gt;
&lt;br /&gt;
Incluye soporte de herencia, secuencias (matriz o construcción de lista), genéricos, argumentos nombrados, etc. Incluye dispositivos para gestión de tipo en tiempo de ejecución. El lenguaje se encuentra en desarrollo activo, por tanto, el conjunto final de dispositivos sigue abierto.&lt;br /&gt;
== Objetivos de Ceylon==&lt;br /&gt;
*Ser fácil de aprender tanto para desarrolladores Java como [[C#]].&lt;br /&gt;
*Eliminar la verbosidad de Java pero manteniendo la legibilidad.&lt;br /&gt;
*Mejorar el tipado estático de Java.&lt;br /&gt;
*Proveer una expresión declarativa para eliminar dependencias con [[xml]].&lt;br /&gt;
*Apoyar y fomentar un estilo de programación más funcional.&lt;br /&gt;
*Proveer soporte para meta-programación.&lt;br /&gt;
*Proveer construcción modular.&lt;br /&gt;
==Filosofía de diseño==&lt;br /&gt;
Los principios de diseño de Ceylon no giran alrededor de capacidades tecnológicas (ej. concurrencia, garbage collection) sino de cómo funcionan los proyectos de software, especialmente software empresarial de gran escala.  Aquí algunas de las características de este tipo de proyectos:&lt;br /&gt;
*Son sistemas grandes, medidos en el orden de decenas de miles de líneas de código.&lt;br /&gt;
*Los equipos de integrantes son grandes (más de 10 personas), diversos, distribuidos geográficamente y con alta rotación.&lt;br /&gt;
*Una vez liberados a producción, los sistemas requieren un alto grado de mantenimiento para incorporar cambios y mejoras. Y lo más probable es que las personas encargadas de hacer esto sean un grupo distinto a quienes lo desarrollaron.&lt;br /&gt;
&lt;br /&gt;
Es por ello que los principios de diseño fundamentales de Ceylon son:&lt;br /&gt;
*'''Legilibilidad'''. El código en Ceylon busca ser altamente legible y fácil de entender por terceros. Ceylon no se enfoca puramente en tener una sintáxis ni breve ni elaborada, sino fácil de entender.&lt;br /&gt;
*'''Predecibilidad'''. Cuando hay errores de compilación o ejecución, estos deben ser fáciles de entender y rastrear hacia su causa raíz.&lt;br /&gt;
==Tipos de datos en Ceylon==&lt;br /&gt;
Ceylon incorpora un conjunto tradicional de tipos que se implementan como clases ordinarias. Esos tipos son:&lt;br /&gt;
*Natural. Enteros no firmados, incluyendo cero&lt;br /&gt;
*Integer. Enteros firmados&lt;br /&gt;
*Float. Punto flotante&lt;br /&gt;
*Whole. Enteros firmados con precisión arbitraria&lt;br /&gt;
*Decimal. Decimales con precisión y escala arbitrarias&lt;br /&gt;
En forma predeterminada, los tipos Natural, Integer y Float son de 64 bits, pero usted puede anotarlos con small para especificar la precisión de 32 bits.&lt;br /&gt;
==Clase de Ceylon==&lt;br /&gt;
Ya que Ceylon es un lenguaje orientada a objetos, escribe código con el concepto de clases. Una clase es un tipo en Ceylon que encapsula un conjunto de operaciones (llamadas métodos) y declara también una definición de cómo se inicializa el estado cuando se inicializa un objeto de la clase (el inicializador de clase, semejante al constructor).&lt;br /&gt;
&lt;br /&gt;
Una clase simple ayudará a entender el enfoque de Ceylon. la clase se define con un valor opcional, lo que significa que el usuario puede proporcionarlo o no, y es denotado con el patrón Type?. En lugar de un constructor, el cuerpo de la clase contiene el inicializador de la clase. Ese código define la variable privada (nada es visible a no ser que sea anotado como compartido) y luego la lógica de inicialización. Se comienza verificando si la variable inicial existe. Si existe, se usa como el valor inicial para su conteo. Su primer método, anotado como shared y, por tanto, visible externamente desde la clase, define el incrementador. Cuando es llamado, ese método simplemente incrementa su contador.&lt;br /&gt;
&lt;br /&gt;
Finalmente, se define un método getter que retorna el valor actual del contador para el usuario y un método setter que define el valor actual del contador con un valor proporcionado por el interlocutor. Note el uso de la palabra clave assign aquí para crear un atributo de variable para definir el valor del contador. Además de manipular los constructores en forma diferente (código integrado dentro de la clase), no hay deconstructor y no hay una forma de implementar varios constructores (sólo una de las diferencias respecto al lenguaje Java).&lt;br /&gt;
 01    doc &amp;quot;Simple Counting Class&amp;quot;&lt;br /&gt;
 02    class Counter( Natural? start ) {&lt;br /&gt;
 03    &lt;br /&gt;
 04      doc &amp;quot;Class Initializer&amp;quot;&lt;br /&gt;
 05      variable Natural count := 0;&lt;br /&gt;
 06      if (exists start) {&lt;br /&gt;
 07        count := start;&lt;br /&gt;
 09      }&lt;br /&gt;
 10    &lt;br /&gt;
 11      doc &amp;quot;The incrementer&amp;quot;&lt;br /&gt;
 12      shared void increment() {&lt;br /&gt;
 13        count++;&lt;br /&gt;
 14      }&lt;br /&gt;
 15    &lt;br /&gt;
 16      doc &amp;quot;The getter&amp;quot;&lt;br /&gt;
 17      shared Natural currentValue {&lt;br /&gt;
 18        return count;&lt;br /&gt;
 19      }&lt;br /&gt;
 20&lt;br /&gt;
 21      doc &amp;quot;The setter&amp;quot;&lt;br /&gt;
 22      shared assign currentValue {&lt;br /&gt;
 23        count := currentValue;&lt;br /&gt;
 24      }&lt;br /&gt;
 25&lt;br /&gt;
 26    }&lt;br /&gt;
&lt;br /&gt;
Con la clase simple definida, vamos a ver cómo usarla. A continuación se muestra un bloque de código que usa la clase Counter. Comienza por la instanciación de la clase del objeto cnt. Observe que no hay la palabra clave new en Ceylon. Con su nuevo objeto Counter definido, usted llama el método increment y luego emite el valor Counter usando su método getter. Observe que los operadores = y := son diferentes en Ceylon: se usa el especificador = sólo para valores inmutables, mientras que la asignación de variables es realizada con el operador ''':='''&lt;br /&gt;
 01    Counter cnt = Counter(1);&lt;br /&gt;
 02    cnt.increment();&lt;br /&gt;
 03    writeLine( c.currentValue );&lt;br /&gt;
Ceylon incentiva el uso de atributos inmutables siempre que posible. Eso significa que un objeto es inicializado con un valor y no reasignado.&lt;br /&gt;
==Reconocimiento de debilidades de Java==&lt;br /&gt;
Aunque Ceylon trata de aprovechar las fortalezas de Java, también reconoce sus debilidades y busca aprender de cómo hacen las cosas mejor otros lenguajes.&lt;br /&gt;
Un ejemplo es el caso de la modularidad. La modularidad (o falta de) siempre ha sido uno de los puntos débiles de Java. ¿Por qué tenemos que instalar el JRE completo para ejecutar un &amp;quot;hola mundo&amp;quot;? Ceylon reconoce la belleza/simplicidad de usar gemas en Ruby, o paquetes en Node, e incorpora algo similar.&lt;br /&gt;
==Aprovechamiento de herramientas==&lt;br /&gt;
Ceylon es un lenguaje de tipado estático (statically typed). Este tipo de lenguajes típicamente requiere más líneas de código que los lenguajes dinámicos, y por lo tanto pueden ser considerados menos productivos. Esto puede ser cierto cuando programas todo manualmente desde un editor de texto, pero cuando te apoyas en ambientes de desarrollo moderno el usar tipado estático se convierte más en una ventaja que desventaja. Dado que las herramientas pueden entender mejor tu código, pueden ayudarte más con él: a generarlo, depurarlo y probarlo. Y esto se extiende también al uso de librerías y frameworks. Otra ventaja de usar tipado estático es poder detectar errores desde compilación, y no hasta ejecución.&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://ceylon-lang.org&lt;br /&gt;
*https://github.com/ceylon‎&lt;br /&gt;
*http://sg.com.mx/buzz/por-que-ceylon#.Uxdhzc7op1s&lt;br /&gt;
*http://www.ibm.com/developerworks/ssa/linux/library/l-ceylon/&lt;br /&gt;
*http://www.javahispano.org/portada/2013/11/18/dos-nuevos-lenguajes-de-programacion-ceylon-y-dart.html&lt;br /&gt;
*http://in.relation.to/Tutorials/IntroductionToCeylon&lt;br /&gt;
[[Category:Programación]][[Category:Informática]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Ceylon_(lenguaje_de_programaci%C3%B3n)&amp;diff=2180111</id>
		<title>Ceylon (lenguaje de programación)</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Ceylon_(lenguaje_de_programaci%C3%B3n)&amp;diff=2180111"/>
		<updated>2014-03-06T14:01:13Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: Página creada con '{{Ficha Software |nombre= Ceylon |imagen= Ceylon00.jpg |familia= Lenguaje de programación orientada a objetos. |descripción= El propósito de Ceylon es mejorar deficiencias de...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Ceylon&lt;br /&gt;
|imagen= Ceylon00.jpg&lt;br /&gt;
|familia= Lenguaje de programación orientada a objetos.&lt;br /&gt;
|descripción= El propósito de Ceylon es mejorar deficiencias de Java, aunque a la vez pretende no ser excluyente de este.&lt;br /&gt;
|creador= Gavin King &lt;br /&gt;
|desarrollador= Red Hat&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;div align=&amp;quot;justify&amp;quot;&amp;gt; &lt;br /&gt;
'''Ceylon''' es un [[lenguaje de programación orientada a objetos]], desarrollado por [[Red Hat]]. El lenguaje en sí mismo toma mucha de su sintaxis de Lenguaje de programación [[Java]]. Es de tipado estático y con inferencia de tipos que se ejecuta sobre la [[máquina virtual Java]] o también puede compilar a JavaScript. Este lenguaje ha sido creado por [[Gavin King]], creador de [[Hibernate]]. El propósito de Ceylon es mejorar deficiencias de Java, aunque a la vez pretende no ser excluyente de este; sino que también tengan código escrito en Java y en [[JavaScript]].&lt;br /&gt;
==Características==&lt;br /&gt;
Ceylon, un lenguaje de tipo estático que mantiene algunos de los mejores dispositivos del lenguaje Java (y ejecuta en la JVM) pero mejora la legibilidad de ese lenguaje, la modularidad integrada y la incorporación de dispositivos de lenguaje funcional, como funciones de orden superior. Ceylon también incorpora dispositivos de C y Smalltalk. Así como el lenguaje Java, ese nuevo lenguaje enfoca la computación empresarial, pero también es flexible y útil en otras áreas.&lt;br /&gt;
&lt;br /&gt;
Algunos llaman Ceylon de &amp;quot;matador de Java&amp;quot; (quizás debido a dudas acerca del futuro del lenguaje Java) pero en realidad Ceylon ejecuta en la JVM, por tanto, no es una sustitución, sino una ampliación de la tecnología Java. El uso de la JVM para soportar la ejecución de Ceylon es un modelo ideal, pues significa que Ceylon (como Java) es portátil a lo largo de una gran variedad de arquitecturas que actualmente soportan la JVM.&lt;br /&gt;
&lt;br /&gt;
La mayoría de los lenguajes actuales desafían una categorización simple y, en lugar de eso, representan una variedad de estilos de programación. Ceylon no es diferente. Es un lenguaje de tipo estático (es decir, la verificación de tipo ocurre en el tiempo de compilación, diferentemente de los lenguajes de tipo dinámico como Lisp, en el cual la verificación de tipo se realiza en el tiempo de ejecución). Ceylon es un lenguaje orientado a objetos, como el lenguaje Java, y también soporta funciones de orden superior (lo que significa que las funciones pueden tomar funciones como entrada o salida) con un estilo de sintaxis típico de C. Las funciones de orden superior no son soportadas directamente en el lenguaje Java; por tanto, esa funcionalidad representa una diferencia exclusiva en los dos lenguajes.&lt;br /&gt;
&lt;br /&gt;
Sin embargo, a veces las mejorías tienen más que ver con lo que un lenguaje elimina, y no con lo que añade. Ceylon simplifica y elimina elementos del idioma Java, sustituyéndolos por un esquema más simple. Un ejemplo de simplificación es la eliminación de las palabras clave public, protected y private. En lugar de eso, Ceylon simplemente incluye la anotación shared, que define los elementos de una clase que son visible externamente. Ceylon también elimina la capacidad de sobrecargar, pero proporciona algunas soluciones alternas para esa funcionalidad (como parámetros con valores predeterminados y secuenciados) con sintaxis más simple.&lt;br /&gt;
&lt;br /&gt;
Incluye soporte de herencia, secuencias (matriz o construcción de lista), genéricos, argumentos nombrados, etc. Incluye dispositivos para gestión de tipo en tiempo de ejecución. El lenguaje se encuentra en desarrollo activo, por tanto, el conjunto final de dispositivos sigue abierto.&lt;br /&gt;
== Objetivos de Ceylon==&lt;br /&gt;
*Ser fácil de aprender tanto para desarrolladores Java como [[C#]].&lt;br /&gt;
*Eliminar la verbosidad de Java pero manteniendo la legibilidad.&lt;br /&gt;
*Mejorar el tipado estático de Java.&lt;br /&gt;
*Proveer una expresión declarativa para eliminar dependencias con [[xml]].&lt;br /&gt;
*Apoyar y fomentar un estilo de programación más funcional.&lt;br /&gt;
*Proveer soporte para meta-programación.&lt;br /&gt;
*Proveer construcción modular.&lt;br /&gt;
==Filosofía de diseño==&lt;br /&gt;
Los principios de diseño de Ceylon no giran alrededor de capacidades tecnológicas (ej. concurrencia, garbage collection) sino de cómo funcionan los proyectos de software, especialmente software empresarial de gran escala.  Aquí algunas de las características de este tipo de proyectos:&lt;br /&gt;
*Son sistemas grandes, medidos en el orden de decenas de miles de líneas de código.&lt;br /&gt;
*Los equipos de integrantes son grandes (más de 10 personas), diversos, distribuidos geográficamente y con alta rotación.&lt;br /&gt;
*Una vez liberados a producción, los sistemas requieren un alto grado de mantenimiento para incorporar cambios y mejoras. Y lo más probable es que las personas encargadas de hacer esto sean un grupo distinto a quienes lo desarrollaron.&lt;br /&gt;
&lt;br /&gt;
Es por ello que los principios de diseño fundamentales de Ceylon son:&lt;br /&gt;
*'''Legilibilidad'''. El código en Ceylon busca ser altamente legible y fácil de entender por terceros. Ceylon no se enfoca puramente en tener una sintáxis ni breve ni elaborada, sino fácil de entender.&lt;br /&gt;
*'''Predecibilidad'''. Cuando hay errores de compilación o ejecución, estos deben ser fáciles de entender y rastrear hacia su causa raíz.&lt;br /&gt;
==Tipos de datos en Ceylon==&lt;br /&gt;
Ceylon incorpora un conjunto tradicional de tipos que se implementan como clases ordinarias. Esos tipos son:&lt;br /&gt;
*Natural. Enteros no firmados, incluyendo cero&lt;br /&gt;
*Integer. Enteros firmados&lt;br /&gt;
*Float. Punto flotante&lt;br /&gt;
*Whole. Enteros firmados con precisión arbitraria&lt;br /&gt;
*Decimal. Decimales con precisión y escala arbitrarias&lt;br /&gt;
En forma predeterminada, los tipos Natural, Integer y Float son de 64 bits, pero usted puede anotarlos con small para especificar la precisión de 32 bits.&lt;br /&gt;
==Clase de Ceylon==&lt;br /&gt;
Ya que Ceylon es un lenguaje orientada a objetos, escribe código con el concepto de clases. Una clase es un tipo en Ceylon que encapsula un conjunto de operaciones (llamadas métodos) y declara también una definición de cómo se inicializa el estado cuando se inicializa un objeto de la clase (el inicializador de clase, semejante al constructor).&lt;br /&gt;
&lt;br /&gt;
Una clase simple ayudará a entender el enfoque de Ceylon. la clase se define con un valor opcional, lo que significa que el usuario puede proporcionarlo o no, y es denotado con el patrón Type?. En lugar de un constructor, el cuerpo de la clase contiene el inicializador de la clase. Ese código define la variable privada (nada es visible a no ser que sea anotado como compartido) y luego la lógica de inicialización. Se comienza verificando si la variable inicial existe. Si existe, se usa como el valor inicial para su conteo. Su primer método, anotado como shared y, por tanto, visible externamente desde la clase, define el incrementador. Cuando es llamado, ese método simplemente incrementa su contador.&lt;br /&gt;
&lt;br /&gt;
Finalmente, se define un método getter que retorna el valor actual del contador para el usuario y un método setter que define el valor actual del contador con un valor proporcionado por el interlocutor. Note el uso de la palabra clave assign aquí para crear un atributo de variable para definir el valor del contador. Además de manipular los constructores en forma diferente (código integrado dentro de la clase), no hay deconstructor y no hay una forma de implementar varios constructores (sólo una de las diferencias respecto al lenguaje Java).&lt;br /&gt;
 01    doc &amp;quot;Simple Counting Class&amp;quot;&lt;br /&gt;
 02    class Counter( Natural? start ) {&lt;br /&gt;
 03    &lt;br /&gt;
 04      doc &amp;quot;Class Initializer&amp;quot;&lt;br /&gt;
 05      variable Natural count := 0;&lt;br /&gt;
 06      if (exists start) {&lt;br /&gt;
 07        count := start;&lt;br /&gt;
 09      }&lt;br /&gt;
 10    &lt;br /&gt;
 11      doc &amp;quot;The incrementer&amp;quot;&lt;br /&gt;
 12      shared void increment() {&lt;br /&gt;
 13        count++;&lt;br /&gt;
 14      }&lt;br /&gt;
 15    &lt;br /&gt;
 16      doc &amp;quot;The getter&amp;quot;&lt;br /&gt;
 17      shared Natural currentValue {&lt;br /&gt;
 18        return count;&lt;br /&gt;
 19      }&lt;br /&gt;
 20&lt;br /&gt;
 21      doc &amp;quot;The setter&amp;quot;&lt;br /&gt;
 22      shared assign currentValue {&lt;br /&gt;
 23        count := currentValue;&lt;br /&gt;
 24      }&lt;br /&gt;
 25&lt;br /&gt;
 26    }&lt;br /&gt;
&lt;br /&gt;
Con la clase simple definida, vamos a ver cómo usarla. A continuación se muestra un bloque de código que usa la clase Counter. Comienza por la instanciación de la clase del objeto cnt. Observe que no hay la palabra clave new en Ceylon. Con su nuevo objeto Counter definido, usted llama el método increment y luego emite el valor Counter usando su método getter. Observe que los operadores = y := son diferentes en Ceylon: se usa el especificador = sólo para valores inmutables, mientras que la asignación de variables es realizada con el operador := .&lt;br /&gt;
 01    Counter cnt = Counter(1);&lt;br /&gt;
 02    cnt.increment();&lt;br /&gt;
 03    writeLine( c.currentValue );&lt;br /&gt;
Ceylon incentiva el uso de atributos inmutables siempre que posible. Eso significa que un objeto es inicializado con un valor y no reasignado.&lt;br /&gt;
==Reconocimiento de debilidades de Java==&lt;br /&gt;
Aunque Ceylon trata de aprovechar las fortalezas de Java, también reconoce sus debilidades y busca aprender de cómo hacen las cosas mejor otros lenguajes.&lt;br /&gt;
Un ejemplo es el caso de la modularidad. La modularidad (o falta de) siempre ha sido uno de los puntos débiles de Java. ¿Por qué tenemos que instalar el JRE completo para ejecutar un &amp;quot;hola mundo&amp;quot;? Ceylon reconoce la belleza/simplicidad de usar gemas en Ruby, o paquetes en Node, e incorpora algo similar.&lt;br /&gt;
==Aprovechamiento de herramientas==&lt;br /&gt;
Ceylon es un lenguaje de tipado estático (statically typed). Este tipo de lenguajes típicamente requiere más líneas de código que los lenguajes dinámicos, y por lo tanto pueden ser considerados menos productivos. Esto puede ser cierto cuando programas todo manualmente desde un editor de texto, pero cuando te apoyas en ambientes de desarrollo moderno el usar tipado estático se convierte más en una ventaja que desventaja. Dado que las herramientas pueden entender mejor tu código, pueden ayudarte más con él: a generarlo, depurarlo y probarlo. Y esto se extiende también al uso de librerías y frameworks. Otra ventaja de usar tipado estático es poder detectar errores desde compilación, y no hasta ejecución.&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://ceylon-lang.org&lt;br /&gt;
*https://github.com/ceylon‎&lt;br /&gt;
*http://sg.com.mx/buzz/por-que-ceylon#.Uxdhzc7op1s&lt;br /&gt;
*http://www.ibm.com/developerworks/ssa/linux/library/l-ceylon/&lt;br /&gt;
*http://www.javahispano.org/portada/2013/11/18/dos-nuevos-lenguajes-de-programacion-ceylon-y-dart.html&lt;br /&gt;
*http://in.relation.to/Tutorials/IntroductionToCeylon&lt;br /&gt;
[[Category:Programación]][[Category:Informática]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Archivo:Ceylon00.jpg&amp;diff=2180102</id>
		<title>Archivo:Ceylon00.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Archivo:Ceylon00.jpg&amp;diff=2180102"/>
		<updated>2014-03-06T13:56:42Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sumario ==&lt;br /&gt;
&lt;br /&gt;
== Estado de copyright: ==&lt;br /&gt;
&lt;br /&gt;
== Fuente: ==&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=TypeScript&amp;diff=2174287</id>
		<title>TypeScript</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=TypeScript&amp;diff=2174287"/>
		<updated>2014-02-26T22:03:31Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: Página creada con '{{Ficha Software |nombre= TyeScript |familia= Lenguaje de programación  |imagen= Type.jpg |tamaño= |descripción= Lenguaje de programación que permite a los desarrolladores c...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= TyeScript&lt;br /&gt;
|familia= Lenguaje de programación &lt;br /&gt;
|imagen= Type.jpg&lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción= Lenguaje de programación que permite a los desarrolladores crear proyectos complejos.&lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador= Microsoft &lt;br /&gt;
|desarrollador= Anders Hejlsberg&lt;br /&gt;
|diseñador= &lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|lanzamiento inicial=&lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos=&lt;br /&gt;
|idioma=&lt;br /&gt;
|licencia= &lt;br /&gt;
|premios=&lt;br /&gt;
|web=&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;div align=&amp;quot;justify&amp;quot;&amp;gt; &lt;br /&gt;
'''TypeScript''' es un lenguaje de programación libre y de código abierto desarrollado por [[Microsoft]]. Es un superconjunto de [[JavaScript]], que esencialmente añade tipado estático y objetos basados en clases para orientar JavaScript a objetos enteramente. [[Anders Hejlsberg]], diseñador de [[C#]], ha trabajado en el desarrollo de TypeScript&lt;br /&gt;
TypeScript extiende la sintaxis de JavaScript, por tanto cualquier código JavaScript existente debería funcionar sin problemas. Está pensado para grandes proyectos, los cuales a través de un compilador de TypeScript se traduce a código JavaScript original. Permite además famosas librerías de JavaScript trabajar sin problemas como [[JQuery]], [[MongoDB]], [[Node.js]], y [[D3.js]].&lt;br /&gt;
==Características==&lt;br /&gt;
Principalmente se caracteriza por implementar las ventajas de un lenguaje orientado a objetos y las ventajas de JavaScript, permitiéndonos usar ambos a la vez (podríamos escribir la mitad en JavaScript y la otra en el lenguaje propio de TypeScript) y por supuesto el código que tuviésemos de JavaScript no se verá alterado, por lo que no hará falta modificar ninguna librería.&lt;br /&gt;
&lt;br /&gt;
Este lenguaje de programación está especialmente indicado para desarrollar proyectos de una cierta envergadura, teniendo en cuenta la integración con distintos editores e [[IDE]]. Añade comprobación de tipos, de manera que permite utilizar IntelliSense para facilitar el desarrollo utilizando Visual Studio.&lt;br /&gt;
&lt;br /&gt;
TypeScript, por supuesto, es open source y ofrecen herramientas para integrar el lenguaje de programación en distintas herramientas ([[Visual Studio]], [[Sublime Text]], Vi y Emacs), así como un paquete para Node.js.&lt;br /&gt;
Las características que TypeScript agrega al desarrollo de JavaScript son pequeñas, pero generan grandes beneficios para los desarrolladores de .NET, que están familiarizados con características similares en los lenguajes que usan para el desarrollo habitual de aplicaciones de Windows.&lt;br /&gt;
&lt;br /&gt;
TypeScript no es una solución mágica y no pretende serlo. Pero para el que tenga dudas sobre usar JavaScript, TypeScript es un excelente lenguaje que puede facilitar el proceso.&lt;br /&gt;
==Formas en que lo podemos usar==&lt;br /&gt;
Podemos usar TypeScript de varias formas muy sencillas:&lt;br /&gt;
*'''Instalar en Node.js:''' para instalarlo solo debemos de introducir el siguiente comando para instalar la extensión npm install -g typescript y posteriormente para compilarlo usaremos tsc [Nombre del archivo].ts.&lt;br /&gt;
*'''Usar las herramientas en Visual Studio [[2012]]:''' Microsoft nos da la opción de usar el editor con herramientas específicas dándonos un plugin que podemos descargar en la página oficial de TypeScript.&lt;br /&gt;
*'''Usar las herramientas en Sublime Text, Emacs y Vim:''' no se han olvidado de las personas que no usen o prefieran no usar Virtual Studio, y nos dan la opción de instalar el plugin en nuestro editor favorito.&lt;br /&gt;
*'''Editor online:''' en la web oficial de TypeScript también podemos encontrar un editor y compilador instantáneo que funciona a la perfección.&lt;br /&gt;
 &lt;br /&gt;
==Ventajas que Ofrece==&lt;br /&gt;
*Se trata de un superconjunto de JavaScript&lt;br /&gt;
*Cada programa TypeScript tiene su correspondiente en JavaScript y viceversa&lt;br /&gt;
*Opcionalmente, puede proporcionar un mapeado de las fuentes que permita su depuración&lt;br /&gt;
*Incluye ya propuestas dadas para ECMAScript en su versión 6 –la última aprobada es la 5.1-, como son las clases y los módulos –véase más abajo-&lt;br /&gt;
*Incluye ya la inferencia de tipo en la declaración de variables y funciones. Se trataría de una de las columnas vertebrales del nuevo lenguaje –nótese su propio nombre-&lt;br /&gt;
*Define declaraciones ambiente que son visibles en el ámbito del archivo TS, pero no se propagan en el archivo JS correspondiente, para así poder asimilarse a declaraciones explícitas en navegadores o en librerías específicas, como por ejemplo JQuery&lt;br /&gt;
*El lenguaje en sí es débilmente tipado –tipificado, si se prefiere- y se permiten declaraciones en tiempo de ejecución, de modo que no se atiene a una rigidez de declaraciones tales como en C# o Java&lt;br /&gt;
*Un módulo es un objeto totalmente anónimo, todo lo que se encuentre dentro de él estará oculto al mundo exterior, a menos que se haga visible de manera explícita. Dentro se pueden definir variables, funciones, objetos, clases e interfaces. En el correspondiente archivo JS se traducirán en componentes de un objeto encapsulado&lt;br /&gt;
*Una interfaz es un conjunto de declaraciones de tipo, sin implementaciones de contenido; por ejemplo declaraciones de simplemente el tipo de variables y funciones –pero sólo eso, el tipo-. Son de validez exclusiva en tiempo de compilación y su utilidad principal estriba en la documentación y validación del tipado –o tipificación- correcto(a) de las declaraciones de variables, funciones, …&lt;br /&gt;
*El soporte de clases abarca bastante de lo que cabría esperar –dentro de su simplicidad, que no es momento de tratar-, herencia, accesibilidad pública y privada y sobrecarga, básicamente.&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://programandonet.com/web/primeros-pasos-con-typescript/&lt;br /&gt;
*http://msdn.microsoft.com/es-es/magazine/jj883955.aspx&lt;br /&gt;
*https://www.video2brain.com/mx/cursos/typescript&lt;br /&gt;
*http://blog.koalite.com/2012/10/typescript-un-lenguaje-disenado-para-las-herramientas/&lt;br /&gt;
*http://www.desarrolloweb.com/articulos/microsoft-typescript.html&lt;br /&gt;
*http://www.genbeta.com/herramientas/microsoft-presenta-typescript-su-nuevo-lenguaje-de-programacion&lt;br /&gt;
*http://www.genbetadev.com/javascript/domina-facilmente-typescript&lt;br /&gt;
 &lt;br /&gt;
[[Category:Programación]][[Category:Informática]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Archivo:Type.jpg&amp;diff=2174281</id>
		<title>Archivo:Type.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Archivo:Type.jpg&amp;diff=2174281"/>
		<updated>2014-02-26T21:55:16Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sumario ==&lt;br /&gt;
&lt;br /&gt;
== Estado de copyright: ==&lt;br /&gt;
&lt;br /&gt;
== Fuente: ==&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Archivo:EFax.jpg&amp;diff=2168481</id>
		<title>Archivo:EFax.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Archivo:EFax.jpg&amp;diff=2168481"/>
		<updated>2014-02-20T23:50:06Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sumario ==&lt;br /&gt;
&lt;br /&gt;
== Estado de copyright: ==&lt;br /&gt;
&lt;br /&gt;
== Fuente: ==&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Archivo:Hylafax.png&amp;diff=2166831</id>
		<title>Archivo:Hylafax.png</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Archivo:Hylafax.png&amp;diff=2166831"/>
		<updated>2014-02-18T23:53:36Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sumario ==&lt;br /&gt;
&lt;br /&gt;
== Estado de copyright: ==&lt;br /&gt;
&lt;br /&gt;
== Fuente: ==&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=CoffeeScript&amp;diff=2139040</id>
		<title>CoffeeScript</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=CoffeeScript&amp;diff=2139040"/>
		<updated>2014-01-16T14:06:04Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: Página creada con '{{ Ficha Software |nombre= CoffeeScript |familia=Lenguajes de Programación Estructurada. |imagen=Coffeescript.png |descripción= Lenguaje de Programación Web Estructurada. |cr...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
Ficha Software&lt;br /&gt;
|nombre= CoffeeScript&lt;br /&gt;
|familia=Lenguajes de Programación Estructurada.&lt;br /&gt;
|imagen=Coffeescript.png&lt;br /&gt;
|descripción= Lenguaje de Programación Web Estructurada.&lt;br /&gt;
|creador= Jeremy Ashkenas &lt;br /&gt;
|lanzamiento inicial= [[2010]]&lt;br /&gt;
|idioma= Inglés&lt;br /&gt;
|web: www.CoffeeScript.org  &lt;br /&gt;
}}&lt;br /&gt;
 &lt;br /&gt;
'''CoffeeScript ''' es un [[lenguaje de programación estructurado]] que se compila a JavaScript y que se ha tornado muy popular dentro de la comunidad [[Node.js]] y [[Rails]]. Básicamente es una reescritura sintáctica de [[JavaScript]]. La sintaxis que utiliza CoffeeScript es muy parecida a [[Ruby]] o [[Python]]. El código en archivos .coffee no se interpreta como JavaScript, sino que se compila a archivos .js.&lt;br /&gt;
Este lenguaje inspirado en Ruby, Python y [[Haskell]] permite mejorar la brevedad y la legibilidad de JavaScript, y añade características más sofisticadas, como la comprensión de listas y la coincidencia de patrones. CoffeeScript compila previsiblemente a JavaScript y los programas se pueden escribir por lo general en 1/3 menos de líneas de código sin ningún efecto en el rendimiento ni en el tiempo de ejecución.&lt;br /&gt;
 &lt;br /&gt;
==Historia==&lt;br /&gt;
[[Jeremy Ashkenas]] comenzó con el proyecto CoffeeScript el 13 de Diciembre del [[2009]] con un misterioso e intrigante comentario en su primer commit en GitHub &amp;quot;initial commit of the mystery language&amp;quot;. Comenzó creando el compilador en Ruby pero en apenas 3 meses cambio de idea e hizo que el compilador estuviese escrito con su propio lenguaje, CoffeeScript. El 24 de diciembre, hizo el primer lanzamiento etiquetados y documentados, 0.1.0. El 21 de febrero de [[2010]], publicó la versión 0.5, que sustituyó al compilador de Ruby con uno escrito en CoffeeScript puro El proyecto pronto fue seguido por multitud de desarrolladores en [[GitHub]], donde tanto Jeremy como el resto de contribuyentes añadían nuevas características cada mes.&lt;br /&gt;
El 24 de diciembre de 2010, Ashkenas anunció el lanzamiento de estable 1.0.0 en Hacker News, el sitio donde se anunció el proyecto por primera vez. El lenguaje volvió a tener un empujón en la escena web, cuando en Abril del [[2011]] [[David Heinemeier Hansson]] confirmó los rumores que decían que CoffeeScript iba a estar incluido en la versión 3.1 de [[Ruby on Rails]].&lt;br /&gt;
 &lt;br /&gt;
==Ventajas de utilizar CoffeeScript==&lt;br /&gt;
*Así como los preprocesadores [[CSS]] nos ayudan a escribir CSS de forma más simple, CoffeeScript nos permite trabajar de forma más sencilla con el código JavaScript.&lt;br /&gt;
*Podemos escribir menos código, sabiendo que además vamos a estar siguiendo buenas prácticas y nuestro proyecto será más legible.&lt;br /&gt;
*Es una buena idea leer el resultado compilado de nuestro código, ya que como CoffeeScript sigue patrones establecidos, podemos aprender varias cosas nuevas.&lt;br /&gt;
*Brinda varias Formas de Trabajo.&lt;br /&gt;
 &lt;br /&gt;
==Formas de Trabajo==&lt;br /&gt;
*'''REPL''': Si en la consola escribimos el comando coffee sin parámetros, se abrirá un shell interactivo parecido al IRB de Ruby. Es una buena herramienta para experimentos rápidos.&lt;br /&gt;
*'''Compilación a demanda''': Podemos indicarle a CoffeeScript que queremos compilar todos los archivos de un directorio y que el resultado lo coloque en otro directorio. Para ello, tenemos que ejecutar el siguiente comando: &lt;br /&gt;
 coffee -o directorioSalida/ -c directorioEntrada/&lt;br /&gt;
*'''Compilación al vuelo''': De la forma anterior, cada vez que hacemos un cambio y queremos que se compile, tenemos que ejecutar el comando. Si en su lugar queremos que CoffeScript esté vigilando si hay cambios y que automáticamente compile, podemos ejecutar este comando:&lt;br /&gt;
 coffee -w -o directorioSalida/ -c directorioEntrada/&lt;br /&gt;
*'''Compilación en un solo archivo''': Las opciones anteriores producirán un archivo JavaScript por cada archivo CoffeeScript. Muchos archivos JavaScript incrementan la cantidad de peticiones HTTP del navegador. Para evitarlo, podemos hacer que todos los archivos compilen en uno solo:&lt;br /&gt;
 coffee -j directorioSalida/archivo.js -c directorioEntrada/*.coffee&lt;br /&gt;
==Sintaxis==&lt;br /&gt;
Muchas sentencias de JavaScript se pueden utilizar como expresiones en CoffeeScript, por ejemplo if, switch y for. Estas declaraciones de control también tienen versiones de [[Postfix]]. Un principio general es que muchos de los paréntesis son innecesarios y se pueden omitir ya que la sangría puede ser utilizada en lugar de la llaves para denotar bloques de código, las llamadas a funciones son implícitas (los paréntesis necesarios para una llamada a una función en JavaScript se puede omitir), los literales de objetos son a menudo detectados automáticamente, y así sucesivamente.&lt;br /&gt;
==Compilación==&lt;br /&gt;
El compilador CoffeeScript se ha escrito en CoffeeScript desde la versión 0.5 y está disponible como una utilidad de Node.js, sin embargo, el núcleo del compilador no se basa en Node.js y se puede ejecutar como cualquier JavaScript. Una alternativa a la utilidad de Node.js es el Coffee Maven Plugin, un plugin para el popular sistema de construcción [[Apache Maven]]. El complemento utiliza el motor de JavaScript Rhino, que está escrito en [[Java]]. El sitio oficial [[CoffeeScript.org]] tiene una sección llamada «Try CoffeeScript» en la barra de menú, haciendo clic en él se abre una ventana modal en la que los usuarios pueden introducir código CoffeeScript, ver la salida en JavaScript, y ejecutarlo directamente en el navegador. El sitio js2coffee ofrece traducción bi-direccional.&lt;br /&gt;
==Ejemplos de Código==&lt;br /&gt;
*'''Variables''': En CoffeeScript, las variables no requieren la palabra reservada var. Solamente indicamos su nombre y el valor que va a poseer.&lt;br /&gt;
 nombre = &amp;quot;Minombre&amp;quot;&lt;br /&gt;
 edad = 25&lt;br /&gt;
Con los strings, podemos utilizar el símbolo # seguido de llaves, para agregar el contenido de una variable a otra:&lt;br /&gt;
 // mostrará Minombre Apellido&lt;br /&gt;
 apellido = &amp;quot;#{nombre} Apellido&amp;quot; &lt;br /&gt;
*'''Funciones''': Las funciones se definen de la siguiente manera.    &lt;br /&gt;
    ...&lt;br /&gt;
 No se indica la palabra return, ya que siempre se devuelve el resultado de la última línea de código.&lt;br /&gt;
 saludar = -&amp;gt;&lt;br /&gt;
    &amp;quot;Hola mundo&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 saludo = (nombre) -&amp;gt;&lt;br /&gt;
    &amp;quot;Hola #{nombre}&amp;quot;&lt;br /&gt;
Las funciones pueden llamarse utilizando o no los paréntesis:&lt;br /&gt;
 saludo &amp;quot;Minombre&amp;quot;&lt;br /&gt;
*'''Arreglos''': Se pueden inicializar arreglos de diferentes formas.&lt;br /&gt;
 //'''1 - una sola línea'''&lt;br /&gt;
 arreglo = [&amp;quot;Hola&amp;quot;, &amp;quot;como&amp;quot;, &amp;quot;estan?&amp;quot;]&lt;br /&gt;
 //'''2 - multi línea'''&lt;br /&gt;
 arreglo = [&lt;br /&gt;
    &amp;quot;Hola&amp;quot;, &lt;br /&gt;
    &amp;quot;como&amp;quot;, &lt;br /&gt;
    &amp;quot;estan?&amp;quot;&lt;br /&gt;
 ]&lt;br /&gt;
 // '''3 - sin comas'''&lt;br /&gt;
 arreglo = [&lt;br /&gt;
    &amp;quot;Hola&amp;quot; &lt;br /&gt;
    &amp;quot;como&amp;quot; &lt;br /&gt;
    &amp;quot;estan?&amp;quot;&lt;br /&gt;
 ]&lt;br /&gt;
 //'''4 - mezcla'''&lt;br /&gt;
 arreglo = [&lt;br /&gt;
    &amp;quot;Hola&amp;quot;, &amp;quot;como&amp;quot;, &lt;br /&gt;
    &amp;quot;estan?&amp;quot;&lt;br /&gt;
 ]&lt;br /&gt;
*'''Objetos''': Al crear objetos JSON, podemos evitar las comas y las llaves.&lt;br /&gt;
 Object = &lt;br /&gt;
    miembro: &lt;br /&gt;
        nombre: &amp;quot;Gene Simmons&amp;quot;,&lt;br /&gt;
        instrumento: &amp;quot;bajo&amp;quot;&lt;br /&gt;
    miembro: &lt;br /&gt;
        nombre: &amp;quot;Paul Stanley&amp;quot;,&lt;br /&gt;
        instrumento: &amp;quot;guitarra&amp;quot;&lt;br /&gt;
    miembro: &lt;br /&gt;
        nombre: &amp;quot;Ace Frehley&amp;quot;,&lt;br /&gt;
        instrumento: &amp;quot;guitarra&amp;quot;&lt;br /&gt;
    miembro: &lt;br /&gt;
        nombre: &amp;quot;Peter Criss&amp;quot;,&lt;br /&gt;
        instrumento: &amp;quot;batería&amp;quot;&lt;br /&gt;
*'''Rangos''': Los rangos no son una estructura estándar de JavaScript, por lo cual se compilan como arreglos. Se crean indicando dos enteros separados por dos puntos en medio de corchetes.&lt;br /&gt;
 dias = [1..7]&lt;br /&gt;
*'''Clases''': Las clases se crean indicando la palabra class en conjunto con el nombre de la misma. Los métodos que posea esta, se indican con dos puntos seguidos del operador -&amp;gt;.&lt;br /&gt;
Los atributos de la clase se indican con una arroba.&lt;br /&gt;
 // '''forma 1'''&lt;br /&gt;
 class Auto&lt;br /&gt;
    constructor: (marca) -&amp;gt;&lt;br /&gt;
        @marca = marca&lt;br /&gt;
 &lt;br /&gt;
 // '''forma 2''' - indicando la propiedad en la lista de argumentos&lt;br /&gt;
 class Auto&lt;br /&gt;
    constructor: (@marca) -&amp;gt; &lt;br /&gt;
Para crear una instancia de la clase se utiliza el operador new.&lt;br /&gt;
 miAuto = new Auto&lt;br /&gt;
*'''Equivalencias''': CoffeeScript nos provee de alias para los operadores de JavaScript, lo cual ayuda a que nuestro código sea más legible.&lt;br /&gt;
 COFFEESCRIPT            JAVASCRIPT&lt;br /&gt;
 is                      ===&lt;br /&gt;
 isnt                    !==&lt;br /&gt;
 not                     !&lt;br /&gt;
 and                     &amp;amp;&amp;amp;&lt;br /&gt;
 or                      ||&lt;br /&gt;
 yes, on                 true&lt;br /&gt;
 no, off                 false&lt;br /&gt;
 of                      in&lt;br /&gt;
Por ejemplo:&lt;br /&gt;
 //''' CoffeeScript'''&lt;br /&gt;
 mostrar() if luz is on&lt;br /&gt;
 &lt;br /&gt;
 //''' JavaScript'''&lt;br /&gt;
 if(luz === true) {&lt;br /&gt;
    mostrar();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Además, nos provee de un operador nuevo llamado &amp;quot;operador existencial&amp;quot;; el cual es un signo de pregunta ?. Este operador nos devuelve verdadero a menos que la variable sea null o undefined.&lt;br /&gt;
 // '''CoffeeScript'''&lt;br /&gt;
 volumen = 5 if musica?&lt;br /&gt;
 &lt;br /&gt;
 // '''JavaScript'''&lt;br /&gt;
 if(typeof musica !== &amp;quot;undefined&amp;quot; &amp;amp;&amp;amp; musica !== null) {&lt;br /&gt;
    volumen = 5;&lt;br /&gt;
 }&lt;br /&gt;
==Referencias==&lt;br /&gt;
* http://www.slideshare.net/febuiles/coffeescript-en-cinco-minutos# &lt;br /&gt;
* http://jashkenas.github.com/coffee-script/&lt;br /&gt;
* https://github.com/jashkenas/coffee-script&lt;br /&gt;
* http://nebaris.com/post/90/introduccion-a-coffeescript&lt;br /&gt;
* http://carlossanchezperez.wordpress.com/2013/06/16/antes-de-meterte-en-coffeescript-recomendable-haber-pasado-por-javascript-primera-parte/  &lt;br /&gt;
[[Category:Programación]][[Category:Informática]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Archivo:Coffeescript.png&amp;diff=2139029</id>
		<title>Archivo:Coffeescript.png</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Archivo:Coffeescript.png&amp;diff=2139029"/>
		<updated>2014-01-16T14:01:36Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sumario ==&lt;br /&gt;
&lt;br /&gt;
== Estado de copyright: ==&lt;br /&gt;
&lt;br /&gt;
== Fuente: ==&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=XBase_%2B%2B&amp;diff=2100551</id>
		<title>XBase ++</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=XBase_%2B%2B&amp;diff=2100551"/>
		<updated>2013-12-04T14:54:25Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: Página creada con '{{Ficha Software |nombre= XBase ++ |familia= Lenguajes de Programación Orientado a Objetos |imagen=Xbase.jpg |tamaño= |descripción= XBase ++ POO |imagen2= |tamaño2= |descrip...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= XBase ++&lt;br /&gt;
|familia= Lenguajes de Programación Orientado a Objetos&lt;br /&gt;
|imagen=Xbase.jpg&lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción= XBase ++ POO&lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador= &lt;br /&gt;
|desarrollador= &lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|lanzamiento inicial= &lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos= &lt;br /&gt;
|idioma= &lt;br /&gt;
|licencia= &lt;br /&gt;
|premios=&lt;br /&gt;
|web= &lt;br /&gt;
}}&lt;br /&gt;
 &lt;br /&gt;
'''XBase ++''' es un [[lenguaje de programación]] desarrollado por [[Alaska Software Inc]], una empresa germano-americana, totalmente compatible con Clipper 5.2, soportando la [[programación orientada a objetos]], la [[herencia múltiple]] y el [[polimorfismo]]. Soporta todos los tipos nativos de xBase, incluyendo los Codeblocks. Permite generar aplicaciones [[Windows]] NT / 2000 / XP (32 bits) y 95 / 98 / ME.&lt;br /&gt;
==Surgimiento==&lt;br /&gt;
XBase++ nació tras la decisión de Computer Associates de abandonar [[Clipper]] para volcarse en Visual Objects. El fracaso de V.O. como sustituto de Clipper provoca que comiencen a desarrollarse primero bibliotecas de terceros para dotarlo de soporte Windows, y luego de compiladores alternativos como XBase++ que soporten la síntaxis de Clipper 5.2 (la versión más popular), expandiendo el soporte a aplicaciones de 32 bits&lt;br /&gt;
 &lt;br /&gt;
==Soporte==&lt;br /&gt;
XBase++ soporta tanto las viejas sentencias @SAY/GET para definir formularios aunque también dispone de un editor gráfico de formularios similar al de Visual Foxpro. Cuenta asimismo con un entorno de desarrollo visual, soporte de ficheros OEM (formato DOS) y ANSI (Windows), un depurador integrado y un compilador de recursos para poder añadir iconos y gráficos a la aplicación. Puede generar ficheros EXE o DLL.&lt;br /&gt;
 &lt;br /&gt;
==RDD==&lt;br /&gt;
Xbase++ soporta los Replaceable Database Drivers (RDD, que permiten el soporte de múltiples formatos de base de datos, pudiendo ser desarrollados por terceros) de Clipper mediante sus DatabaseEngines (DBEs). El paquete incluye soporte para DBF, FOX, NTX, CDX, SDF y DEL. Soporta CORBA 2.0, los formatos de Visual FoxPro 3.0 a 5.0, y acceso a servidores [[SQL]].&lt;br /&gt;
 &lt;br /&gt;
==XBase==&lt;br /&gt;
xBase es el término genérico para todos los lenguajes de programación que derivan del lenguaje de programación dBase, originalmente publicado por Ashton-Tate. &lt;br /&gt;
La 'x' significa que existen diversos intérpretes y compiladores para este lenguaje. Entre ellos:&lt;br /&gt;
*dBase / Visual dBASE de dBASE Inc.&lt;br /&gt;
*(dBXL/Arago) QuickSilver&lt;br /&gt;
*Clipper de GrafxSoft&lt;br /&gt;
*FoxPro&lt;br /&gt;
*Visual FoxPro de Microsoft&lt;br /&gt;
*xBase++ de Alaska Software&lt;br /&gt;
*Recital de Recital Corp.&lt;br /&gt;
*Visual FlagShip de multisoft GmbH&lt;br /&gt;
*Clip&lt;br /&gt;
*Proyecto Harbour&lt;br /&gt;
*xHarbour&lt;br /&gt;
Ante el éxito de dBase, y la inexistencia de un compilador que generara ejecutables independientes (lo que obligaba a tener cargado dBase en memoria, y a haber comprado el producto completo si se quería usar un desarrollo en dBase), hizo que proliferaran los compiladores de terceros, que no sólo soportaban la sintaxis de dBase II/dBase III sino que la ampliaban y añadían características, superando en calidad al producto. Por otro lado esas extensiones propietarias impedían que ocurriera como en [[COBOL]] o [[C]], que un programa podía portarse entre compiladores con respetar las normas estandarizadas. Ashton-Tate inició acciones judiciales contra todos los productos xBase de su tiempo alegando que el lenguaje era de su propiedad, y sólo con dBase IV incluyó un compilador. Tras su compra por [[Borland]], estas acciones fueron retiradas y Borland promovió el que se declara xBase como estándar ANSI. Pero no logran un acuedo al no estar dispuestos a ceder sus extensiones o a cambiar su síntaxis, pese a reconocer todos la necesidad de un estándar.&lt;br /&gt;
En [[1993]], la editorial de libros de informática Sybex, Inc. publica '''Xbase Cross Reference Handbook'''  de Sheldon M. Dunn, una referencia cruzada de los lenguajes xBase más usados del momento (dBASE III+, dBASE IV, FoxPro para DOS, FoxPro para Windows, FoxPro para Macintosh y Clipper 5.1). Con 1352 páginas y un peso de 5.1  libras, se convierte en la biblia de los programadores xBase (sobre todo aquellos que deben simultanear diferentes entornos), y resuelve uno de los principales problemas documentales de la comunidad de usuarios. Tras esto, las compañías de soft deciden dividir sus manuales separando comandos de funciones, etc, y dividiendo el manual previo en 2 o 3 manuales, cada uno centrado en un tema. 1993 es también un punto de inflexión, al coincidir las compras de Ashton-Tate por Borland y la de Fox Software por Microsoft. Borland ha comprado también QuickSilver para dotarse de una base de desarrolladores con que encarar el lanzamiento de una versión de dBase para Windows (por entonces 3.1). En 1994, Borland lanzará dBase V para Windows y dBase V para DOS. Tras del fracaso comercial venderá el nombre y la línea de productos dBase a dBase Inc. &lt;br /&gt;
La decisión de Computer Associates de abandonar Clipper para volcarse en Visual Objects (que se saldará con otro fracaso sonado), provoca que se inicie una lenta migración a Visual FoxPro de parte de los desarrolladores xBase (al ser la única herramienta comercial completa disponible). Otra parte migrará a Delphi. Pero por otro lado se inicia el desarrollo de bibliotecas que doten a Clipper de soporte en Windows (la de mayor éxito será FiveWin), y comienzan a desarrollarse compiladores que soporten la síntaxis y herramientas de terceros de Clipper 5.2 (será el inicio de compiladores como xBase++). El ascenso de Linux y el movimiento de código abierto motivará a una comunidad ya acostumbrada a desarrollar y mantener bibliotecas gratuitas mediante BBS a desarrollar sus propios compiladores, varios de ellos respaldados por desarrolladores de herramientas comerciales con amplia experiencia en el mundo xBase.&lt;br /&gt;
==Fuentes==&lt;br /&gt;
* http://www.xbase.com ‎ &lt;br /&gt;
* Foro de programación Xbase++ en español.&lt;br /&gt;
==Referencias==&lt;br /&gt;
* http://www.xailer.com‎  &lt;br /&gt;
* http://www.xbase.ac.uk &lt;br /&gt;
* http://linux.techass.com/projects/xdb/&lt;br /&gt;
* http://stayatbase.com/base-backpackers-base-xbase  &lt;br /&gt;
* http://colibase.bham.ac.uk &lt;br /&gt;
[[Category:Programación]][[Category:Informática]]&lt;br /&gt;
[[Category:Lenguajes_de_programación_orientada_a_objetos]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Archivo:Xbase.jpg&amp;diff=2100533</id>
		<title>Archivo:Xbase.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Archivo:Xbase.jpg&amp;diff=2100533"/>
		<updated>2013-12-04T14:52:34Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sumario ==&lt;br /&gt;
&lt;br /&gt;
== Estado de copyright: ==&lt;br /&gt;
&lt;br /&gt;
== Fuente: ==&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Game_Develop&amp;diff=2008431</id>
		<title>Game Develop</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Game_Develop&amp;diff=2008431"/>
		<updated>2013-07-31T18:54:43Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: /* Ejemplos de Juegos con Game Gevelop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Game Develop&lt;br /&gt;
|familia= &lt;br /&gt;
|imagen=Screen2.png &lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción= &lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador= &lt;br /&gt;
|desarrollador= &lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|lanzamiento inicial= &lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos= Win XP / Vista / W7 / W8&lt;br /&gt;
|idioma= Inglés, Francés&lt;br /&gt;
|licencia= Gratis.&lt;br /&gt;
|premios=&lt;br /&gt;
|web= &lt;br /&gt;
}}&lt;br /&gt;
'''Game Develop''' es un software gratuito de creación de juegos, lo que permite hacer juegos para la web (HTML5) o para [[Windows]] y [[Linux]]. No se requiere programación o codificación de habilidad. Es fácil de usar y lo suficientemente potente como para usuarios avanzados.&lt;br /&gt;
Es una herramienta que permite crear juegos en [[2D]] con una facilidad impresionante, sin necesidad de conocer ningún lenguaje de programación y lo mejor de todo, es que el juego que crearemos estará perfectamente personalizado para cumplir nuestros requerimientos.&lt;br /&gt;
==Características==&lt;br /&gt;
*Game Develop es una interesante aplicación que será el sueño hecho realidad de todos aquellos jugadores que desean crear su propio juego, pero que no tienen conocimientos de programación.&lt;br /&gt;
&lt;br /&gt;
*Game Develop nos permitirá crear juegos en 2D con una facilidad impresionante, sin necesidad de conocer ningún lenguaje de programación y lo mejor de todo, es que el juego que crearemos estará perfectamente personalizado para cumplir nuestros requerimientos.&lt;br /&gt;
&lt;br /&gt;
*Game Develop cuenta con una interfaz de usuario sumamente intuitiva y muy sencilla de utilizar. Con esta aplicación podemos ir creando las ambientaciones y los personajes que integrarán nuestro juego de manera visual, sin tener que teclear ningún tipo de código.&lt;br /&gt;
&lt;br /&gt;
*Una de las características más destacables de Game Develop  es la capacidad de personalización del juego a crear, ya que podemos especificar cada uno de los eventos creados, incluir unos de [[Mouse]] o [[joystick]], adicionar efectos de sonido y banda sonora, así como también incluir el tipo de dificultad y obstáculos que se nos antoje.&lt;br /&gt;
&lt;br /&gt;
*Aclarar que Game Develop posee su propio compilador, capaz de exportar los juegos realizados a aplicaciones para Windows, Linux y Mac OS. ¡Y no es necesario que otras personas tengan el Game Develop para poder jugarlos! ya que los exporta de forma completa.&lt;br /&gt;
&lt;br /&gt;
*Si siempre has soñado con crear tu propio juego, puedes probar Game Develop, una aplicación con la que podrás realizar videojuegos en 2D.&lt;br /&gt;
&lt;br /&gt;
==Eventos, Condiciones y Acciones==&lt;br /&gt;
'''Eventos:''' Es la acción que necesita suceder para ejecutar lo que deseemos.&lt;br /&gt;
Ejemplos de eventos:&lt;br /&gt;
*Que la hora del día sea una determinada (12:00 a mediodía).&lt;br /&gt;
*Que una unidad muera, reciba daño, ataque, etc.&lt;br /&gt;
*Al iniciar el mapa, entre otros.&lt;br /&gt;
&lt;br /&gt;
'''Condiciones:''' Podrían compararse en cierta forma con los eventos, así, si el evento se cumple, deben cumplirse también las condiciones que lo acompañan para realizar las acciones, Ejemplos de condiciones:&lt;br /&gt;
*Que la vida o la magia de cierta unidad sea mayor a cierto valor.&lt;br /&gt;
*Que el número de edificios de cierto jugador sea igual a 0.&lt;br /&gt;
*Que la cantidad de oro o madera de determinado jugador sea menor a cierto valor.&lt;br /&gt;
&lt;br /&gt;
'''Acciones:''' Pueden ser muy cortas en caso de acciones simples, o llevar muchas líneas de acciones, por ejemplo, en una línea cinematográfica, hay muchísimas acciones, algunas son:&lt;br /&gt;
*Mover, hacer atacar, hacer patrullar, una unidad.&lt;br /&gt;
*Matar, dañar, destruir, explotar, una unidad, un árbol, etc.&lt;br /&gt;
*Modificar variables, activar detonadores, mover las cámaras, esperar, etc.&lt;br /&gt;
&lt;br /&gt;
Con este último ejemplo también habrán recordado las variables, valores modificables que pueden ser utilizados en cualquier lado, sustituyendo cosas como nombres de jugadores, unidades, cantidades para modificar la vida, magia, oro, etc.&lt;br /&gt;
&lt;br /&gt;
==Versiones==&lt;br /&gt;
Hay dos versiones de Game Develop:&lt;br /&gt;
*La versión para Linux (más precisamente Ubuntu)&lt;br /&gt;
*La versión para Windows, perfectamente estable.&lt;br /&gt;
 &lt;br /&gt;
==Ejemplos de Juegos con Game Gevelop==&lt;br /&gt;
*Ecce Deus [No menciona al autor] Un impresionante minijuego; debes lograr que pequeños seres habitando su mundo sean parte de tu religión, la victoria se logra transformando o destruyendo (utilizando fuego, relámpagos, terremotos) a los oponentes pertenecientes a la religión del Dios contra el cuál peleamos, el cual hará de las suyas para convertir a los nuestros.&lt;br /&gt;
*Drift Roads (Autor: Donut_prod)&lt;br /&gt;
*Minotaure (Autor: Juhlenedni) Un juego basado en laberintos, trampas y tu astucia para sortearlos.&lt;br /&gt;
*Bloody Zombies! (Autor: Donut_prod) Un survival de zombies, mata zombies para conseguir munición, y consigue munición para matar zombies.&lt;br /&gt;
&lt;br /&gt;
==Fuentes==&lt;br /&gt;
*Manual de Game develop&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://www.compilgames.net&lt;br /&gt;
*http://www.gamedev.net/&lt;br /&gt;
*http://game-develop.softonic.com/‎&lt;br /&gt;
*http://www.gdmag.com/‎&lt;br /&gt;
*http://www.adobe.com/devnet/games.html‎&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Game_Develop&amp;diff=2008430</id>
		<title>Game Develop</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Game_Develop&amp;diff=2008430"/>
		<updated>2013-07-31T18:53:45Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: /* Ejemplos de Juegos con Game Gevelop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Game Develop&lt;br /&gt;
|familia= &lt;br /&gt;
|imagen=Screen2.png &lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción= &lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador= &lt;br /&gt;
|desarrollador= &lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|lanzamiento inicial= &lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos= Win XP / Vista / W7 / W8&lt;br /&gt;
|idioma= Inglés, Francés&lt;br /&gt;
|licencia= Gratis.&lt;br /&gt;
|premios=&lt;br /&gt;
|web= &lt;br /&gt;
}}&lt;br /&gt;
'''Game Develop''' es un software gratuito de creación de juegos, lo que permite hacer juegos para la web (HTML5) o para [[Windows]] y [[Linux]]. No se requiere programación o codificación de habilidad. Es fácil de usar y lo suficientemente potente como para usuarios avanzados.&lt;br /&gt;
Es una herramienta que permite crear juegos en [[2D]] con una facilidad impresionante, sin necesidad de conocer ningún lenguaje de programación y lo mejor de todo, es que el juego que crearemos estará perfectamente personalizado para cumplir nuestros requerimientos.&lt;br /&gt;
==Características==&lt;br /&gt;
*Game Develop es una interesante aplicación que será el sueño hecho realidad de todos aquellos jugadores que desean crear su propio juego, pero que no tienen conocimientos de programación.&lt;br /&gt;
&lt;br /&gt;
*Game Develop nos permitirá crear juegos en 2D con una facilidad impresionante, sin necesidad de conocer ningún lenguaje de programación y lo mejor de todo, es que el juego que crearemos estará perfectamente personalizado para cumplir nuestros requerimientos.&lt;br /&gt;
&lt;br /&gt;
*Game Develop cuenta con una interfaz de usuario sumamente intuitiva y muy sencilla de utilizar. Con esta aplicación podemos ir creando las ambientaciones y los personajes que integrarán nuestro juego de manera visual, sin tener que teclear ningún tipo de código.&lt;br /&gt;
&lt;br /&gt;
*Una de las características más destacables de Game Develop  es la capacidad de personalización del juego a crear, ya que podemos especificar cada uno de los eventos creados, incluir unos de [[Mouse]] o [[joystick]], adicionar efectos de sonido y banda sonora, así como también incluir el tipo de dificultad y obstáculos que se nos antoje.&lt;br /&gt;
&lt;br /&gt;
*Aclarar que Game Develop posee su propio compilador, capaz de exportar los juegos realizados a aplicaciones para Windows, Linux y Mac OS. ¡Y no es necesario que otras personas tengan el Game Develop para poder jugarlos! ya que los exporta de forma completa.&lt;br /&gt;
&lt;br /&gt;
*Si siempre has soñado con crear tu propio juego, puedes probar Game Develop, una aplicación con la que podrás realizar videojuegos en 2D.&lt;br /&gt;
&lt;br /&gt;
==Eventos, Condiciones y Acciones==&lt;br /&gt;
'''Eventos:''' Es la acción que necesita suceder para ejecutar lo que deseemos.&lt;br /&gt;
Ejemplos de eventos:&lt;br /&gt;
*Que la hora del día sea una determinada (12:00 a mediodía).&lt;br /&gt;
*Que una unidad muera, reciba daño, ataque, etc.&lt;br /&gt;
*Al iniciar el mapa, entre otros.&lt;br /&gt;
&lt;br /&gt;
'''Condiciones:''' Podrían compararse en cierta forma con los eventos, así, si el evento se cumple, deben cumplirse también las condiciones que lo acompañan para realizar las acciones, Ejemplos de condiciones:&lt;br /&gt;
*Que la vida o la magia de cierta unidad sea mayor a cierto valor.&lt;br /&gt;
*Que el número de edificios de cierto jugador sea igual a 0.&lt;br /&gt;
*Que la cantidad de oro o madera de determinado jugador sea menor a cierto valor.&lt;br /&gt;
&lt;br /&gt;
'''Acciones:''' Pueden ser muy cortas en caso de acciones simples, o llevar muchas líneas de acciones, por ejemplo, en una línea cinematográfica, hay muchísimas acciones, algunas son:&lt;br /&gt;
*Mover, hacer atacar, hacer patrullar, una unidad.&lt;br /&gt;
*Matar, dañar, destruir, explotar, una unidad, un árbol, etc.&lt;br /&gt;
*Modificar variables, activar detonadores, mover las cámaras, esperar, etc.&lt;br /&gt;
&lt;br /&gt;
Con este último ejemplo también habrán recordado las variables, valores modificables que pueden ser utilizados en cualquier lado, sustituyendo cosas como nombres de jugadores, unidades, cantidades para modificar la vida, magia, oro, etc.&lt;br /&gt;
&lt;br /&gt;
==Versiones==&lt;br /&gt;
Hay dos versiones de Game Develop:&lt;br /&gt;
*La versión para Linux (más precisamente Ubuntu)&lt;br /&gt;
*La versión para Windows, perfectamente estable.&lt;br /&gt;
 &lt;br /&gt;
==Ejemplos de Juegos con Game Gevelop==&lt;br /&gt;
[[Archivo:111.jpg|200px]][[Archivo:wa.jpg|200px]]&lt;br /&gt;
*Ecce Deus [No menciona al autor] Un impresionante minijuego; debes lograr que pequeños seres habitando su mundo sean parte de tu religión, la victoria se logra transformando o destruyendo (utilizando fuego, relámpagos, terremotos) a los oponentes pertenecientes a la religión del Dios contra el cuál peleamos, el cual hará de las suyas para convertir a los nuestros.&lt;br /&gt;
&lt;br /&gt;
*Drift Roads (Autor: Donut_prod)&lt;br /&gt;
*Minotaure (Autor: Juhlenedni) Un juego basado en laberintos, trampas y tu astucia para sortearlos.&lt;br /&gt;
*Bloody Zombies! (Autor: Donut_prod) Un survival de zombies, mata zombies para conseguir munición, y consigue munición para matar zombies.&lt;br /&gt;
&lt;br /&gt;
==Fuentes==&lt;br /&gt;
*Manual de Game develop&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://www.compilgames.net&lt;br /&gt;
*http://www.gamedev.net/&lt;br /&gt;
*http://game-develop.softonic.com/‎&lt;br /&gt;
*http://www.gdmag.com/‎&lt;br /&gt;
*http://www.adobe.com/devnet/games.html‎&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Game_Develop&amp;diff=2008426</id>
		<title>Game Develop</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Game_Develop&amp;diff=2008426"/>
		<updated>2013-07-31T18:53:11Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Game Develop&lt;br /&gt;
|familia= &lt;br /&gt;
|imagen=Screen2.png &lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción= &lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador= &lt;br /&gt;
|desarrollador= &lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|lanzamiento inicial= &lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos= Win XP / Vista / W7 / W8&lt;br /&gt;
|idioma= Inglés, Francés&lt;br /&gt;
|licencia= Gratis.&lt;br /&gt;
|premios=&lt;br /&gt;
|web= &lt;br /&gt;
}}&lt;br /&gt;
'''Game Develop''' es un software gratuito de creación de juegos, lo que permite hacer juegos para la web (HTML5) o para [[Windows]] y [[Linux]]. No se requiere programación o codificación de habilidad. Es fácil de usar y lo suficientemente potente como para usuarios avanzados.&lt;br /&gt;
Es una herramienta que permite crear juegos en [[2D]] con una facilidad impresionante, sin necesidad de conocer ningún lenguaje de programación y lo mejor de todo, es que el juego que crearemos estará perfectamente personalizado para cumplir nuestros requerimientos.&lt;br /&gt;
==Características==&lt;br /&gt;
*Game Develop es una interesante aplicación que será el sueño hecho realidad de todos aquellos jugadores que desean crear su propio juego, pero que no tienen conocimientos de programación.&lt;br /&gt;
&lt;br /&gt;
*Game Develop nos permitirá crear juegos en 2D con una facilidad impresionante, sin necesidad de conocer ningún lenguaje de programación y lo mejor de todo, es que el juego que crearemos estará perfectamente personalizado para cumplir nuestros requerimientos.&lt;br /&gt;
&lt;br /&gt;
*Game Develop cuenta con una interfaz de usuario sumamente intuitiva y muy sencilla de utilizar. Con esta aplicación podemos ir creando las ambientaciones y los personajes que integrarán nuestro juego de manera visual, sin tener que teclear ningún tipo de código.&lt;br /&gt;
&lt;br /&gt;
*Una de las características más destacables de Game Develop  es la capacidad de personalización del juego a crear, ya que podemos especificar cada uno de los eventos creados, incluir unos de [[Mouse]] o [[joystick]], adicionar efectos de sonido y banda sonora, así como también incluir el tipo de dificultad y obstáculos que se nos antoje.&lt;br /&gt;
&lt;br /&gt;
*Aclarar que Game Develop posee su propio compilador, capaz de exportar los juegos realizados a aplicaciones para Windows, Linux y Mac OS. ¡Y no es necesario que otras personas tengan el Game Develop para poder jugarlos! ya que los exporta de forma completa.&lt;br /&gt;
&lt;br /&gt;
*Si siempre has soñado con crear tu propio juego, puedes probar Game Develop, una aplicación con la que podrás realizar videojuegos en 2D.&lt;br /&gt;
&lt;br /&gt;
==Eventos, Condiciones y Acciones==&lt;br /&gt;
'''Eventos:''' Es la acción que necesita suceder para ejecutar lo que deseemos.&lt;br /&gt;
Ejemplos de eventos:&lt;br /&gt;
*Que la hora del día sea una determinada (12:00 a mediodía).&lt;br /&gt;
*Que una unidad muera, reciba daño, ataque, etc.&lt;br /&gt;
*Al iniciar el mapa, entre otros.&lt;br /&gt;
&lt;br /&gt;
'''Condiciones:''' Podrían compararse en cierta forma con los eventos, así, si el evento se cumple, deben cumplirse también las condiciones que lo acompañan para realizar las acciones, Ejemplos de condiciones:&lt;br /&gt;
*Que la vida o la magia de cierta unidad sea mayor a cierto valor.&lt;br /&gt;
*Que el número de edificios de cierto jugador sea igual a 0.&lt;br /&gt;
*Que la cantidad de oro o madera de determinado jugador sea menor a cierto valor.&lt;br /&gt;
&lt;br /&gt;
'''Acciones:''' Pueden ser muy cortas en caso de acciones simples, o llevar muchas líneas de acciones, por ejemplo, en una línea cinematográfica, hay muchísimas acciones, algunas son:&lt;br /&gt;
*Mover, hacer atacar, hacer patrullar, una unidad.&lt;br /&gt;
*Matar, dañar, destruir, explotar, una unidad, un árbol, etc.&lt;br /&gt;
*Modificar variables, activar detonadores, mover las cámaras, esperar, etc.&lt;br /&gt;
&lt;br /&gt;
Con este último ejemplo también habrán recordado las variables, valores modificables que pueden ser utilizados en cualquier lado, sustituyendo cosas como nombres de jugadores, unidades, cantidades para modificar la vida, magia, oro, etc.&lt;br /&gt;
&lt;br /&gt;
==Versiones==&lt;br /&gt;
Hay dos versiones de Game Develop:&lt;br /&gt;
*La versión para Linux (más precisamente Ubuntu)&lt;br /&gt;
*La versión para Windows, perfectamente estable.&lt;br /&gt;
 &lt;br /&gt;
==Ejemplos de Juegos con Game Gevelop==&lt;br /&gt;
[Archivo:111.jpg|200px]][[Archivo:wa.jpg|200px]]&lt;br /&gt;
*Ecce Deus [No menciona al autor] Un impresionante minijuego; debes lograr que pequeños seres habitando su mundo sean parte de tu religión, la victoria se logra transformando o destruyendo (utilizando fuego, relámpagos, terremotos) a los oponentes pertenecientes a la religión del Dios contra el cuál peleamos, el cual hará de las suyas para convertir a los nuestros.&lt;br /&gt;
&lt;br /&gt;
*Drift Roads (Autor: Donut_prod)&lt;br /&gt;
*Minotaure (Autor: Juhlenedni) Un juego basado en laberintos, trampas y tu astucia para sortearlos.&lt;br /&gt;
*Bloody Zombies! (Autor: Donut_prod) Un survival de zombies, mata zombies para conseguir munición, y consigue munición para matar zombies.&lt;br /&gt;
&lt;br /&gt;
==Fuentes==&lt;br /&gt;
*Manual de Game develop&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://www.compilgames.net&lt;br /&gt;
*http://www.gamedev.net/&lt;br /&gt;
*http://game-develop.softonic.com/‎&lt;br /&gt;
*http://www.gdmag.com/‎&lt;br /&gt;
*http://www.adobe.com/devnet/games.html‎&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Game_Develop&amp;diff=2008420</id>
		<title>Game Develop</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Game_Develop&amp;diff=2008420"/>
		<updated>2013-07-31T18:51:07Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: /* Ejemplos de Juegos con Game Gevelop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Game Develop&lt;br /&gt;
|familia= &lt;br /&gt;
|imagen=Screen2.png &lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción= &lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador= &lt;br /&gt;
|desarrollador= &lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|lanzamiento inicial= &lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos= Win XP / Vista / W7 / W8&lt;br /&gt;
|idioma= Inglés, Francés&lt;br /&gt;
|licencia= Gratis.&lt;br /&gt;
|premios=&lt;br /&gt;
|web= &lt;br /&gt;
}}&lt;br /&gt;
'''Game Develop''' es un software gratuito de creación de juegos, lo que permite hacer juegos para la web (HTML5) o para [[Windows]] y [[Linux]]. No se requiere programación o codificación de habilidad. Es fácil de usar y lo suficientemente potente como para usuarios avanzados.&lt;br /&gt;
Es una herramienta que permite crear juegos en [[2D]] con una facilidad impresionante, sin necesidad de conocer ningún lenguaje de programación y lo mejor de todo, es que el juego que crearemos estará perfectamente personalizado para cumplir nuestros requerimientos.&lt;br /&gt;
==Características==&lt;br /&gt;
*Game Develop es una interesante aplicación que será el sueño hecho realidad de todos aquellos jugadores que desean crear su propio juego, pero que no tienen conocimientos de programación.&lt;br /&gt;
&lt;br /&gt;
*Game Develop nos permitirá crear juegos en 2D con una facilidad impresionante, sin necesidad de conocer ningún lenguaje de programación y lo mejor de todo, es que el juego que crearemos estará perfectamente personalizado para cumplir nuestros requerimientos.&lt;br /&gt;
&lt;br /&gt;
*Game Develop cuenta con una interfaz de usuario sumamente intuitiva y muy sencilla de utilizar. Con esta aplicación podemos ir creando las ambientaciones y los personajes que integrarán nuestro juego de manera visual, sin tener que teclear ningún tipo de código.&lt;br /&gt;
&lt;br /&gt;
*Una de las características más destacables de Game Develop  es la capacidad de personalización del juego a crear, ya que podemos especificar cada uno de los eventos creados, incluir unos de [[Mouse]] o [[joystick]], adicionar efectos de sonido y banda sonora, así como también incluir el tipo de dificultad y obstáculos que se nos antoje.&lt;br /&gt;
&lt;br /&gt;
*Aclarar que Game Develop posee su propio compilador, capaz de exportar los juegos realizados a aplicaciones para Windows, Linux y Mac OS. ¡Y no es necesario que otras personas tengan el Game Develop para poder jugarlos! ya que los exporta de forma completa.&lt;br /&gt;
&lt;br /&gt;
*Si siempre has soñado con crear tu propio juego, puedes probar Game Develop, una aplicación con la que podrás realizar videojuegos en 2D.&lt;br /&gt;
&lt;br /&gt;
==Eventos, Condiciones y Acciones==&lt;br /&gt;
'''Eventos:''' Es la acción que necesita suceder para ejecutar lo que deseemos.&lt;br /&gt;
Ejemplos de eventos:&lt;br /&gt;
*Que la hora del día sea una determinada (12:00 a mediodía).&lt;br /&gt;
*Que una unidad muera, reciba daño, ataque, etc.&lt;br /&gt;
*Al iniciar el mapa, entre otros.&lt;br /&gt;
&lt;br /&gt;
'''Condiciones:''' Podrían compararse en cierta forma con los eventos, así, si el evento se cumple, deben cumplirse también las condiciones que lo acompañan para realizar las acciones, Ejemplos de condiciones:&lt;br /&gt;
*Que la vida o la magia de cierta unidad sea mayor a cierto valor.&lt;br /&gt;
*Que el número de edificios de cierto jugador sea igual a 0.&lt;br /&gt;
*Que la cantidad de oro o madera de determinado jugador sea menor a cierto valor.&lt;br /&gt;
&lt;br /&gt;
'''Acciones:''' Pueden ser muy cortas en caso de acciones simples, o llevar muchas líneas de acciones, por ejemplo, en una línea cinematográfica, hay muchísimas acciones, algunas son:&lt;br /&gt;
*Mover, hacer atacar, hacer patrullar, una unidad.&lt;br /&gt;
*Matar, dañar, destruir, explotar, una unidad, un árbol, etc.&lt;br /&gt;
*Modificar variables, activar detonadores, mover las cámaras, esperar, etc.&lt;br /&gt;
&lt;br /&gt;
Con este último ejemplo también habrán recordado las variables, valores modificables que pueden ser utilizados en cualquier lado, sustituyendo cosas como nombres de jugadores, unidades, cantidades para modificar la vida, magia, oro, etc.&lt;br /&gt;
&lt;br /&gt;
==Versiones==&lt;br /&gt;
Hay dos versiones de Game Develop:&lt;br /&gt;
*La versión para Linux (más precisamente Ubuntu)&lt;br /&gt;
*La versión para Windows, perfectamente estable.&lt;br /&gt;
 &lt;br /&gt;
==Ejemplos de Juegos con Game Gevelop==&lt;br /&gt;
[[Archivo:111.jpg|200px|thumb|right]][[Archivo:222.jpg|200px|thumb|right]]&lt;br /&gt;
*Ecce Deus [No menciona al autor] Un impresionante minijuego; debes lograr que pequeños seres habitando su mundo sean parte de tu religión, la victoria se logra transformando o destruyendo (utilizando fuego, relámpagos, terremotos) a los oponentes pertenecientes a la religión del Dios contra el cuál peleamos, el cual hará de las suyas para convertir a los nuestros.&lt;br /&gt;
&lt;br /&gt;
*Drift Roads (Autor: Donut_prod)&lt;br /&gt;
*Minotaure (Autor: Juhlenedni) Un juego basado en laberintos, trampas y tu astucia para sortearlos.&lt;br /&gt;
*Bloody Zombies! (Autor: Donut_prod) Un survival de zombies, mata zombies para conseguir munición, y consigue munición para matar zombies.&lt;br /&gt;
&lt;br /&gt;
==Fuentes==&lt;br /&gt;
*Manual de Game develop&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://www.compilgames.net&lt;br /&gt;
*http://www.gamedev.net/&lt;br /&gt;
*http://game-develop.softonic.com/‎&lt;br /&gt;
*http://www.gdmag.com/‎&lt;br /&gt;
*http://www.adobe.com/devnet/games.html‎&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Game_Develop&amp;diff=2008415</id>
		<title>Game Develop</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Game_Develop&amp;diff=2008415"/>
		<updated>2013-07-31T18:50:29Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Game Develop&lt;br /&gt;
|familia= &lt;br /&gt;
|imagen=Screen2.png &lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción= &lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador= &lt;br /&gt;
|desarrollador= &lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|lanzamiento inicial= &lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos= Win XP / Vista / W7 / W8&lt;br /&gt;
|idioma= Inglés, Francés&lt;br /&gt;
|licencia= Gratis.&lt;br /&gt;
|premios=&lt;br /&gt;
|web= &lt;br /&gt;
}}&lt;br /&gt;
'''Game Develop''' es un software gratuito de creación de juegos, lo que permite hacer juegos para la web (HTML5) o para [[Windows]] y [[Linux]]. No se requiere programación o codificación de habilidad. Es fácil de usar y lo suficientemente potente como para usuarios avanzados.&lt;br /&gt;
Es una herramienta que permite crear juegos en [[2D]] con una facilidad impresionante, sin necesidad de conocer ningún lenguaje de programación y lo mejor de todo, es que el juego que crearemos estará perfectamente personalizado para cumplir nuestros requerimientos.&lt;br /&gt;
==Características==&lt;br /&gt;
*Game Develop es una interesante aplicación que será el sueño hecho realidad de todos aquellos jugadores que desean crear su propio juego, pero que no tienen conocimientos de programación.&lt;br /&gt;
&lt;br /&gt;
*Game Develop nos permitirá crear juegos en 2D con una facilidad impresionante, sin necesidad de conocer ningún lenguaje de programación y lo mejor de todo, es que el juego que crearemos estará perfectamente personalizado para cumplir nuestros requerimientos.&lt;br /&gt;
&lt;br /&gt;
*Game Develop cuenta con una interfaz de usuario sumamente intuitiva y muy sencilla de utilizar. Con esta aplicación podemos ir creando las ambientaciones y los personajes que integrarán nuestro juego de manera visual, sin tener que teclear ningún tipo de código.&lt;br /&gt;
&lt;br /&gt;
*Una de las características más destacables de Game Develop  es la capacidad de personalización del juego a crear, ya que podemos especificar cada uno de los eventos creados, incluir unos de [[Mouse]] o [[joystick]], adicionar efectos de sonido y banda sonora, así como también incluir el tipo de dificultad y obstáculos que se nos antoje.&lt;br /&gt;
&lt;br /&gt;
*Aclarar que Game Develop posee su propio compilador, capaz de exportar los juegos realizados a aplicaciones para Windows, Linux y Mac OS. ¡Y no es necesario que otras personas tengan el Game Develop para poder jugarlos! ya que los exporta de forma completa.&lt;br /&gt;
&lt;br /&gt;
*Si siempre has soñado con crear tu propio juego, puedes probar Game Develop, una aplicación con la que podrás realizar videojuegos en 2D.&lt;br /&gt;
&lt;br /&gt;
==Eventos, Condiciones y Acciones==&lt;br /&gt;
'''Eventos:''' Es la acción que necesita suceder para ejecutar lo que deseemos.&lt;br /&gt;
Ejemplos de eventos:&lt;br /&gt;
*Que la hora del día sea una determinada (12:00 a mediodía).&lt;br /&gt;
*Que una unidad muera, reciba daño, ataque, etc.&lt;br /&gt;
*Al iniciar el mapa, entre otros.&lt;br /&gt;
&lt;br /&gt;
'''Condiciones:''' Podrían compararse en cierta forma con los eventos, así, si el evento se cumple, deben cumplirse también las condiciones que lo acompañan para realizar las acciones, Ejemplos de condiciones:&lt;br /&gt;
*Que la vida o la magia de cierta unidad sea mayor a cierto valor.&lt;br /&gt;
*Que el número de edificios de cierto jugador sea igual a 0.&lt;br /&gt;
*Que la cantidad de oro o madera de determinado jugador sea menor a cierto valor.&lt;br /&gt;
&lt;br /&gt;
'''Acciones:''' Pueden ser muy cortas en caso de acciones simples, o llevar muchas líneas de acciones, por ejemplo, en una línea cinematográfica, hay muchísimas acciones, algunas son:&lt;br /&gt;
*Mover, hacer atacar, hacer patrullar, una unidad.&lt;br /&gt;
*Matar, dañar, destruir, explotar, una unidad, un árbol, etc.&lt;br /&gt;
*Modificar variables, activar detonadores, mover las cámaras, esperar, etc.&lt;br /&gt;
&lt;br /&gt;
Con este último ejemplo también habrán recordado las variables, valores modificables que pueden ser utilizados en cualquier lado, sustituyendo cosas como nombres de jugadores, unidades, cantidades para modificar la vida, magia, oro, etc.&lt;br /&gt;
&lt;br /&gt;
==Versiones==&lt;br /&gt;
Hay dos versiones de Game Develop:&lt;br /&gt;
*La versión para Linux (más precisamente Ubuntu)&lt;br /&gt;
*La versión para Windows, perfectamente estable.&lt;br /&gt;
 &lt;br /&gt;
==Ejemplos de Juegos con Game Gevelop==&lt;br /&gt;
[[Archivo:111.jpg|200px|thumb|right]]&lt;br /&gt;
*Ecce Deus [No menciona al autor] Un impresionante minijuego; debes lograr que pequeños seres habitando su mundo sean parte de tu religión, la victoria se logra transformando o destruyendo (utilizando fuego, relámpagos, terremotos) a los oponentes pertenecientes a la religión del Dios contra el cuál peleamos, el cual hará de las suyas para convertir a los nuestros.&lt;br /&gt;
&lt;br /&gt;
*Drift Roads (Autor: Donut_prod)&lt;br /&gt;
*Minotaure (Autor: Juhlenedni) Un juego basado en laberintos, trampas y tu astucia para sortearlos.&lt;br /&gt;
*Bloody Zombies! (Autor: Donut_prod) Un survival de zombies, mata zombies para conseguir munición, y consigue munición para matar zombies.&lt;br /&gt;
&lt;br /&gt;
==Fuentes==&lt;br /&gt;
*Manual de Game develop&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://www.compilgames.net&lt;br /&gt;
*http://www.gamedev.net/&lt;br /&gt;
*http://game-develop.softonic.com/‎&lt;br /&gt;
*http://www.gdmag.com/‎&lt;br /&gt;
*http://www.adobe.com/devnet/games.html‎&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Game_Develop&amp;diff=2008414</id>
		<title>Game Develop</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Game_Develop&amp;diff=2008414"/>
		<updated>2013-07-31T18:48:59Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Game Develop&lt;br /&gt;
|familia= &lt;br /&gt;
|imagen=Screen2.png &lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción= &lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador= &lt;br /&gt;
|desarrollador= &lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|lanzamiento inicial= &lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos= Win XP / Vista / W7 / W8&lt;br /&gt;
|idioma= Inglés, Francés&lt;br /&gt;
|licencia= Gratis.&lt;br /&gt;
|premios=&lt;br /&gt;
|web= &lt;br /&gt;
}}&lt;br /&gt;
'''Game Develop''' es un software gratuito de creación de juegos, lo que permite hacer juegos para la web (HTML5) o para [[Windows]] y [[Linux]]. No se requiere programación o codificación de habilidad. Es fácil de usar y lo suficientemente potente como para usuarios avanzados.&lt;br /&gt;
Es una herramienta que permite crear juegos en [[2D]] con una facilidad impresionante, sin necesidad de conocer ningún lenguaje de programación y lo mejor de todo, es que el juego que crearemos estará perfectamente personalizado para cumplir nuestros requerimientos.&lt;br /&gt;
==Características==&lt;br /&gt;
*Game Develop es una interesante aplicación que será el sueño hecho realidad de todos aquellos jugadores que desean crear su propio juego, pero que no tienen conocimientos de programación.&lt;br /&gt;
&lt;br /&gt;
*Game Develop nos permitirá crear juegos en 2D con una facilidad impresionante, sin necesidad de conocer ningún lenguaje de programación y lo mejor de todo, es que el juego que crearemos estará perfectamente personalizado para cumplir nuestros requerimientos.&lt;br /&gt;
&lt;br /&gt;
*Game Develop cuenta con una interfaz de usuario sumamente intuitiva y muy sencilla de utilizar. Con esta aplicación podemos ir creando las ambientaciones y los personajes que integrarán nuestro juego de manera visual, sin tener que teclear ningún tipo de código.&lt;br /&gt;
&lt;br /&gt;
*Una de las características más destacables de Game Develop  es la capacidad de personalización del juego a crear, ya que podemos especificar cada uno de los eventos creados, incluir unos de [[Mouse]] o [[joystick]], adicionar efectos de sonido y banda sonora, así como también incluir el tipo de dificultad y obstáculos que se nos antoje.&lt;br /&gt;
&lt;br /&gt;
*Aclarar que Game Develop posee su propio compilador, capaz de exportar los juegos realizados a aplicaciones para Windows, Linux y Mac OS. ¡Y no es necesario que otras personas tengan el Game Develop para poder jugarlos! ya que los exporta de forma completa.&lt;br /&gt;
&lt;br /&gt;
*Si siempre has soñado con crear tu propio juego, puedes probar Game Develop, una aplicación con la que podrás realizar videojuegos en 2D.&lt;br /&gt;
&lt;br /&gt;
==Eventos, Condiciones y Acciones==&lt;br /&gt;
'''Eventos:''' Es la acción que necesita suceder para ejecutar lo que deseemos.&lt;br /&gt;
Ejemplos de eventos:&lt;br /&gt;
*Que la hora del día sea una determinada (12:00 a mediodía).&lt;br /&gt;
*Que una unidad muera, reciba daño, ataque, etc.&lt;br /&gt;
*Al iniciar el mapa, entre otros.&lt;br /&gt;
&lt;br /&gt;
'''Condiciones:''' Podrían compararse en cierta forma con los eventos, así, si el evento se cumple, deben cumplirse también las condiciones que lo acompañan para realizar las acciones, Ejemplos de condiciones:&lt;br /&gt;
*Que la vida o la magia de cierta unidad sea mayor a cierto valor.&lt;br /&gt;
*Que el número de edificios de cierto jugador sea igual a 0.&lt;br /&gt;
*Que la cantidad de oro o madera de determinado jugador sea menor a cierto valor.&lt;br /&gt;
&lt;br /&gt;
'''Acciones:''' Pueden ser muy cortas en caso de acciones simples, o llevar muchas líneas de acciones, por ejemplo, en una línea cinematográfica, hay muchísimas acciones, algunas son:&lt;br /&gt;
*Mover, hacer atacar, hacer patrullar, una unidad.&lt;br /&gt;
*Matar, dañar, destruir, explotar, una unidad, un árbol, etc.&lt;br /&gt;
*Modificar variables, activar detonadores, mover las cámaras, esperar, etc.&lt;br /&gt;
&lt;br /&gt;
Con este último ejemplo también habrán recordado las variables, valores modificables que pueden ser utilizados en cualquier lado, sustituyendo cosas como nombres de jugadores, unidades, cantidades para modificar la vida, magia, oro, etc.&lt;br /&gt;
&lt;br /&gt;
==Versiones==&lt;br /&gt;
Hay dos versiones de Game Develop:&lt;br /&gt;
*La versión para Linux (más precisamente Ubuntu)&lt;br /&gt;
*La versión para Windows, perfectamente estable.&lt;br /&gt;
 &lt;br /&gt;
==Ejemplos de Juegos con Game Gevelop==&lt;br /&gt;
*Ecce Deus [No menciona al autor] Un impresionante minijuego; debes lograr que pequeños seres habitando su mundo sean parte de tu religión, la victoria se logra transformando o destruyendo (utilizando fuego, relámpagos, terremotos) a los oponentes pertenecientes a la religión del Dios contra el cuál peleamos, el cual hará de las suyas para convertir a los nuestros.&lt;br /&gt;
[[Archivo:111.jpg|200px|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
*Drift Roads (Autor: Donut_prod)&lt;br /&gt;
*Minotaure (Autor: Juhlenedni) Un juego basado en laberintos, trampas y tu astucia para sortearlos.&lt;br /&gt;
*Bloody Zombies! (Autor: Donut_prod) Un survival de zombies, mata zombies para conseguir munición, y consigue munición para matar zombies.&lt;br /&gt;
&lt;br /&gt;
==Fuentes==&lt;br /&gt;
*Manual de Game develop&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://www.compilgames.net&lt;br /&gt;
*http://www.gamedev.net/&lt;br /&gt;
*http://game-develop.softonic.com/‎&lt;br /&gt;
*http://www.gdmag.com/‎&lt;br /&gt;
*http://www.adobe.com/devnet/games.html‎&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Game_Develop&amp;diff=2008412</id>
		<title>Game Develop</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Game_Develop&amp;diff=2008412"/>
		<updated>2013-07-31T18:47:31Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: /* Ejemplos de Juegos con Game Gevelop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Game Develop&lt;br /&gt;
|familia= &lt;br /&gt;
|imagen=Screen2.png &lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción= &lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador= &lt;br /&gt;
|desarrollador= &lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|lanzamiento inicial= &lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos= Win XP / Vista / W7 / W8&lt;br /&gt;
|idioma= Inglés, Francés&lt;br /&gt;
|licencia= Gratis.&lt;br /&gt;
|premios=&lt;br /&gt;
|web= &lt;br /&gt;
}}&lt;br /&gt;
'''Game Develop''' es un software gratuito de creación de juegos, lo que permite hacer juegos para la web (HTML5) o para [[Windows]] y [[Linux]]. No se requiere programación o codificación de habilidad. Es fácil de usar y lo suficientemente potente como para usuarios avanzados.&lt;br /&gt;
Es una herramienta que permite crear juegos en [[2D]] con una facilidad impresionante, sin necesidad de conocer ningún lenguaje de programación y lo mejor de todo, es que el juego que crearemos estará perfectamente personalizado para cumplir nuestros requerimientos.&lt;br /&gt;
==Características==&lt;br /&gt;
*Game Develop es una interesante aplicación que será el sueño hecho realidad de todos aquellos jugadores que desean crear su propio juego, pero que no tienen conocimientos de programación.&lt;br /&gt;
&lt;br /&gt;
*Game Develop nos permitirá crear juegos en 2D con una facilidad impresionante, sin necesidad de conocer ningún lenguaje de programación y lo mejor de todo, es que el juego que crearemos estará perfectamente personalizado para cumplir nuestros requerimientos.&lt;br /&gt;
&lt;br /&gt;
*Game Develop cuenta con una interfaz de usuario sumamente intuitiva y muy sencilla de utilizar. Con esta aplicación podemos ir creando las ambientaciones y los personajes que integrarán nuestro juego de manera visual, sin tener que teclear ningún tipo de código.&lt;br /&gt;
&lt;br /&gt;
*Una de las características más destacables de Game Develop  es la capacidad de personalización del juego a crear, ya que podemos especificar cada uno de los eventos creados, incluir unos de [[Mouse]] o [[joystick]], adicionar efectos de sonido y banda sonora, así como también incluir el tipo de dificultad y obstáculos que se nos antoje.&lt;br /&gt;
&lt;br /&gt;
*Aclarar que Game Develop posee su propio compilador, capaz de exportar los juegos realizados a aplicaciones para Windows, Linux y Mac OS. ¡Y no es necesario que otras personas tengan el Game Develop para poder jugarlos! ya que los exporta de forma completa.&lt;br /&gt;
&lt;br /&gt;
*Si siempre has soñado con crear tu propio juego, puedes probar Game Develop, una aplicación con la que podrás realizar videojuegos en 2D.&lt;br /&gt;
&lt;br /&gt;
==Eventos, Condiciones y Acciones==&lt;br /&gt;
'''Eventos:''' Es la acción que necesita suceder para ejecutar lo que deseemos.&lt;br /&gt;
Ejemplos de eventos:&lt;br /&gt;
*Que la hora del día sea una determinada (12:00 a mediodía).&lt;br /&gt;
*Que una unidad muera, reciba daño, ataque, etc.&lt;br /&gt;
*Al iniciar el mapa, entre otros.&lt;br /&gt;
&lt;br /&gt;
'''Condiciones:''' Podrían compararse en cierta forma con los eventos, así, si el evento se cumple, deben cumplirse también las condiciones que lo acompañan para realizar las acciones, Ejemplos de condiciones:&lt;br /&gt;
*Que la vida o la magia de cierta unidad sea mayor a cierto valor.&lt;br /&gt;
*Que el número de edificios de cierto jugador sea igual a 0.&lt;br /&gt;
*Que la cantidad de oro o madera de determinado jugador sea menor a cierto valor.&lt;br /&gt;
&lt;br /&gt;
'''Acciones:''' Pueden ser muy cortas en caso de acciones simples, o llevar muchas líneas de acciones, por ejemplo, en una línea cinematográfica, hay muchísimas acciones, algunas son:&lt;br /&gt;
*Mover, hacer atacar, hacer patrullar, una unidad.&lt;br /&gt;
*Matar, dañar, destruir, explotar, una unidad, un árbol, etc.&lt;br /&gt;
*Modificar variables, activar detonadores, mover las cámaras, esperar, etc.&lt;br /&gt;
&lt;br /&gt;
Con este último ejemplo también habrán recordado las variables, valores modificables que pueden ser utilizados en cualquier lado, sustituyendo cosas como nombres de jugadores, unidades, cantidades para modificar la vida, magia, oro, etc.&lt;br /&gt;
&lt;br /&gt;
==Versiones==&lt;br /&gt;
Hay dos versiones de Game Develop:&lt;br /&gt;
*La versión para Linux (más precisamente Ubuntu)&lt;br /&gt;
*La versión para Windows, perfectamente estable.&lt;br /&gt;
 &lt;br /&gt;
==Ejemplos de Juegos con Game Gevelop==&lt;br /&gt;
*Ecce Deus [No menciona al autor] Un impresionante minijuego; debes lograr que pequeños seres habitando su mundo sean parte de tu religión, la victoria se logra transformando o destruyendo (utilizando fuego, relámpagos, terremotos) a los oponentes pertenecientes a la religión del Dios contra el cuál peleamos, el cual hará de las suyas para convertir a los nuestros.&lt;br /&gt;
[[Archivo:111.jpg|200px|thumb|right]]&lt;br /&gt;
*Drift Roads (Autor: Donut_prod)&lt;br /&gt;
*Minotaure (Autor: Juhlenedni) Un juego basado en laberintos, trampas y tu astucia para sortearlos.&lt;br /&gt;
*Bloody Zombies! (Autor: Donut_prod) Un survival de zombies, mata zombies para conseguir munición, y consigue munición para matar zombies.&lt;br /&gt;
&lt;br /&gt;
==Fuentes==&lt;br /&gt;
*Manual de Game develop&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://www.compilgames.net&lt;br /&gt;
*http://www.gamedev.net/&lt;br /&gt;
*http://game-develop.softonic.com/‎&lt;br /&gt;
*http://www.gdmag.com/‎&lt;br /&gt;
*http://www.adobe.com/devnet/games.html‎&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Game_Develop&amp;diff=2008404</id>
		<title>Game Develop</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Game_Develop&amp;diff=2008404"/>
		<updated>2013-07-31T18:43:43Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: Página creada con '{{Ficha Software |nombre= Game Develop |familia=  |imagen=Screen2.png  |tamaño= |descripción=  |imagen2= |tamaño2= |descripción2= |creador=  |desarrollador=  |diseñador= |m...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Game Develop&lt;br /&gt;
|familia= &lt;br /&gt;
|imagen=Screen2.png &lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción= &lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador= &lt;br /&gt;
|desarrollador= &lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|lanzamiento inicial= &lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos= Win XP / Vista / W7 / W8&lt;br /&gt;
|idioma= Inglés, Francés&lt;br /&gt;
|licencia= Gratis.&lt;br /&gt;
|premios=&lt;br /&gt;
|web= &lt;br /&gt;
}}&lt;br /&gt;
'''Game Develop''' es un software gratuito de creación de juegos, lo que permite hacer juegos para la web (HTML5) o para [[Windows]] y [[Linux]]. No se requiere programación o codificación de habilidad. Es fácil de usar y lo suficientemente potente como para usuarios avanzados.&lt;br /&gt;
Es una herramienta que permite crear juegos en [[2D]] con una facilidad impresionante, sin necesidad de conocer ningún lenguaje de programación y lo mejor de todo, es que el juego que crearemos estará perfectamente personalizado para cumplir nuestros requerimientos.&lt;br /&gt;
==Características==&lt;br /&gt;
*Game Develop es una interesante aplicación que será el sueño hecho realidad de todos aquellos jugadores que desean crear su propio juego, pero que no tienen conocimientos de programación.&lt;br /&gt;
&lt;br /&gt;
*Game Develop nos permitirá crear juegos en 2D con una facilidad impresionante, sin necesidad de conocer ningún lenguaje de programación y lo mejor de todo, es que el juego que crearemos estará perfectamente personalizado para cumplir nuestros requerimientos.&lt;br /&gt;
&lt;br /&gt;
*Game Develop cuenta con una interfaz de usuario sumamente intuitiva y muy sencilla de utilizar. Con esta aplicación podemos ir creando las ambientaciones y los personajes que integrarán nuestro juego de manera visual, sin tener que teclear ningún tipo de código.&lt;br /&gt;
&lt;br /&gt;
*Una de las características más destacables de Game Develop  es la capacidad de personalización del juego a crear, ya que podemos especificar cada uno de los eventos creados, incluir unos de [[Mouse]] o [[joystick]], adicionar efectos de sonido y banda sonora, así como también incluir el tipo de dificultad y obstáculos que se nos antoje.&lt;br /&gt;
&lt;br /&gt;
*Aclarar que Game Develop posee su propio compilador, capaz de exportar los juegos realizados a aplicaciones para Windows, Linux y Mac OS. ¡Y no es necesario que otras personas tengan el Game Develop para poder jugarlos! ya que los exporta de forma completa.&lt;br /&gt;
&lt;br /&gt;
*Si siempre has soñado con crear tu propio juego, puedes probar Game Develop, una aplicación con la que podrás realizar videojuegos en 2D.&lt;br /&gt;
&lt;br /&gt;
==Eventos, Condiciones y Acciones==&lt;br /&gt;
'''Eventos:''' Es la acción que necesita suceder para ejecutar lo que deseemos.&lt;br /&gt;
Ejemplos de eventos:&lt;br /&gt;
*Que la hora del día sea una determinada (12:00 a mediodía).&lt;br /&gt;
*Que una unidad muera, reciba daño, ataque, etc.&lt;br /&gt;
*Al iniciar el mapa, entre otros.&lt;br /&gt;
&lt;br /&gt;
'''Condiciones:''' Podrían compararse en cierta forma con los eventos, así, si el evento se cumple, deben cumplirse también las condiciones que lo acompañan para realizar las acciones, Ejemplos de condiciones:&lt;br /&gt;
*Que la vida o la magia de cierta unidad sea mayor a cierto valor.&lt;br /&gt;
*Que el número de edificios de cierto jugador sea igual a 0.&lt;br /&gt;
*Que la cantidad de oro o madera de determinado jugador sea menor a cierto valor.&lt;br /&gt;
&lt;br /&gt;
'''Acciones:''' Pueden ser muy cortas en caso de acciones simples, o llevar muchas líneas de acciones, por ejemplo, en una línea cinematográfica, hay muchísimas acciones, algunas son:&lt;br /&gt;
*Mover, hacer atacar, hacer patrullar, una unidad.&lt;br /&gt;
*Matar, dañar, destruir, explotar, una unidad, un árbol, etc.&lt;br /&gt;
*Modificar variables, activar detonadores, mover las cámaras, esperar, etc.&lt;br /&gt;
&lt;br /&gt;
Con este último ejemplo también habrán recordado las variables, valores modificables que pueden ser utilizados en cualquier lado, sustituyendo cosas como nombres de jugadores, unidades, cantidades para modificar la vida, magia, oro, etc.&lt;br /&gt;
&lt;br /&gt;
==Versiones==&lt;br /&gt;
Hay dos versiones de Game Develop:&lt;br /&gt;
*La versión para Linux (más precisamente Ubuntu)&lt;br /&gt;
*La versión para Windows, perfectamente estable.&lt;br /&gt;
 &lt;br /&gt;
==Ejemplos de Juegos con Game Gevelop==&lt;br /&gt;
*Ecce Deus [No menciona al autor] Un impresionante minijuego; debes lograr que pequeños seres habitando su mundo sean parte de tu religión, la victoria se logra transformando o destruyendo (utilizando fuego, relámpagos, terremotos) a los oponentes pertenecientes a la religión del Dios contra el cuál peleamos, el cual hará de las suyas para convertir a los nuestros.&lt;br /&gt;
*Drift Roads (Autor: Donut_prod)&lt;br /&gt;
*Minotaure (Autor: Juhlenedni) Un juego basado en laberintos, trampas y tu astucia para sortearlos.&lt;br /&gt;
*Bloody Zombies! (Autor: Donut_prod) Un survival de zombies, mata zombies para conseguir munición, y consigue munición para matar zombies.&lt;br /&gt;
==Fuentes==&lt;br /&gt;
*Manual de Game develop&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://www.compilgames.net&lt;br /&gt;
*http://www.gamedev.net/&lt;br /&gt;
*http://game-develop.softonic.com/‎&lt;br /&gt;
*http://www.gdmag.com/‎&lt;br /&gt;
*http://www.adobe.com/devnet/games.html‎&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Archivo:Screen2.png&amp;diff=2008399</id>
		<title>Archivo:Screen2.png</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Archivo:Screen2.png&amp;diff=2008399"/>
		<updated>2013-07-31T18:40:37Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sumario ==&lt;br /&gt;
&lt;br /&gt;
== Estado de copyright: ==&lt;br /&gt;
&lt;br /&gt;
== Fuente: ==&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Scala&amp;diff=1971294</id>
		<title>Scala</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Scala&amp;diff=1971294"/>
		<updated>2013-06-26T13:23:10Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Scala&lt;br /&gt;
|familia= Lenguajes de Programación Orientado a Objetos&lt;br /&gt;
|imagen= Scala.jpg &lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción= Scala POO&lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador= Martin Odersky en 2003&lt;br /&gt;
|desarrollador= &lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|lanzamiento inicial= &lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos= &lt;br /&gt;
|idioma= &lt;br /&gt;
|licencia= &lt;br /&gt;
|premios=&lt;br /&gt;
|web= &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Scala''' es un moderno lenguaje de programación multi-paradigma diseñado para expresar patrones de programación comunes de una forma concisa, elegante, y de tipado seguro. Integra fácilmente características de lenguajes orientados a objetos y funcionales. La implementación actual corre en la máquina virtual de Java y es compatible con las aplicaciones Java existentes. El nombre de Scala viene de “scalable” y “language”, esto indica cual es el propósito de este lenguaje.&lt;br /&gt;
&lt;br /&gt;
==Características==&lt;br /&gt;
*'''Scala es orientado a objetos:''' Scala es un lenguaje puramente orientado a objetos en el sentido de que todo es un objeto. Los tipos y comportamientos de objetos son descriptos por clases y [[traits]] (que podría ser traducido como un “rasgo”). Las clases pueden ser extendidas a través de subclases y un flexible mecanismo de composición mezclada que provee un claro remplazo para la [[herencia múltiple]].&lt;br /&gt;
*'''Scala es funcional:''' Scala es también un [[lenguaje funcional]] en el sentido que toda función es un valor. Scala provee una sintaxis ligera para definir funciones anónimas. Soporta funciones de primer orden, permite que las funciones sean anidadas, y soporta currying. Las clases caso de Scala y las construcciones incorporadas al lenguaje para reconocimiento de patrones modelan tipos algebráicos usados en muchos lenguajes de programación funcionales. Además, la noción de reconocimiento de patrones de Scala se puede extender naturalmente al procesamiento de datos [[XML]] con la ayuda de patrones de secuencias que igonoran a la derecha. En este contexto, seq comprehensions resultan útiles para formular consultas. Estas características hacen a Scala ideal para desarrollar aplicaciones como Web Services.&lt;br /&gt;
*'''Scala estáticamente tipado:''' Scala cuenta con un expresivo sistema de tipado que fuerza estáticamente las abstracciones a ser usadas en una manera coherente y segura. En particular, el sistema de tipado soporta:&lt;br /&gt;
**[[Clases genéricas]]&lt;br /&gt;
**Anotaciones variables&lt;br /&gt;
**Límites de tipado superiores e inferiores&lt;br /&gt;
**Clases internas y tipos abstractos como miembros de objetos&lt;br /&gt;
**Tipos compuestos&lt;br /&gt;
**Auto-referencias explicitamente tipadas&lt;br /&gt;
**Vistas&lt;br /&gt;
**[[Métodos polimórficos]]&lt;br /&gt;
El mecanismo de inferencia de tipos locales se encarga de que el usuario no tengan que anotar el programa con información redundante de tipado. Combinadas, estas características proveen una base poderosa para el reuso seguro de abstracciones de programación y para la extensión segura (en cuanto a tipos) de software.&lt;br /&gt;
*'''Scala es extensible:''' En la práctica el desarrollo de aplicaciones específicas para un dominio generalmente requiere de “Lenguajes de dominio específico” (DSL). Scala provee una única combinación de mecanismos del lenguaje que simplifican la creación de construcciones propias del lenguaje en forma de librerías:&lt;br /&gt;
**cualquier método puede ser usado como un operador de infijo o postfijo&lt;br /&gt;
**las closures son construidas automáticamente dependiendo del tipo esperado (tipos objetivo).&lt;br /&gt;
El uso conjunto de ambas características facilita la definición de nuevas sentencias sin tener que extender la sintaxis y sin usar facciones de meta-programación como tipo macros.&lt;br /&gt;
Scala está diseñado para interoperar bien con el popular Entorno de ejecución de [[Java]] 2 (JRE). En particular, la interacción con el lenguaje orientado a objetos Java es muy sencilla. Scala tiene el mismo esquema de compilación (compilación separada, carga de clases dinámica) que java y permite acceder a las miles de librerías de gran calidad existentes. También está disponible el soporte para el [[Framework .NET]] (CLR).&lt;br /&gt;
&lt;br /&gt;
==Ventajas que Ofrece==&lt;br /&gt;
Dentro de las ventajas que ofrece Scala es que la cantidad de código necesario para programar es inferior a la que se requiere con el lenguaje Java, y el hecho de que es compatible con la [[Java Virtual Machine]].&lt;br /&gt;
El dinero necesario para comercializar Scala viene de la firma Greylock Partners, que ya ha financiado a empresas tecnológicas como [[Red Hat]] o [[Cloudera]].&lt;br /&gt;
&lt;br /&gt;
El lanzamiento comercial  lo hizo la empresa [[Typesafe]], creada por el propio Odersky, que ofrece herramientas para los desarrolladores, así como servicios de mantenimiento, formación y consultoría para empresas.&lt;br /&gt;
&lt;br /&gt;
Cada vez son más las empresas que apuestan por Scala, entre las que destaca el ejemplo de [[Twitter]], que lo implementó hace unos años, o de la web del periódico [[The Guardian]], que hizo también el cambio.&lt;br /&gt;
[[Martin Odersky]] ha explicado a la web Cnet que la idea es que las páginas con un elevado volumen de datos puedan cambiarse sin problemas de Java a Scala, beneficiándose de su arquitectura JVM sin que ello afecte a su infraestructura. &lt;br /&gt;
&lt;br /&gt;
==Ejemplo==&lt;br /&gt;
Scala permite desarrollar programas con una sintaxis más limpia y concisa con lo que se crearán programas más cortos, reduciendo considerablemente el número de líneas de código si se compara con Java. &lt;br /&gt;
&lt;br /&gt;
Por ejemplo:&lt;br /&gt;
 // Java&lt;br /&gt;
 class Clase&lt;br /&gt;
 {&lt;br /&gt;
    private int indice;&lt;br /&gt;
    private String nombre;&lt;br /&gt;
 &lt;br /&gt;
    public Clase(int indice, String nombre)&lt;br /&gt;
   {&lt;br /&gt;
        this.indice = indice;&lt;br /&gt;
        this.nombre = nombre;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 Java&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // Scala&lt;br /&gt;
 class Clase (indice: Int, nombre: String)&lt;br /&gt;
 &lt;br /&gt;
Cuando se compila un programa se transforma en en bytcodes, ejecutandose sobre la máquina virtual de Java, lo que permite utilizar características o librerías de Java dentro de un programa en Scala, por ejemplo, invocar métodos Java, seleccionar campos Java, heredar de clases Java, implementar interfaces Java, etc. A su vez, el código Java también puede usar fácilmente código Scala y a su vez permite ejecutar programas tanto en modo compilado como en modo scripting.&lt;br /&gt;
&lt;br /&gt;
==Scala Orientado a Objetos==&lt;br /&gt;
Scala es un lenguaje orientado a objetos puro, donde todo es un objeto y todas las operación se realizan mediante una llamada a un método. Pero mientras Java tiene excepciones como los tipos primitivos o los statics, Scala no pose dichas excepciones.&lt;br /&gt;
&lt;br /&gt;
En la programación orientada a objetos la composición y la herencia son los dos mecanismos básicos de rehúso. Scala ofrece un soporte excelente para el diseño correcto de los principios de abstracción fundamentales de la programación orientada a objetos: Clasificación/Instanciación, Agregación/Descomposición, Generalización/Especialización y Agrupamiento/Individualización.&lt;br /&gt;
&lt;br /&gt;
==Características en la programación orientadas a objetos que no posee Java==&lt;br /&gt;
*'''Composición modular de mixin:''' Este mecanismo que permite la composición de clases para el diseño de componentes reutilizables evitando los problemas presentados por la herencia múltiple. Similar a los interfaces Java y las clases abstractas. Por una parte se pueden definir múltiples “contratos” (del mismo modo que los interfaces). Por otro lado, se podrían tener implementaciones concretas de los métodos.&lt;br /&gt;
*'''Self-type:''' Los mixin no dependen de ningún método y/o atributo de aquellas clases con las que se está entremezclando aunque en determinadas ocasiones será necesario hacer uso de las mismas. Esta capacidad es conocida en Scala como self-type.&lt;br /&gt;
*'''Abstracción de tipos:''' Existen dos mecanismos principales de abstracción en los lenguajes de programación: la parametrización y los miembros abstractos. Scala soporta ambos estilos de abstracción de manera uniforme para tipos y valores.&lt;br /&gt;
&lt;br /&gt;
==Los Actores==&lt;br /&gt;
Para muchos, la programación concurrente es la siguiente revolución en la forma que escribimos software. Java y otros lenguajes dan soporte a un modelo de concurrencia basado en técnicas de sincronización por condición y exclusión mutua, adecuadas para muchas aplicaciones pero inadecuadas para otras.&lt;br /&gt;
Otros modelos de concurrencia han existido desde hace muchos años y uno de ellos es el conocido como el modelo de actores basado en la inexistencia de regiones críticas por estados compartidos entre hilos o procesos, y usando intercambio de mensajes entre los componentes del sistema para resolver problemas de computación concurrente.&lt;br /&gt;
&lt;br /&gt;
Scala adopta un enfoque completamente diferente a la problemática de la concurrencia: el modelo basado en actores. Un actor es un modelo matemático de computación concurrente en el que se encapsulan datos, código y su propio hilo de control, comunicándose de manera asíncrona mediante técnicas de paso de mensajes inmutables. La arquitectura base de este modelo está basada en políticas de compartición cero y componentes ligeros.&lt;br /&gt;
&lt;br /&gt;
==Valoración==&lt;br /&gt;
Scala es un lenguaje tremendamente poderoso que ha sabido heredar las mejores cosas de cada uno de los lenguajes más exitosos que se han conocido. Java no es la excepción, y comparte muchas cosas con este. La diferencia que vemos es que para cada uno de los conceptos de Java, Scala los aumenta, refina y mejora. Poder aprender todas las características de Scala nos equipa con más y mejores herramientas a la hora de escribir nuestros programas. &lt;br /&gt;
&lt;br /&gt;
Si bien la programación funcional no ha sido una característica de Java, el progamador experimentado puede notar la falta de soporte de este paradigma en múltiples ocasiones. El solo pensar en el código necesario para proveer a un [[JButton]] con el código que debe ejecutar al ser presionado nos muestra lo necesario que sería contar con herramientas funcionales. Recomendamos entonces tratar de ir incorporando estas características, por más que sea difícil para el programador Java al estar tan acostumbrado al paradigma imperativo de este lenguaje.&lt;br /&gt;
&lt;br /&gt;
==Fuentes==&lt;br /&gt;
*Manual de Scala para Programadores Java&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://www.theinquirer.es/2011/05/12/el-lenguaje-de-programacion-scala-se-lanzara-de-forma-comercial.html&lt;br /&gt;
*http://codecriticon.com/scala-empezando/&lt;br /&gt;
&lt;br /&gt;
*http://www.scala-lang.org&lt;br /&gt;
* http://docs.scala-lang.org&lt;br /&gt;
* http://blog.santiagobasulto.com.ar/2012/02/08/scala-para-refugiados-de-java-resumen/&lt;br /&gt;
&lt;br /&gt;
[[Category:Programación]][[Category:Informática]]&lt;br /&gt;
[[Category:Lenguajes_de_programación_orientada_a_objetos]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Scala&amp;diff=1971291</id>
		<title>Scala</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Scala&amp;diff=1971291"/>
		<updated>2013-06-26T13:19:49Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Scala&lt;br /&gt;
|familia= Lenguajes de Programación Orientado a Objetos&lt;br /&gt;
|imagen= Scala.jpg &lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción= Scala POO&lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador= Martin Odersky en 2003&lt;br /&gt;
|desarrollador= &lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|lanzamiento inicial= &lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos= &lt;br /&gt;
|idioma= &lt;br /&gt;
|licencia= &lt;br /&gt;
|premios=&lt;br /&gt;
|web= &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Scala''' es un moderno lenguaje de programación multi-paradigma diseñado para expresar patrones de programación comunes de una forma concisa, elegante, y de tipado seguro. Integra fácilmente características de lenguajes orientados a objetos y funcionales. La implementación actual corre en la máquina virtual de Java y es compatible con las aplicaciones Java existentes. El nombre de Scala viene de “scalable” y “language”, esto indica cual es el propósito de este lenguaje.&lt;br /&gt;
&lt;br /&gt;
==Características==&lt;br /&gt;
*'''Scala es orientado a objetos:''' Scala es un lenguaje puramente orientado a objetos en el sentido de que todo es un objeto. Los tipos y comportamientos de objetos son descriptos por clases y [[traits]] (que podría ser traducido como un “rasgo”). Las clases pueden ser extendidas a través de subclases y un flexible mecanismo de composición mezclada que provee un claro remplazo para la [[herencia múltiple]].&lt;br /&gt;
*'''Scala es funcional:''' Scala es también un [[lenguaje funcional]] en el sentido que toda función es un valor. Scala provee una sintaxis ligera para definir funciones anónimas. Soporta funciones de primer orden, permite que las funciones sean anidadas, y soporta currying. Las clases caso de Scala y las construcciones incorporadas al lenguaje para reconocimiento de patrones modelan tipos algebráicos usados en muchos lenguajes de programación funcionales. Además, la noción de reconocimiento de patrones de Scala se puede extender naturalmente al procesamiento de datos [[XML]] con la ayuda de patrones de secuencias que igonoran a la derecha. En este contexto, seq comprehensions resultan útiles para formular consultas. Estas características hacen a Scala ideal para desarrollar aplicaciones como Web Services.&lt;br /&gt;
*'''Scala estáticamente tipado:''' Scala cuenta con un expresivo sistema de tipado que fuerza estáticamente las abstracciones a ser usadas en una manera coherente y segura. En particular, el sistema de tipado soporta:&lt;br /&gt;
**[[Clases genéricas]]&lt;br /&gt;
**Anotaciones variables&lt;br /&gt;
**Límites de tipado superiores e inferiores&lt;br /&gt;
**Clases internas y tipos abstractos como miembros de objetos&lt;br /&gt;
**Tipos compuestos&lt;br /&gt;
**Auto-referencias explicitamente tipadas&lt;br /&gt;
**Vistas&lt;br /&gt;
**[[Métodos polimórficos]]&lt;br /&gt;
El mecanismo de inferencia de tipos locales se encarga de que el usuario no tengan que anotar el programa con información redundante de tipado. Combinadas, estas características proveen una base poderosa para el reuso seguro de abstracciones de programación y para la extensión segura (en cuanto a tipos) de software.&lt;br /&gt;
*'''Scala es extensible:''' En la práctica el desarrollo de aplicaciones específicas para un dominio generalmente requiere de “Lenguajes de dominio específico” (DSL). Scala provee una única combinación de mecanismos del lenguaje que simplifican la creación de construcciones propias del lenguaje en forma de librerías:&lt;br /&gt;
**cualquier método puede ser usado como un operador de infijo o postfijo&lt;br /&gt;
**las closures son construidas automáticamente dependiendo del tipo esperado (tipos objetivo).&lt;br /&gt;
El uso conjunto de ambas características facilita la definición de nuevas sentencias sin tener que extender la sintaxis y sin usar facciones de meta-programación como tipo macros.&lt;br /&gt;
Scala está diseñado para interoperar bien con el popular Entorno de ejecución de [[Java]] 2 (JRE). En particular, la interacción con el lenguaje orientado a objetos Java es muy sencilla. Scala tiene el mismo esquema de compilación (compilación separada, carga de clases dinámica) que java y permite acceder a las miles de librerías de gran calidad existentes. También está disponible el soporte para el [[Framework .NET]] (CLR).&lt;br /&gt;
&lt;br /&gt;
==Ventajas que Ofrece==&lt;br /&gt;
Dentro de las ventajas que ofrece Scala es que la cantidad de código necesario para programar es inferior a la que se requiere con el lenguaje Java, y el hecho de que es compatible con la [[Java Virtual Machine]].&lt;br /&gt;
El dinero necesario para comercializar Scala viene de la firma Greylock Partners, que ya ha financiado a empresas tecnológicas como [[Red Hat]] o [[Cloudera]].&lt;br /&gt;
&lt;br /&gt;
El lanzamiento comercial  lo hizo la empresa [[Typesafe]], creada por el propio Odersky, que ofrece herramientas para los desarrolladores, así como servicios de mantenimiento, formación y consultoría para empresas.&lt;br /&gt;
&lt;br /&gt;
Cada vez son más las empresas que apuestan por Scala, entre las que destaca el ejemplo de [[Twitter]], que lo implementó hace unos años, o de la web del periódico [[The Guardian]], que hizo también el cambio.&lt;br /&gt;
[[Martin Odersky]] ha explicado a la web Cnet que la idea es que las páginas con un elevado volumen de datos puedan cambiarse sin problemas de Java a Scala, beneficiándose de su arquitectura JVM sin que ello afecte a su infraestructura. &lt;br /&gt;
&lt;br /&gt;
==Ejemplo==&lt;br /&gt;
Scala permite desarrollar programas con una sintaxis más limpia y concisa con lo que se crearán programas más cortos, reduciendo considerablemente el número de líneas de código si se compara con Java. &lt;br /&gt;
&lt;br /&gt;
Por ejemplo:&lt;br /&gt;
 // Java&lt;br /&gt;
 class Clase&lt;br /&gt;
 {&lt;br /&gt;
    private int indice;&lt;br /&gt;
    private String nombre;&lt;br /&gt;
 &lt;br /&gt;
    public Clase(int indice, String nombre)&lt;br /&gt;
   {&lt;br /&gt;
        this.indice = indice;&lt;br /&gt;
        this.nombre = nombre;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 Java&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // Scala&lt;br /&gt;
 class Clase (indice: Int, nombre: String)&lt;br /&gt;
 &lt;br /&gt;
Cuando se compila un programa se transforma en en bytcodes, ejecutandose sobre la máquina virtual de Java, lo que permite utilizar características o librerías de Java dentro de un programa en Scala, por ejemplo, invocar métodos Java, seleccionar campos Java, heredar de clases Java, implementar interfaces Java, etc. A su vez, el código Java también puede usar fácilmente código Scala y a su vez permite ejecutar programas tanto en modo compilado como en modo scripting.&lt;br /&gt;
&lt;br /&gt;
==Scala Orientado a Objetos==&lt;br /&gt;
Scala es un lenguaje orientado a objetos puro, donde todo es un objeto y todas las operación se realizan mediante una llamada a un método. Pero mientras Java tiene excepciones como los tipos primitivos o los statics, Scala no pose dichas excepciones.&lt;br /&gt;
&lt;br /&gt;
En la programación orientada a objetos la composición y la herencia son los dos mecanismos básicos de rehúso. Scala ofrece un soporte excelente para el diseño correcto de los principios de abstracción fundamentales de la programación orientada a objetos: Clasificación/Instanciación, Agregación/Descomposición, Generalización/Especialización y Agrupamiento/Individualización.&lt;br /&gt;
&lt;br /&gt;
==Características en la programación orientadas a objetos que no posee Java==&lt;br /&gt;
*'''Composición modular de mixin:''' Este mecanismo que permite la composición de clases para el diseño de componentes reutilizables evitando los problemas presentados por la herencia múltiple. Similar a los interfaces Java y las clases abstractas. Por una parte se pueden definir múltiples “contratos” (del mismo modo que los interfaces). Por otro lado, se podrían tener implementaciones concretas de los métodos.&lt;br /&gt;
*'''Self-type:''' Los mixin no dependen de ningún método y/o atributo de aquellas clases con las que se está entremezclando aunque en determinadas ocasiones será necesario hacer uso de las mismas. Esta capacidad es conocida en Scala como self-type.&lt;br /&gt;
*'''Abstracción de tipos:''' Existen dos mecanismos principales de abstracción en los lenguajes de programación: la parametrización y los miembros abstractos. Scala soporta ambos estilos de abstracción de manera uniforme para tipos y valores.&lt;br /&gt;
&lt;br /&gt;
==Los Actores==&lt;br /&gt;
Para muchos, la programación concurrente es la siguiente revolución en la forma que escribimos software. Java y otros lenguajes dan soporte a un modelo de concurrencia basado en técnicas de sincronización por condición y exclusión mutua, adecuadas para muchas aplicaciones pero inadecuadas para otras.&lt;br /&gt;
Otros modelos de concurrencia han existido desde hace muchos años y uno de ellos es el conocido como el modelo de actores basado en la inexistencia de regiones críticas por estados compartidos entre hilos o procesos, y usando intercambio de mensajes entre los componentes del sistema para resolver problemas de computación concurrente.&lt;br /&gt;
&lt;br /&gt;
Scala adopta un enfoque completamente diferente a la problemática de la concurrencia: el modelo basado en actores. Un actor es un modelo matemático de computación concurrente en el que se encapsulan datos, código y su propio hilo de control, comunicándose de manera asíncrona mediante técnicas de paso de mensajes inmutables. La arquitectura base de este modelo está basada en políticas de compartición cero y componentes ligeros.&lt;br /&gt;
&lt;br /&gt;
==Valoración==&lt;br /&gt;
Scala es un lenguaje tremendamente poderoso que ha sabido heredar las mejores cosas de cada uno de los lenguajes más exitosos que se han conocido. Java no es la excepción, y comparte muchas cosas con este. La diferencia que vemos es que para cada uno de los conceptos de Java, Scala los aumenta, refina y mejora. Poder aprender todas las características de Scala nos equipa con más y mejores herramientas a la hora de escribir nuestros programas. &lt;br /&gt;
&lt;br /&gt;
Si bien la programación funcional no ha sido una característica de Java, el progamador experimentado puede notar la falta de soporte de este paradigma en múltiples ocasiones. El solo pensar en el código necesario para proveer a un [[JButton]] con el código que debe ejecutar al ser presionado nos muestra lo necesario que sería contar con herramientas funcionales. Recomendamos entonces tratar de ir incorporando estas características, por más que sea difícil para el programador Java al estar tan acostumbrado al paradigma imperativo de este lenguaje.&lt;br /&gt;
&lt;br /&gt;
==Fuentes==&lt;br /&gt;
*Manual de Scala para Programadores Java&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://www.theinquirer.es/2011/05/12/el-lenguaje-de-programacion-scala-se-lanzara-de-forma-comercial.html&lt;br /&gt;
*http://codecriticon.com/scala-empezando/&lt;br /&gt;
&lt;br /&gt;
[[Category:Programación]][[Category:Informática]]&lt;br /&gt;
[[Category:Lenguajes_de_programación_orientada_a_objetos]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Scala&amp;diff=1970161</id>
		<title>Scala</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Scala&amp;diff=1970161"/>
		<updated>2013-06-25T15:16:46Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Scala&lt;br /&gt;
|familia= Lenguajes de Programación Orientado a Objetos&lt;br /&gt;
|imagen= Scala.jpg &lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción= Scala POO&lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador= Martin Odersky en 2003&lt;br /&gt;
|desarrollador= &lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|lanzamiento inicial= &lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos= &lt;br /&gt;
|idioma= &lt;br /&gt;
|licencia= &lt;br /&gt;
|premios=&lt;br /&gt;
|web= &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Scala''' es un moderno lenguaje de programación multi-paradigma diseñado para expresar patrones de programación comunes de una forma concisa, elegante, y de tipado seguro. Integra fácilmente características de lenguajes orientados a objetos y funcionales. La implementación actual corre en la máquina virtual de Java y es compatible con las aplicaciones Java existentes. El nombre de Scala viene de “scalable” y “language”, esto indica cual es el propósito de este lenguaje.&lt;br /&gt;
&lt;br /&gt;
==Características==&lt;br /&gt;
*'''Scala es orientado a objetos:''' Scala es un lenguaje puramente orientado a objetos en el sentido de que todo es un objeto. Los tipos y comportamientos de objetos son descriptos por clases y [[traits]] (que podría ser traducido como un “rasgo”). Las clases pueden ser extendidas a través de subclases y un flexible mecanismo de composición mezclada que provee un claro remplazo para la [[herencia múltiple]].&lt;br /&gt;
*'''Scala es funcional:''' Scala es también un [[lenguaje funcional]] en el sentido que toda función es un valor. Scala provee una sintaxis ligera para definir funciones anónimas. Soporta funciones de primer orden, permite que las funciones sean anidadas, y soporta currying. Las clases caso de Scala y las construcciones incorporadas al lenguaje para reconocimiento de patrones modelan tipos algebráicos usados en muchos lenguajes de programación funcionales. Además, la noción de reconocimiento de patrones de Scala se puede extender naturalmente al procesamiento de datos [[XML]] con la ayuda de patrones de secuencias que igonoran a la derecha. En este contexto, seq comprehensions resultan útiles para formular consultas. Estas características hacen a Scala ideal para desarrollar aplicaciones como Web Services.&lt;br /&gt;
*'''Scala estáticamente tipado:''' Scala cuenta con un expresivo sistema de tipado que fuerza estáticamente las abstracciones a ser usadas en una manera coherente y segura. En particular, el sistema de tipado soporta:&lt;br /&gt;
**[[Clases genéricas]]&lt;br /&gt;
**Anotaciones variables&lt;br /&gt;
**Límites de tipado superiores e inferiores&lt;br /&gt;
**Clases internas y tipos abstractos como miembros de objetos&lt;br /&gt;
**Tipos compuestos&lt;br /&gt;
**Auto-referencias explicitamente tipadas&lt;br /&gt;
**Vistas&lt;br /&gt;
**[[Métodos polimórficos]]&lt;br /&gt;
El mecanismo de inferencia de tipos locales se encarga de que el usuario no tengan que anotar el programa con información redundante de tipado. Combinadas, estas características proveen una base poderosa para el reuso seguro de abstracciones de programación y para la extensión segura (en cuanto a tipos) de software.&lt;br /&gt;
*'''Scala es extensible:''' En la práctica el desarrollo de aplicaciones específicas para un dominio generalmente requiere de “Lenguajes de dominio específico” (DSL). Scala provee una única combinación de mecanismos del lenguaje que simplifican la creación de construcciones propias del lenguaje en forma de librerías:&lt;br /&gt;
**cualquier método puede ser usado como un operador de infijo o postfijo&lt;br /&gt;
**las closures son construidas automáticamente dependiendo del tipo esperado (tipos objetivo).&lt;br /&gt;
El uso conjunto de ambas características facilita la definición de nuevas sentencias sin tener que extender la sintaxis y sin usar facciones de meta-programación como tipo macros.&lt;br /&gt;
Scala está diseñado para interoperar bien con el popular Entorno de ejecución de [[Java]] 2 (JRE). En particular, la interacción con el lenguaje orientado a objetos Java es muy sencilla. Scala tiene el mismo esquema de compilación (compilación separada, carga de clases dinámica) que java y permite acceder a las miles de librerías de gran calidad existentes. También está disponible el soporte para el [[Framework .NET]] (CLR).&lt;br /&gt;
&lt;br /&gt;
==Ventajas que Ofrece==&lt;br /&gt;
Dentro de las ventajas que ofrece Scala es que la cantidad de código necesario para programar es inferior a la que se requiere con el lenguaje Java, y el hecho de que es compatible con la [[Java Virtual Machine]].&lt;br /&gt;
El dinero necesario para comercializar Scala viene de la firma Greylock Partners, que ya ha financiado a empresas tecnológicas como [[Red Hat]] o [[Cloudera]].&lt;br /&gt;
&lt;br /&gt;
El lanzamiento comercial  lo hizo la empresa [[Typesafe]], creada por el propio Odersky, que ofrece herramientas para los desarrolladores, así como servicios de mantenimiento, formación y consultoría para empresas.&lt;br /&gt;
&lt;br /&gt;
Cada vez son más las empresas que apuestan por Scala, entre las que destaca el ejemplo de [[Twitter]], que lo implementó hace unos años, o de la web del periódico [[The Guardian]], que hizo también el cambio.&lt;br /&gt;
[[Martin Odersky]] ha explicado a la web Cnet que la idea es que las páginas con un elevado volumen de datos puedan cambiarse sin problemas de Java a Scala, beneficiándose de su arquitectura JVM sin que ello afecte a su infraestructura. &lt;br /&gt;
&lt;br /&gt;
==Ejemplo==&lt;br /&gt;
Scala permite desarrollar programas con una sintaxis más limpia y concisa con lo que se crearán programas más cortos, reduciendo considerablemente el número de líneas de código si se compara con Java. &lt;br /&gt;
&lt;br /&gt;
Por ejemplo:&lt;br /&gt;
 // Java&lt;br /&gt;
 class Clase&lt;br /&gt;
 {&lt;br /&gt;
    private int indice;&lt;br /&gt;
    private String nombre;&lt;br /&gt;
 &lt;br /&gt;
    public Clase(int indice, String nombre)&lt;br /&gt;
   {&lt;br /&gt;
        this.indice = indice;&lt;br /&gt;
        this.nombre = nombre;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 Java&lt;br /&gt;
 // Scala&lt;br /&gt;
 class Clase (indice: Int, nombre: String)&lt;br /&gt;
 &lt;br /&gt;
Cuando se compila un programa se transforma en en bytcodes, ejecutandose sobre la máquina virtual de Java, lo que permite utilizar características o librerías de Java dentro de un programa en Scala, por ejemplo, invocar métodos Java, seleccionar campos Java, heredar de clases Java, implementar interfaces Java, etc. A su vez, el código Java también puede usar fácilmente código Scala y a su vez permite ejecutar programas tanto en modo compilado como en modo scripting.&lt;br /&gt;
&lt;br /&gt;
==Scala Orientado a Objetos==&lt;br /&gt;
Scala es un lenguaje orientado a objetos puro, donde todo es un objeto y todas las operación se realizan mediante una llamada a un método. Pero mientras Java tiene excepciones como los tipos primitivos o los statics, Scala no pose dichas excepciones.&lt;br /&gt;
&lt;br /&gt;
En la programación orientada a objetos la composición y la herencia son los dos mecanismos básicos de rehúso. Scala ofrece un soporte excelente para el diseño correcto de los principios de abstracción fundamentales de la programación orientada a objetos: Clasificación/Instanciación, Agregación/Descomposición, Generalización/Especialización y Agrupamiento/Individualización.&lt;br /&gt;
&lt;br /&gt;
==Características en la programación orientadas a objetos que no posee Java==&lt;br /&gt;
*'''Composición modular de mixin:''' Este mecanismo que permite la composición de clases para el diseño de componentes reutilizables evitando los problemas presentados por la herencia múltiple. Similar a los interfaces Java y las clases abstractas. Por una parte se pueden definir múltiples “contratos” (del mismo modo que los interfaces). Por otro lado, se podrían tener implementaciones concretas de los métodos.&lt;br /&gt;
*'''Self-type:''' Los mixin no dependen de ningún método y/o atributo de aquellas clases con las que se está entremezclando aunque en determinadas ocasiones será necesario hacer uso de las mismas. Esta capacidad es conocida en Scala como self-type.&lt;br /&gt;
*'''Abstracción de tipos:''' Existen dos mecanismos principales de abstracción en los lenguajes de programación: la parametrización y los miembros abstractos. Scala soporta ambos estilos de abstracción de manera uniforme para tipos y valores.&lt;br /&gt;
&lt;br /&gt;
==Los Actores==&lt;br /&gt;
Para muchos, la programación concurrente es la siguiente revolución en la forma que escribimos software. Java y otros lenguajes dan soporte a un modelo de concurrencia basado en técnicas de sincronización por condición y exclusión mutua, adecuadas para muchas aplicaciones pero inadecuadas para otras.&lt;br /&gt;
Otros modelos de concurrencia han existido desde hace muchos años y uno de ellos es el conocido como el modelo de actores basado en la inexistencia de regiones críticas por estados compartidos entre hilos o procesos, y usando intercambio de mensajes entre los componentes del sistema para resolver problemas de computación concurrente.&lt;br /&gt;
&lt;br /&gt;
Scala adopta un enfoque completamente diferente a la problemática de la concurrencia: el modelo basado en actores. Un actor es un modelo matemático de computación concurrente en el que se encapsulan datos, código y su propio hilo de control, comunicándose de manera asíncrona mediante técnicas de paso de mensajes inmutables. La arquitectura base de este modelo está basada en políticas de compartición cero y componentes ligeros.&lt;br /&gt;
&lt;br /&gt;
==Valoración==&lt;br /&gt;
Scala es un lenguaje tremendamente poderoso que ha sabido heredar las mejores cosas de cada uno de los lenguajes más exitosos que se han conocido. Java no es la excepción, y comparte muchas cosas con este. La diferencia que vemos es que para cada uno de los conceptos de Java, Scala los aumenta, refina y mejora. Poder aprender todas las características de Scala nos equipa con más y mejores herramientas a la hora de escribir nuestros programas. &lt;br /&gt;
&lt;br /&gt;
Si bien la programación funcional no ha sido una característica de Java, el progamador experimentado puede notar la falta de soporte de este paradigma en múltiples ocasiones. El solo pensar en el código necesario para proveer a un [[JButton]] con el código que debe ejecutar al ser presionado nos muestra lo necesario que sería contar con herramientas funcionales. Recomendamos entonces tratar de ir incorporando estas características, por más que sea difícil para el programador Java al estar tan acostumbrado al paradigma imperativo de este lenguaje.&lt;br /&gt;
&lt;br /&gt;
==Fuentes==&lt;br /&gt;
*Manual de Scala para Programadores Java&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://www.theinquirer.es/2011/05/12/el-lenguaje-de-programacion-scala-se-lanzara-de-forma-comercial.html&lt;br /&gt;
*http://codecriticon.com/scala-empezando/&lt;br /&gt;
*http://www.scala-lang.org&lt;br /&gt;
* http://docs.scala-lang.org&lt;br /&gt;
* http://blog.santiagobasulto.com.ar/2012/02/08/scala-para-refugiados-de-java-resumen/&lt;br /&gt;
[[Category:Programación]][[Category:Informática]]&lt;br /&gt;
[[Category:Lenguajes_de_programación_orientada_a_objetos]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Scala&amp;diff=1970153</id>
		<title>Scala</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Scala&amp;diff=1970153"/>
		<updated>2013-06-25T15:13:18Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: Página creada con '{{Ficha Software |nombre= Scala |familia= Lenguajes de Programación Orientado a Objetos |imagen= Scala.jpg  |tamaño= |descripción= Scala POO |imagen2= |tamaño2= |descripció...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Scala&lt;br /&gt;
|familia= Lenguajes de Programación Orientado a Objetos&lt;br /&gt;
|imagen= Scala.jpg &lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción= Scala POO&lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador= Martin Odersky en 2003&lt;br /&gt;
|desarrollador= &lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|lanzamiento inicial= &lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos= &lt;br /&gt;
|idioma= &lt;br /&gt;
|licencia= &lt;br /&gt;
|premios=&lt;br /&gt;
|web= &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Scala''' es un moderno lenguaje de programación multi-paradigma diseñado para expresar patrones de programación comunes de una forma concisa, elegante, y de tipado seguro. Integra fácilmente características de lenguajes orientados a objetos y funcionales. La implementación actual corre en la máquina virtual de Java y es compatible con las aplicaciones Java existentes. El nombre de Scala viene de “scalable” y “language”, esto indica cual es el propósito de este lenguaje.&lt;br /&gt;
&lt;br /&gt;
==Características==&lt;br /&gt;
*'''Scala es orientado a objetos:''' Scala es un lenguaje puramente orientado a objetos en el sentido de que todo es un objeto. Los tipos y comportamientos de objetos son descriptos por clases y [[traits]] (que podría ser traducido como un “rasgo”). Las clases pueden ser extendidas a través de subclases y un flexible mecanismo de composición mezclada que provee un claro remplazo para la [[herencia múltiple]].&lt;br /&gt;
*'''Scala es funcional:''' Scala es también un [[lenguaje funcional]] en el sentido que toda función es un valor. Scala provee una sintaxis ligera para definir funciones anónimas. Soporta funciones de primer orden, permite que las funciones sean anidadas, y soporta currying. Las clases caso de Scala y las construcciones incorporadas al lenguaje para reconocimiento de patrones modelan tipos algebráicos usados en muchos lenguajes de programación funcionales. Además, la noción de reconocimiento de patrones de Scala se puede extender naturalmente al procesamiento de datos [[XML]] con la ayuda de patrones de secuencias que igonoran a la derecha. En este contexto, seq comprehensions resultan útiles para formular consultas. Estas características hacen a Scala ideal para desarrollar aplicaciones como Web Services.&lt;br /&gt;
*'''Scala estáticamente tipado:''' Scala cuenta con un expresivo sistema de tipado que fuerza estáticamente las abstracciones a ser usadas en una manera coherente y segura. En particular, el sistema de tipado soporta:&lt;br /&gt;
**[[Clases genéricas]]&lt;br /&gt;
**Anotaciones variables&lt;br /&gt;
**Límites de tipado superiores e inferiores&lt;br /&gt;
**Clases internas y tipos abstractos como miembros de objetos&lt;br /&gt;
**Tipos compuestos&lt;br /&gt;
**Auto-referencias explicitamente tipadas&lt;br /&gt;
**Vistas&lt;br /&gt;
**[[Métodos polimórficos]]&lt;br /&gt;
El mecanismo de inferencia de tipos locales se encarga de que el usuario no tengan que anotar el programa con información redundante de tipado. Combinadas, estas características proveen una base poderosa para el reuso seguro de abstracciones de programación y para la extensión segura (en cuanto a tipos) de software.&lt;br /&gt;
*'''Scala es extensible:''' En la práctica el desarrollo de aplicaciones específicas para un dominio generalmente requiere de “Lenguajes de dominio específico” (DSL). Scala provee una única combinación de mecanismos del lenguaje que simplifican la creación de construcciones propias del lenguaje en forma de librerías:&lt;br /&gt;
**cualquier método puede ser usado como un operador de infijo o postfijo&lt;br /&gt;
**las closures son construidas automáticamente dependiendo del tipo esperado (tipos objetivo).&lt;br /&gt;
El uso conjunto de ambas características facilita la definición de nuevas sentencias sin tener que extender la sintaxis y sin usar facciones de meta-programación como tipo macros.&lt;br /&gt;
Scala está diseñado para interoperar bien con el popular Entorno de ejecución de [[Java]] 2 (JRE). En particular, la interacción con el lenguaje orientado a objetos Java es muy sencilla. Scala tiene el mismo esquema de compilación (compilación separada, carga de clases dinámica) que java y permite acceder a las miles de librerías de gran calidad existentes. También está disponible el soporte para el [[Framework .NET]] (CLR).&lt;br /&gt;
&lt;br /&gt;
==Ventajas que Ofrece==&lt;br /&gt;
Dentro de las ventajas que ofrece Scala es que la cantidad de código necesario para programar es inferior a la que se requiere con el lenguaje Java, y el hecho de que es compatible con la [[Java Virtual Machine]].&lt;br /&gt;
El dinero necesario para comercializar Scala viene de la firma Greylock Partners, que ya ha financiado a empresas tecnológicas como [[Red Hat]] o [[Cloudera]].&lt;br /&gt;
&lt;br /&gt;
El lanzamiento comercial  lo hizo la empresa [[Typesafe]], creada por el propio Odersky, que ofrece herramientas para los desarrolladores, así como servicios de mantenimiento, formación y consultoría para empresas.&lt;br /&gt;
&lt;br /&gt;
Cada vez son más las empresas que apuestan por Scala, entre las que destaca el ejemplo de [[Twitter]], que lo implementó hace unos años, o de la web del periódico [[The Guardian]], que hizo también el cambio.&lt;br /&gt;
[[Martin Odersky]] ha explicado a la web Cnet que la idea es que las páginas con un elevado volumen de datos puedan cambiarse sin problemas de Java a Scala, beneficiándose de su arquitectura JVM sin que ello afecte a su infraestructura. &lt;br /&gt;
&lt;br /&gt;
==Ejemplo==&lt;br /&gt;
Scala permite desarrollar programas con una sintaxis más limpia y concisa con lo que se crearán programas más cortos, reduciendo considerablemente el número de líneas de código si se compara con Java. &lt;br /&gt;
Por ejemplo:&lt;br /&gt;
 // Java&lt;br /&gt;
 class Clase&lt;br /&gt;
 {&lt;br /&gt;
    private int indice;&lt;br /&gt;
    private String nombre;&lt;br /&gt;
 &lt;br /&gt;
    public Clase(int indice, String nombre)&lt;br /&gt;
   {&lt;br /&gt;
        this.indice = indice;&lt;br /&gt;
        this.nombre = nombre;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 Java&lt;br /&gt;
 // Scala&lt;br /&gt;
 class Clase (indice: Int, nombre: String)&lt;br /&gt;
 &lt;br /&gt;
Cuando se compila un programa se transforma en en bytcodes, ejecutandose sobre la máquina virtual de Java, lo que permite utilizar características o librerías de Java dentro de un programa en Scala, por ejemplo, invocar métodos Java, seleccionar campos Java, heredar de clases Java, implementar interfaces Java, etc. A su vez, el código Java también puede usar fácilmente código Scala y a su vez permite ejecutar programas tanto en modo compilado como en modo scripting.&lt;br /&gt;
&lt;br /&gt;
==Scala Orintado a Objetos==&lt;br /&gt;
Scala es un lenguaje orientado a objetos puro, donde todo es un objeto y todas las operación se realizan mediante una llamada a un método. Pero mientras Java tiene excepciones como los tipos primitivos o los statics, Scala no pose dichas excepciones.&lt;br /&gt;
&lt;br /&gt;
En la programación orientada a objetos la composición y la herencia son los dos mecanismos básicos de rehúso. Scala ofrece un soporte excelente para el diseño correcto de los principios de abstracción fundamentales de la programación orientada a objetos: Clasificación/Instanciación, Agregación/Descomposición, Generalización/Especialización y Agrupamiento/Individualización.&lt;br /&gt;
&lt;br /&gt;
==Características en la programación orientadas a objetos que no posee Java==&lt;br /&gt;
*'''Composición modular de mixin:''' Este mecanismo que permite la composición de clases para el diseño de componentes reutilizables evitando los problemas presentados por la herencia múltiple. Similar a los interfaces Java y las clases abstractas. Por una parte se pueden definir múltiples “contratos” (del mismo modo que los interfaces). Por otro lado, se podrían tener implementaciones concretas de los métodos.&lt;br /&gt;
*'''Self-type:''' Los mixin no dependen de ningún método y/o atributo de aquellas clases con las que se está entremezclando aunque en determinadas ocasiones será necesario hacer uso de las mismas. Esta capacidad es conocida en Scala como self-type.&lt;br /&gt;
*'''Abstracción de tipos:''' Existen dos mecanismos principales de abstracción en los lenguajes de programación: la parametrización y los miembros abstractos. Scala soporta ambos estilos de abstracción de manera uniforme para tipos y valores.&lt;br /&gt;
&lt;br /&gt;
==Los Actores==&lt;br /&gt;
Para muchos, la programación concurrente es la siguiente revolución en la forma que escribimos software. Java y otros lenguajes dan soporte a un modelo de concurrencia basado en técnicas de sincronización por condición y exclusión mutua, adecuadas para muchas aplicaciones pero inadecuadas para otras.&lt;br /&gt;
Otros modelos de concurrencia han existido desde hace muchos años y uno de ellos es el conocido como el modelo de actores basado en la inexistencia de regiones críticas por estados compartidos entre hilos o procesos, y usando intercambio de mensajes entre los componentes del sistema para resolver problemas de computación concurrente.&lt;br /&gt;
&lt;br /&gt;
Scala adopta un enfoque completamente diferente a la problemática de la concurrencia: el modelo basado en actores. Un actor es un modelo matemático de computación concurrente en el que se encapsulan datos, código y su propio hilo de control, comunicándose de manera asíncrona mediante técnicas de paso de mensajes inmutables. La arquitectura base de este modelo está basada en políticas de compartición cero y componentes ligeros.&lt;br /&gt;
&lt;br /&gt;
==Valoración==&lt;br /&gt;
Scala es un lenguaje tremendamente poderoso que ha sabido heredar las mejores cosas de cada uno de los lenguajes más exitosos que se han conocido. Java no es la excepción, y comparte muchas cosas con este. La diferencia que vemos es que para cada uno de los conceptos de Java, Scala los aumenta, refina y mejora. Poder aprender todas las características de Scala nos equipa con más y mejores herramientas a la hora de escribir nuestros programas. &lt;br /&gt;
&lt;br /&gt;
Si bien la programación funcional no ha sido una característica de Java, el progamador experimentado puede notar la falta de soporte de este paradigma en múltiples ocasiones. El solo pensar en el código necesario para proveer a un [[JButton]] con el código que debe ejecutar al ser presionado nos muestra lo necesario que sería contar con herramientas funcionales. Recomendamos entonces tratar de ir incorporando estas características, por más que sea difícil para el programador Java al estar tan acostumbrado al paradigma imperativo de este lenguaje.&lt;br /&gt;
&lt;br /&gt;
==Fuentes==&lt;br /&gt;
*Manual de Scala para Programadores Java&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://www.theinquirer.es/2011/05/12/el-lenguaje-de-programacion-scala-se-lanzara-de-forma-comercial.html&lt;br /&gt;
*http://codecriticon.com/scala-empezando/&lt;br /&gt;
*http://www.scala-lang.org&lt;br /&gt;
* http://docs.scala-lang.org&lt;br /&gt;
* http://blog.santiagobasulto.com.ar/2012/02/08/scala-para-refugiados-de-java-resumen/&lt;br /&gt;
[[Category:Programación]][[Category:Informática]]&lt;br /&gt;
[[Category:Lenguajes_de_programación_orientada_a_objetos]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Archivo:Scala.jpg&amp;diff=1970138</id>
		<title>Archivo:Scala.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Archivo:Scala.jpg&amp;diff=1970138"/>
		<updated>2013-06-25T15:08:59Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: Lenguaje de Programación Orientada a Objetos.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sumario ==&lt;br /&gt;
Lenguaje de Programación Orientada a Objetos.&lt;br /&gt;
== Estado de copyright: ==&lt;br /&gt;
&lt;br /&gt;
== Fuente: ==&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Lingo&amp;diff=1941058</id>
		<title>Lingo</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Lingo&amp;diff=1941058"/>
		<updated>2013-05-29T19:56:20Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: Página creada con '{{Ficha Software |nombre= Lingo |familia= Lenguaje de Programación Orientada a Objetos. |imagen= Lingo.jpg‎ |idioma= inglés }}  '''Lingo''' es  el  lenguaje  de  programaci...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Lingo&lt;br /&gt;
|familia= Lenguaje de Programación Orientada a Objetos.&lt;br /&gt;
|imagen= Lingo.jpg‎&lt;br /&gt;
|idioma= inglés&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Lingo''' es  el  lenguaje  de  programación  que  usa  [[Director]].  Este lenguaje constituye la herramienta más potente a la hora de realizar los proyectos multimedia, ya que se pueden programar acciones que en  el  entorno  gráfico  de  Director  no  son  posibles. Aunque  en  sus principios era un lenguaje muy simple orientado casi exclusivamente a controlar animaciones, actualmente es un lenguaje completamente orientado  a  objetos,  pudiendo  llegar  a  compararse  en  potencia  de programación tanto a [[C]] y [[Pascal]] como, sobre todo, a los lenguajes orientados a Internet como el [[Java]].&lt;br /&gt;
Lingo es un programa de autoría. Permite integrar con relativa facilidad texto, imágenes, sonidos y video digital, siendo una alternativa a lenguajes más tradicionales, como el C/[[C++]], porque el desarrollo de la aplicación es mucho más rápido y flexible. El soporte para publicar suele ser el CD y desde hace algún tiempo, con la ayuda de [[Adobe Shockwave]], también la [[WWW]].&lt;br /&gt;
&lt;br /&gt;
==Carácterísticas==&lt;br /&gt;
Lingo se concibió en las primeras versiones de Director como una forma  de  controlar  su  entorno,  es  decir,  la  Partitura  (Score),  el Reparto (Cast) y el Escenario (Stage); al escribir cualquier código en Lingo  estamos  creando  un  guión,  y  cada  uno  de  estos  guiones constituye  un  miembro  del  Reparto,  como  también  lo  son  las imágenes o los vídeos. Concretamente, un guión es un miembro del Reparto  que  contiene  una  pieza  de  texto  que  es  válida  en  código Lingo. Una  vez  escrito,  un  guión  se  puede  asociar  a  cualquier  otro miembro del Reparto, como por ejemplo imágenes o sonidos, aunque también  se  puede  situar  en  la  Partitura,  asociado  a  un  Fotograma (Frame) determinado. Este lenguaje tiene la particularidad de que casi se puede leer como si fuera el idioma Inglés, lo que lo hace más sencillo tanto de comprender  como  de  aprender. Esta relativa facilidad de aprendizaje se debe a que todos los comandos, funciones y otras palabras claves en Director son palabras, grupos de palabras o abreviaciones en Inglés.&lt;br /&gt;
&lt;br /&gt;
'''Como lenguaje, Lingo ofrece diferentes características de alto nivel:''' &lt;br /&gt;
* Gramática: comandos en idioma inglés, muy parecidos a los del lenguaje [[BASIC]].&lt;br /&gt;
* Sintaxis: construcción sencilla de comandos, se escriben casi como el inglés.&lt;br /&gt;
* Funciones: conjunto de comandos que realizan tareas complejas.&lt;br /&gt;
* Programación estructurada.&lt;br /&gt;
* Orientación a objetos.&lt;br /&gt;
* La funcionalidad de Lingo puede extenderse (xtras)&lt;br /&gt;
* Director ofrece un entorno de programación &amp;quot;amigable&amp;quot;, permitiendo organizar y depurar el código facilmente.&lt;br /&gt;
* Lingo es un buen comienzo para estudiar otros lenguajes de programación.&lt;br /&gt;
&lt;br /&gt;
==Sintaxis==&lt;br /&gt;
El cambio a la sintaxis de [[JavaScript]] es una importante mejora sobre el Director de [[Macromedia]]. Esta característica proporciona un lenguaje y una sintaxis más comunes entre el MX de Macromedia Director y [[Flash]] de Macromedia. En Director, la puesta en práctica de la lengua está encima del motor de SpiderMonkey ( Javascript-C ), que es un intérprete preembalado de ECMAScript escrito en C y se conforma en gran parte a la especificación de ECMA, excepto en las áreas donde las funciones o las palabras claves de encargo exponen funcionalidad Director.&lt;br /&gt;
&lt;br /&gt;
==Guiones==&lt;br /&gt;
Respecto a los tipos de guiones de Lingo existen discrepancias entre distintos autores. Existe un grupo de éstos que consideran que las diferencias entre un guión y un comportamiento (Behavior) son meramente  históricas,  y  que  a  partir  de  la  versión 8  de  Director dichas diferencias han desaparecido. Podría considerarse esto como cierto, ya que tanto guiones como comportamientos son instrucciones escritas en Lingo. &lt;br /&gt;
&lt;br /&gt;
Sin embargo, los autores más detallistas consideran que sí hay diferencias, y exponen que todos los comportamientos son guiones, pero  no  todos  los  guiones  son  comportamientos.  La  principal diferencia  es  que  los  comportamientos  deben  escribirse  según  las reglas de la programación orientada a objetos, y debe tratarse como un objeto que se puede utilizar y personalizar de nuevo, dotado de parámetros  que  puedan  ser  configurados  de  forma  independiente para cada instancia del mismo. Así,  los guiones pueden ser de tres tipos: de película, de comportamiento o padre.&lt;br /&gt;
&lt;br /&gt;
Además,  otros  miembros  del  Reparto,  como  las  imágenes  de mapa  de  bits,  o  cualquier  otro  tipo  de  miembros,  pueden  tener guiones  dentro  de  sí  mismos.  Estos  son  llamados  normalmente guiones de Reparto. La  diferencia  entre  todos  estos  tipos  de  guión  no  está  en  qué aspecto tienen o cómo se comportan, sino en cuando actúan.&lt;br /&gt;
&lt;br /&gt;
Un guión  de película, por ejemplo, es una presencia  global en una película. Si escribimos un guión de película que produce un pitido de sistema cuando se hace clic sobre un botón del ratón, este guión da el pitido cuando se hace clic sobre el ratón en cualquier momento. De ahí el nombre de &amp;quot;guión de película&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Un  guión  de  comportamiento  es  similar  en  concepto  a  los comportamientos. No hace nada hasta que se sitúa en un sprite o en un  canal  de  guión  de  fotograma.  Si  se  sitúa  sobre  un sprite,  los comandos  Lingo  dentro  del  guión  están  activos  sólo en  lo  que  al sprite  se  refiere.  Si  tiene  un  comportamiento  que  hace  sonar  un pitido  cuando  hace  clic  sobre  el  botón  del  ratón,  y  aplica  ese comportamiento a un sprite, el pitido suena sólo cuando el usuario hace  clic  sobre  ese sprite.  Los  guiones  de  comportamiento  son  a veces llamados guiones de Sprite o Partitura por esta razón. &lt;br /&gt;
&lt;br /&gt;
Los guiones de comportamiento pueden ser asignados también al canal del guión de fotograma de la Partitura. Cuando se hace esto, actúan  como  guiones  de  película,  pero  sólo  para  el fotograma  o fotogramas a los que son asignados. Los comportamientos usados de esta manera son llamados a veces guiones de Partitura.&lt;br /&gt;
&lt;br /&gt;
Los guiones padre son un tipo de guión mucho más avanzado. No  están  asociados  a  ningún  otro  elemento,  y  funcionan  como instancias  de  objetos  independientes.  Realmente  no  hacen  nada hasta que usa algunos comandos Lingo de programación orientados a los objetos para decirles cómo y cuándo deben utilizarse. &lt;br /&gt;
Los  guiones  de  Reparto,  por  otra  parte,  son  fáciles  de  usar. Puede  crearse  uno  seleccionando  un  actor,  como  por ejemplo  una imagen de mapa de bits, y haciendo clic sobre el botón de guión en la parte superior de la Ventana de Reparto (Cast Windows). Esto abre la  Script  Windows  y  le  permite  añadir  un  guión  a  ese  miembro  del reparto en particular. &lt;br /&gt;
&lt;br /&gt;
Para  crear  o  modificar  guiones  se  usa  la Script  Windows&lt;br /&gt;
&lt;br /&gt;
== Script  Windows==&lt;br /&gt;
La  parte  superior  tiene  los  típicos  botones  de  miembro  del Reparto  de  Director  que  nos  llevan  hacia  atrás  y  adelante  en  el Reparto, nos permiten añadir un nuevo miembro del Reparto, y nos permiten cambiar bibliotecas de Reparto. El resto de botones tratan con  funciones  más  avanzadas  de  Lingo  tales  como  Correctores, inserción  de  breakpoints  (puntos  donde  se  parará  la  ejecución  del guión, para facilitar su depuración), recompilación del guión, etc.&lt;br /&gt;
Los dos botones llamados Alfabetical Lingo y Categorized Lingo nos  permiten  buscar  e  insertar  automáticamente  en  un  guión cualquier palabra clave de Lingo. Son muy útiles cuando no podemos recordar  el  nombre  de  un  comando,  o  cuando  no  recordamos  la sintaxis apropiada para usar comandos Lingo. Por  último  decir  que  mediante  el Property  Inspector podemos cambiar el tipo del guión.&lt;br /&gt;
&lt;br /&gt;
==Controladores y Eventos==&lt;br /&gt;
Lingo está diseñado para responder a eventos en el entorno de Director. Prácticamente todas las acciones que tienen lugar en una película  son  eventos  y  mientras  se  reproduce  una  película  de Director,  éste  emite  notificaciones  internas  llamadas  mensajes, indicando  los  eventos  que  han  tenido  lugar.  Esto  da  lugar  a  que prácticamente  podamos  intervenir  en  cualquier  momento  de  la película en función del tipo de evento que se produzca.&lt;br /&gt;
Los  eventos  pueden  ser  de  varios  tipos,  como  por  ejemplo  de reproducción (startMovie, enterFrame, etc.), de respuesta del usuario (keyDown,  mouseDown,  etc.),  de  tiempo  (idle,  timeOut)  o  de ventana (acivateWindow, openWindow, etc.). Una lista completa de los eventos pueden verse en el manual de Director o en la ayuda.&lt;br /&gt;
Los controladores de eventos o handlers (los llamaremos a partir de  ahora  sólo  controladores)  se  pueden  considerar  como  hojas  de instrucciones  dirigidas  a  realizar  varias  tareas.  Los  controladores están  asociados  a  los  eventos,  es  decir,  cuando  se produce  un evento, actuará el controlador asociado a dicho evento.&lt;br /&gt;
&lt;br /&gt;
'''La estructura de un controlador es la siguiente:''' &lt;br /&gt;
*Comienzan con la palabra on seguida por un evento. &lt;br /&gt;
*Incluyen  una  serie  de  acciones  que  han  de  producirse cuando el evento tiene lugar. &lt;br /&gt;
*Terminan con la palabra end. &lt;br /&gt;
Si  un  guión  incluye  varias  instrucciones,  se  van  ejecutando progresivamente  una  después  de  otra  hasta  llegar  a final  del controlador. &lt;br /&gt;
Es decir, al producirse un evento determinado, es importante  conocer  a  qué  controlador  va  asociado,  y  si  tiene  que ejecutar algún conjunto de instrucciones.&lt;br /&gt;
&lt;br /&gt;
==Ejemplo Sencillo==&lt;br /&gt;
 on mouseUp me &lt;br /&gt;
 beep &lt;br /&gt;
 end &lt;br /&gt;
&lt;br /&gt;
Este  controlador  indica  que  cuando  se  pulse  el  ratón  sobre  el elemento  al  que  está  asociado,  suene  un  pitido.  Como  puede apreciarse, puede leerse fácilmente el significado, pues Lingo intenta imitar  el  idioma  inglés  (excepto  por  la  palabra  “me”,  que  es  un parámetro de la función indicando que el objeto sobre el que se aplica la función es el mismo guión al que pertenece).&lt;br /&gt;
&lt;br /&gt;
El programador puede fabricar sus propios controladores, que no respondan a nigún evento. En ese caso, al controlador también se le puede  llamar  función.  Los  controladores  en  ese  caso  pueden  ir acompañados por argumentos, también conocidos como parámetros, los cuales representan valores suplementarios que se transmiten al controlador  cuando  se  le  invoca  y  que  suministran  la  información adicional que necesita la función para completar la tarea para la que se programado. Estos parámetros se sitúan detrás del nombre de la función, como el parámetro “me” en el ejemplo anterior. &lt;br /&gt;
&lt;br /&gt;
A  una  función  sólo  se  le  puede  llamar  desde  el ámbito desde el cual esa función es visible: desde la misma instancia del  mismo  objeto  al  que  pertenece  (bien  sea  un  guión  de comportamiento, o bien sea un guión padre). La única forma de tener una función a la que se puede llamar desde cualquier tipo de objeto es colocarla en un guión de película. Pero si queremos comunicarnos con  una  función  que  está  en  un  objeto  determinado  y  que  no  es visible, aún nos queda otra posibilidad: podemos mandar un mensaje hacia ese objeto.&lt;br /&gt;
&lt;br /&gt;
==Elementos de Lingo==&lt;br /&gt;
Las  instrucciones  incluidas  en  un  controlador  de  Lingo  están formadas por una combinación de elementos, de forma idéntica a las palabras de una frase en una lengua. Se pueden clasificar según su función y las reglas determinan cómo se pueden combinar.&lt;br /&gt;
&lt;br /&gt;
'''Los elementos de Lingo se agrupan en las siguientes categorías:'''&lt;br /&gt;
*Comandos:  Indican,  en    una  película,  una  acción.  Por ejemplo, go  to  ordena  al  cabezal  de  reproducción  que  se desvíe hacia un fotograma concreto. &lt;br /&gt;
*Funciones:  Devuelven  un  valor.  Por  ejemplo,  date devuelve  la  fecha  establecida  en  el  ordenador.  Existen muchas  funciones  en  Lingo,  además  de  las  que  pueda escribir el programador.&lt;br /&gt;
* Términos  clave:  Son  palabras  reservadas  que  tienen  un significado  especial  en  Lingo.  Por  ejemplo,  todas  las propiedades de Lingo y muchas propiedades y funciones de los sprites deben ir precedidas por el término clave the. Este término clave distingue el nombre de la propiedad de una variable o del nombre de un objeto.&lt;br /&gt;
* Propiedades: Son atributos de un objeto. Por ejemplo, the colorDepth  es  una  propiedad  del  monitor  del  ordenador referente a la definición del color. Las propiedades también pueden  venir  expresadas  con  sintaxis  de  punto,  como  por ejemplo lista.count (número de elementos de una lista). &lt;br /&gt;
&lt;br /&gt;
'''En este caso, lista es un objeto, y count, una propiedad suya.'''&lt;br /&gt;
*Operadores: Son términos que modifican o cambian uno o varios valores. Por ejemplo, los operadores + o &amp;lt;. &lt;br /&gt;
*Constantes: Son elementos que no cambian. Por ejemplo, TRUE siempre tiene el mismo significado, el valor 1. &lt;br /&gt;
*Variables: Son fragmentos que se reservan en la memoria para  guardar  ciertos  valores. &lt;br /&gt;
&lt;br /&gt;
Las  dos  cualidades  más importantes  de  las  variables  son  su  tipo  (entero,  punto flotante,  carácter,  cadena  de  caracteres,  lista,  etc),  y  su ámbito.  En  cuanto  al  ámbito,  las  variables  pueden  ser locales  (sólo  accesibles  en  la  función  en  que  fueron declaradas),  globales  (accesibles  en  toda  la  película)  y propiedades  (accesibles  por  todas  las  funciones  en una instancia de un objeto, bien sea comportamiento, bien guión padre).&lt;br /&gt;
&lt;br /&gt;
==Mensajes==&lt;br /&gt;
Director envía mensajes cada vez que tiene lugar un evento en la película (por ejemplo, pulsar el botón del ratón). A partir de los eventos,  Director  desencadena  una  serie  de  acciones  que previamente se le han asignado mediante un controlador. &lt;br /&gt;
&lt;br /&gt;
Estos  mensajes  son  recogidos  por  Director  en  la  ventana Message, que no es más que un intérprete de Lingo, es decir, toma comandos de Lingo y los evalúa de la misma forma que los guiones. Por tanto, haciendo uso de esta ventana podemos visualizar la forma de trabajar de Director. Esto supone una forma sencilla de comenzar a aprender el funcionamiento de Lingo y Director.&lt;br /&gt;
&lt;br /&gt;
Tenemos dos posibilidades a la hora de trabajar con la ventana Message. Si el botón Trace está pulsado y comenzamos a reproducir nuestra  película,  comenzarán  a  aparecernos  los  distintos  mensajes que envía Director, así como las líneas de guión que ejecuta; esta es una  forma  de  visualizar  lo  que  ocurre  durante  el  transcurso  de  la película, ayudando notablemente en la realización de proyectos tanto a nivel de principiante como a nivel más avanzado. Por el contrario, si el  botón Trace  no  está  pulsado,  podremos  practicar  tal  como escribiríamos  los  guiones  en  Lingo,  para  ver  los  errores  que cometemos y poder subsanarlos. &lt;br /&gt;
&lt;br /&gt;
El  uso  de  la ventana Message es de gran utilidad para comenzar a aprender Lingo, y que es  recomendable  su  uso  para  iniciarse  en  este  lenguaje  de programación.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://www.uv.es/~ivorra/docencia/LINGOav.pdf&lt;br /&gt;
*http://www.tecn.upf.es/~sjorda/CPOM/clase00Lingo/clase00.htm&lt;br /&gt;
*http://www.inludo.com/&lt;br /&gt;
*http://www.alibris.com/ &lt;br /&gt;
*http://www.emagister.com&lt;br /&gt;
*http://www.slideshare.net/varnedo/lenguajes-de-programacion-4208681&lt;br /&gt;
&lt;br /&gt;
[[Category:Programación]][[Category:Informática]]&lt;br /&gt;
[[Category:Lenguajes_de_programación_orientada_a_objetos]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Archivo:Lingo.jpg&amp;diff=1941038</id>
		<title>Archivo:Lingo.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Archivo:Lingo.jpg&amp;diff=1941038"/>
		<updated>2013-05-29T19:03:07Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sumario ==&lt;br /&gt;
&lt;br /&gt;
== Estado de copyright: ==&lt;br /&gt;
&lt;br /&gt;
== Fuente: ==&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=ICONIX&amp;diff=1894794</id>
		<title>ICONIX</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=ICONIX&amp;diff=1894794"/>
		<updated>2013-04-18T14:32:30Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: Página creada con '{{ Definición |Nombre= ICONIX |imagen= Iconix.jpg |concepto= metodología pesada-ligera de Desarrollo del Software.  }}    '''ICONIX:''' es una metodología pesada-ligera de De...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
Definición&lt;br /&gt;
|Nombre= ICONIX&lt;br /&gt;
|imagen= Iconix.jpg&lt;br /&gt;
|concepto= metodología pesada-ligera de Desarrollo del Software.&lt;br /&gt;
 }} &lt;br /&gt;
 &lt;br /&gt;
'''ICONIX:''' es una metodología pesada-ligera de Desarrollo del Software que se halla a medio camino entre [[RUP]] (Rational Unified Process) y [[XP]] (eXtreme Programming), es una [[metodología]] simplificada en comparación a otras más tradicionales, la cual unifica un conjunto de métodos de orientación a objetos con el objetivo de tener un control estricto sobre todo el ciclo de vida del producto a realizar, cuenta con una secuencia de pasos que se deben seguir y determina claramente las actividades a desarrollar en cada etapa del ciclo de vida del proyecto que la utilice.&lt;br /&gt;
 &lt;br /&gt;
== Metodologías de Desarrollo de Software  ==&lt;br /&gt;
Las [[Metodologías de Desarrollo de Software]] surgen debido a la necesidad de emplear una serie de procedimientos y técnicas a la hora de desarrollar un producto de [[software]]. Estas han sido creadas con el propósito de brindarle una guía al desarrollador a la hora de crear un nuevo software. Debido a que no todos los sistemas que se desarrollan tienen la misma complejidad existen una gran variedad de metodologías para la creación de los mismos, están las [[Metodologías Pesadas]], que son aquellas que establecen rigurosamente las actividades a desarrollar, herramientas a utilizar y notaciones que se usarán y las [[Metodologías Ligeras]], que se refieren a una mayor interacción del cliente con el desarrollador del software, mostrándole versiones funcionales del producto en intervalos de tiempo cortos, para que éste pueda evaluar y sugerir cambios en el producto según se va desarrollando.&lt;br /&gt;
 &lt;br /&gt;
==Acerca del Autor==&lt;br /&gt;
Fue elaborado por [[Doug Rosenberg]] y [[Jacobson]] que ha dado soporte y conocimiento a la metodología ICONIX desde 1993. Presenta claramente las actividades de cada fase y exhibe una secuencia de pasos que deben ser seguidos. Está adaptado a los patrones y ofrece el soporte de UML, dirigido por casos de uso y es un proceso iterativo e incremental.&lt;br /&gt;
 &lt;br /&gt;
==Carácterísticas de Iconix ==&lt;br /&gt;
Iconix deriva directamente del RUP y su fundamento es el hecho de que un 80% de los casos pueden ser resueltos tan solo con un uso del 20% del UML, con lo cual se simplifica muchísimo el proceso sin perder documentación al dejar solo aquello que es necesario. Esto implica un uso dinámico del UML de tal forma que siempre se pueden utilizar otros diagramas además de los ya estipulados si se cree conveniente. Iconix se guía a través de casos de uso y sigue un ciclo de vida iterativo e incremental. El objetivo es que a partir de los casos de uso se obtenga el sistema final.&lt;br /&gt;
* Iterativo e Incremental: durante el desarrollo del [[modelo del dominio]] y la definición de los casos de uso se producen varias iteraciones. El ciclo de vida incremental consiste en desarrollar por partes el producto de manera que puedas integrarlas funcionalmente. Ciclo de vida Iterativo, en cada ciclo de iteración se revisa y mejora el producto.&lt;br /&gt;
* Trazabilidad: Cada paso que se realiza está definido por un requisito, se define la trazabilidad como la capacidad de seguir una relación entre los diferentes artefactos de software producidos. &lt;br /&gt;
* Dinámica del UML: Ofrece un uso dinámico del UML porque utiliza algunos diagramas UML, sin exigir la utilización de todos, como en el caso de RUP.&lt;br /&gt;
 &lt;br /&gt;
==Fundamentos de los procesos==&lt;br /&gt;
*Tiene que ser lo suficientemente flexible como para adaptarse a diferentes estilos y tipos de problemas.&lt;br /&gt;
*Hay que apoyar la forma de trabajo del personal (incluidos los prototipos y desarrollo iterativo / incremental).&lt;br /&gt;
*Sirve como una guía para los menos experimentados&lt;br /&gt;
*Expone los productos anteriores al código de manera estándar y comprensible.&lt;br /&gt;
&lt;br /&gt;
==Fases de la metodología Iconix==&lt;br /&gt;
*'''Revisión de los requisitos/ Análisis de Requisitos:''' &lt;br /&gt;
Identificar en el mundo real, los objetos y todas las relaciones de agregación y generalización entre ellos. Se deben analizar  todos los requisitos formaran parte del sistema y con estos construir el diagrama de clases, que representa las agrupaciones funcionales que estructuraran el sistema en desarrollo.&lt;br /&gt;
&lt;br /&gt;
Para esta fase se utilizan 3  herramientas:&lt;br /&gt;
&lt;br /&gt;
''Modelo de Dominio:'' esto se refiere a identificar objetos y cosas del mundo real que intervienen con nuestro sistema. (Estático)&lt;br /&gt;
&lt;br /&gt;
''Modelo de Casos de Uso:'' describe las acciones o el comportamiento que un usuario realiza dentro del sistema. Comprende de actores, casos de uso y el sistema.&lt;br /&gt;
&lt;br /&gt;
''Prototipo de Interfaz de Usuario:'' implica la creación de un modelo o modelos operativos del trabajo de un sistema, en el que analistas y clientes deben estar de acuerdo. (Dinámico/ los usuarios se hacen participantes activos en el desarrollo) &lt;br /&gt;
&lt;br /&gt;
*'''Revisión del diseño preliminar /Análisis y Diseño Preliminar'''&lt;br /&gt;
En esta fase a partir de cada caso de uso se obtendrán una ficha de caso de uso, (la cual no pertenece a UML) , está formada por un nombre, una descripción, una precondición que debe cumplir antes de iniciarse, una poscondición que debe cumplir al terminar si termina correctamente.&lt;br /&gt;
Se deben describir los casos de uso, como un flujo principal de acciones, pudiendo contener los flujos alternativos y los flujos de excepción. la principal sugerencia de Iconix, en esta actividad es que no se debe perder mucho tiempo con la descripción textual. Debería usarse un estilo consistente que sea adecuado al contexto del proyecto.&lt;br /&gt;
Realizar Diagrama de Robustez: es un híbrido entre un Diagrama de Clases y un Diagrama de Actividades. Es una herramienta que nos permite capturar el Que hacer y a partir de eso él Como hacerlo.&lt;br /&gt;
Facilita el reconocimiento de objetos y hace más sencilla la lectura del sistema. Ayuda a identificar los objetos que participan en cada caso de uso.&lt;br /&gt;
&lt;br /&gt;
El diagrama de Robustez se divide en:&lt;br /&gt;
&lt;br /&gt;
''Objetos fronterizos:'' usado por los actores para comunicarse con el sistema. &lt;br /&gt;
&lt;br /&gt;
''Objetos entidad:'' son objetos del modelo del dominio. &lt;br /&gt;
&lt;br /&gt;
''Objetos de Control:'' es la unión entre la interfaz y los objetos de entidad. &lt;br /&gt;
&lt;br /&gt;
''Diagrama de Clases:'' describe la estructura de un [[sistema]] mostrando sus clases, atributos y las relaciones entre ellos&lt;br /&gt;
&lt;br /&gt;
*'''Revisión crítica del diseño/Diseño'''&lt;br /&gt;
En esta fase se reconocen todos los elementos que forman parte de nuestro sistema.&lt;br /&gt;
Diagramas de Secuencia: muestra los métodos que llevaran las clases de nuestro sistema. Muestra todos los cursos alternos que pueden tomar todos nuestros casos de uso.&lt;br /&gt;
Se debe terminar el modelo estático, añadiendo los detalles del diseño en el diagrama de clases y verificar si el diseño satisface todos los requisitos identificados.&lt;br /&gt;
&lt;br /&gt;
*'''Implementación'''&lt;br /&gt;
En esta fase a partir del buen diseño logrado se creara el software; que posteriormente se entregara.&lt;br /&gt;
Se debe utilizar el diagrama de componentes si fuera necesario para apoyar el desarrollo, es decir mostrar una distribución física de los elementos que componen la estructura interna del sistema. Así como escribir y generar el código. &lt;br /&gt;
&lt;br /&gt;
Pero además se debe tener en cuenta factores como:&lt;br /&gt;
&lt;br /&gt;
''Reusabilidad:'' es la posibilidad de hacer uso de los componentes en diferentes aplicaciones.&lt;br /&gt;
&lt;br /&gt;
''Extensibilidad:'' consiste en modificar con facilidad el software.&lt;br /&gt;
&lt;br /&gt;
''Confiabilidad:'' realización de sistmas descartando las posibilidades de error.&lt;br /&gt;
&lt;br /&gt;
''Realizar pruebas:'' Test de unidades, de casos, datos y resultados. Test de integración con los usuarios para verificar la aceptación de los resultados.&lt;br /&gt;
 &lt;br /&gt;
==Ventajas==&lt;br /&gt;
*Proceso ágil para obtener un sistema informático.&lt;br /&gt;
*Dedicada a la construcción de sistemas de gestión de pequeña y mediana complejidad con la participación de los usuarios finales.&lt;br /&gt;
 &lt;br /&gt;
==Desventajas==&lt;br /&gt;
Esta metodología es la definición de un proceso ágil para poder obtener la especificación de requerimientos y poder modelar el sistema haciendo uso del Lenguaje de Modelamiento Unificado (UML).&lt;br /&gt;
La principal desventaja de esta metodología es que necesita información rápida y puntual de los requisitos, del diseño y de las estimaciones, además, es una metodología que no debe ser usada en proyectos de larga duración.&lt;br /&gt;
 &lt;br /&gt;
==Impacto==&lt;br /&gt;
*La metodología ICONIX, es una combinación entre la RUP y XP; está basada en el desarrollo de sistemas a partir del análisis y la documentación. &lt;br /&gt;
*Esta metodología se busca tener una retroactividad con el cliente, en la mitad de los procedimientos, comenzando con un prototipo en donde el analista y el cliente definirán pantallas, funcionalidades, en si lo que se espera obtener del programa.&lt;br /&gt;
*Se definirán los modelos de casos de uso, de secuencia y de robustez, con la finalidad de conseguir un buen sistema.&lt;br /&gt;
*Lo original de la metodología es la definición de un proceso ágil para obtener la especificación de requerimientos y modelar el comportamiento de sistemas, utilizando el lenguaje de modelamiento unificado (UML).&lt;br /&gt;
*Es una alternativa para la comunidad informática dedicada al desarrollo de sistemas de gestión pequeños y medianos, que favorece la participación de los usuarios finales y la documentación de todo el proceso.&lt;br /&gt;
*La participación y el compromiso de los usuarios finales es uno de los pilares fundamentales de las metodologías ágiles que permite verificar la completitud y el cumplimiento de los requisitos. Esto se logra en Iconix con las participación de los usuarios en la protipación temprana, en la descripción de los casos de uso y en las pruebas del sistema.&lt;br /&gt;
 &lt;br /&gt;
== Enlaces externos ==&lt;br /&gt;
* [http://www.iconixsw.com Página Oficial ICONIX]&lt;br /&gt;
* [http://www.iconixprocess.com/ Página de la ICONIX Process]&lt;br /&gt;
* [http://www.iconixsw.com/JumpStart.html ICONIX UML and SysML Jumpstart Training]&lt;br /&gt;
* [http://www.informit.com/articles/article.aspx?p=167902 Introducción a los Procesos ICONIX]&lt;br /&gt;
* [http://www.agilemodeling.com/artifacts/robustnessDiagram.htm Robustness Diagrams]&lt;br /&gt;
* [http://www.portalhuarpe.com.ar/Seminario09/archivos/MetodologiaICONIX.pdf Metodología ICONIX]&lt;br /&gt;
*[http://www.portalhuarpe.com.ar/Seminario09/archivos/UsodeICONIX.pdf Uso de la metodología ICONIX]&lt;br /&gt;
 &lt;br /&gt;
==Fuentes==&lt;br /&gt;
*E.V.A. UCI, I. D. S.Conferencia #1. Introducción a la Ingeniería de Software, ISW 1.&lt;br /&gt;
*Rosenberg, Doug; Stephens, Matt (2007). Use Case Driven Object Modeling with UML: Theory and Practice. Apress. ISBN 1590597745.&lt;br /&gt;
*Kendall Scott &amp;amp; Doug  Rosenberg. ( 2001). Applying Use Case Driven  Object Modeling with UML: An Annotated e-Comerce Example. Addison  Wesley.&lt;br /&gt;
*Rosenberg, Doug; Stephens, Matt; Collins-Cope, Mark (2005). Agile Development with ICONIX Process. Apress. ISBN 1590594649.&lt;br /&gt;
==Rferencias==&lt;br /&gt;
*http://www.portalhuarpe.com.ar&lt;br /&gt;
*http://www.iconix.com.mx/&lt;br /&gt;
*http://iconixprocess.files.wordpress.com/2007/01/showbookdetails-robustness.png&lt;br /&gt;
*http://www.portalhuarpe.com.ar/Seminario09/archivos/MetodologiaICONIX.pdf&lt;br /&gt;
*http://www.portalhuarpe.com.ar/Seminario09/archivos/UsodeICONIX.pdf&lt;br /&gt;
*http://apurisacav.files.wordpress.com/2012/05/tesis_implementacion-de-sistema-de-gestion-documentaria-mdjayanca.pdf&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
[[Category:Ciencias_informáticas]] [[Category:Software]] [[Category:Ingeniería_de_software]] [[Category:Metodologías_de_desarrollo_de_software]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Archivo:Iconix.jpg&amp;diff=1894699</id>
		<title>Archivo:Iconix.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Archivo:Iconix.jpg&amp;diff=1894699"/>
		<updated>2013-04-18T14:05:16Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sumario ==&lt;br /&gt;
&lt;br /&gt;
== Estado de copyright: ==&lt;br /&gt;
&lt;br /&gt;
== Fuente: ==&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=ProfiCAD_Home&amp;diff=1840396</id>
		<title>ProfiCAD Home</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=ProfiCAD_Home&amp;diff=1840396"/>
		<updated>2013-03-23T17:43:35Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: Página creada con '{{Ficha Software |nombre= ProfiCAD Home |familia= Software Eléctrico. |imagen= Proficad.jpg |tamaño= 7.73 MB |descripción= ProfiCAD te brinda una forma rápida y sencilla de ...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= ProfiCAD Home&lt;br /&gt;
|familia= Software Eléctrico.&lt;br /&gt;
|imagen= Proficad.jpg&lt;br /&gt;
|tamaño= 7.73 MB&lt;br /&gt;
|descripción= ProfiCAD te brinda una forma rápida y sencilla de crear documentaciones eléctricas y diagramas esquemáticos.&lt;br /&gt;
|creador= &lt;br /&gt;
|desarrollador= &lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|lanzamiento inicial=&lt;br /&gt;
|versiones= &lt;br /&gt;
|última versión estable= 21 de febrero de 2013.&lt;br /&gt;
|género= &lt;br /&gt;
|sistemas operativos= Multiplataforma&lt;br /&gt;
|idioma= Español e Inglés.&lt;br /&gt;
|licencia= Freeware.&lt;br /&gt;
|premios=&lt;br /&gt;
|web= http://www.proficad.com  &lt;br /&gt;
}}&lt;br /&gt;
 &lt;br /&gt;
El ''' ProfiCAD Home ''', es la versión gratuita que le permite, comenzar o rediseñar su propia biblioteca de esquemas eléctricos o electrónicos digitalmente. ProfiCAD es la manera más rápida y sencilla de crear documentación eléctrica y diagramas esquemáticos. A pesar de que es muy fácil de aprender y utilizar, que es una herramienta profesional utilizado por una amplia gama de clientes.&lt;br /&gt;
 &lt;br /&gt;
Muchos técnicos e ingenieros eléctricos y electrónicos tienen esquemas en papel, que no es más que la guía que les permite recordar y crear a partir de ellos, los diferentes dispositivos. Entre los [[software]] más reputados en este aspecto se encuentran: el [[WorkBench]], [[AutoCad]], [[Cocodrilo]], entre otros. Verdaderas bibliotecas en el diseño electrónico, pero todos de pago a diferencia del ProfiCAD. &lt;br /&gt;
 &lt;br /&gt;
==Traslado del programa ==&lt;br /&gt;
Si necesita trasladar el programa a otro directorio u otra computadora, basta trasladar los archivos precitados. No es necesario utilizar el programa de instalación. Es posible utilizar el programa también del disco exterior o lápiz de memoria.  &lt;br /&gt;
 &lt;br /&gt;
==Biblioteca de símbolos electrotécnicos e CI ==&lt;br /&gt;
La biblioteca de símbolos e CI comprende los archivos con el sufijo &amp;quot;PPD&amp;quot; para los símbolos &lt;br /&gt;
y &amp;quot;PICD&amp;quot; para los CI. Cada archivo contiene un símbolo.  &lt;br /&gt;
Cada esquema contiene las copias de símbolos contenidos en él. Vd. puede entregar su &lt;br /&gt;
esquema a cualquier persona con independencia de los símbolos utilizados en el esquema. &lt;br /&gt;
Si Vd. cambia el símbolo (en el editor de símbolos), el símbolo dado ya insertado en el &lt;br /&gt;
esquema no va a cambiar. &lt;br /&gt;
La mayoría de los símbolos (corriente fuerte) están definidos para corresponder a las normas &lt;br /&gt;
actuales en vigor. Algunos símbolos (corriente de baja intensidad) donde la norma no se ha &lt;br /&gt;
impuesto todavía en la hora actual están definidos tal y como se dibujan habitualmente en la &lt;br /&gt;
literatura especializada. &lt;br /&gt;
La biblioteca contiene los directorios que empiezan con el carácter &amp;quot;_&amp;quot; y tienen un objetivo &lt;br /&gt;
especial: &lt;br /&gt;
*_TB : sirve para guardar títulos de bloques (archivos con el sufijo ptb) &lt;br /&gt;
*_LIN : sirve para guardar definiciones de líneas (archivos con el sufijo lin)&lt;br /&gt;
 &lt;br /&gt;
==Galería símbolos y esquemas ==&lt;br /&gt;
La galería ProfiCAD en la dirección http://gallery.proficad.com es un servicio Internet para &lt;br /&gt;
los usuarios del programa ProfiCAD. &lt;br /&gt;
Vd. va a encontrar en esta dirección otros símbolos y esquemas fuera de los que se instalan &lt;br /&gt;
junto con el programa. El servicio explorador permite buscar según palabras clave, categorías &lt;br /&gt;
o la fecha de su adicción. El foro de debate sirve para discutir sobre símbolos y esquemas &lt;br /&gt;
particulares. &lt;br /&gt;
La galería ProfiCAD contiene los símbolos y esquemas que los usuarios del programa &lt;br /&gt;
ProfiCAD han facilitado a esta galería. Si Vd. tiene los esquemas y símbolos creados por sus &lt;br /&gt;
propias fuerzas que quiere repartirse entre los otros, puede enviarlos a la galería.&lt;br /&gt;
 &lt;br /&gt;
==Paneles==&lt;br /&gt;
El usuario puede facilitar el trabajo con el programa. Es posible desplazar estos paneles, ajustarlos para que se escondan automáticamente, ahorren el espacio o se desconecten completamente.&lt;br /&gt;
Compuesto por paneles, que se dividen en:&lt;br /&gt;
*1- Documentos&lt;br /&gt;
*2- Símbolos gráficamente&lt;br /&gt;
*3- Símbolos textualmente&lt;br /&gt;
*4- Favoritos&lt;br /&gt;
*5- Explorador&lt;br /&gt;
*6- Propiedades&lt;br /&gt;
*7- Circuitos integrados&lt;br /&gt;
*8- Capas&lt;br /&gt;
*9- Páginas&lt;br /&gt;
 &lt;br /&gt;
==Ventajas==&lt;br /&gt;
Una de las ventajas más elogiadas es la importación desde AutoCAD (de archivos DXF y DWG). El propósito principal de esta característica es el de pegar una proyección de planta a un dibujo y dibujar una instalación eléctrica encima. La biblioteca de símbolos electrotécnicos e IO comprende los archivos con el sufijo &amp;quot;PPD&amp;quot; para los símbolos y &amp;quot;PICD&amp;quot; para los IO. Cada archivo contiene un símbolo. Cada esquema contiene las copias de símbolos contenidos en él. Usted puede entregar su esquema a cualquier persona con independencia de los símbolos utilizados en el mismo. Si usted cambia el símbolo (en el editor de símbolos), el símbolo dado ya insertado en el esquema no va a cambiar. Los símbolos están definidos para corresponder a las normas actuales.&lt;br /&gt;
Sólo tienes que arrastrar los símbolos al dibujo y listo. Soporta [[Unicode]], incluye aproximadamente 700 símbolos, permite la numeración continua y una renumeración inteligente de símbolos cuando se copia.&lt;br /&gt;
  &lt;br /&gt;
==Requerimientos mínimos==&lt;br /&gt;
*[[Memoria RAM]]: 512 Mb&lt;br /&gt;
*[[Procesador]]: Intel Pentium o superior&lt;br /&gt;
*Instalación: 7.66 Mb&lt;br /&gt;
*Espacio en HDD: 20 Mb&lt;br /&gt;
*[[Sistemas Operativos]]: Múltiples&lt;br /&gt;
*Otros: -&lt;br /&gt;
 &lt;br /&gt;
==Opciones que brinda==&lt;br /&gt;
La aplicación es altamente configurable, a través del Ajuste del programa en Archivo - Ajuste. Una de las utilidades que brinda el programa es la generación de informes, y dentro de ellos están las opciones: Cómo imprimir los símbolos&lt;br /&gt;
Exportación al formato DXF&lt;br /&gt;
Lista de material Netlist (Lista de conexiones)&lt;br /&gt;
Lista de conductores&lt;br /&gt;
Exportación al formato de imagen.&lt;br /&gt;
Con opciones prácticas ProfiCAD Home, promete una experencia al usuario, que dejará de lado el lápiz y el papel, o cualquier otra aplicación de un alto grado de complejidad en su aprendizaje.&lt;br /&gt;
 &lt;br /&gt;
==Fuentes==&lt;br /&gt;
*http://www.abcdatos.com/programa/proficad-diagramas-electricos.html Manual de Usuario&lt;br /&gt;
*http://www.proficad.com/ Página Oficial&lt;br /&gt;
  &lt;br /&gt;
==Referencias==&lt;br /&gt;
*http://es.proficad.com/descargar-diagramas-electricos.aspx&lt;br /&gt;
*http://cloudzer.net/file/w6b0ikei&lt;br /&gt;
*http://www.freewarebb.com &lt;br /&gt;
*http://revista.jovenclub.cu/?p=975&lt;br /&gt;
*http://www.buscoinfo.net/descargar/proficad&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Archivo:Proficad.jpg&amp;diff=1840386</id>
		<title>Archivo:Proficad.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Archivo:Proficad.jpg&amp;diff=1840386"/>
		<updated>2013-03-23T17:35:45Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sumario ==&lt;br /&gt;
&lt;br /&gt;
== Estado de copyright: ==&lt;br /&gt;
&lt;br /&gt;
== Fuente: ==&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Dise%C3%B1o_web_minimalista&amp;diff=1447419</id>
		<title>Diseño web minimalista</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Dise%C3%B1o_web_minimalista&amp;diff=1447419"/>
		<updated>2012-03-26T16:19:15Z</updated>

		<summary type="html">&lt;p&gt;Adrianeth jc.jiguani2: Página creada con 'En el diseño web, el minimalismo es fácil de reconocer pero no tanto de explicar. Básicamente lo que se busca es no sobrecargar el sitio con elementos que no aportan posi...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En el [[diseño web]], el minimalismo es fácil de reconocer pero no tanto de explicar. Básicamente lo que se busca es no sobrecargar el sitio con elementos que no aportan positivamente a la funcionalidad del mismo o al objetivo con que fue creado. No significa que poniendo sólo texto en blanco y negro tengamos un '''diseño minimalista '''. Va mucho más allá de esa idea. Realizar un diseño minimalista requiere además de lo estético, una mirada funcional hacia el sitio que se está realizando. Saber que elementos aportan a la funcionalidad del mismo y cuáles no, es una tarea complicada, la cual no equivale a suprimir imágenes y enlaces. El minimalismo combina funcionalidad y estilo, sólo muestra lo que sirve, lo demás lo sustrae.&lt;br /&gt;
{{Definición&lt;br /&gt;
|nombre= Diseño minimalista.&lt;br /&gt;
|imagen=Web.png&lt;br /&gt;
 &lt;br /&gt;
|tamaño=&lt;br /&gt;
 &lt;br /&gt;
|concepto=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== '''Diseño Minimalista''' ==&lt;br /&gt;
El término minimalismo se utiliza para describir una tendencia en el diseño y la [[arquitectura]], donde el sujeto se reduce a sus elementos necesarios. Está de moda en las pantallas de las computadoras. Una corriente dentro del mundo del diseño Web que es ahora, gracias a aspectos como la [[Web 2.0]], la usabilidad o la aparición de nuevos dispositivos, cuando se ha vuelto predominante.&lt;br /&gt;
En el Diseño Minimalista Priman la usabilidad, la interactividad y la sencillez, el minimalismo es una corriente artística que se basa en la reducción de objetos reales a formas simplificadas, geométricas e impersonales. Aplicado al diseño Web, puede dar lugar a resultados muy interesantes. Un diseño minimalista no es necesariamente un buen diseño, y un buen diseño no tiene por qué ser minimalista. La principal virtud de un diseño minimalista es que se carga rápidamente en el navegador, siempre y cuando se haga bien.&lt;br /&gt;
Los elementos visuales siguen existiendo pero la tecnología utilizada no debe ser una barrera de entrada para los usuarios por lo que se supeditan a la accesibilidad, estrechamente relacionada con la rapidez de descarga y el adecuado etiquetado de los contenidos. Se impone así la faceta de la Web como herramienta de trabajo al servicio del usuario.&lt;br /&gt;
&lt;br /&gt;
=='''Claridad y organización'''== De este modo, se abandonan las animaciones excesivas no justificadas. Se regresa por tanto al minimalismo, a la limpieza extrema, primando la frescura, el atractivo y la facilidad de uso. Los textos largos y complejos, se han sustituido por  páginas de contenidos resumidos más directos e impactantes. El tipo de letra habitual es el que permite una mayor facilidad de lectura, como Arial, Verdana o Tahoma; las letras son oscuras sobre fondos claros; el contenido se “centra” en la página; predominan los colores suaves y neutros; se extiende el uso de los códigos estándar que permiten que la página se adapte al tipo de acceso e interfaz del usuario.&lt;br /&gt;
Estos conceptos utilizan además los estándares reconocidos, el código estándar que posibilita y facilita el posicionamiento en los buscadores y la navegación de los visitantes. No sólo eso, este diseño facilita al gestor Web la realización de las tareas de seguimiento del uso de la página, así como las de mantenimiento. Pero esto no significa que la estética haya desaparecido de Internet, precisamente el diseño siempre tiene que estar orientado a la usabilidad. Las animaciones en Flash siguen teniendo cabida en multitud de páginas y no exclusivamente en aquellas que, por su contenido, requieran de una mayor creatividad y diseño. &lt;br /&gt;
El minimalismo en el diseño en general, y en diseño web en particular, se logra mediante la reducción de los elementos superfluos e innecesarios, colores, formas y texturas. Se trata de incluir exclusivamente los elementos necesarios para el correcto funcionamiento de una [[aplicación]]. Su propósito es hacer que el contenido sea el punto focal. Desde el punto de vista visual, el diseño web minimalista está orientado a lo básico.&lt;br /&gt;
&lt;br /&gt;
=='''Leyes de la simplicidad de [[John Maeda]]'''==&lt;br /&gt;
Un buen punto de partida para la implementación de un diseño web minimalista pueden ser las 10 leyes de la simplicidad de John Maeda:&lt;br /&gt;
·         Reducir. La manera más sencilla de alcanzar la simplicidad es mediante la reducción razonada.&lt;br /&gt;
·         Organizar. La organización permite que un sistema complejo parezca más sencillo.&lt;br /&gt;
·         Tiempo. El ahorro de tiempo simplifica las cosas.&lt;br /&gt;
·         Aprendizaje. El conocimiento lo simplifica todo.&lt;br /&gt;
·         Diferencias. La simplicidad y la complejidad se necesitan entre sí.&lt;br /&gt;
·         Contexto. Lo que se encuentra en el límite de la simplicidad también es relevante.&lt;br /&gt;
·         Emoción. Es preferible que haya más emociones a que haya menos.&lt;br /&gt;
·         Confianza. Confiamos en la simplicidad.&lt;br /&gt;
·         Fracaso. En algunos casos nunca es posible alcanzar la simplicidad.&lt;br /&gt;
·         La única. La simplicidad consiste en sustraer lo que es obvio y añadir lo específico&lt;br /&gt;
&lt;br /&gt;
=='''Principios de diseño web minimalista'''==&lt;br /&gt;
*Menos es más&lt;br /&gt;
El objetivo es dar la importancia al contenido mediante la reducción al mínimo de las posibles distracciones para el usuario. Si una página tiene demasiados elementos, el usuario puede llegar a confundirse al buscar un elemento o, incluso, malinterpretar la prioridad de cada elemento.&lt;br /&gt;
*Omitir cosas innecesarias&lt;br /&gt;
Pensar en lo necesario para el contenido y la función de su sitio web y omitir cualquier cosa que no contribuye a su función. El objetivo en este momento no es hacer que el sitio web sea menos funcional, sino eliminar los elementos innecesariosy/o combinar secciones en un esquema más simple. Una opción puede ser dividir el contenido en páginas separadas, dando a cada pieza de contenido más atención.&lt;br /&gt;
*Eliminar elementos hasta que el sitio web deje de funcionar&lt;br /&gt;
Al elaborar un diseño web minimalista, intente eliminar elementos hasta que el diseño deje de funcionar como debería. En ese momento, sabemos que hemos logrado el diseño más minimalista posible. &lt;br /&gt;
*Cada detalle cuenta&lt;br /&gt;
En un diseño minimalista, donde se eliminan todos y cada uno de los elementos superfluos, cada detalle tiene un significado. Una frontera en torno a una imagen, la paleta de colores, el espacio en blanco, cada parte adquiere una importancia vital para la apariencia general de la página web. Debemos analizar la sensación que queremos producir al visitante y, luego, decidir sobre los detalles que generan esa sensación. &lt;br /&gt;
*Colores&lt;br /&gt;
El uso del color adquiere una importancia adicional en un diseño minimalista. La elección de la paleta de colores o con un acento correcto es vital. Muchos diseñadores optan por una paleta basada únicamente en el negro y blanco y/o en tonos grises, pero el minimalismo en el diseño permite el uso de cualquier color. Debemos prestar atención al significado de los colores que elegimos, y sobre cómo interactúan unos y otros.&lt;br /&gt;
*Los espacios en blanco son esenciales&lt;br /&gt;
El espacio en blanco es prácticamente sinónimo de minimalismo y nos sirve para equilibrar los pocos elementos que van a aparecer en la página. Con este recurso podemos hacer hincapié en algunos elementos sobre los demás y destacar los mensajes que queremos enviar al usuario. El equilibrio en el diseño de la página es la disposición de los objetos en una determinada estructura y su relación con su peso visual dentro de una composición. En general, el equilibrio se presenta en dos formas: simétrica y asimétrico&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
==Fuentes==&lt;br /&gt;
*http://www.articuloz.com/diseno-web-articulos/diseno-web-minimalista-5453363.html&lt;br /&gt;
*http://blog.jesusyepes.com/diseno-web/75-disenos-web-minimalista/&lt;br /&gt;
*http://webspecialista.com/blog/diseno-web-las-diferencias-entre-el-minimalismo-y-la-simplicidad&lt;br /&gt;
*http://almacenplantillasweb.es/2010/06/diseno-web-minimalista-principios-conceptos-y-ejemplos/&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
[[Category: Ingeniería_de_software]]&lt;/div&gt;</summary>
		<author><name>Adrianeth jc.jiguani2</name></author>
		
	</entry>
</feed>