Skip to content
Free planNo credit card requiredStart writing

Search 250 million research papers

Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.

About 10,000 papers for “programming language features”

Programming Language Features for Refinement

Koenig, Jason, Leino, K. Rustan M. · arXiv (Cornell University) · 2016

Algorithmic and data refinement are well studied topics that provide a mathematically rigorous approach to gradually introducing details in the implementation of software. Program refinements are performed in the context of some programming language, but mainstream languages lack features for recording the sequence of refinement steps in the program text. To experiment with the combination of refinement, automated verification, and language design, refinement features have been added to the verification-aware programming language Dafny. This paper describes those features and reflects on some initial usage thereof.

Cited by 0Open access

Experimental evaluation of programming language features

Richard Furuta, P. Michael Kemp · 1979

The interaction between programmer and programming language affects the maintainability, reliability, and understandability of the resulting programs. Their results are important both to the educator and to the language designer, particularly when examining languages to be used when teaching beginning programmers. The purpose of this paper is to examine and discuss the methodology and results of a number of these research studies.

Cited by 2

Concurrent Programming features in Chill language

M. Boari, Antonio Corradi, R. Gamberini et al. · OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information) · 1983

The model adopted in Chill for process communication and synchronization is analyzed. The various constructs are presented and compared with other classical constructs. Implementation problems are discussed. 11 references.

Cited by 2

Experimental evaluation of programming language features

Richard Furuta, P. Michael Kemp · ACM SIGCSE Bulletin · 1979

The interaction between programmer and programming language affects the maintainability, reliability, and understandability of the resulting programs. Their results are important both to the educator and to the language designer, particularly when examining languages to be used when teaching beginning programmers. The purpose of this paper is to examine and discuss the methodology and results of a number of these research studies.

Cited by 0Open access

Networking Features of the Java Programming Language

John P. Slone · Auerbach Publications eBooks · 2020

This chapter aims to scratch the surface of network features built into the Java programming language. For languages developed prior to Java, networking was a specialty area, and the technology of networking was typically handled outside the language itself, such as through system calls. The chapter examines several networking mechanisms built into Java for the purpose of exploiting this environment. It discusses Java networking primitives that enable the programmer to develop applications that interact directly with Layer 4. Connection-oriented networking employs a paradigm analogous to the telephone network. Although extremely powerful when compared with the networking features of most other languages, these features are little more than primitives within the context of Java networking features. Uniform resource locator-based programming allows the Java programmer to interact at a high level with primarily non-Java resources on the network. Instead, the exploitation of Remote Method Invocation requires a paradigm shift in the way one thinks about network-based programming.

Cited by 0

C: Adding modern programming language features to C

Aaron Moss, Robert Schluntz, Peter A. Buhr · Software Practice and Experience · 2018

Summary The C programming language is a foundational technology for modern computing with millions of lines of code implementing everything from hobby projects to commercial operating systems. This installation base and the programmers producing it represent a massive software engineering investment spanning decades and likely to continue for decades more. Nevertheless, C, which was first standardized almost 30 years ago, lacks many features that make programming in more modern languages safer and more productive. The goal of the C project (pronounced “C for all”) is to create an extension of C that provides modern safety and productivity features while still ensuring strong backward compatibility with C and its programmers. Prior projects have attempted similar goals but failed to honor the C programming style; for instance, adding object‐oriented or functional programming with garbage collection is a nonstarter for many C developers. Specifically, C is designed to have an orthogonal feature set based closely on the C programming paradigm, so that C features can be added incrementally to existing C code bases, and C programmers can learn C extensions on an as‐needed basis, preserving investment in existing code and programmers. This paper presents a quick tour of C features, showing how their design avoids shortcomings of similar features in C and other C‐like languages. Experimental results are presented to validate several of the new features.

Cited by 4

D.3.3 Programming Languages: Language Constructs and Features–

Manish Vachharajani, Neil Vachharajani, Sharad Malik et al. · 2008

