Sei sulla pagina 1di 21

Processing Español INTRODUCCIÓN

INTRODUCCIÓN
VÍDEOS YOUTUBE

https://www.youtube.com/watch?v=BGD59azz4DE&list=PLtyMmy0eKyqFsLPesmz7y4EznkZFJrGuu
&index=4

68 VÍDEOS.

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

NOTAS

TRANSCRIPCIÓN VÍDEOS
https://www.youtube.com/watch?v=60r2JKNmQIE&index=1&list=PLtyMmy0eKyqFsLPesmz7y4Ezn
kZFJrGuu

Processing S.O.S
Las nuevas tecnologías han irrumpido en nuestras vidas y las han cambiado para siempre. Dentro
de este nuevo entorno, los diseñadores artistas e ilustradores tenemos una amplia gama de
ofertas entre las cuales elegir para utilizarlas como medio creativo.
Una de esas herramientas es Processing, un potente lenguaje de programación basado en Java,
creado por diseñadores, y que nos permite aprender las bases de los lenguaje de programación
dibujando. Processing es un entorno de programación de código abierto y basado en java para
gente creativa y que no es necesario que sean programadores informáticos. Su principal punto
fuerte es su facilidad de uso y permite a los creadores empezar rápidamente a generar
sofisticadas aplicaciones gráficas e interactivas al tiempo que minimiza la dificultad asociada a la
compilación y generación de código.

Processing es un software que te introducirá en los principios de la programación utilizando


formas visuales, movimiento e interacción. Es un sistema integrado de programación, lenguaje y
aprendizaje. Processing fue creado para enseñar los fundamentos de la programación
computacional dentro de un contexto visual, para servir como software de bocetos y para ser
usado como herramienta de producción.
Estudiantes, artistas y diseñadores usan Processing para aprender, crear prototipos y producir.

-----------------------------------------------------------------------------------------------------------------------------------
-----------------------------

https://www.youtube.com/watch?v=Um4IlMFwB4M&index=2&list=PLtyMmy0eKyqFsLPesmz7y4E
znkZFJrGuu

¿Por qué aprender programación?


Uno de los lugares donde más afectan las nuevas tecnologías es a los mercados laborales.
Mientras los diseñadores de los 90 pensábamos en carteles, tarjetas de visita, cartas, sellos,
etcétera. En el cambio de siglo ya estábamos pensando en banners, web, animando flash,
etcétera.
Los profesionales del diseño, en su gran mayoría, hemos tenido que aprender a dominar nuevas
tecnologías, nuevos medios y nuevas herramientas. A medida que han ido apareciendo en
nuestras vidas. Los perfiles se difuminan hoy por hoy ya existen programadores que diseñan y
diseñadores que programan. Las aplicaciones que solemos utilizar los diseñadores entienden el
lenguaje de programación como Processing, sigue las mismas estructuras que siguen otros
lenguajes de programación. Todo este aprendizaje servirá cuando mañana queramos aplicar
nuestros conocimientos en programación en After Effect, Photoshop, Unity 3D, Cinema 4D, etc.
Todas nuestras aplicaciones comprenden y aceptan código.

El lenguaje de programación es considerado un medio creativo y más adelante veremos como el


MIT y el C3, son pioneros en considerar al lenguaje de programación como medio creativo a la
altura de la música la danza o la pintura. Algo de lo que debemos comenzar a ser conscientes es de
la universalidad que estos lenguajes tienen. Los lenguajes de programación podrían ser entendidos
como como un nuevo esperanto, como un estándar internacional. Podemos crear en cualquier
parte del mundo y para cualquier parte del mundo.

Taller y Temario

Sigue el orden y las lecciones de esta guía en ingles de los creadores de


processing.

PROGRAMACIÓN DEL CURSO

