English
Related papers

Related papers: Immutability and Design Patterns in Ruby

200 papers

Well structured and readable source code is a pre-requisite for maintainable software and successful collaboration among developers. Static analysis enables the automated extraction of code complexity and readability metrics which can be…

Software Engineering · Computer Science 2021-10-29 Gustaf Holst , Felix Dobslaw

Since more than three decades, interior-point methods proved very useful for optimization, from linear over semidefinite to conic (and partly beyond non-convex) programming; despite the fact that already in the semidefinite case (even when…

Optimization and Control · Mathematics 2020-02-25 Konrad Schrempf

The use of functional programming languages in the first programming course at many universities is well-established and effective. Invariably, however, students must progress to study object-oriented programming. This article presents how…

Computers and Society · Computer Science 2022-08-15 Marco T. Morazán

Programs have to be designed in such a way as to make them looking good and being handy for all users. Adaptive interface, with all the numerous achievements throughout 30 years of its history, contains and in reality is based on one…

Human-Computer Interaction · Computer Science 2011-09-15 Sergey Andreyev

This paper presents a study aiming to analyse the design strategies of experts in object-oriented programming. We report an experiment conducted with four experts. Each subject solved three problems. Our results show that three strategies…

Human-Computer Interaction · Computer Science 2016-08-14 Sophie Chatel , Françoise Détienne

We consider the problem of reconstructing 3D objects via meshfree interpolation methods. In this framework, we usually deal with large data sets and thus we develop an efficient local scheme via the well-known Partition of Unity (PU)…

Numerical Analysis · Mathematics 2018-02-07 Emma Perracchione

Compared to functions in mathematics, functions in programming languages seem to be under classified. Functional programming languages based on the lambda calculus famously treat functions as first-class values. Object-oriented languages…

Programming Languages · Computer Science 2025-07-02 Lloyd Allison

In Java, some object attributes are mutable, while others are immutable (with the "final" modifier attached to them). Objects that have at least one mutable attribute may be referred to as "mutable" objects. We suspect that mutable objects…

Software Engineering · Computer Science 2024-10-15 Marat Bagaev , Alisa Khabibrakhmanova , Georgy Sabaev , Yegor Bugayenko

This paper discusses a model-based approach to testing as a vital part of software development. It argues that an approach using models as central development artifact needs to be added to the portfolio of software engineering techniques,…

Software Engineering · Computer Science 2014-09-24 Bernhard Rumpe

We propose some slight additions to O-O languages to implement the necessary features for using Deductive Object Programming (DOP). This way of programming based upon the manipulation of the Production Tree of the Objects of Interest,…

Software Engineering · Computer Science 2007-05-23 Francois Colonna

This paper analyses the security contribution of typical functional-language features by examining them in the light of accepted information security principles. Imperative and functional code are compared to illustrate various cases. In…

Cryptography and Security · Computer Science 2012-01-30 Yusuf Moosa Motara

Variable projection solves structured optimization problems by completely minimizing over a subset of the variables while iterating over the remaining variables. Over the last 30 years, the technique has been widely used, with empirical and…

Optimization and Control · Mathematics 2020-11-23 Tristan van Leeuwen , Aleksandr Aravkin

Design by Contract enables seamless software development by unifying software requirements with their implementations. In its pure form, however, Design by Contract leaves some problems with contracts' expressiveness, verifiability, and…

Software Engineering · Computer Science 2019-11-26 Alexandr Naumchev

Modular programming is a development paradigm that emphasizes self-contained, flexible, and independent pieces of functionality. This practice allows new features to be seamlessly added when desired, and unwanted features to be removed,…

Other Statistics · Statistics 2016-10-24 Eric Hare , Andee Kaplan

There is a growing interest in adopting object technologies for the development of real-time control systems. Several commercial tools, currently available, provide object-oriented modeling and design support for real-time control systems.…

Software Engineering · Computer Science 2015-08-27 Qimin Gao , Lyndon J. Brown , Luiz Fernando Capretz

This paper explores how design patterns could be revisited in the era of mainstream functional programming languages. I discuss the kinds of knowledge that ought to be represented as functional design patterns: architectural concepts that…

Programming Languages · Computer Science 2023-07-17 Will Crichton

We show that verification of object-oriented programs by means of the assertional method can be achieved in a simple way by exploiting a syntax-directed transformation from object-oriented programs to recursive programs. This transformation…

Logic in Computer Science · Computer Science 2011-11-09 Krzysztof R. Apt , Frank S. de Boer , Ernst-Ruediger Olderog , Stijn de Gouw

In this paper are briefly outlined the motivations, mathematical ideas in use, pre-formalization and assumptions, object-as-functor construction, `soft' types and concept constructions, case study for concepts based on variable domains,…

Logic in Computer Science · Computer Science 2007-05-23 Viacheslav Wolfengagen

Managing resources---file handles, database connections, etc.---is a hard problem. Debugging resource leaks and runtime errors due to resource mismanagement are difficult in evolving production code. Programming languages with static type…

Programming Languages · Computer Science 2019-12-24 Apoorv Ingle

Refactoring is the de-facto practice to optimize software health. While several studies propose refactoring strategies to optimize software design through applying design patterns and removing design defects, little is known about how…

Software Engineering · Computer Science 2021-11-16 Eman Abdullah AlOmar , Tianjia Wang , Vaibhavi Raut , Mohamed Wiem Mkaouer , Christian Newman , Ali Ouni