Difference between revisions of "FOSDEM2021-devroom-proposal"

From LibrePlanet
Jump to: navigation, search
 
(One intermediate revision by the same user not shown)
Line 4: Line 4:
 
= Devroom description =
 
= Devroom description =
  
[https://en.wikipedia.org/wiki/Declarative_programming Declarative
+
[https://en.wikipedia.org/wiki/Declarative_programming Declarative programming] is a programming paradigm that expresses the logic of a
programming] is a programming paradigm that expresses the logic of a
 
 
computation without describing its control flow. Many languages that
 
computation without describing its control flow. Many languages that
 
apply this style attempt to minimize or eliminate side effects by
 
apply this style attempt to minimize or eliminate side effects by
Line 67: Line 66:
 
and is therefore more robust and secure. Minimalism allows for smaller
 
and is therefore more robust and secure. Minimalism allows for smaller
 
systems that take less resources and consume less energy. More
 
systems that take less resources and consume less energy. More
importantly, free and open source declarative software and minimalism
 
allows for secure systems that are easy to understand. We believe
 
these topics are educational and bring back the fun of the early days
 
 
importantly, free and open source declarative software and minimalism
 
importantly, free and open source declarative software and minimalism
 
allows for secure systems that are easy to understand. We believe
 
allows for secure systems that are easy to understand. We believe
Line 83: Line 79:
 
functional programming, logic programming and dataflow.  FOSDEM gives
 
functional programming, logic programming and dataflow.  FOSDEM gives
 
our communities a great impulse by getting developers together. This
 
our communities a great impulse by getting developers together. This
devroom will be a great oportunity to attract new people, new ideas
+
devroom will be a great opportunity to attract new people, new ideas
 
from different backgrounds, as well as gather everyone familiar with
 
from different backgrounds, as well as gather everyone familiar with
 
the projects to develop new free Software and improve existing
 
the projects to develop new free Software and improve existing

Latest revision as of 12:04, 31 October 2020

Devroom name: Declarative computing - for big ideas

Devroom description

Declarative programming is a programming paradigm that expresses the logic of a computation without describing its control flow. Many languages that apply this style attempt to minimize or eliminate side effects by describing what the program must accomplish in terms of the problem domain, rather than describe how to accomplish it as a sequence of the programming language primitives. Declarative programming is the basis for functional programming, logic programming and dataflow. In other years we organized FOSDEM devrooms for 'Minimalistic and experimental programming languages'. In this year's virtual conference we will honour the late Professor Edsger Dijkstra as a pioneer who laid foundations for many of these ideas.

Dijkstra was also a champion of simplicity and Minimalism which refers to the application of minimalist philosophies and principles in the design and use of hardware and software. Minimalism, in this sense, means designing systems that use the least hardware and software resources possible. In an era where personal computer perfomance capabilities expanded by orders of magnitude and mainstream software becomes more and more complex, minimalistic programming languages try to remain simple, elegant and use are little resources as possible. This year we focus on declarative aspects of programming to make systems simpler, more rebust and more secure.

"Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better." - Edsger W. Dijkstra (1984)

With the expansion of small hardware in phones, the internet of things and embedded systems, free and open source software minimalism and declarative programming is essential to providing secure systems.

Key organizers of this declarative/minimalistic languages dev room for big ideas are members of the GNU projects for Mes, Guile, Gash and Guix. We will invite people from many other projects who contribute to improve today's systems taking declarative/minimalistic approaches.

Examples of the types of talks we envisage for this dev room are

  1. Declarative Mobile/embedded software development
  2. Distributed applications using Flow-Based Programming
  3. Hacking free software with declarative GNU Guix
  4. GNU Mes bootstrapping full free software systems from source
  5. Building domain specific languages (DSLs)
  6. DSLs for logic programming

Related URLs

 - MES and bootstrappable https://www.gnu.org/software/mes and http://bootstrappable.org
 - GNU Guile https://www.gnu.org/software/guile/
 - GNU Guile libs https://www.gnu.org/software/guile/libraries/
 - Scheme http://community.schemewiki.org/
 - Racket https://racket-lang.org/
 - Minikanren http://minikanren.org/

Why should FOSDEM accept this proposal?

Declarative programming and minimalism matters. Declarative programming allows for software that can more easily be reasoned about and is therefore more robust and secure. Minimalism allows for smaller systems that take less resources and consume less energy. More importantly, free and open source declarative software and minimalism allows for secure systems that are easy to understand. We believe these topics are educational and bring back the fun of the early days of computing where people learn to understand systems from the ground up. Speakers will be asked to accentuate the educational side of their projects.

We have been organizing devrooms for some time. We expanded themes by adding minimalistic and experimental languages. Our devrooms have been very popular. This year we want to shift towards a more theoretical level of software engineering inspired by the current developments in functional programming, logic programming and dataflow. FOSDEM gives our communities a great impulse by getting developers together. This devroom will be a great opportunity to attract new people, new ideas from different backgrounds, as well as gather everyone familiar with the projects to develop new free Software and improve existing projects in one (virtual) place.

Devroom organisers

 - Pjotr Prins (pjotr.public445@thebird.nl)
 - Manolis Ragkousis (manolis837@gmail.com)
 - Ludovic Courtès (ludo@gnu.org) - GNU Guile project leader
 - Ricardo Wurmus (ricardo.wurmus@mdc-berlin.de)
 - Jan Nieuwenhuizen (janneke@gnu.org)
 - Alex Sassmannshausen (alex.sassmannshausen@gmail.com)
 - Amirouche Boubekki (amirouche.boubekki@gmail.com)
 - William Byrd (webyrd@gmail.com)