1,720,983 research outputs found

    Алгоритмы поиска и занесения в таблицы последовательно поступающей информации

    No full text
    [Radenski Atanas; Radenski A.; Radensky Atanas A.; Раденски Атанас]Bulgarian. Russian, English summar

    Логическа и физическа организация на информацията

    Full text link
    Единен център за наука и подготовка на кадри по математика и механика, 1976 г., присъждане на образователна и научна степен "доктор" на Атанас Атанасов Раденски. [Radenski Atanas Atanasov; Раденски Атанас Атанасов

    Is Oberon as Simple as Possible?

    Full text link
    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

    Full text link
    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

    Full text link
    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

    Full text link
    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

    Full text link
    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

    Full text link
    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

    Full text link
    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
    corecore