En este taller veremos las bases de Processing, no necesitas tener ningún tipo de conocimiento
anterior para seguirlo con facilidad. Vamos a ir realizando pequeños programas y explicando
cómo funcionan. El temario que el vamos a seguir más o menos es el siguiente: este, que es el
capítulo de introducción, el segundo capítulo trataremos de aplicación de Processing. En el
tercero nos iniciaremos con las herramientas de dibujo. En el cuarto veremos qué son las
variables. En el quinto trataremos el tema interactivo. En el sexto veremos los medios que utiliza
processing, audio imágenes, etcétera. El séptimo será un capítulo dedicado al movimiento. El
octavo a las funciones. El noveno a los objetos y el décimo a los arrays, y luego he puesto el once
extensiones que lo que quiero hacer a partir de ahí. Es bueno pues ir trabajando con diferentes
bibliotecas, bueno librerías, trabajar un capítulo de 3D, otro de audio y bueno, a partir de ahí y va
a ser cuando se va a poner realmente interesante para aquellos que saben, es un poquito más.
https://www.youtube.com/watch?v=fOPbs1sDxF4&index=3&list=PLtyMmy0eKyqFsLPesmz7y4Ezn
kZFJrGuu

1.1 Teoría vs Práctica


Imagínate inscribirte en una clase para aprender un nuevo deporte, por ejemplo el tenis. Llegas a
clase el primer día emocionado a sumergirte en ésta exótica nueva actividad, sólo para ser
confrontado por una larga conferencia sobre los fundamentos de la teoría sobre la física que se
esconde detrás del lanzamiento. Durante las siguientes 14 semanas el curso se desarrolla de una
manera similar con un par de ejercicios artificiales sobre el terreno para reforzar las conferencias.
No sé vosotros pero después de unas semanas, ¿Dónde queda aquella primera idea de jugar al
tenis? Esto es lo que muchos estudiantes experimentan cuando toman su primera clase de
informática.

Por supuesto el aprendizaje de la teoría detrás del juego del tenis podría proporcionarte
información muy interesante y en última instancia valiosa, especialmente si tu objetivo es
convertirte en un jugador de tenis internacional. Sin embargo para la mayoría de nosotros, el
buceo directamente en los aspectos teóricos de una actividad como el tenis o la programación,
antes de conseguir una aproximación en qué la teoría en realidad podría ser útil, puede ser
bastante difícil y desagradable. De hecho creo que muy pocos de nosotros estamos destinados
para el salón de la fama del tenis o la programación.

Lo peor de todo es que este enfoque puede conducir a ideas erróneas sociales mucho más
amplias, tales como que la informática es oscura, es difícil e incluso es aburrida. Estas ideas
erróneas también pueden convertirse en profecías auto-cumplidas. En última instancia la atracción
de sólo el tipo de estudiantes que cumplen con un patrón muy concreto, como aquellos que son
muy buenos con matemáticas o que tienen aspecto de empollones, lo que lleva a una población
de estudiantes y profesionales que carecen de la diversidad y la variada perspectiva.

En los últimos años algunos científicos informáticos y otros profesionales de la informática han
empezado a cuestionar el enfoque arraigado y estrecho con la enseñanza de la informática. Este
taller aboga por una nueva manera de aproximación a la programación creativa en la que podrás
aprender haciendo. Con la construcción de bocetos de código creativo aprenderás los principios
detrás de la informática pero en el contexto de la creación y el descubrimiento.

Volviendo a la analogía del tenis primero aprenderás cómo pegarle a la bola, a continuación
aprenderás la física que funciona detrás o para usar un poco la jerga informática, primero
aprenderás a codificar una aplicación en frío, a continuación aprenderás acerca de los principios
fundamentales detrás de ella. No sólo esta manera de programar es más fácil y divertida para
aprender, sino que hará que la parte teórica sea mucho más relevante y es de esperar, incluso
fascinante.

En este capítulo de introducción, se ofrece sólo un poco de contexto y los antecedentes para el
resto del taller, aprenderás acerca de la historia de la programación, incluyendo sus orígenes en
el famoso MIT Media Lab. Vamos a discutir el enfoque de programación creativa en más detalle
incluyendo algunas investigaciones relevantes de su eficacia.

