473,396 Members | 2,013 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

[CfP] Dynamic Languages Day @ Brussels

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
(pa*************@vub.ac.be), 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://prog.vub.ac.be/events/2005/BADL/DLD/dld.html.

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.
Biographies
~~~~~~~~~~~

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.

Jan 12 '06 #1
0 2048

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Jeremy Hylton | last post by:
Call for Presentations Lightweight Languages Workshop (LL3) http://ll3.ai.mit.edu/ November 8, 2003 Cambridge, Ma., USA The Lightweight Languages Workshop series focuses on programming...
0
by: Jeremy Hylton | last post by:
Lightweight Languages 2004 (LL4) http://ll4.csail.mit.edu/ Dec. 4, 2004 MIT, Cambridge MA Call for Presentations LL4 will be an intense, exciting, one-day forum bringing together the best...
0
by: Constandinos Mavromoustakis | last post by:
CFP: CLADE 2004-Challenges of Large Applications in Distributed Environments ------------------------------------------------- PhD student - Dept.Informatics at Aristotle University of...
0
by: Benjamin C. Pierce | last post by:
The Twelth International Workshop on Foundations of Object-Oriented Languges (FOOL 12) Saturday 15 January 2005 Long Beach, California, USA Following POPL 05 The search for sound principles...
0
by: Richard Jones | last post by:
http://www.osdc.com.au/papers/cfp06.html There are two and a half weeks to go to get your paper in for one of the best Australian conferences this year! The deadline for proposals is 12th July...
0
by: greg | last post by:
ISMM'07 CALL FOR PAPERS ABSTRACTS DUE 7 MAY 2007 2007 ACM International Symposium on Memory Management To be co-located with OOPSLA 2007 in Montreal http://www.eecs.harvard.edu/~greg/ismm07/...
0
by: Philippe Geril | last post by:
GAME-ON 2007 November 20 - 22, 2007 CALL FOR PAPERS University of Bologna Bologna, Italy Organized by EUROSIS-ETI
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.