Loading ...
Sorry, an error occurred while loading the content.

[CfP] Dynamic Languages Day @ Brussels

Expand Messages
  • Pascal Costanza
    Dynamic Languages Day @ Vrije Universiteit Brussel ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Monday, February 13, 2006, VUB Campus Etterbeek The
    Message 1 of 1 , Jan 12, 2006
    • 0 Attachment
      Dynamic Languages Day @ Vrije Universiteit Brussel
      Monday, February 13, 2006, VUB Campus Etterbeek

      The VUB (Programming Technology Lab, System and Software Engineering
      Lab), ULB (deComp) and the Belgian Association for Dynamic Languages
      (BADL) are very pleased to invite you to a whole day of presentations
      about the programming languages Self, Smalltalk and Common Lisp by
      experts in these languages. Besides some introductory material for
      each language, the reflective facilities in the respective
      programming environments will be highlighted. The presentations will
      be especially interesting for people with good knowledge about
      current mainstream object-oriented languages like Java, C# and C++
      who want to get a deeper understanding about the expressive power of
      Self, Smalltalk and Common Lisp. In order to prepare the ground for
      these presentations, Professor Viviane Jonckers will introduce the
      day by an overview of the benefits of teaching dynamic languages to
      undergraduate students in computer science. She will especially
      discuss the specific advantages of using Scheme as an introductory
      language instead of the more widely employed Java language.

      Attendance is free and open to the public. Please make sure to
      register for the event by sending an e-mail to Pascal Costanza
      (pascal.costanza@...), so we can plan ahead. The number of
      places will be limited according to the exact location of the event
      and will be allocated on a first-come, first-serve basis. Watch the
      website for the exact schedule, location and any news at http://

      Abstracts of the Talks

      Scheme as an introductory language (Viviane Jonckers)

      The VUB has a rich history in dynamic programming language teaching
      and research. Ever since the late 80's, compulsory courses on Lisp
      and Smalltalk have played an important role in the last two years of
      the computer science curriculum. Since the early 90's, this role was
      further intensified by selecting Scheme as the introductory course in
      the first year and by promoting Scheme as the lingua franca for most
      courses in the first two years. Professor Jonckers' introductory talk
      to the dynamic languages day explains how this early exposure to the
      dynamic paradigm is the seed that gives students the skills to fully
      grasp and appreciate the more advanced dynamic paradigms (such as
      Lisp, CLOS, Smalltalk and Self) in subsequent courses of their
      computer science training.

      Self (Ellen Van Paesschen)

      Self is a prototype-based object-oriented programming language where
      everything is an object and all manipulation of objects is initiated
      through message sending. A prototype-based language eschews classes
      and allows object creation ex-nihilo or by cloning prototypes. Self
      resembles Smalltalk in both its syntax and semantics. Other
      characteristics of Self are delegation (object-centered inheritance),
      parent sharing and child sharing (multiple inheritance), and dynamic
      parent modification. Further the Self environment includes a powerful
      mechanism for reflective meta-programming based on mirror objects.
      The Self group were also the first to introduce traits objects that
      gather shared and reusable behavior between objects in order to
      program in a more efficient and structured way.

      After a brief introduction to the highly interactive Self environment
      the language's basics and its syntax and semantics are presented.
      Next the most important advanced features such as mirrors and dynamic
      parent modification are illustrated.

      Smalltalk (Johan Brichau, Roel Wuyts)

      Smalltalk is class-based object-oriented programming language.
      Everything in Smalltalk is an object and these objects communicate
      through messages. The Smalltalk language itself offers only very few
      programming constructs and is thus easy to learn and grasp.
      Therefore, the expressive power of Smalltalk lies in its huge library
      of frameworks, which includes an extensive metaobject protocol that
      enables powerful dynamic (runtime) reflection. Furthermore, perhaps
      one of the most significant advantages of Smalltalk outside of the
      language itself is that software development is a truly dynamic
      experience. The Smalltalk environment features the incremental
      development of an application where there is no strict separation
      between development and execution cycles, leading to an interactive
      and dynamic development process.

      Besides a short introduction to the Smalltalk programming language,
      this presentation will focus on the dynamic reflective facilities of
      Smalltalk. We will demonstrate the power of its metaobject protocol
      through a number of tools that extensively rely on it. Furthermore,
      we will provide some insight in the dynamic nature of Smalltalk
      development through a live demonstration.

      Generic Functions and the CLOS Metaobject Protocol (Pascal Costanza)

      The Common Lisp Object System (CLOS) is unique in two ways.

      * In most OOP languages, methods belong to classes and are invoked by
      sending messages. In CLOS, methods belong to generic functions
      instead of classes, and those generic functions select and execute
      the correct method according to the types of the arguments they receive.

      * The CLOS Metaobject Protocol (MOP) specifies how its essential
      building blocks are to be implemented in CLOS itself. This allows
      extending its object model with metaclasses that change important
      aspects of CLOS for a well-defined scope.

      This presentation introduces these two notions. The code for an
      interpreter for generic functions that performs selection and
      execution of methods will be developed live during the presentation.
      This will be followed by a discussion how that code can be extended
      to introduce, for example, multimethods and AOP-style advices, and a
      sketch how generic functions are implemented efficiently in the
      "real" world. In the second part, the extensibility of the CLOS MOP
      will be illustrated by implementing - live - the (hashtable-based)
      Python object model as a metaclass. Other practical extensions based
      on the CLOS MOP are also sketched, like object-relational mappings,
      interfaces to foreign-language objects, and domain-specific
      annotations in classes.


      Viviane Jonckers received a master degree in Computer Science from
      the Vrije Universiteit Brussel in 1983 and a Ph.D. degree in Sciences
      from the same university in 1987. Since 1987 she is a professor both
      in the Computer Science Department of the faculty of Sciences as in
      the Computer Science group of the Engineering Faculty. Currently, she
      is the director of the System and Software Engineering Lab. Her
      current research interests are in integrated software development
      methods with a focus on component based software development and
      aspect oriented software development. She participated in and has
      been project manager of several national and international R&D projects.

      Roel Wuyts is professor at the University Libre de Bruxelles, where
      he leads the deComp group. His fields of interest are logic meta
      programming, forms of reflection and language design. On the side he
      also dabbles in development environments. Quite a lot his development
      is done in Smalltalk, extensively using the reflective facilities in
      that language to do research in language symbiosis, development
      environments and for rapid programming in gneral. From the moment he
      realized that dynamicity was what he really liked in all of his
      favourite programming languages (Smalltalk, Prolog and Scheme), he
      has been trying to grow the dynamic languages field again. Part of
      this endavour was the organization of the first Dynamic Language
      Symposium, a symposium co-organized with OOPSLA'2005 in San Diego.

      Johan Brichau currently holds a postdoc position at the Laboratoire
      d'Informatique Fondamentale de Lille (LIFL). He is also associated
      with the Programming Technology Lab at the Vrije Universiteit
      Brussel, where he obtained a Ph.D. degree in Computer Sciences in
      2005. Johan's research is focusing on the use of metaprogramming in
      the context of generative programming techniques and aspect-oriented
      programming languages. To this extent, he has been extensively using
      the Smalltalk metaobject protocol for the creation and development of
      (generative) logic metaprogramming techniques as well as aspect-
      oriented language extensions to Smalltalk.

      Pascal Costanza has a Ph.D. degree from the University of Bonn,
      Germany. His past involvements include specification and
      implementation of the languages Gilgul and Lava, and the design and
      application of the JMangler framework for load-time transformation of
      Java class files. He has also implemented ContextL, the first
      programming language extension for Context-oriented Programming based
      on CLOS, and aspect-oriented extensions for CLOS, which all heavily
      rely on the CLOS MOP. He is furthermore the initiator and lead of
      Closer, an open source project that provides a compatibility layer
      for the CLOS MOP across multiple Common Lisp implementations.

      Ellen Van Paesschen obtained a master degree in computer science at
      the Vrije Universiteit Brussel in 2000. Currently she is a Ph.D.
      student at the Programming Technology Lab. Ellen's research is
      focusing on using dynamic and prototype-based languages for model-
      driven development and round-trip engineering (RTE). She has created
      a research prototype of a dynamic prototype-based RTE environment in
      Self which is the main implementation language in her research. This
      environment differs from other existing tools at the level of
      synchronisation, run-time objects and constraint enforcement steered
      from an analysis model. Her other interests include (the analysis
      phase during) software engineering and role modelling.

      Pascal Costanza, mailto:pc@..., http://p-cos.net
      Vrije Universiteit Brussel, Programming Technology Lab
      Pleinlaan 2, B-1050 Brussel, Belgium
    Your message has been successfully submitted and would be delivered to recipients shortly.