-----------------------------------------------------------------------------------------------------------------------------------
------------------------------

https://www.youtube.com/watch?v=BGD59azz4DE&index=4&list=PLtyMmy0eKyqFsLPesmz7y4Ez
nkZFJrGuu

Programación vs Ciencias de la Computación


La programación no es informática pero desde nuestra perspectiva es a menudo la parte más
divertida de la misma. Sin embargo hay científicos de la computación que no hacen en realidad
programas, estos son los teóricos que ven el cálculo más como las matemáticas aplicadas que
como aplicación práctica. Un teórico de este tipo podría estar interesado en probar algo acerca de
la informática con pruebas matemáticas.
Sin embargo para el usuario final promedio, la programación a menudo se equipara con la
informática. Según dictionary.com, la informática se define como: “la ciencia que se ocupa de la
teoría y los métodos de tratamiento de la información en las computadoras digitales, el diseño
de hardware y software, y las aplicaciones de las computadoras”.

La primera parte de la definición: “la teoría y los métodos de tratamiento de la información” se


refiere a los principios matemáticos más fundamentales detrás de la programación, esta es quizás
la parte científica más pura de la informática. La investigación en esta área afecta a cosas como la
velocidad, la eficiencia, la fiabilidad de los equipos. Podría decirse que, esta área de investigación
proporciona la base para todos los demás aspectos y aplicaciones de la informática, aunque la
programación es una parte de esta rama de la ciencia de la computación. Su papel principalmente
sirve para probar y verificar la teoría. Esta área es la investigación de la informática.

La segunda parte de la definición de dictionary.com, “el diseño de hardware y software” es donde


la ciencia da paso a la ingeniería y si aplica la teoría del diseño creando sistemas tangibles.

Una compañía como Apple gasta una gran cantidad de tiempo y recursos en investigar cómo los
clientes utilizan y sienten su hardware y su software, así como la funcionalidad en manos de sus
usuarios. Otra forma de describir esta área podría ser: la relación entre los aspectos matemáticos y
teóricos de la informática y las cosas increíbles que podemos hacer con ella. La programación es
una gran parte de esta zona y se conoce comúnmente como ingeniería de software.

La última parte de la definición, “aplicaciones de computadoras”, que no debe confundirse con


las aplicaciones informáticas trata de cómo las computadoras en realidad la programación, se
puede aplicar en el mundo. Esta parte de la definición puede ser demasiado general los
ordenadores impactan en casi todos los aspectos de nuestra vida y es muy probable que este
impacto sólo se incremente en el futuro. No es un salto tan grande a día de hoy imaginar a
nuestros coches conduciéndose solos, nuestras paredes y encimeras actuando como pantallas
táctiles inteligentes y nuestros dispositivos de comunicación reduciéndose y consiguiendo estar
aún más integrados. La programación es muy relevante para esta parte de la informática, sobre
todo en el desarrollo de software y hardware especializado en aplicaciones específicas.

PLATAFORMAS DE DESARROLLO LIBRE, GOOGLE y APPLE

Google, ha desarrollado y puesto para su libre descarga el kit de desarrollo de software de


Android que incluye bibliotecas de código y aplicaciones de software para la creación de
aplicaciones de Android personalizadas. Apple tiene su propia plataforma de desarrollo similar, al
igual que muchas otras compañías. Estos entornos de desarrollo existen para que las personas
puedan programar de manera eficiente sus propias aplicaciones sin la necesidad de años de
entrenamiento formal en informática.

Claramente esta evolución en el desarrollo de software está desafiando las nociones que se tienen
de los conocimientos técnicos necesarios. Hay estudiantes de secundaria que escriben
aplicaciones móviles altamente exitosas. Artistas que programan obras de arte interactivas y
muchos otros no expertos creando pequeñas empresas de software durante la noche. Así que no,
la programación no es informática pero al parecer la informática tampoco se requiere
necesariamente para programar.

-----------------------------------------------------------------------------------------------------------------------------------
--------------------------------------

