102,336 research outputs found
The C Object System: Using C as a High-Level Object-Oriented Language
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
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
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
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
- …