<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Rethinking paradigmatic collaboration: new metrics for inter-language synergy in software engineering</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Mikel</forename><surname>Vandeloise</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Faculty of Computer Science</orgName>
								<orgName type="institution">University of Namur</orgName>
								<address>
									<addrLine>Rue Grandgagnage 21</addrLine>
									<postCode>5000</postCode>
									<settlement>Namur</settlement>
									<country key="BE">Belgium</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Gonzague</forename><surname>Yernaux</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Faculty of Computer Science</orgName>
								<orgName type="institution">University of Namur</orgName>
								<address>
									<addrLine>Rue Grandgagnage 21</addrLine>
									<postCode>5000</postCode>
									<settlement>Namur</settlement>
									<country key="BE">Belgium</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Wim</forename><surname>Vanhoof</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Faculty of Computer Science</orgName>
								<orgName type="institution">University of Namur</orgName>
								<address>
									<addrLine>Rue Grandgagnage 21</addrLine>
									<postCode>5000</postCode>
									<settlement>Namur</settlement>
									<country key="BE">Belgium</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Rethinking paradigmatic collaboration: new metrics for inter-language synergy in software engineering</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">4F0F714394B653D5BF5A67EEF58E48E2</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2025-04-23T19:00+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Programming paradigms</term>
					<term>Collaboration metrics</term>
					<term>Interoperability</term>
					<term>Languages integration</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>This paper introduces two novel metrics for assessing collaboration potential between programming paradigms and languages, offering a fresh approach to evaluating inter-paradigm interactions. The quantitative framework introduced challenges traditional methods by highlighting both the opportunities and the challenges of integrating paradigms with varying characteristics. Initial findings suggest that the metric effectively captures collaboration within similar paradigms, with functional paradigms demonstrating particularly strong collaboration potential. However, it also underscores the complexity of unifying divergent paradigms. The goal of this paper is to provoke discussion and foster further research, such as the refinement of metrics to obtain useful measurements in technology selection steps and interdisciplinary software development.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>Programming paradigms are fundamental frameworks that guide the conceptualisation, implementation, and evolution of software systems. These paradigms, ranging from simple declarative structures to complex procedural and concurrent constructs, must be carefully selected to meet the evolving challenges of software projects <ref type="bibr">[1]</ref>. Often, a hybrid approach becomes necessary. However, integrating multiple paradigms increases complexity, particularly in terms of interoperability and maintainability, which are crucial for long-term software evolution <ref type="bibr">[2,</ref><ref type="bibr">3]</ref>. Effectively managing these complexities is key to the success and sustainability of evolving software systems. To clarify our approach, we define inter-paradigmatic collaboration as follows.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Definition 1.1 Collaboration between programming paradigms (or inter-paradigmatic collaboration)</head><p>refers to the complementary potential of two paradigms to work together effectively at the abstract and conceptual level. This potential is considered the inverse of the effort required to align and integrate their conceptual frameworks. The collaboration relies on the balance of two key dimensions, each displaying an inherent tension:</p><p>• Conceptual complementarity is the extent to which the core concepts and strengths of one paradigm complement and reinforce those of another, mitigating each other's weaknesses and resulting in a more robust and versatile combined framework. • Abstract interoperability is the ease with which different paradigms can conceptually interoperate and integrate their theoretical constructs, rewarding seamless integration while penalising the cognitive and structural effort required to combine them.</p><p>With most existing research on interoperability between programming languages focusing on the technical and syntactic aspects of the question <ref type="bibr" target="#b6">[4,</ref><ref type="bibr" target="#b7">5]</ref>, there is still a lack of quantitative tools capable of encapsulating the notion at the level of programming paradigms. Our research aims to address this gap.</p><p>The key contributions of this paper are threefold.</p><p>BENEVOL24: The 23rd Belgium-Netherlands Software Evolution Workshop, November 21-22, Namur, Belgium Envelope mikel.vandeloise@unamur.be (M. Vandeloise); gonzague.yernaux@unamur.be (G. Yernaux); wim.vanhoof@unamur.be (W. Vanhoof) Orcid 0009-0002-0858-471X (M. Vandeloise); 0000-0001-6430-8168 (G. Yernaux); 0000-0003-3769-6294 (W. Vanhoof)</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Towards a refined taxonomy of programming paradigms</head><p>In 2009, Van Roy's foundational work <ref type="bibr" target="#b8">[6]</ref> set the stage for a comprehensive classification of programming paradigms. In this section, we extend and refine his seminal taxonomy through the somewhat specific lens of inter-language synergies and collaborations. The theoretical foundations of interest in this pursuit have, in fact, been little investigated in the past; the main sources that we have collected and selected through an extensive literature review are <ref type="bibr" target="#b9">[7,</ref><ref type="bibr">1,</ref><ref type="bibr" target="#b10">8,</ref><ref type="bibr" target="#b11">9]</ref>.</p><p>Our taxonomy is essentially embodied by an acyclic directed graph where each node corresponds to a distinct paradigm (Figure <ref type="figure" target="#fig_0">1a</ref>), and each edge signifies the acquisition of a concept (Figure <ref type="figure" target="#fig_0">1b</ref>) that makes a paradigm evolve into a more specialised form. We call the acquisition of specific concepts through such evolutionary paths conceptual hierarchy. The resulting structure allows incorporating the paradigms' inherent concepts as well as their computable attributes such as Turing completeness (Figure <ref type="figure" target="#fig_0">1c</ref>) and non-determinism observability (Figure <ref type="figure" target="#fig_0">1d</ref>). These attributes allow categorising the paradigms into broader groups known as meta-paradigms (Figure <ref type="figure" target="#fig_0">1e</ref>), which help to provide a macroscopic view of their relationships, according to the following definition. Definition 2.1 A meta-paradigm is a collection of core concepts, attributes, and principles shared by multiple paradigms. It conceptually regroups features that influence the models, design, and implementation of groups of paradigms. Transitions between meta-paradigms result from acquiring specific concepts, leading to shifts in focus and application.</p><p>An interesting case arises when distinct paradigms present similar (yet separated) conceptual hierarchies, which can in some cases influence their compatibility predispositions. We call this specific relation propagation; see Figure <ref type="figure" target="#fig_0">1f</ref> for concrete examples. Definition 2.2 Propagation is a relationship that occurs between two paradigms that share a same set of concepts, but acquired in different orders. In total, our proposed taxonomy includes 28 distinct paradigms defined by 17 key concepts and 2 observable binary characteristics and organised into 11 meta-paradigms. The whole graph is depicted in Appendix A's Figure <ref type="figure" target="#fig_6">4</ref>, along with an exhaustive enumeration of the different constitutive sets and an illustration of our approach (Table <ref type="table">1</ref>) in which we instantiate our framework on the so-called "deterministic logic" paradigm. More information on the array of paradigms considered can also be found online in the form of a poster <ref type="bibr" target="#b12">[10]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">A measure for paradigmatic collaboration</head><p>Based on our taxonomy, we can formulate a definition of the very notion of a paradigm. Definition 3.1 A programming paradigm, often denoted 𝑃, is formally defined as a 6-tuple, i.e. 𝑃 = (𝐶, 𝐹 , 𝑆, 𝑇 , 𝑂, 𝑀), where each element represents a specific dimension of the paradigm:</p><p>• 𝐶 (⊆ Concepts) is the non-empty set of key concepts that define the paradigm.</p><p>• 𝐹 (⊆ Paradigms) is the parent paradigms from which 𝑃 evolved.</p><p>• 𝑆 (⊆ Paradigms) is the child paradigms descended from 𝑃.</p><p>• 𝑇 (∈ {0, 1}) is a Boolean indicating if all languages using 𝑃 can be Turing-complete.</p><p>• 𝑂 (∈ {0, 1}) is a Boolean indicating if 𝑃 permits observable non-determinism.</p><p>• 𝑀 (∈ Meta-paradigms) is the associated meta-paradigm. Now, to assess the compatibility and collaboration potential between paradigms, we developed a metric that considers their structure, relationships, and key properties.</p><formula xml:id="formula_0">Definition 3.2 The Inter-Paradigm Collaboration Metric (PCM) ∶ Paradigms × Paradigms ↦ [0, 1] is defined, for 𝑃 1 = (𝐶 1 , 𝐹 1 , 𝑆 1 , 𝑇 1 , 𝑂 1 , 𝑀 1 ) and 𝑃 2 = (𝐶 2 , 𝐹 2 , 𝑆 2 , 𝑇 2 , 𝑂 2 , 𝑀 2 ), as PCM(𝑃 1 , 𝑃 2 ) = 𝛼 × 𝐼 𝐶(𝐶 1 , 𝐶 2 ) + 𝛽 × 𝐾 𝑅(𝐹 1 , 𝑆 2 ) + 𝛾 × 𝐾 𝑅(𝐹 2 , 𝑆 1 ) + 𝛿 × MP(𝑀 1 , 𝑀 2 ) + 𝜖 × 𝑇 𝐶(𝑇 1 , 𝑇 2 ) + 𝜁 × 𝑂𝑁 𝐷(𝑂 1 , 𝑂 2 )</formula><p>where 𝛼, 𝛽, 𝛾 , 𝛿, 𝜖, 𝜁 ∈ [0, 1] ∧ 𝛼 + 𝛽 + 𝛾 + 𝛿 + 𝜖 + 𝜁 = 1 ∧ 𝛽 = 𝛾</p><p>The parametric coefficients 𝛼, 𝛽, 𝛾, 𝛿, 𝜖, and 𝜁 are called the collaboration weights. In this initial study, each weight is set to 1  6 to ensure equal contribution from the six factors, although future research may adjust these values based on specific requirements.</p><p>The first component of the metric is the intersection of concepts, calculated as the ratio of shared concepts to the total number of concepts, and incarnated in the definition by the function</p><formula xml:id="formula_1">IC ∶ 𝒫 (Concepts) × 𝒫 (Concepts) → ℝ defined by IC(𝐶 1 , 𝐶 2 ) = |𝐶 1 ∩𝐶 2 | |𝐶 1 ∪𝐶 2 |</formula><p>. This ratio helps determine how well paradigms complement each other.</p><p>Next, we check for kinship relationships by evaluating whether there is overlap between the parent paradigms of one and the child paradigms of the other. The notion is formalised by the function KR ∶ 𝒫 (Paradigms) × 𝒫 (Paradigms) ↦ {0, 1} where KR(𝐹 , 𝑆) = 1 if and only if 𝐹 ∩ 𝑆 ≠ ∅. Although KR is asymmetric, using both 𝐾 𝑅(𝐹 1 , 𝑆 2 ) and 𝐾 𝑅(𝐹 2 , 𝑆 1 ) in 𝑃𝐶𝑀 ensures symmetry in the overall metric, thus preventing PCM from requiring symmetry in each of its components.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>The compatibility of meta-paradigms is determined by a function MP</head><formula xml:id="formula_2">∶ Meta-paradigms × Meta-paradigms ↦ {0, 1} such that MP(𝑀 1 , 𝑀 2 ) = 1 ⇔ 𝑀 1 = 𝑀 2 .</formula><p>We also check for Turing completeness with TC ∶ {0, 1} 2 ↦ {0, 1} where TC(𝑇 1 , 𝑇 2 ) = 𝑇 1 ∧ 𝑇 2 .</p><p>Finally, we similarly analyse observable non-determinism by determining whether both paradigms permit it, formally using the function</p><formula xml:id="formula_3">OND ∶ {0, 1} 2 ↦ {0, 1} such that OND(𝑂 1 , 𝑂 2 ) = 𝑂 1 ∧ 𝑂 2 .</formula><p>These metrics provide a systematic evaluation of compatibility and collaboration potential, focusing on conceptual and computational alignment <ref type="bibr" target="#b13">[11,</ref><ref type="bibr" target="#b14">12]</ref>. We applied this approach to 28 paradigms, with notable examples including the functional, imperative, and deterministic logic paradigms. The complete results are available in <ref type="bibr" target="#b15">[13]</ref>, and a focus on three paradigms is presented in Figure <ref type="figure" target="#fig_2">2</ref>. Interestingly, the functional paradigm (Figure <ref type="figure" target="#fig_2">2a</ref>) demonstrates a high level of collaboration potential with many pairs, suggesting strong compatibility and deep integration possibilities. In contrast, the imperative paradigm (Figure <ref type="figure" target="#fig_2">2b</ref>) shows more variability, with a balanced distribution between low and moderate collaboration potential, this time hinting that specialised approaches may be needed to achieve effective integration. As a last remark in this non-exhaustive analysis, we noticed that the deterministic logic paradigm (Figure <ref type="figure" target="#fig_2">2c</ref>) shows strong collaboration potential within its own meta-paradigm ("constraints and logic"), but generally moderate compatibility outside of it, indicating a more selective capacity for integration. The whole dataset, modelled using Haskell, is accessible in an online repository<ref type="foot" target="#foot_0">1</ref> .  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Extending the collaboration metric to programming languages</head><p>To integrate the results obtained for each constitutive paradigm of a language, we can now define a programming language as follows.</p><p>Definition 4.1 A programming language is a set of multiple programming paradigms that collectively define its capabilities and behavioural characteristics. For a language named 𝐿, the corresponding set is denoted by 𝑃 𝐿 = {𝑃 1 , 𝑃 2 , … , 𝑃 𝑛 }, where each 𝑃 𝑖 (𝑖 ∈ 1..𝑛) is a distinct paradigm (represented by its tuple) contributing to the language's comprehensive functionality.</p><p>Detailed descriptions of the paradigmatic structures of individual languages are available in <ref type="bibr" target="#b12">[10]</ref>. Given the definition above, we can now define a new metric LCM, which captures paradigmatic compatibility as well, but this time across languages. This metric operates on the combined paradigm sets of the languages while preserving the integrity of each paradigm, even if it appears in both sets. Definition 4.2 below formalises this approach. It uses an ordering relation, denoted by &gt;, to compare the paradigms that are represented within the taxonomy. The first incarnation of the relation can be defined as follows.</p><p>For two paradigms 𝑐 and 𝑐 ′ , represented as tuples 𝑐 = (𝑥 0 , 𝑥 1 , … , 𝑥 𝑚−1 ) and 𝑐 ′ = (𝑦 0 , 𝑦 1 , … , 𝑦 𝑛−1 ), we define the order as </p><formula xml:id="formula_4">𝑐 ′ &gt; 𝑐 ⇔ (∃𝑘 ∈ {0,</formula><formula xml:id="formula_5">LCM(𝑃 𝐿 𝐴 , 𝑃 𝐿 𝐵 ) = 1 ( 𝑛 2 ) ∑ (𝑐,𝑐 ′ )∈𝑅 PCM(𝑐, 𝑐 ′ )</formula><p>where 𝑅 = {(𝑐, 𝑐 ′ )|𝑐, 𝑐 ′ ∈ 𝐶, 𝑐 ′ &gt; 𝑐} and 𝑛 = |𝐶|.</p><p>The process described in Definition 4.2 provides a structured framework to analyse collaboration between 𝐿 𝐴 and 𝐿 𝐵 , offering preliminary insights into language selection, comparative analysis, and paradigm interaction (see Figure <ref type="figure" target="#fig_4">3</ref>). The dotted lines (also present in Figure <ref type="figure" target="#fig_2">2</ref>) mark a notion of "collaboration levels", based on confidence intervals derived from the distribution of collaboration scores. For a more comprehensive overview, including a more thorough explanation regarding the collaboration levels, see <ref type="bibr" target="#b16">[14]</ref>.  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Conclusions and future work</head><p>This research has laid the groundwork for evaluating collaboration between programming paradigms based on the adaptation of an existing taxonomy in that context. Our findings suggest that functional paradigms and, by extension, the languages that incorporate them, show stronger indicators of collaboration potential. This kind of insight is especially valuable for software engineers that need to make informed decisions during the architecture and design phases of system development, as it offers a quantitative basis for selecting paradigms that can work together more effectively. Although the metrics show promise, for now, they primarily focus on static characteristics and do not fully capture the broader concerns of language interoperability as (complex) systems grow and evolve. Future work will aim to explore deeper inter-paradigmatic interactions and refine the metrics, with a focus on expanding the framework to support more languages and paradigms while assessing its practical relevance through qualitative studies. These will examine developers' language selection based on familiarity, community support, and domain-specific constraints. Additionally, we plan to develop tools for multi-language integration in development environments, potentially automating early-stage software decisions. To enhance comprehensiveness, we will incorporate factors such as typing, compilation, and memory management into our metrics. Real-world case studies will further refine these metrics, formalize interoperability and collaboration, and help determine optimal collaboration weights depending on application contexts. Finally, we will explore assigning weights to each paradigm within a language and integrating them into LCM to better capture their relative influence. These efforts should refine our proof of concept and support more complete and effective analyses of software development strategies in various programming environments.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. Appendix A</head><p>The following sets provide a detailed view of the refined taxonomy developed in this research. This taxonomy categorises 28 distinct paradigms based on 17 key concepts and two observable binary characteristics. These paradigms are further organised into 11 meta-paradigms, offering a comprehensive framework for evaluating collaboration potential within and across programming languages. The table below illustrates an example of the structure used in our taxonomy, specifically applied to the deterministic logic paradigm. Details the core concepts, computational properties, and position of the paradigm within the evolutionary path of the taxonomy, highlighting its relationships with related paradigms.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Table 1</head><p>Example with the deterministic logic paradigm Figure <ref type="figure" target="#fig_6">4</ref> shows an overview of all the paradigms that are (for now) included in our framework, in the form of an acyclic directed graph as described in the paper. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Category</head></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: Fragments of the taxonomy. The grey-to-yellow gradient in (Figure 1c) indicates the shift from paradigms limited to data structures to those enabling Turing completeness.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head></head><label></label><figDesc>(a) 𝑃𝐶𝑀 for Functional (b) 𝑃𝐶𝑀 for Imperative (c) 𝑃𝐶𝑀 for Deterministic Logic</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figure 2 :</head><label>2</label><figDesc>Figure 2: PCM comparisons for three different programming paradigms</figDesc><graphic coords="4,75.58,272.85,143.05,137.74" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Figure 3 :</head><label>3</label><figDesc>Figure 3: LCM comparisons for three different programming languages</figDesc><graphic coords="5,226.11,288.19,143.05,98.05" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Figure 4 :</head><label>4</label><figDesc>Figure 4: Taxonomy of programming paradigms</figDesc><graphic coords="8,56.69,101.02,495.60,482.70" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>Let 𝑃 𝐿 𝐴 and 𝑃 𝐿 𝐵 be the sets of programming paradigms associated, respectively, with the programming languages named 𝐿 𝐴 and 𝐿 𝐵 . Let 𝐶 be the multiset 𝑃 𝐿 𝐴 ⊕ 𝑃 𝐿 𝐵 , i.e. the ordered concatenation of 𝑃 𝐿 𝐴 and 𝑃 𝐿 𝐵 using the relation &gt; defined above. The Inter-Language Collaboration Metric (LCM) between 𝐿 𝐴 and 𝐿 𝐵 is then calculated as</figDesc><table /><note>1, … , min(𝑚, 𝑛) − 1} |𝑥 𝑖 = 𝑦 𝑖 ∀𝑖 &lt; 𝑘 ∧ 𝑥 𝑘 &lt; 𝑦 𝑘 ) ∨ (𝑚 &lt; 𝑛 ∧ 𝑥 𝑖 = 𝑦 𝑖 ∀𝑖 &lt; 𝑚) Definition 4.2</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head></head><label></label><figDesc>Binary characteristics = { Turing completeness, observable non-determinism } Meta-paradigms = { functional, shared state, logic and constraint, data abstraction, message passing, concurrent dataflow, algorithmic search, constrained execution, reactive, dataflow and message passing, functional concurrent dataflow }</figDesc><table><row><cell>Paradigms</cell><cell>=</cell><cell>⎧ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪</cell><cell cols="2">descriptive declarative, first-order functional, functional, imperative, deterministic logic, lazy functional, continuation, adt functional, event loop, stateful functional, guarded command, imperative search, sequential object oriented, relational and logic, declarative concurrent, adt imperative, multi agent, active object, shared state concurrent, concurrent object oriented, constraint logic, concurrent constraint, lazy declarative concurrent, nonmonotonic dataflow, multi agent dataflow, continuous synchronous, lazy concurrent constraint,</cell><cell>⎫ ⎪ ⎪ ⎪ ⎬ ⎪ ⎪ ⎪</cell></row><row><cell></cell><cell></cell><cell>⎩</cell><cell>discrete synchronous</cell><cell></cell><cell>⎭</cell></row><row><cell></cell><cell></cell><cell></cell><cell>record, procedure, closure, unification, cell, search, solver, thread, by-need sync,</cell><cell></cell></row><row><cell>Concepts</cell><cell cols="2">= {</cell><cell>continuation, unforgeable constant, channel, single assign, nondet choice,</cell><cell>}</cell></row><row><cell></cell><cell></cell><cell></cell><cell>sync on partial termination, clocked computation, local cell</cell><cell></cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">See https://github.com/Vdloisem/MCC.</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title level="m" type="main">We adapt an existing taxonomy of paradigms to allow for a rigorous formulation of the concept of paradigm</title>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m">The metric is designed to allow for a certain (parametric) flexibility, that can be fine-tuned based on research objectives</title>
				<imprint/>
	</monogr>
	<note>We develop a metric tailored to assess the potential for collaboration between different paradigms</note>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">We extend this metric to evaluate the potential for collaboration between different languages, focusing on their underlying paradigms</title>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m" type="main">Concepts, Techniques, and Models of Computer Programming</title>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">V</forename><surname>Roy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Haridi</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2004">2004</date>
			<publisher>The MIT Press</publisher>
			<pubPlace>Cambridge, Massachusetts</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Integrating java and prolog using java 5.0 generics and annotations</title>
		<author>
			<persName><forename type="first">M</forename><surname>Cimadamore</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Viroli</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 6th International Workshop on Multiparadigm Programming with Object-Oriented Languages (MPOOL)</title>
				<meeting>the 6th International Workshop on Multiparadigm Programming with Object-Oriented Languages (MPOOL)</meeting>
		<imprint>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="1" to="21" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Seamless cooperation of java and prolog for rule-based software development</title>
		<author>
			<persName><forename type="first">L</forename><surname>Ostermayer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the RuleML 2015 Challenge and the RuleML 2015 Doctoral Consortium, hosted by the 9th International Web Rule Symposium (RuleML 2015</title>
				<meeting>the RuleML 2015 Challenge and the RuleML 2015 Doctoral Consortium, hosted by the 9th International Web Rule Symposium (RuleML 2015<address><addrLine>Berlin, Germany</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2015">2015</date>
			<biblScope unit="page" from="1" to="8" />
		</imprint>
	</monogr>
	<note>CEUR Workshop Proceedings 1417</note>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Prolog cafe: A prolog to java translator system</title>
		<author>
			<persName><forename type="first">M</forename><surname>Banbara</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Tamura</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Inoue</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 16th International Conference on Applications of Declarative Programming and Knowledge Management (INAP 2005)</title>
				<meeting>the 16th International Conference on Applications of Declarative Programming and Knowledge Management (INAP 2005)<address><addrLine>Japan</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2006">2006</date>
			<biblScope unit="page" from="1" to="11" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Compiling Prolog to Idiomatic Java</title>
		<author>
			<persName><forename type="first">M</forename><surname>Eichberg</surname></persName>
		</author>
		<idno type="DOI">10.4230/LIPIcs.ICLP.2011.84</idno>
	</analytic>
	<monogr>
		<title level="m">Technical Communications of the 27th International Conference on Logic Programming (ICLP&apos;11)</title>
				<editor>
			<persName><forename type="first">J</forename><forename type="middle">P</forename><surname>Gallagher</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">M</forename><surname>Gelfond</surname></persName>
		</editor>
		<meeting><address><addrLine>Germany</addrLine></address></meeting>
		<imprint>
			<publisher>Dagstuhl</publisher>
			<date type="published" when="2011">2011</date>
			<biblScope unit="volume">11</biblScope>
			<biblScope unit="page" from="84" to="94" />
		</imprint>
	</monogr>
	<note>Leibniz International Proceedings in Informatics (LIPIcs)</note>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Programming paradigms for dummies: What every programmer should know</title>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">V</forename><surname>Roy</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">New Computational Paradigms for Computer Music</title>
		<imprint>
			<biblScope unit="volume">104</biblScope>
			<biblScope unit="page" from="616" to="621" />
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<author>
			<persName><forename type="first">J</forename><surname>Reynolds</surname></persName>
		</author>
		<idno type="DOI">10.1017/cbo9780511626364</idno>
		<title level="m">Theories of Programming Languages</title>
				<imprint>
			<publisher>Cambridge University Press</publisher>
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Programming Languages: Principles and Paradigms</title>
		<author>
			<persName><forename type="first">M</forename><surname>Gabbrielli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Martini</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-1-84882-914-5</idno>
	</analytic>
	<monogr>
		<title level="s">Undergraduate Topics in Computer Science</title>
		<imprint>
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
	<note>1 ed</note>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<title level="m" type="main">Programming Languages: Principles and Practices</title>
		<author>
			<persName><forename type="first">K</forename><forename type="middle">C</forename><surname>Louden</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><forename type="middle">A</forename><surname>Lambert</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2011">2011</date>
			<publisher>Cengage Learning</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<author>
			<persName><forename type="first">M</forename><surname>Vandeloise</surname></persName>
		</author>
		<idno type="DOI">10.5281/zenodo.11079624</idno>
		<ptr target="https://doi.org/10.5281/zenodo.11079624" />
		<title level="m">Programming paradigms: Taxonomy poster (supplementary material for &quot;rethinking paradigmatic collaboration: new metrics for inter-paradigm synergy in software engineering</title>
				<imprint>
			<date type="published" when="2024">2024</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<author>
			<persName><forename type="first">C</forename><surname>Ghezzi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Jazayeri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Mandrioli</surname></persName>
		</author>
		<title level="m">Fundamentals of Software Engineering</title>
				<imprint>
			<publisher>Prentice Hall</publisher>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Testing research software: A case study</title>
		<author>
			<persName><forename type="first">N</forename><forename type="middle">U</forename><surname>Eisty</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Perez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">C</forename><surname>Carver</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">D</forename><surname>Moulton</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">A</forename><surname>Nam</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-030-50436-6_33</idno>
	</analytic>
	<monogr>
		<title level="m">Computational Science -ICCS 2020</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting><address><addrLine>Cham</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2020">2020</date>
			<biblScope unit="volume">12143</biblScope>
			<biblScope unit="page" from="444" to="456" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<monogr>
		<author>
			<persName><forename type="first">M</forename><surname>Vandeloise</surname></persName>
		</author>
		<idno type="DOI">10.5281/zenodo.11077187</idno>
		<ptr target="https://doi.org/10.5281/zenodo.11077187" />
		<title level="m">Metrics of collaboration across programming paradigms and languages: Comprehensive dataset (supplementary material for &quot;rethinking paradigmatic collaboration: new metrics for inter-paradigm synergy in software engineering</title>
				<imprint>
			<date type="published" when="2024">2024</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<author>
			<persName><forename type="first">M</forename><surname>Vandeloise</surname></persName>
		</author>
		<idno type="DOI">10.5281/zenodo.13381795</idno>
		<ptr target="https://doi.org/10.5281/zenodo.13381795" />
		<title level="m">Towards a quantitative evaluation of paradigmatic collaboration: insights from java-prolog and beyond (supplementary material for &quot;rethinking paradigmatic collaboration: new metrics for inter-paradigm synergy in software engineering</title>
				<imprint>
			<date type="published" when="2024">2024</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
