Resumen
A day in the life of a developer often involves more time working with schemas, configurations, and data description systems than writing code and logic in a classical programming language. As more systems move into distributed worlds, e.g. cloud and microservices, and developers make increasing use of libraries and frameworks, the need to interact with a range of data formats and configuration mechanisms is only increasing. This is a treacherous world, where a misspelled property name or missing field can render an entire service inoperable, a mistake that a number in an API represents seconds instead of milli-seconds can lead to a message being set for delivery in several months instead of in an hour, misconfigured schema can lead to public exposure of sensitive data, and corrupt or erroneous results from a misunderstood data format could result in massive financial and/or reputational damage. To address these challenges this paper casts the problems of data and configuration descriptions, not as a problem of data representation, but as a type system problem, that can be addressed with well understood and highly effective programming language techniques! The novel challenge is that data representation and configuration are universal concerns in a system and, particularly in modern cloud or micro-service systems, these systems may involve many programming languages. In the past this has led to specification systems that use a least-common-denominator set of data types, often little more than strings and numbers, and then rely on conventions or (out-of-date) documentation to ensure that the data is interpreted correctly. This paper shows that, with careful design, it is possible to create a rich universal system that can be used to express data and configuration specifications in a way that is human readable/writable and that can be produced/consumed, much like JSON, by a wide range of programming languages and systems.
| Idioma original | English |
|---|---|
| Título de la publicación alojada | Onward! 2024 - Proceedings of the 2024 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Co-located with |
| Subtítulo de la publicación alojada | SPLASH 2024 |
| Editores | Jonathan Edwards, Marcel Taeumel |
| Páginas | 147-161 |
| Número de páginas | 15 |
| ISBN (versión digital) | 9798400712159 |
| DOI | |
| Estado | Published - oct 17 2024 |
| Evento | 2024 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2024, Co-located with: SPLASH 2024 - Pasadena, United States Duración: oct 23 2024 → oct 25 2024 |
Serie de la publicación
| Nombre | Onward! 2024 - Proceedings of the 2024 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Co-located with: SPLASH 2024 |
|---|
Conference
| Conference | 2024 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2024, Co-located with: SPLASH 2024 |
|---|---|
| País/Territorio | United States |
| Ciudad | Pasadena |
| Período | 10/23/24 → 10/25/24 |
Nota bibliográfica
Publisher Copyright:© 2024 Owner/Author.
ASJC Scopus subject areas
- Computational Theory and Mathematics
- Computer Networks and Communications
- Computer Science Applications
- Software
Huella
Profundice en los temas de investigación de 'A Programming Language for Data and Configuration!'. En conjunto forman una huella única.Citar esto
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver