En esta sesión veremos qué es Pharo.
Es un lenguaje de objeto puro.
Pero también es un IDE, Un entorno de desarrollo integrado.
Está inspirado en Smalltalk. Ese es su padre espiritual.
Es un lenguaje potente y elegante que es divertido para programar.
Hay una gran comunidad de personas. que hacen una variedad de cosas con él.
Lo que trataremos de enseñarle en Este curso, con la ayuda de videos,
es que, es un sistema vivo, puede escribir guiones a medida que avanza.
Puede tomar Pharo con su licencia MIT y hacer lo que quiera con él.
Cuando digo que Pharo es elegante tengo argumentos para respaldarlo.
La sintaxis cabe en una tarjeta postal
y el simple y potente modelo de objeto
ocupa cuatro lineas Le mostrare...
En esta diapositiva Tiene la sintaxis completa de Pharo.
Me refiero a "completa", no hay nada más.
Eso no significa que pueda entender La sintaxis con solo leer esta diapositiva.
Tendremos varias sesiones, para descifrar
y ayudarle a entender cómo está estructurada la sintaxis
Pero le da una idea del trabajo a realizar.
No hay nada mas que esta sintaxis.
Del mismo modo, el modelo de objeto se resume en esa diapositiva.
Todo los tipos son definidos dinámicamente,
todo es una instancia de objeto de una clase,
todos los métodos son públicos virtuales, todos los atributos son protegidos,
y hay una sola herencia.
No se maneja el concepto de boxing, ningún tipo primitivo y no primitivo,
no hay tipos genéricos, y así sucesivamente
Lo tiene todo.
Acaba de ver la sintaxis y el modelo de Pharo.
Volveremos a eso,
pero es solo para darle una idea de la complejidad del sistema.
Tiene que darte cuenta de que Pharo está completamente escrito en sí mismo.
¿A qué me refiero con Pharo? Me refiero a las cadenas de caracteres, caracteres,
booleanos, IDE, compilador, sockets ...
Todo está escrito en Pharo.
Entonces si domina esta sintaxis, escrita en una página, y este modelo,
entonces tendrá acceso a la totalidad de Pharo.
Creo que esto es emocionante intelectualmente
porque tiene esta pequeña puerta de entrada
en un mundo gigantesco
Entonces si ve en el título de este mooc,
incluye la palabra "inmersivo". ¿Por qué es esto?
Porque Pharo no es una caja negra.
Todo el sistema es completamente inspeccionable,
para que puedas ir y ver cómo se implementa
Y Pharo es reflexivo.
Tiene una representación de sí mismo
que puede usar para entenderlo
Esto significa que puede sumergirse por completo en un mundo de objetos.
Me gusta esta metáfora de la pecera.
Un idioma suele ser una caja negra.
Pharo no es una caja negra, es un tanque de peces,
donde puede ver los objetos y constituyentes del sistema mismo,
pero también puede sumergirse en el tanque e interactuar con los objetos.
Entonces, realmente es en ese sentido.
que te estamos invitandole para jugar con Pharo.
Aquí le muestro un ejemplo de un sistema inmersivo
Lo que llamamos inmersivo o interactivo.
A la izquierda tienes el código. A la derecha, lo que produce.
Cada vez que el programador presiona la clave de compilación,
la pantalla se vuelve azul y el resultado está a la derecha.
Está constantemente modificando su código
y viendo lo que está haciendo en la ventana derecha.
Puedes hacerlo con cualquier elemento del sistema,
ya sea un zócalo, un archivo ...
3D, como aquí. Pero un servidor web sería el mismo.
El servidor web funciona y puede modificarlo a medida que avanza.
Ahora le voy a mostrar los soportes disponibles
si quieres trabajar Pharo fuera de este mooc.
Hay varios libros, todo de código abierto.
Hay Pharo by Example, Para principiantes, en varios idiomas.
Actualmente se está actualizando para Pharo 5
Deep into Pharo es más avanzado,
entrando en las bibliotecas,
en aspectos menos conocidos del idioma y las herramientas.
Está Enterprise Pharo, a Web Perspective,
que pone el énfasis en bibliotecas web,
como WebSockets, Servidores HTTP / HTTPS
y plantillas.
Todos son de código abierto.
Lo que usaremos principalmente para este curso es un marco web, Seaside .
Tiene 300 páginas disponibles en la direccion indicada
Puede leer el libro si quiere saber más
Pero le daremos todo lo que necesita para seguir el mooc
sin tener que leer el libro también.
Para los interesados en otros aspectos,
Hay un libro de unas 300 páginas. sobre los métodos numéricos en Pharo,
yendo de cosas como series estadísticas,
a algoritmos iterativos y agrupaciones.
Le dije que Pharo es un sistema para aprender.
Le daré algunas ilustraciones.
Los veremos de nuevo en los videos
Cada elemento gráfico de Pharo sobre el que hagas clic ...
Con Cmd+Shift+Option,
obtendrá un pequeño menú alrededor del elemento gráfico.
Al usar estos menús, puede entrar directamente
y manipular los elementos visuales con que está lidiando
Le mostraremos lo que un inspector es,
un objeto que le permite manipular las propiedades de otros objetos,
y comenzar a implementarlos.
También tenemos un objeto llamado Finder para realizar búsquedas.
Entonces puedo preguntar al Finder
para encontrar todos los métodos del sistema que contienen la palabra "match".
Me muestra una lista y puedo acceder el código del método directamente.
También hay una herramienta llamada Spotter, que obtiene con Shift+Enter.
Y le dices lo que quiere.
Spotter lo ayudará a encontrar clases, métodos o recursos.
Tendrá videos para explicar todo eso
Pero otra vez, Spotter está escrito en Pharo.
El buscador tiene una buena función,
cuando empiezas a aprender Pharo.
Habrá un video sobre esto también.
Puede dar ejemplos y decir:
"Esto es lo que quiero hacer, pero no se cómo escribirlo en Pharo ".
Finder buscará métodos.
Tengo un ejemplo.
Digo: "Tengo dos cadenas, AB y C. Me gustaría concatenarlos ".
Y sé que el resultado debe ser la cadena ABC.
Suena simple
Entonces le digo al sistema:
"Dame el mensaje, si existe,
"que me dejará concatenar estas cadenas ".
Y eso es lo que puede ver aquí.
Dice "," es un método implementado en SequencableCollection.
Esto se enviará a mi primera cadena,
y obtendré mi tercera cadena.
Podrá usar este buscador en ejemplos,
para hacerse más rápido en Pharo.
En este Mooc hablaremos sobre el diseño orientado a objetos, que es parte
del ADN de Pharo.
La gente que programa en Pharo piensa OO de una manera elegante.
Le mostraré los ejercicios que estaremos presentando
A menudo nos preguntan cómo no se implementa
La gente a menudo se pregunta si esta es una pregunta interesante
Es interesante porque Las reglas fundamentales resultan de ello.
Será parte del ejercicio.
Una vez que tienes Pharo y ve cómo no se implementa,
empezarás a pensar de una manera diferente.
Esto realmente es parte de la cultura. de las personas que usan Pharo:
pensar un diseño De una manera muy elegante.
Puede instalar Pharo como se describe en el sitio web de Pharo.
Por supuesto, durante el MOOC y en el sitio FUN,
obtendrá todas las instrucciones
para instalar Pharo en cualquier sistema.
Pharo es muy fácil de instalar,
como un arrastrar y soltar, en cualquier sistema operativo.