A fine study of algorithmic choices in common programming languages
Project AAP CNRS
Contents
Description
All contemporary programming languages offer implementations of classical algorithms and classical data structures such as lists, hash tables, sorting, etc. These are basic building blocks that are used to develop larger programs. Efficient algorithms for dealing with such issues have been known for several decades, since the beginning of computing, often with several efficient variants proposed in the literature. When developers of a programming language choose to implement a particular algorithm, such as their generic array sort, they have a wide choice of solutions. In addition to the constraints of their language, they use various performance tests to guide their decision. Sometimes engineers innovate and go off the beaten track to propose completely new solutions. Performance testing is not easy to perform at this level of genericity (language designers do not know in which contexts their language will be used). In this context our project adopts the following approach:
- Examine the source code of different programming languages (Java, PHP, Python, . . . ) to identify surprising or questionable choices, or innovations.
- Propose probabilistic scenarios that model realistic behaviours for the use of these algorithms.
- Conduct a precise mathematical study of the behaviour of the algorithms studied in the various scenarios.
- Confirm the efficiency of certain algorithms, reveal the weaknesses of others and possibly propose improvements
More details available here in the original proposal for the project.
Members
Université Gustave Eiffel
Université de Caen
International
- Conrado Martínez (UPC, Barcelona)
- Alfredo Viola (UdelaR, Montevideo)
Kickoff meeting - 2 June
First meeting at the Institut Henri Poincaré programmed for 2 June.
- Date: June 2 2023 (Friday) from 10:30 to 17:30
- Venue: Institut Henri Poincaré, salle M-L Dubreil-Jacotin (ex-salle 421).
- Program: TBA
Meeting - Algo a la playa !
General meeting in Saint Julien en Born programmed !
- Date: July 10 2023 (Monday) through July 14 2023 (Friday)
- Venue: Hôtel La Canotte, à Saint Julien en Born