An Exploratory Study on the Predominant Programming Paradigms in Python Code

09/05/2022
by   Robert Dyer, et al.
0

Python is a multi-paradigm programming language that fully supports object-oriented (OO) programming. The language allows writing code in a non-procedural imperative manner, using procedures, using classes, or in a functional style. To date, no one has studied what paradigm(s), if any, are predominant in Python code and projects. In this work, we first define a technique to classify Python files into predominant paradigm(s). We then automate our approach and evaluate it against human judgements, showing over 80 automatically classifying each source file and investigating the paradigm distributions. The results indicate Python developers tend to heavily favor OO features. We also observed a positive correlation between OO and procedural paradigms and the size of the project. And despite few files or projects being predominantly functional, we still found many functional feature uses.

READ FULL TEXT
research
02/17/2018

Generating Python Code From Object-Z Specifications

Object-Z is an object-oriented specification language which extends the ...
research
11/05/2020

ARGG-HDL: A High Level Python Based Object-Oriented HDL Framework

We present a High-Level Python-based Hardware Description Language (ARGG...
research
02/19/2018

CalcuList: a Functional Language Extended with Imperative Features

CalcuList (Calculator with List manipulation), is an educational languag...
research
12/19/2017

A Production Oriented Approach for Vandalism Detection in Wikidata - The Buffaloberry Vandalism Detector at WSDM Cup 2017

Wikidata is a free and open knowledge base from the Wikimedia Foundation...
research
10/04/2020

Reproducible Science with LaTeX

This paper proposes a procedure to execute external source codes from a ...
research
03/11/2021

Classical (Co)Recursion: Programming

Our aim here is to illustrate how the benefits of structural corecursion...
research
07/23/2020

Exploratory Experiments on Programming Autonomous Robots in Jadescript

This paper describes exploratory experiments to validate the possibility...

Please sign up or login with your details

Forgot password? Click here to reset