Intensional Differences Between Programming Languages: A Conceptual and Practical Analysis

This paper investigates intensional differences between programming languages—understood as differences in how computational processes are expressed, structured, and specified rather than merely in what they compute. While such differences have been studied in classical models of computation, they remain underexplored in the context of programming languages. Yet, programming languages undeniably compute, and any account of what “computing” means must include the ways in which they do so. The paper first clarifies the extensional/intensional distinction and introduces a methodological framework to study this distinction based on Carnapian explication. It then follows an idealized programming workflow, which I structure according to the Carnapian framework, to identify where and how intensional differences arise—including during problem specification, algorithm design, language choice, data representation, and physical implementation. The final part situates intensionality within the broader epistemology of programming practice, examining how it is shaped by type-theoretic assumptions, social and historical context, and the implications of bounded outcomes. Throughout, the paper examines both the “nature” (inherent features of computable functions) and “nurture” (human factors influencing programming language design and use) of intensional differences.

Authors

Institutions

Publication Details

Journal
Philosophies
Published
2025-11-29
DOI
https://doi.org/10.3390/philosophies10060129
Primary Topic
Logic, programming, and type systems
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Intensional Differences Between Programming Languages: A Conceptual and Practical Analysis

Paula Quinon
Philosophies
Logic, programming, and type systems
article

Intensional Differences Between Programming Languages: A Conceptual and Practical Analysis

Paula Quinon
article en

Abstract

This paper investigates intensional differences between programming languages—understood as differences in how computational processes are expressed, structured, and specified rather than merely in what they compute. While such differences have been studied in classical models of computation, they remain underexplored in the context of programming languages. Yet, programming languages undeniably compute, and any account of what “computing” means must include the ways in which they do so. The paper first clarifies the extensional/intensional distinction and introduces a methodological framework to study this distinction based on Carnapian explication. It then follows an idealized programming workflow, which I structure according to the Carnapian framework, to identify where and how intensional differences arise—including during problem specification, algorithm design, language choice, data representation, and physical implementation. The final part situates intensionality within the broader epistemology of programming practice, examining how it is shaped by type-theoretic assumptions, social and historical context, and the implications of bounded outcomes. Throughout, the paper examines both the “nature” (inherent features of computable functions) and “nurture” (human factors influencing programming language design and use) of intensional differences.

PhilosophiesVol. 10(6)
Warsaw University of Technology (PL)
Openalex Percentile: Top 80%
Logic, programming, and type systems
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.