https://www.youtube.com/watch?v=EuUfBgpEL2I&index=5&list=PLtyMmy0eKyqFsLPesmz7y4Ezn
kZFJrGuu

Arte + Ciencia = código recreativo


En la Universidad Metodista del sur de Dallas, hay un centro de cómputo creativo C3 que explora
la programación como medio creativo fundamental. C3 considera el código de computadora, así
como otros aspectos de la computación, de la misma forma en que un pintor piensa acerca de la
pintura o un músico en un sonido, o incluso como una bailarina piensa en el gesto. El C3 está
menos preocupado en sí el código resuelve un problema específico y más interesado en la forma
en cómo se resuelve y lo más importante ¿se podría resolver de una manera más interesante y
novedosa?

Sin embargo a pesar de este enfoque creativo, C3 requiere que los estudiantes tomen cursos muy
exigentes en ciencias de la computación, matemáticas y física. También requiere una cantidad
igual de rigurosos cursos creativos. Esta integración de material cuantitativo con la práctica
creativa, puede ser un desafío de enormes proporciones para algunos estudiantes, especialmente
aquellos que fueron etiquetados a una edad temprana como “el artista”.

El C3 ha sido un éxito, han integrado material cuantitativo difícil con la práctica creativa en el aula,
utilizando un enfoque de programación creativa. Este enfoque fue desarrollado originalmente en
el Instituto de Tecnología MIT Media Lab de Massachusetts, por el anterior director del
laboratorio John Maeda de quien escucharás más a cerca de él en breve. Sobre la base de los
resultados de investigación en el tiempo, el resultado es muy prometedor. Los estudiantes
aprenden el método de programación creativa y desarrollan significativamente un mayor interés
personal por la programación, en comparación con los estudiantes de una clase de ciencias de la
computación más tradicional. Para ayudar a facilitar esta integración en el aula, el enfoque de
programación creativa se basa en algunos lenguajes de programación innovadores y entornos de
desarrollo, especialmente en Processing, que crecieron directamente del trabajo realizado en el
Media Lab del MIT.

-----------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------
https://www.youtube.com/watch?v=GxEnm-
VY8Ug&index=6&list=PLtyMmy0eKyqFsLPesmz7y4EznkZFJrGuu

El Mit Media Lab fue fundado en 1985. Su misión como se indica en el sitio, es prever el impacto
de las nuevas tecnologías en la vida cotidiana, tecnologías que prometen transformar
radicalmente nuestras nociones más básicas de las capacidades humanas. Aunque el Mit era un
laboratorio académico dentro de la escuela de arquitectura y planificación, el Media Lab siempre
tiende a disciplinas claramente cruzadas y borrosas entre la teoría y la aplicación, la academia y la
industria y la Ciencia y el Arte. El Mit ha estado involucrado en los avances fundamentales en la
era digital desde su fundación incluyendo la web y las redes inalámbricas.

El laboratorio también ha sido pionero en la investigación y el desarrollo de nuevas áreas tales


como juguetes inteligentes, computación ubicua y la estética y la programación. El Grupo de
Programación y Estética en el Mit, fue creado en el 96 por John Maeda, un científico de la
computación entrenado formalmente y diseñador gráfico. John Maeda y el Grupo de
Computación Estética, exploraron nuevos enfoques con herramientas de software y el desarrollo
de lenguajes, así como la práctica artística computacional.

Uno de los proyectos del desarrollados en el Media Lab, fue un nuevo entorno de lenguaje de
programación llamado “Desing by numbers”. El Desing by numbers es un lenguaje de
programación muy simplificado, construido sobre java que simplificaba el proceso de
programación de gráficos, mediante la creación de una sintaxis más ligera del propio lenguaje y un
entorno de desarrollo que permitió la creación de prototipos rápidos de patrones simple gráficos,
arte y código y diseño.

