C∀: Adding modern programming language features to C. (20th August 2018)
- Record Type:
- Journal Article
- Title:
- C∀: Adding modern programming language features to C. (20th August 2018)
- Main Title:
- C∀: Adding modern programming language features to C
- Authors:
- Moss, Aaron
Schluntz, Robert
Buhr, Peter A. - Abstract:
- 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 theC ∀ 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 thatC ∀ features can be added incrementally to existing C code bases, and C programmers can learnC ∀ extensions on an as‐needed basis, preserving investment in existing code and programmers. This paper presents a quick tour ofC ∀ 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.
- Is Part Of:
- Software, practice & experience. Volume 48:Number 12(2018)
- Journal:
- Software, practice & experience
- Issue:
- Volume 48:Number 12(2018)
- Issue Display:
- Volume 48, Issue 12 (2018)
- Year:
- 2018
- Volume:
- 48
- Issue:
- 12
- Issue Sort Value:
- 2018-0048-0012-0000
- Page Start:
- 2111
- Page End:
- 2146
- Publication Date:
- 2018-08-20
- Subjects:
- C -- Cforall -- generic types -- polymorphic functions -- tuple types -- variadic types
Computer software -- Periodicals
Computer programming -- Periodicals
Computer programs -- Periodicals
005.3 - Journal URLs:
- http://onlinelibrary.wiley.com/ ↗
- DOI:
- 10.1002/spe.2624 ↗
- Languages:
- English
- ISSNs:
- 0038-0644
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 8321.453000
British Library DSC - BLDSS-3PM
British Library STI - ELD Digital store - Ingest File:
- 8444.xml