programming language design Recently Published Documents

Total documents.

  • Latest Documents
  • Most Cited Documents
  • Contributed Authors
  • Related Sources
  • Related Keywords

Bounded Abstract Effects

Effect systems have been a subject of active research for nearly four decades, with the most notable practical example being checked exceptions in programming languages such as Java. While many exception systems support abstraction, aggregation, and hierarchy (e.g., via class declaration and subclassing mechanisms), it is rare to see such expressive power in more generic effect systems. We designed an effect system around the idea of protecting system resources and incorporated our effect system into the Wyvern programming language. Similar to type members, a Wyvern object can have effect members that can abstract lower-level effects, allow for aggregation, and have both lower and upper bounds, providing for a granular effect hierarchy. We argue that Wyvern’s effects capture the right balance of expressiveness and power from the programming language design perspective. We present a full formalization of our effect-system design, showing that it allows reasoning about authority and attenuation. Our approach is evaluated through a security-related case study.

Integrating usability into programming language design (keynote)

Getting to the point: index sets and parallelism-preserving autodiff for pointful array programming.

We present a novel programming language design that attempts to combine the clarity and safety of high-level functional languages with the efficiency and parallelism of low-level numerical languages. We treat arrays as eagerly-memoized functions on typed index sets, allowing abstract function manipulations, such as currying, to work on arrays. In contrast to composing primitive bulk-array operations, we argue for an explicit nested indexing style that mirrors application of functions to arguments. We also introduce a fine-grained typed effects system which affords concise and automatically-parallelized in-place updates. Specifically, an associative accumulation effect allows reverse-mode automatic differentiation of in-place updates in a way that preserves parallelism. Empirically, we benchmark against the Futhark array programming language, and demonstrate that aggressive inlining and type-driven compilation allows array programs to be written in an expressive, "pointful" style with little performance penalty.

Assesment Model for Domain Specific Programming Language Design

Programming language design requires making many usability-related design decisions. However, existing HCI methods can be impractical to apply to programming languages: languages have high iteration costs, programmers require significant learning time, and user performance has high variance. To address these problems, we adapted both formative and summative HCI methods to make them more suitable for programming language design. We integrated these methods into a new process, PLIERS, for designing programming languages in a user-centered way. We assessed PLIERS by using it to design two new programming languages. Glacier extends Java to enable programmers to express immutability properties effectively and easily. Obsidian is a language for blockchains that includes verification of critical safety properties. Empirical studies showed that the PLIERS process resulted in languages that could be used effectively by many programmers and revealed additional opportunities for language improvement.

Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation

The $$\mathbb {k}$$ vision for the future of programming language design and analysis, lantern: a domain specific language for energy awareness in smart-homes.

This paper argues that energy consideration should be central to software development. It speculates that including the notion of energy awareness in programming language design for domain specific languages (DSLs) is a novel way in which energy-aware and energy-efficient applications can be developed. It outlines the design criteria and rationale for using a language-focused approach for energy-awareness. It proposes Lantern, a DSL for supporting energy awareness in Cyber-Physical Systems software development. Lantern allows the development of applications that better manage and reduce the carbon footprint of devices. The design of Lantern is aimed at supporting the general development of Cyber-Physical Systems. This paper focuses on the scenario of smart homes, using statically defined locations within a specified environment.

Just TYPEical: Visualizing Common Function Type Signatures in R

Data-driven approaches to programming language design are uncommon. Despite the availability of large code repositories, distilling semantically-rich information from programs remains difficult. Important dimensions, like run-time type data, are inscrutable without the appropriate tools. We contribute a task abstraction and interactive visualization, TYPEical, for programming language designers who are exploring and analyzing type information from execution traces. Our approach aids user understanding of function type signatures across many executions. Insights derived from our visualization are aimed at informing language design decisions — specifically of a new gradual type system being developed for the R programming language. A copy of this paper, along with all the supplemental material, is available at

Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation

Please enable JavaScript

Export Citation Format

Share document.

Thank you for visiting You are using a browser version with limited support for CSS. To obtain the best experience, we recommend you use a more up to date browser (or turn off compatibility mode in Internet Explorer). In the meantime, to ensure continued support, we are displaying the site without styles and JavaScript.

  • View all journals

Programming language articles from across Nature Portfolio

A programming language is a set of symbols whose strings are governed by rules apt to communicate instructions to a particular machine. Such strings may be concatenated into longer code and implement abstract algorithms in the form of programs specific to actual computing devices.

Latest Research and Reviews

research paper on programming language

Quantifying the impact of Wolbachia releases on dengue infection in Townsville, Australia

  • Samson T. Ogunlade
  • Adeshina I. Adekunle
  • Emma S. McBryde

research paper on programming language