Desing by numbers nunca fue pensado como un lenguaje de programación con todas las
funciones, sino más bien como una prueba de concepto para un enfoque radicalmente nuevo de
diseño o del lenguaje. Se probó principalmente en el Aula de Diseño y Arte para enseñar
programación a los principiantes. Desing by numbers como prueba de concepto fue un gran éxito,
aunque como una lengua útil no era mucho más que un ejercicio académico.

Processing

Dos de los estudiantes de Maeda en el Media Lab, Ben Fry y Casey Reas, trabajaron en Desing by
numbers. Después de terminar sus estudios en el Media Lab Fry y Reas, decidieron tomar las
lecciones aprendidas en Desing by numbers y construir un lenguaje más completo. Llamaron a su
nuevo proyecto Processing y se inició en el año 2001.
-----------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------

https://www.youtube.com/watch?v=7dYiN1tMjxk&list=PLtyMmy0eKyqFsLPesmz7y4EznkZFJrGuu
&index=7

En el sentido más simples profesión es una aplicación de software que te permite escribir, editar,
complicar y ejecutar código java. Sin embargo antes de sumergirnos en Processing nos ayudará a
entender un poco acerca de java, pero incluso antes de hablar de java tenemos que hablar
previamente acerca de la programación en general.
-----------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------

https://www.youtube.com/watch?v=ub8gcOGHCXQ&index=8&list=PLtyMmy0eKyqFsLPesmz7y4Ez
nkZFJrGuu

Es probable que tengas alguna idea de que en los ordenadores los ceros y los unos van de la mano,
pero puede que no esté tan claro como un montón de unos y ceros pueden llevar a Shrek a correr
por un campo de hierba movida por el aire, cuál es el sistema de operación de tu computadora o
cómo funciona Facebook. Realmente es increíble lo que se ha hecho con un montón de unos y
ceros, aunque en realidad no es una cuestión de ceros ni unos, sino más bien una cuestión de si
un estado es verdadero o falso o más exactamente si algo está abierto o cerrado.

Si alguna vez has mirado en el interior de un ordenador, en los tableros hermosos y misteriosos,
tarjetas, chips, cables etc., tiene que ser algo obvio que allí todo funciona fundamentalmente con
electricidad. Sin embargo la electricidad es una fuerza bastante misteriosa en sí misma y puede ser
más sencillo para esta discusión pensar en la electricidad de una forma mucho más general, como
una fuente de agua que fluye.

Usando la metáfora del agua se puede pensar en las entrañas de nuestro ordenador como una
serie de canales increíblemente complejos, con presas controlables. Si una presa está inactiva o
cerrada el agua no fluye. Si está abierta el agua pasa a través de ella. Como sistema
interconectado complejo, algunas presas controlan la disponibilidad de agua para miles de otras
presas. Al controlar sistemáticamente las presas puede controlar cómo, cuándo y dónde el agua
fluye.
A través del sistema quizás algunas de las presas están controladas por la presión del agua en las
partes del sistema. Cuando el agua comienza a fluir se abren y permanecen abiertas. Puedes
pensar en esto como en un circuito de agua que sigue fluyendo. Otras presas podrían estar
abiertas por defecto y la presión del agua las cierra. Incluso se puede construir una serie en la que
el estado de una presa, ya fuera abierto o cerrado, controlará el estado de otra. Como presa
principal se podrían diseñar sistemas complejos para controlar con precisión cómo el agua se
mueve a través del sistema, basándonos en ciertas condiciones. Por ejemplo si la presa A y B están
abiertas, entonces tal vez un barco puede pasar con seguridad a través del canal C; pero si bien la
presa se cierra el barco no puede. Así que aunque sólo estamos describiendo presas y canales, se
puede ver cómo es simple. Si la lógica de una cierta condición es verdadera algo ocurre. Con sólo
abrir o cerrar las presas podemos controlar los resultados específicos de un sistema mayor.

