Next-Paradigm Programming Languages: What Will They Look Like and What Changes Will They Bring?

05/01/2019
by   Yannis Smaragdakis, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/19/2022

How ISO C became unusable for operating systems development

The C programming language was developed in the 1970s as a fairly unconv...
research
06/20/2019

Deployable probabilistic programming

We propose design guidelines for a probabilistic programming facility su...
research
05/17/2020

Quantifying the Impact on Software Complexity of Composable Inductive Programming using Zoea

Composable inductive programming as implemented in the Zoea programming ...
research
08/28/2018

Language Interoperability in Control Network Programming

Control Network Programming (CNP) is a programming paradigm which is bei...
research
10/16/2020

It was never about the language: paradigm impact on software design decisions

Programming languages development has intensified in recent years. New o...
research
06/09/2020

Assessing Practitioner Beliefs about Software Engineering

Software engineering is a highly dynamic discipline. Hence, as times cha...
research
09/24/2017

Anonymous Variables in Imperative Languages

In this paper, we bring anonymous variables into imperative languages. A...

Please sign up or login with your details

Forgot password? Click here to reset