Diagnosis of autism spectrum disorder based on functional brain networks and machine learning

  • Caroline L. Alves
  • Thaise G. L. de O. Toutain
  • Francisco A. Rodrigues

research paper on programming language

Targeting myeloid-derived suppressor cells in combination with tumor cell vaccination predicts anti-tumor immunity and breast cancer dormancy: an in silico experiment

  • Reza Mehdizadeh
  • Seyed Peyman Shariatpanahi
  • Curzio Rüegg

research paper on programming language

Julia for biologists

This Perspective introduces biologists interested in computational approaches to the benefits of the Julia programming language for meeting current and future computational demands.

  • Elisabeth Roesch
  • Joe G. Greener
  • Michael P. H. Stumpf

research paper on programming language

Evaluation of the portability of computable phenotypes with natural language processing in the eMERGE network

  • Jennifer A. Pacheco
  • Luke V. Rasmussen

research paper on programming language

Improved downstream functional analysis of single-cell RNA-sequence data using DGAN

  • Diksha Pandey
  • Perumal P. Onkara


News and Comment

research paper on programming language

JIPipe: visual batch processing for ImageJ

  • Ruman Gerst
  • Zoltán Cseresnyés
  • Marc Thilo Figge

research paper on programming language

A Python-based programming language for high-performance computational genomics

  • Ariya Shajii
  • Ibrahim Numanagić
  • Bonnie Berger

research paper on programming language

Polymorphic computation in locus coeruleus networks

Physiological and optogenetic dissection of discrete locus coeruleus neuronal populations reveals a functional disassociation, with heterogeneous engagement of locus coeruleus neurons in either fear learning or extinction models.

  • Dong-oh Seo
  • Michael R Bruchas

research paper on programming language

Computational science: ...Error

…why scientific programming does not compute.

  • Zeeya Merali

Quick links

  • Explore articles by subject
  • Guide to authors
  • Editorial policies

research paper on programming language


  1. (PDF) Report on the Programming Language

    research paper on programming language

  2. Programming Languages Introduction

    research paper on programming language

  3. C Programming 2017-2018 B.Sc Electronic Science Semester 5 (TYBSc) 2013

    research paper on programming language

  4. Research Paper: Memory Management in Programming Languages

    research paper on programming language

  5. Challenges of Programming Essay Example

    research paper on programming language

  6. Principles of Programming Languages 2011-2012 M.Sc Computer Science

    research paper on programming language


  1. Lecture No 3, Information Theory and Coding Spring 2023

  2. Programming and research

  3. Graph Paper Programming

  4. How to Write a Research Paper

  5. Synopsis for Computer science/ Computer Application projects|MSc(CS)/BSc(CS)/BBA-CA/MCA/Eng synopsis

  6. How to Read and Critique Deep Learning Papers


  1. How Do You Make an Acknowledgment in a Research Paper?

    To make an acknowledgement in a research paper, a writer should express thanks by using the full or professional names of the people being thanked and should specify exactly how the people being acknowledged helped.

  2. What Is a Sample Methodology in a Research Paper?

    The sample methodology in a research paper provides the information to show that the research is valid. It must tell what was done to answer the research question and how the research was done.

  3. What Is a Good Title for My Research Paper?

    The title of a research paper should outline the purpose of the research, the methods used and the overall tone of the paper. The title is important because it is the first thing that is read. It is important that the title is focused, but ...

  4. A Large Scale Study of Programming Languages and Code Quality

    We classify a language as strongly typed if it explicitly detects type confusion and reports it as such. Strong typing could happen by static type inference

  5. teaching programming languages to computer science students

    In this paper "Comparative Studies of Six Programming Language" author has done a comparative study on six programming language: C++, PHP, C#, Java, Python, and

  6. Research in Programming Languages and Software Engineering

    1989. Copies. of. all. relevant. papers. have. previously. been. forwarded. to.

  7. Programming Languages

    The article provides an invaluable resource for our research as it gives us the exact 'main' focus of the language and why it is there. The

  8. programming language design Latest Research Papers

    Find the latest published documents for programming language design, Related hot topics, top authors, the most cited documents, and related journals.

  9. Analysis of Research in Programming Teaching Tools

    Database search on programming tools research papers was made using ACM

  10. Term Paper

    about the programming language national college of computer studies paknajol, kathmandu report on submitted submitted to name: sijan maharjan name: dadhi

  11. Quantitative model for choosing programming language for online

    The second section of this paper presents a quantitative.

  12. Most Downloaded Articles

    Ranking programming languages by energy efficiency ... The two paradigms of software development research.

  13. Programming language trends : an empirical study

    How many conference papers/articles are published by using this.

  14. Programming language

    ResearchOpen Access 11 Sept 2023 Scientific Reports. Volume: 13, P: 14932