Por supuesto nuestros equipos utilizan la electricidad en lugar del agua pero el sistema funciona
de una manera similar. La versión de las presas en nuestros ordenadores controla el paso de
electrones. Las puertas son transistores. Los modernos componentes electrónicos fundamentales
en dispositivos tales como nuestros ordenadores, pueden estar abiertos o cerrados. Al igual que
las presas. Podemos utilizar un uno o un cero para representar los dos estados a los que nos
referimos técnicamente como dígitos binarios o más comúnmente como bits. Un sistema de
números binarios se basa sólo en dos dígitos únicos, ceros y unos, a diferencia de nuestro
decimal que utiliza diez dígitos únicos del 0 al 9.
Podemos diseñar sistemas numéricos con cualquier número de caracteres únicos. Por ejemplo
otro sistema de números de uso común en la informática es el HEXADECIMAL con 16 caracteres
únicos del 0 al 9 y que la A a la F.

La informática se basa fundamentalmente en puertas abiertas o cerradas. Es eficiente para los


ordenadores pero para nosotros no es muy eficiente usar un sistema binario. De esta manera en
cualquier momento en el tiempo, bien puede ser o un 1 o un 0, pero nunca puede ser ambos.

Cuando existe un grupo de 8 de estos bits juntos, nos referimos a esto como un byte. 1000 Bytes
es un Kilobyte. 1000 kilobytes es un Megabyte. 1000 Megabytes es un Gigabytes y sigue y sigue…

Ahora tenemos algo más que contesto cuando pensamos en teléfonos que tienen 20 gigas. Si
piensas de nuevo en la analogía de las presas y los canales, imagina el movimiento complejo de
barcos que se puede conseguir con miles de millones de presas individuales. Es probable que
ahora puedas imaginar cómo visto desde un plano superior, millones de diferentes barcos que se
mueven a través de un sistema tan complejo de presas que podrían crear patrones incluso
organizados. Tal vez aproximarse a un Shrek corriendo o formando la base para una lógica
compleja que determina las reglas acerca de cómo uno es amigo de alguien en Facebook.
https://www.youtube.com/watch?v=Uu8SvAnhCy0&index=9&list=PLtyMmy0eKyqFsLPesmz7y4Ez
nkZFJrGuu

La manipulación de bits individuales para representar todo lo que hace un ordenador, aunque es
teóricamente posible es muy poco práctica. El lenguaje de los ordenadores es puramente
matemático, respira ceros y unos. Nosotros los humanos, sin embargo, no somos tan numéricos
como nuestras máquinas. Nosotros dependemos de sistemas más descriptivos, simbólicos para
comunicarnos, como nuestras lenguas habladas y escritas naturales. Mientras que una
computadora podría ser feliz con el código binario 0 1 1 0 0 1 1 para dar significado a una
operación como la suma de dos números, los seres humanos prefieren algo más, en la línea de la
palabra sumar.

A pesar que una serie de ceros y unos es eficiente, es difícil para la mayoría de nosotros descifrar
eficientemente patrones binarios y luego recordar lo que significa cada patrón único. Esta brecha
entre como los ordenadores procesan la información en comparación con la forma en la que
comprendemos los humanos, ha llevado al desarrollo de lenguajes de programación.

En un nivel fundamental del proceso de la información, nuestros cerebros funcionan de forma


bastante similar a nuestras computadoras. En vez de un complejo conjunto de transistores,
tenemos una red interconectada de neuronas. Las neuronas individuales pueden considerarse de
forma análoga como los transistores individuales, aunque en lugar de puertas las neuronas utilizan
algo llamado “un potencial de acción”. El potencial de acción, como el aporte de un transistor, está
controlado por un impulso eléctrico. Es lo que determina cuando la neurona transmite
información. La respuesta es un todo o nada, como una puerta que está abierta o cerrada.
Procesar ya sea la información en el cerebro o una computadora es muy distinta de la
comprensión humana. El ordenador es una especie de esqueleto de silicio en una caja brillante.
Como se mencionó anteriormente trabaja con ceros y unos o lo que más técnicamente se llama
lenguaje de máquina.
Cuando los ordenadores se desarrollaron, si realmente quería hacer algo con ellos, era necesario
aprender a hablar el idioma nativo de la máquina. Este fue un proceso muy difícil, tedioso y lento.
Los informáticos rápidamente se dieron cuenta de que necesitaban lenguajes para simplificar el
proceso de programación y comenzaron a desarrollar lenguajes de alto nivel. Por nivel más alto
nos referimos a las lenguas que se acerca más a la forma que entendemos los humanos la
información y se aleja del lenguaje de máquina.

