Skip to content

Curso de Pharo y Diseño Orientado a Objetos Avanzado

Photo of Rafael Luque
Hosted By
Rafael L.
Curso de Pharo y Diseño Orientado a Objetos Avanzado

Details

¡Aprovecha el BlackFriday para tu formación!

Aplicamos un 30% de descuento (paga sólo 70€) en las últimas plazas. El registro se cerrará el lunes 27 a las 23:00.

Curso de "Diseño Orientado a Objetos Avanzado usando Pharo" de 3 días de duración impartido en Madrid.

El curso está planificado con el siguiente calendario:

• Jueves, 30 de noviembre: 10:00 - 18:00

• Viernes, 1 de diciembre: 10:00 - 18:00

• Sábado, 2 de diciembre: 10:00 - 14:00

El curso se impartirá en español por Esteban Lorenzano, uno de los desarrolladores principales del proyecto Pharo Smalltalk (http://pharo.org).

El curso tendrá un coste de tan solo 100 euros (IVA incluido) gracias a la financiación de ESUG (http://esug.org) y OSOCO (http://osoco.es). El precio de la entrada tiene por objetivo garantizar que quien se registre finalmente asista al evento.

Las comidas están incluidas (de jueves y viernes), así como cafés, zumos, bollería, etc. todos los días.

Si eres mujer tienes un 30% de descuento, con lo que al comprar tu ticket indica que el precio que pagarás será de 70 euros.

El curso se organizará en las siguientes lecciones:

  • First an introduction on Pharo
  • Syntax, model, semantics(this, super) lookup
  • Tips and Tricks with the IDE
  • Iterators, stream, tests
  • Common errors
  • Debugging hints

Advanced Design Lecture

This extra lecture will cover advanced points.

  • Essence of dispatch
    In this lecture we make the students think about late-binding by
    programming not, | and iftrue:ifFalse: on Booleans objects.
    Prior to use the slides we asked the student to answer three
    questions: how to implement not, how to implement | and why do we ask
    these questions?

  • Double Dispatch
    In this lecture we present double dispatch. First we start with an
    exercise given classes Integer and Float, three primitives
    addI(i1,i2) -> i3
    addf(f1,f2) -> f3
    How to implement
    1 + 2
    1.0 + 3.2
    1 + 3.2
    3.3 + 2.

  • Message sends are plans for reuse
    In this lecture we show that each time we send a message we give a chance to inject suclass code and as such to reuse the code of the method containing the self-send.

  • Hooks and Templates
    Hook and templates are a nice illustration of the Message sends are plans for reuse. We look at copy with copy, postcopy

  • DualInterfaces
    People understand well encapsulation but they do not understand that subclasses are also an important client. This is why private fields without protected methods are a bad idea.

  • Law of Demeter
    This lecture introduces the idea behing the law of demeter and coupling.

  • Frameworks
    This short lecture shows the difference between libraries and framework. Seaside is a clear example.

  • Inheritance vs composition
    In this lecture we ask the students to sketch an editor with a syntax hilighter as a pretext to compare: subclassing, case statments and strategy pattern.

  • Subtyping vs subclassing
    In this lecture, I present the intuition about subtyping. Showing that client code is reused when we can substitute an instance by a subtyped one.

Una breve descripción sobre Pharo y los objetivos del curso:

Pharo http://www.pharo.org is a new dynamic fully reflective pure object-oriented language. Pharo provides a totally different feel and productivity due to the closeness to the objects it offers to programmers. With Pharo you are not just watching an aquarium but swimming with the fishes.

In this lecture we will present key aspects of Pharo: simplicity, accessibility and empowering tools. Pharo is inspired by Smalltalk. Its syntax fits on a postcard and its object model is simple and elegant. Everything is an object - without any exception. Objects send messages to each other. Objects are instances of classes organized with single inheritance. Attributes are protected and methods are virtual and public. Closures are objects. This is all. A good programmer can be up to speed in Pharo in two days. http://mooc.pharo.org is a free online mooc on the language.

Pharo is immersive and supports a full live programming with a gorgeous programming environment. When developing in Pharo, you are in constant interaction with living objects be it simple objects, GPU, web applications, 3D objects or your own classes. You can code within the debugger and get a full TDD experience. I will code with the audience a little examples to illustrate our development cycle.

Pharo defines a set of empowering tools: tools that can be customised easily by the programmer. We will show some examples such as the new inspector.

Because of its immersion within objects, you will never code the same in any object-oriented programming languages once you have experienced Pharo. Why because after programming with Pharo you get what objects are deeply.

Pharo is taught in more than 30 universities world-wide, used in 15 research groups and by a really active community http://pharo.org/community. More than 50 companies are using Pharo. Some sucess stories are listed at http://pharo.org/success. Pharo is actively developed by more and 80 committers. Several open books are available on http://books.pharo.org. Pharo by example, Deep Into Pharo, Numerical Methods in Pharo, Dynamic Web Development in Seaside, Entreprise Pharo a Web Perspective.

The Pharo community is really active and I will show some of the fun projects people worldwide are doing: event touch support, particules simulator, 3D scripting.

Photo of Madrid Smalltalk User Group group
Madrid Smalltalk User Group
See more events
Espacio OpenTalk
C/Francisco Ricci, 11 · 28015 - Madrid