High-level hardware modeling is an essential, yet time-consuming, part of system design. However, effective component-based reuse in hardware modeling languages can reduce model construction time and enable the exploration of more design alternatives, leading to better designs. While component overloading and parametric polymorphism are critical for effective component-base reuse, no existing modeling language supports both. The lack of these features creates overhead for designers that discourages reuse, negating any benefits of reuse. This paper presents a type system which supports both component overloading and parametric polymorphism. It proves that performing type inference for any such system is NP-complete and presents a heuristic that works efficiently in practice. The result is a type system and type inference algorithm that can encourage reuse, reduce design specification time, and lead to better designs. Categories and Subject Descriptors:

Cited by 0

Features of a dream programming language: 2nd draft

Magne Matre Gåsland · 2022

Since I improved the original article quite a bit, I saved the original for posterity. To respect the contents of the original URL (where it may have been shared), and to respect the ensuing Hacker News discussion based on the original article. The original article received some encouraging feedback from Ruby's creator Matz, and positive feedback and excellent critique from Roc's creator Richard Feldman. The article is a long read, so I suggest first skimming it and dipping into the sections where you find interest or disagreement. Then, if your curiosity is piqued by the ideas, I hope you will take time read it carefully over a few evenings, mull over the ideas presented (a few are novel), consider your own dream language features, and contribute those, as well as your own insights and experience, in the comments below. TL;DR / SUMMARY: I long for a very constrained language for web-app + systems development, prioritizing readability (left-right and top-down) and reason-ability above all, which is designed for fast onboarding of complete beginners (as opposed to catering to a specific language community who already have the curse of expertise). The most important familiar features it should have: - Functional Programming, but based on data-first piping. - Immutability, but w/ opportunistic in-place mutation. - Gradually typed: dynamic for development, static for production (w/ full & sound type inference). - CSP for concurrency (goroutines). - Ecosystem: interoperable with existing languages. - Transpiles to JS or compiles to WASM. The most important esoteric features it should have: - Crucial evolvability / backward- and forward-compatibility. - Content-addressable code. - Transparent upgrades without - Functional w/ - for for - the contents of into a - by and - from to to without The complete of features are below. - as well and or a language - in in is to the of the the into or to over The with code. by - language you to some the of the and to language to - language a to a in you to have a of to based on a may it to of of the by the - - by for and a for the - by the or the for for the language you you with but - To a language should - systems are a to the to own - the to and are already already with some - the to and without to the which is - the to take and it into or in - the to & by of and without the - for for and to without to the original in and without with the original - language you & have to but you have to - by by on and own with and is as to it so the it is to so you to it and the the in to from onboarding and the and language should for to most the by and it is to for is and to which to features, readability is and over over and is in the of a I from and and for and - should and by - / + systems to into of - and but to production - I is + and systems a language The language / to and for the is for or it is a or if should have for from of and the in is the of features dream language in are most - as and to some but and to with language by by to in the language if - to read if - should a to with language by language is and is to a it should some from language to The with the of and if or is it to have the well to a for in the of which a with respect to to to the and to the and of static is static and it is a and but with To is by and of to the type is the type and the static so have to it - / To a it and it in you to to of the in should to on and by in by a and by the of - to in the should to is in the code. by and with the it should to Since to to as for the to take the to it in the the language should and for to without a in own a or by have as or for the from of it by with the to the of the your by The should in the the and the and without you to to to a and / code. by a is to the in your your the by the in the with the of your code. you to to a to the - but to if the is the as the by JS and by the in and by the in and the of and in should and to the by in is by and to - it by for of to is by of the it in a the to into the with the JS for to I to have to a for where a I have to to should by and by a a but which in to a should to take in but a of and to should to in a without to by - or by - by it and a of and for as a community as with as as by - is as should to read to without been with you have by and and and by is is a on on the - and in the language with - to of in the of will code. so on the without from the language will from to on a code. Content-addressable dynamic which is important language should designed in of and it should have of which is to and quite which is to and quite and which is to should based on the the is the will and or of the is the will creator of - should to in of or is code. is it is in from to or in a from but to the of you have to read from the to the is and to of are time you the and it and your a you with in of a and to a and time you the it is from to the of in by the of and code. - based by it is the and are by and consider if the language a and - feedback to the is by and - / if by on of a to the - / - and should to without by to to in to from in and by the in - for language by it to from by - to by To the language and and to and in a language should a to and the of the should it is and in the of a the should the where in the it is in the where the language are should to have to to without some of to to a with language language which with by so to to is in should in and systems is a - Content-addressable of are a of The the is in a and the in the to and and of and dynamic to and for to by - but with on over to by on you you with of you have to in your a of and to the on the as - The language should to by in the without it and to a based on and is in the important a by and the on the of the language community should the language in for the of as to the language to the language should and a by - which is by the and by by is in or with the by by of and in the it should to of the should and and which the of - should by - by by JS - a of and to in and a is a - and by - the of but is and over it is to and the (as well as in of and and to to the to on of the or to and in or from the which as in is it is is of with the or as to should of with the the of is the of the to I the is but for with a of for a for which is important for onboarding & and for and of and or the first in which if by The is the of is to and is the the language should in to the data-first and type by - Functional over the and - for it should a the and the the language to of from to is a as it the language and of is a The of - so a will to the are should by should a of but to and - / - To the and by for by / by and and should well with the to have a language where the have and a to without to on and to - by The language should and it to language To which to to to to to in time are should the the static and the dynamic by the in the to the of by the code. important the language should the to is to which the will the of the the to over of the which is will into a The language to by or the very which are to and some may in a as opposed to the the language should a which should by the of the in the (a to which to with in to if on in a in of as Richard but to the to of the The should - from by to and as which - from of the and in a but a of the in The the of a or it with the of of - by and the language should to to for but a by the language without are To the language should to based on the language should of of a language should of without which is the The should and and the language should take of as as by - by - but by - / and fast for it - for to a by - to a which as a to for - to and on - to from by and - and but are by and to of by - where of / by and the of concurrency and a you and for - The of a of to in is by the JS and for of the in it should to a with to for to which to a by - a should the first or if the it is a should a full as as the is it by of to the of a to some a to by to it been - Since as by and and Since with and the it is a of to a and a language of and and by The of is it features are to & The language should take of and the of in the language is a language to The language should the is and long as is by the and is a for as well as The constrained of the language should for and should in the and the the language to (a of and which for a The language should of and the in the of where you to in the first by but by - for in the language or for in the for as to by over over by and in the as it is to The language should it and the of language should for the community should language but to to complete a on a by should a from to type as and the will on the in into in the code. - your well if as The language should will but first and by and - by if the with time is well over time by and with and in the - by and type in - by and if the with - of suggest a language should the language for To and but to and will to and by & to to to a a language to it a to it should read - in the it for and static the - should but by community it should to to by The language should or to with by Since is for and for and if to features to a it the of the The of in - on static - by to into a Since readability and onboarding of which is for language - the the language should in own and important the language is to the + systems for a a in the language with so the and of the language will the language should for systems - and by the language should a to in where it is where it is the in and it to of without the to from the as Since is by in the so you have to into the to the the by the the - but and it by The have to but should to the of it is a for from the time as are features, but to and should in the language in where it the of the language of it on so the should and or to in or the the and are so fast and are are to as and should in the language but of by the - so by so it is where by - by and The of the language should without to and based on - into but on the is to by - by - for and are and - will the in - for of - / should to it it to and by on by / is by is by of the is may and the the to the is by and by and are in - of to the take it To the to the by and should by on which the in or or to - over as a community by a of which are to the and your own with to a specific The have to with by JS have to is the of by the of on the is to the may and as without to - it is a should have by the language by the and so to language by the with to the - The should the by and by as the of should to the the is the which or should but should in the as if you the who is on the - which are from it the and the language to in the community on own by and - and the - The language should so by very it and but most should so should to the and as as by which - / is the of a to a in a been and into the of the to the for the by for and the most of you are to is the of a of in the the but you to find where the so is the have but - / language to and or it to by and are with / features, in to - so it language and the language in and without - - by Since it is to in most to and in which and in time the have to and it should the or or by is should to as as by it I to is and and the in it for a to and where are and or on which is of on it and for in the with in it to the so the - by and to JS / have to with is your and the with and with by the with a with a and for and by the language should some in by and with in and - The if the language for by the where it are and without the of - and I it is by as important by of and The of as opposed to is to the for by for by by of is by with in is a in to the is in into in you are the your below. is a so a - the and is but the of the the by the without for the time the of - some by with as in - your into of it to with of - some in the but the are on may have in the it may a in to to the as it the to the with - the by and - the with of on the on the (as with to the - are of - concurrency with in as the to concurrency - on to with a it it in with to the - of the above have for to of to the by the and the in a but the of by by the and to to of if it the time you it if it it in the of to to a without by - but should by the language based on the the is a for it to the over it to by to if time a it to the but the is should some based on for the it to the should to if the are it should the but if it should so the are in without the to based on a of or or and it in a for the have to - a CSP or a or to to by - should well with the of the should to to by and - as Since is over the in a is to by by - should to the the should have to the the the to the of the on - to and from to a of by of and the of the in and (w/ it with which a by but by the to the take into and the of if should or it is a of the but the by of are in a or a if you but without to and by a or should to to systems without the code. by and systems and where are in as a or a but which a - to a so without a a by a of by - but of a may the by Since is a to have as the to have for should to the it the to with - for is to on a the should to the so into and - and by in to the of as as - which a a and the by features of the language on have to the language as as for the is for the / a language for a the in the language and have to a on as to The of in and on the so to for The language should the language should to based on which or is to in the should for the of the code. should the the where are to are have the language the is should The will on which most for systems development, development, The language should by will it and the to where the to specific to by on the by the language with of - so by for so in a are a with by of type in the to with the of a you a of to by and in the which by is the is is a and a The is by the from is it should to the of based on some for a to which you to as for by should a or a a a to the which and the are in a language as long as are by and by to are in the it a to to from on the The is The language have the a to for the already with have to with with you a you it to a to by a by where it should your own the and by - by Functional Programming, and and The the is it a for and The language should and the features of and as opposed to and with - the by - to and of into a should should - Gradually as a and in the code. by and by and as should by but by and - type by & - should should by and the by - should or are existing - by of by and Since it is the to a it should have for the few where with by and by - type and type is by and by dynamic so + for and so have to or but the important to static for without to type and by by - / / by and by and - sound and and with by and To have to readability and of type the of are most important by should for the / is and you to the code. should in but to the in - type for should you to type you will the in your own of by - / by Since it with and to the from where the to is to the the to the type of the opposed to a is it a feedback to the it - over by and in it should to is and - it - and should and by the without a - but and type by and the language take from which by and the is a of which is for the as well as the as well as the you have to you but is to and The should where so as to of the should to a to the to so a a of the the to by - & by a for by and should by the so the have to as on the the or of To of (as with the language should or take from - by should for for which - - from the by to a from the it on by the of of and - but and on very few to by and by the and in - in own are to and by and it are the as it in some are for onboarding familiar on which to the code. if you the of you where you your - with well to by and for based on of - by - language for by the of The language should to the language should with to have some in the of community - important is to fast and language to the the by and the of the community find a ideas and in and have to on the features and - to and but - to over are to from in of by by and - which may you or in the long by in - time and by - or some of or by and with and of - by and by as it by on the by - for and by from and and from and it should as is a - & is to by or from of by and without to by as a the type and so the by but and a type to a type by a the is in a a of the type and own are in of so type and the it to which to but which is a on a of a to - a to or to it in is your to if the language of and have a type for by and by the type from in should from static - for by of by - you have to and to so you on the - of to by - should to some language & or the to for if it on the language the - The language should have with to in the and of the but it should for who to take on - you a of your of and it will if and where are by JS - To have some of and to the and most will and into a it to language which are and community is for over the long - The should designed and by with into and a for To is the where the language should have a for a - / it & a the it will and it to for of The language should in the community on should the The and of the language should the community will and by Ruby's is so are of is a language it is of to a language and development, so it a is for and The language where the but a a may as well as it to by and to some but and the and by JS the and should with The in The and should to / to in the the and the time are well and - on is to the of language features, been in the for some by to as for have to to a and and in in the community may it without and it on is and in into to the language a - the language the time The language should very constrained of a few but it or by it in of and from the it to the community to to the constrained for which I or the for and which and important is to language to the by the community find a ideas and in and have to on the features - of to a the community of by to the to - to on some existing or the by have a very language a by the should in the of by - with or existing language To or the have to from by with existing and is of the features of a in of by a very it by a are to a on or features, or by on and The is and been to for have to own the but to language as a which well in a is the to - with the language in the language is from languages. by Since to is of a the - a where features from with for with and the by is and are from - into the by a language the - the contents of into a by with some so a the / by of / the language is by the in take in and the as the by of with to a on - should from or comments to and are well with the Content-addressable by and on a of or to the comments for to on a to the which is to of with the it is comments to the you the and but the the the to - The of on the it into the to the as you have to which may you to your of should and and to the where by and should from by - on language should from the the - should so for from the or from the by and by - by and the I I to the I the to I if the in which I a of and to to I the of - - as from the of in - - the the language should the of the a the of but read should designed and as as the of in the is as as with a to a of most important features, the most and esoteric features, and the to should to with Since of the and from the to the - language you & have to but you have to the features the language should - for fast onboarding of complete beginners (as opposed to catering to a specific language community who already have the curse of expertise). - as of the as to the of so - a onboarding with by - with a well by and which are the will with a of to to take for concurrency and The I as to it but a of if you have to to a have you it should as as but to and is a should of and but should a language should the with as is on the the is in to if the is the of a of the should have to the language should as and the language it I to I to or the into / Immutability, and type should of code. to to the ideas to the to to should it should and to a it should it should but if the should on or The and the from the and the above in the language should and it to it on it to or of the in the if it should the over on the of the language should have but in of it should have a some and based on of specific I a language so I as with to or of / is a of quite to features which a of I familiar with to have for I will to if and I on which I to I have already from to positive on and features your dream language

Cited by 0Open access

Structure and tasking features of the programming language Martlet

R.L. Grimsdale, F. Halsall, F. Martin-Polo et al. · IEE Proceedings E Computers and Digital Techniques · 1982

This paper describes the structure and tasking features of the programming language Martlet. Martlet is based on two languages: Pascal and the US Department of Defence language Ada. Essentially, the sequential part of the language is Pascal and this has been extended to include a number of the structural and tasking features of Ada. The latter are described in the paper, and also the overheads required to implement these features on an actual multiprocessor structure are presented.

Cited by 0

Implementation prototypes in the development of programming language features

Ray Ford, Chris Marlin · 1982

This paper describes the experiences of the authors in the application of prototyping techniques to the development of programming languages with "advanced" features such as coroutines and abstract data types. The essence of the approach described here is the careful extension of a suitable base language (Pascal was used in all the experiments described here) by one new facility at a time and the production of a prototype implementation of the new language by modifying an existing implementation of the base language. Criteria for choosing a base language, the central role of formal semantic models in the approach and alternative strategies for producing a new prototype implementation from an existing one are all discussed in some detail.

Cited by 0

How Developers Use Type-System Related Programming Language Features

Flint, Samuel W. · Insecta mundi · 2025

Optional type annotations are a popular feature of programming languages that allow developers to omit explicit type information in code while, in some cases, retaining many of the benefits of static typing, such as in-code documentation, improved detection of type errors, or enforcement of code properties. However, how developers use and understand optional type annotations is not clear. The focus of this dissertation is to understand the use and comprehension of optional type annotations. Optional type annotations are examined through four lenses: first, by examining the evolution of usage in a statically typed programming language (Kotlin, the default language for Android), we find that locations tend to retain their annotation (or lack thereof) over time, and some locations such as initialized class fields and single-expression method return types receive type annotations more frequently than others. Second, by examining the output of large language models (LLMs) for the presence of type annotations when generating code, we find differing behavior between languages, with Python being minimally annotated unless explicitly requested. But explicitly requesting types also leads to more syntax errors. Third, by using eye tracking to better understand developer reference behavior (such as looking back at a line containing a declaration) with respect to type annotations, we find that developers did not engage in reference behavior more frequently in code with type annotations. Finally, through direct intervention, asking developers why they made a particular change to a type annotation, we find the three most common reasons type annotations are modified (or added/removed) are due to an incorrect type causing an error, to improve their function as documentation, or to adhere to a formal convention. Together, this confirms that developers view type annotations as documentation, especially in certain locations, even if they are rarely modified. However, how this information gets utilized by other developers or LLMs is unclear: we do not see evidence that developers refer to it during bug localization, and we see that requesting type annotations can cause downstream problems for popular tools such as LLMs. Advisor: Robert Dyer

Cited by 0

The Charm Parallel Programming Language and System: Part I - Description of Language Features

L.V. Kale, B. Ramkumar, A. B. Sinha et al. · 1995

We describe a parallel programming system for developing machine independent programs for all MIMD machines. Many useful approaches to this problem are seen to require a common base of support, which can be encapsulated in a language that abstracts over resource management decisions and machine specific details. This language can be used for implementing other high level approaches as well as for efficient application programming. The requirements for such a language are defined, and the language supported by the Charm system is described, and illustrated with examples. Charm is one of the first languages to support message driven execution, and embodies unique abstractions such as branch office chares and specifically shared variables. In Part II of this paper, we talk about the runtime support system for Charm. The system thus provides ease of programming on MIMD platforms without sacrificing performance. This research was supported in part by the National Science Foundatio...

Cited by 0

Integrating programming features with an algebraic modeling language for optimization

Robert Fourer · OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information) · 1994

In describing optimization models to a computer, programming is best avoided. In using models as part of a larger scheme, however, programs must be written to specify how information is passed between models. We describe a programming environment for this purpose that has been integrated with the AMPL modeling language.

Cited by 1

Features of Using GUI Libraries in the Python Programming Language

G. Adieva, Sh. Beimamatuulu · Bulletin of Science and Practice · 2026

Python is currently one of the most popular programming languages ​​due to its simple syntax and highly readable code. Python offers specialized tools for developing GUI applications, enabling the creation of visual components, event handling, and control over the rendering of elements. This article examines the features of the most popular GUI libraries — Tkinter, PyQt6, and Kivy — as well as Qt Designer and Qt Creator, in the context of developing cross-platform desktop applications. An example of implementing an application for tracking athletes using Qt Designer and PyQt6 is also provided.

Cited by 0Open access

Learning Uniform Semantic Features for Natural Language and Programming Language Globally, Locally and Sequentially

Yudong Zhang, Wenhao Zheng, Ming Li · Proceedings of the AAAI Conference on Artificial Intelligence · 2019

Semantic feature learning for natural language and programming language is a preliminary step in addressing many software mining tasks. Many existing methods leverage information in lexicon and syntax to learn features for textual data. However, such information is inadequate to represent the entire semantics in either text sentence or code snippet. This motivates us to propose a new approach to learn semantic features for both languages, through extracting three levels of information, namely global, local and sequential information, from textual data. For tasks involving both modalities, we project the data of both types into a uniform feature space so that the complementary knowledge in between can be utilized in their representation. In this paper, we build a novel and general-purpose feature learning framework called UniEmbed, to uniformly learn comprehensive semantic representation for both natural language and programming language. Experimental results on three real-world software mining tasks show that UniEmbed outperforms state-of-the-art models in feature learning and prove the capacity and effectiveness of our model.

Cited by 4Open access