Uno de los primeros lenguajes desarrollados era el lenguaje Assembly, ensamblador. El lenguaje
Assembly para los estándares que hoy en día sigue siendo un lenguaje de muy bajo nivel, muy
cerca de los unos y los ceros, pero fue un gran paso adelante en la simplificación de la
programación. El lenguaje Assembly convierte los comandos del lenguaje de máquina, números en
estado puro, a estados incluyendo palabras conocidas como, conjunto, almacenar, cargar y salvar.

En el contexto de la lengua materna de la máquina podemos hacer referencia a estos términos con
un lenguaje más natural, como Nemotécnicos o dispositivos para ayudarnos a entender y recordar
los comandos de máquinas subyacentes. Aunque Assembly fue un gran paso adelante en la
simplificación de la programación, es todavía un enfoque denso y complejo.

Todavía necesita un montón de código para hacer cosas relativamente sencillas. Por ejemplo, el
siguiente código de Assembly da como salida la frase “¡Feliz programación creativa!”, en
comparación aquí está el código para hacer lo mismo en java y por último está el mismo programa
en Processing. Si no era obvio, Java y especialmente Processing, reduce en gran medida el número
de líneas de código. Además si lees el código de ejemplo, sospecho que habrás sido capaz de
entender mucho más el código de Java y Processing que el de Assembly.
Los primeros ensambladores de lenguajes el software que convierten el código Assembly al
lenguaje máquina, surgieron en torno a 1950. Fue lanzado a mediados de la década de 1990. En
los 40 años entre Assembly y Java, se desarrollaron muchos otros lenguajes de programación. Uno
de los lenguajes más importantes que surgieron y que influenció fuertemente a Java, y en última y
en última instancia a Processing, era el lenguaje de programación C. Para nuestra discusión no es
necesario decir mucho más acerca de C, aparte de eso es un nivel considerablemente más alto que
Assembly y se adoptó muy ampliamente. En comparación con Assembly, C reduce en gran medida
las líneas de código necesarias para programar un ordenador. La gramática del lenguaje de
programación java más comúnmente conocida como sintaxis del lenguaje, se basa en gran medida
en C, pero como aprenderás Java es un lenguaje con un enfoque incluso de más alto nivel que C.

-----------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------

https://www.youtube.com/watch?v=b9y58tPk0ns&list=PLtyMmy0eKyqFsLPesmz7y4EznkZFJrGuu
&index=10

El desarrollo de Java era por algunos estándares un fracaso. Java fue desarrollado inicialmente
para televisión interactiva y en última instancia para conectar dispositivos inteligentes, que en
realidad no capturaron hasta unos 15 años después de la liberación de Java. Damos por sentado
ahora que nuestros televisores de pantalla plana más nuevos y finitos se conectan a internet, lo
que nos permite navegar por la red mientras vemos series bajo demanda y revisamos nuestro
correo electrónico. Ya en 1995 se trataba de una quimera en manos de unos pocos fanáticos
tecnológicos.

Java podría decirse que se salvó gracias a la proliferación de internet y Java es hoy uno de los
lenguajes más populares del mundo. Java fue diseñado como un lenguaje de programación con
todas las funciones como C, pero con una portabilidad diferencial universal muy grande. El lema
original de Java era “Escribe una vez ejecuta en todas partes”.

La idea era que un programador podría escribir un programa de Java en cualquier máquina y el
programa se podría ejecutar constantemente en cualquier otra máquina. Esto puede no parecer
gran cosa a primera vista, pero los ordenadores están compuestos por una gran cantidad de piezas
complejas tales como la CPU, las unidades de procesamiento gráfico, la memoria de acceso
aleatorio, sólo por nombrar algunos. Estas piezas, especialmente la CPU, el cerebro principal de la
computadora, se basan en instrucciones específicas o sea, el lenguaje de máquina. Por desgracia
estas instrucciones de la máquina varían mucho, de no sólo la informática sino también en cuanto
a componentes específicos de hardware, como la CPU.

