102,336 research outputs found

    The C Object System: Using C as a High-Level Object-Oriented Language

    Full text link
    The C Object System (Cos) is a small C library which implements high-level concepts available in Clos, Objc and other object-oriented programming languages: uniform object model (class, meta-class and property-metaclass), generic functions, multi-methods, delegation, properties, exceptions, contracts and closures. Cos relies on the programmable capabilities of the C programming language to extend its syntax and to implement the aforementioned concepts as first-class objects. Cos aims at satisfying several general principles like simplicity, extensibility, reusability, efficiency and portability which are rarely met in a single programming language. Its design is tuned to provide efficient and portable implementation of message multi-dispatch and message multi-forwarding which are the heart of code extensibility and reusability. With COS features in hand, software should become as flexible and extensible as with scripting languages and as efficient and portable as expected with C programming. Likewise, Cos concepts should significantly simplify adaptive and aspect-oriented programming as well as distributed and service-oriented computingComment: 18

    Teaching UbiComp with Sense

    No full text
    Modern computer science education has to take account of the recent changes towards smart ubiquitous computing devices. In addition, existing programming languages are needlessly difficult for novice programmers to learn concepts. We have developed Sense, an extension to the graphical programming language Scratch, and an associated sensor/actuator board. Together, these will allow novice undergraduate students to quickly develop their own smart devices while learning the fundamentals of programming. Students will first study with Sense in 2011 but developmental feedback has been positive

    Teaching UbiComp with Sense

    No full text
    Modern computer science education has to take account of the recent changes towards smart ubiquitous computing devices. In addition, existing programming languages are needlessly difficult for novice programmers to learn concepts. We have developed Sense, an extension to the graphical programming language Scratch, and an associated sensor/actuator board. Together, these will allow novice undergraduate students to quickly develop their own smart devices while learning the fundamentals of programming. Students will first study with Sense in 2011 but developmental feedback has been positive

    Polymorphism - prose of Java programmers

    Get PDF
    In Java programming language as implemented in JDK 5.0 there appear rather advanced kinds of polymorphism, even if they are hidden under different names. The notion of polymorphism unifies many concepts present in typed programming languages, not necessary object-oriented. We briefly define some varieties of polymorphism and trace them in Java. Java shows that industrial programming languages are able to express more abstract patterns using rather involved theoretical means, hence the working programmer has to be better educated in order to understand them, recognize them in different programming languages under different names and superficial syntax, and make good use of them
    • …
    corecore