Next-Paradigm Programming Languages: What Will They Look Like and What Changes Will They Bring?
The dream of programming language design is to bring about orders-of-magnitude productivity improvements in software development tasks. Designers can endlessly debate on how this dream can be realized and on how close we are to its realization. Instead, I would like to focus on a question with an answer that can be, surprisingly, clearer: what will be the common principles behind next-paradigm, high-productivity programming languages, and how will they change everyday program development? Based on my decade-plus experience of heavy-duty development in declarative languages, I speculate that certain tenets of high-productivity languages are inevitable. These include, for instance, enormous variations in performance (including automatic transformations that change the asymptotic complexity of algorithms); a radical change in a programmer’s workflow, elevating testing from a near-menial task to an act of deep understanding; a change in the need for formal proofs; and more.
Research Interests: programming languages and software engineering
- Program analysis (static analysis, test generation, invariant inference, symbolic execution)
- Language mechanisms for abstraction (declarative languages, program generation, DSLs, modules and components, generics, extensible languages, multi-paradigm programming)
- Languages and tools for systems (programming models for concurrency, language support for distributed computing, memory management and program locality)
Wed 23 Oct (GMT+03:00) Beirut change
|16:00 - 16:45|
|16:45 - 17:30|
Yannis SmaragdakisUniversity of Athens