Volviendo a nuestra conversación sobre el lenguaje de programación de Assembly, te enteraste de


que Assembly envuelve el lenguaje de máquina con la Nemotecnia añadiendo más comandos de lo
normal, haciendo sonar lingüísticas a las matemáticas binarias subyacentes. El lenguaje C lleva el
proceso un paso más allá, en un sentido, envolviendo el lenguaje Assembly con una construcción
del lenguaje de alto nivel, lo que simplifica enormemente la programación. Por ejemplo una línea
de código C, podría reemplazar 10 líneas de Assembly.

El problema con la forma en que este enfoque funciona es que el código, sin tener en cuenta si se
trata de Assembly o C, al final todo se sigue reduciendo al lenguaje de máquina, y como se
mencionó anteriormente, el código de lenguaje de máquina es específico para el hardware de la
máquina que está trabajando. Para ejecutar un programa en C, es necesario convertir
explícitamente el código C al lenguaje de máquina para su CPU específica. Nosotros nos referimos
a este proceso como COMPILACIÓN. El compilador del lenguaje C es un software que convierte el
código fuente en C, en el idioma nativo de la máquina, el código binario de unos y ceros.
Entonces ¿Cómo Java mejora esta situación? Java incorpora una capa adicional de software
llamado un “Intérprete del lenguaje” o para usar la jerga de Java, “Una Máquina Virtual Java”,
comúnmente abreviado como JVM. El código Java como el código C se compila.

Sin embargo el código de Java no se compila hasta el nivel de máquina nativo que a su vez sería
específica al hardware. Más bien el código java se compila a una forma universal superior llamado
Código de Bytes. El Código de Bytes de Java es universal, ya que debe ser capaz de funcionar en
cualquier máquina independientemente del hardware subyacente de la arquitectura, siempre
que el producto incluya una Máquina Virtual Java.

Si vuelves de nuevo a nuestra discusión anterior el lenguaje Java era un fracaso inicial salvado por
la proliferación de internet. Internet es una vasta red de computadoras con una amplia variedad
de configuraciones de hardware, ejecutando varios sistemas operativos. La declaración de Java,
incluyendo su compilador, se convirtió en la solución perfecta para conectar todos estos
dispositivos dispares. Además, algunos navegadores web incluyen su propia Máquina Virtual de
Java, permitiendo que los programas Java, conocidos como apples en este contexto, funcionar
también en la web. Además de en internet, Java también está teniendo un impacto dramático en
la informática móvil y más en general en todas partes con máquinas virtuales Java ampliamente
disponibles para la mayoría de nuestros dispositivos portátiles.

Por ejemplo el sistema operativo Android, de Google está basado en java. Así que al final parece
que Java, al igual que otras ideas revolucionarias no era tanto un fracaso, como un adelantado a su
tiempo. Esto no quiere decir que Java esté exento de críticas. Java sigue siendo un lenguaje
complejo, difícil de aprender y difícil de enseñar en el aula como introducción a la informática.
Algunos críticos también culpan a Java por ser más lento que un lenguaje puramente compilado
como C, que no necesita ser ejecutado a través de un Intérprete del Lenguaje. Desde la liberación
de Java muchas otras nuevas lenguas se han desarrollado y todo apunta al que se reduce cada día
más la complejidad a la hora de programar. Uno de estos lenguajes es Processing que no ha
dejado de crecer en popularidad desde su lanzamiento en el año 2001 y a pesar de que Processing
es de hecho un entorno de programación independiente, con su propio lenguaje, aprenderás que
también está indisolublemente ligado a Java.

http://blog.aulaformativa.com/lp/invitacion-
gratuita/#

Potrebbero piacerti anche