1,720,983 research outputs found
Алгоритмы поиска и занесения в таблицы последовательно поступающей информации
[Radenski Atanas; Radenski A.; Radensky Atanas A.; Раденски Атанас]Bulgarian. Russian, English summar
Логическа и физическа организация на информацията
Единен център за наука и подготовка на кадри по математика и механика, 1976 г., присъждане на образователна и научна степен "доктор" на Атанас Атанасов Раденски. [Radenski Atanas Atanasov; Раденски Атанас Атанасов
Is Oberon as Simple as Possible?
The design of the programming language Oberon was led by the quote by Albert Einstein: \u27make it as simple as possible, but not simpler\u27. The objective of this paper is to analyze some design solutions and propose alternatives which could both simplify and strengthen the language without making it simpler than possible. The paper introduces one general concept, the module type, which can be used to represent records, modules, and eventually procedures. Type extension is redefined in terms of component nesting and incomplete designators. As a result, type extension supports multiple inheritance.https://digitalcommons.chapman.edu/scs_books/1020/thumbnail.jp
Lazy Evaluation and Nondeterminism make Backus\u27 FP-systems More Practical
Backus\u27 FP-systems are made more practical by introducing into them lazy evaluation and nondeterminism. This is done in the framework of a concrete programming language called FP*. From the one hand, this language is almost as mathematical as FP-systems are. From the other hand, it gives the possibility to manage secondary memory and to develop such applications as, for instance, interactive and distributed file systems. Experimental versions of a compiler and an interpreter for the FP* language are implemented
Introducing Objects and Parallelism to an Imperative Programming Language
The problem of enhancing objects with parallelism has been in the focus of numerous research projects in the recent years, but a satisfactory and commonly accepted solution has not appeared yet. A major problematic point seems to be providing inheritance for parallel objects. The general objective of this paper is to contribute to a better understanding of the language design issues in the area of parallel object-oriented programming (OOP) and, in particular, to design a framework for parallel OOP with multiple inheritance. What makes our proposed framework different from the other parallel OOP languages is its easy to use and efficient multiple inheritance for parallel objects. Our framework is easy-to-use because it is designed as a minimal parallel and OOP enhancement of the imperative programming paradigm—a paradigm which is relatively simple, very popular, and well understood. It is efficient for the same reasons and because the implementation of dynamic binding in our proposed multiple inheritance scheme does not require run-time method tables. Dozens of known serial and parallel OOP languages employ run-time method tables which may impose significant space and time overhead, particularly in a parallel environment
The Subclassing Anomaly in Compiler Evolution
Subclassing in collections of related classes may require re-implementation of otherwise valid
classes just because they utilize outdated parent classes, a phenomenon that is referred to as the subclassing
anomaly. The subclassing anomaly is a serious problem since it can void the benefits of code reuse
altogether. This paper offers an analysis of the subclassing anomaly in an evolving object-oriented compiler.
The paper also outlines a solution for the subclassing anomaly that is based on alternative code reuse
mechanism, named class overriding
On Some Dependencies between Functional Forms in Functional Programming Systems
In the present paper, some dependencies between functional forms in functional programming systems are demonstrated. It is shown that any functional form can be expressed by using only the forms composition, condition and construction
Digital CS1 Study Pack Based on Moodle and Python
We believe that CS1 courses can be made more attractive to students: by teaching a highly interactive scripting language – Python by using an open source course management system - such as Moodle - to make all course resources available in a comprehensive digital study pack, and by offering detailed self-guided online labs
We have used Moodle [1] and Python [2] to develop a Python First digital study pack [3] which comprises a wealth of new, original learning modules: extensive e-texts, detailed self-guided labs, numerous sample programs, quizzes, and slides. Our digital study pack pedagogy is described in recent ITiCSE and SIGCSE papers [4, 5]. “Python First” digital packs instances have already been adopted by instructors at several universities. This demonstration reveals instructor and student perspectives to the Python First digital pack. In particular, we demonstrate how instructors can use standard Moodle functionality to customize and manage digital packs. We also demonstrate several Moodlesupported, Python-based self-guided labs.https://digitalcommons.chapman.edu/scs_books/1021/thumbnail.jp
Anomaly-Free Component Adaptation with Class Overriding
Software components can be implemented and distributed as collections of classes, then adapted to the needs of specific applications by means of subclassing. Unfortunately, subclassing in collections of related classes may require re-implementation of otherwise valid classes just because they utilize outdated parent classes, a phenomenon that is referred to as the subclassing anomaly. The subclassing anomaly is a serious problem since it can void the benefits of component-based programming altogether. We propose a code adaptation language mechanism called class overriding that is intended to overcome the subclassing anomaly. Class overriding does not create new and isolated derived classes as subclassing does, but rather extends and updates existing classes across collections of related classes. If adopted in new languages for component-based programming, or in existing compiled languages such as C# and Java, class overriding can help maintain the integrity of evolving collections of related classes and thus enhance software component adaptability. While other techniques such as reflection and binary code adaptation can be used to reduce the magnitude of the subclassing anomaly, class overriding has the advantage of being easy-to-use and efficient
- …
