We describe participatory programming as a process that spans design, programming, use and tailoring of software. This process, that includes end-users at each stage, integrates participatory design and programmability. Programmability, as a property that relies on a reflective architecture, aims to let the end-users evolve the tools themselves according to their current, specific needs, and to let them control better the way results are computed. We present an environment that results from this approach, called
, developed for researchers in biology, which is both domain-oriented and open to full programming.