history of Virtual Reality

As for the general definition of virtual reality is an artificial environment that is experienced through sensory stimuli (such as images and sounds) provided by a computer and in which their actions partly determine what happens in the environment. The most important key in the definition of VR is “interactivity”. The heart of VR is based on interactive principles between the real and the virtual world. In Virtual Reality environments or applications, the contribution of each of the five human senses are roughly; sight 70%, hearing 20%, smell 5%, touch 4% and taste 1%. So this values show clearly that simulation of visual system plays the leading role of VR research. The second most important sense is hearing. Smell and taste are not considered yet in most virtual reality systems because of its marginal role and the difficulty in implementing. 

The first sample of virtual reality is not derived from computer world. In 1956, Morton Heilig who was a filmmaker began designing the first multisensory virtual experiences. In addition to the projected image the Sensorama provided sounds, smells, haptic sensation, and even a breeze to simulate movement. This was the first approach to create a virtual reality system and had all the characteristics of this environment, but it was not interactive. 

Ivan Sutherland proposed the first ultimate solution of virtual reality of computer world. The Ultimate Display: an artificial world construction concept that included interactive graphics, force-feedback, sound, smell and taste. 

1968, the first virtual reality system realized in hardware, not in concept. Ivan Sutherland constructs a device considered as the first Head Mounted Display (HMD), with appropriate head tracking. He put a stereo vision has been updated correctly according to the position of the user’s head size and orientation. 

1967- 1980’s the first prototype of a force-feedback system is University of North Caroline’s Haptic Systems also known as Grope. Grope-I employed 2-D movable platform and has provided particle feedback. Grope-II, 1978, extended 6D with three force and three torque. Grope III, late 80’s, introduced the Argonne Remote Manipulator, a 6DOF (degree of freedom) force reflective teleoperator. 

1975, Ken Knowlton’s Virtual Push-buttons that includes partially-silvered mirror over keyboard and programmable labels. 

1975, Large Expanse, Extra Perspective (LEEP) The combined system gave a very wide field of view stereoscopic image.
Videoplace; the first virtual environment created in 1975 by Myron Krueger – “a conceptual environment, with no existence”. In this system the silhouettes of the users grabbed by the cameras were projected on a large screen. Participants had the opportunity to interact with others through the techniques of image processing that determines its position in the 2D screen space.
Thomas Furness developed in 1982 the Visually Coupled Airborne Systems Simulator that an advanced flight simulator.
Patented in 1983, Grimes’ Digital Data Entry Glove had finger flex sensors, tactile sensors at the fingertips, orientation sensing and wrist-positioning sensors.
Between 1987 and 1990’s British Aerospace proposed Virtual Cockpit, Virtual Environment Configurable Training Aids (VECTA) Real and Virtual Environment Configurable Training Aids (RAVECTA).
1990’s W Industries developed Location-based entertainment.
University of North Carolina proposed wide-area optical tracking system
CAVE presented in 1992 (CAVE Automatic Virtual Environment) is a virtual reality and scientific visualization system. Instead of using a HMD it projects stereo- scopic images on the walls of room (user must wear LCD shutter glasses). This approach ensures superior quality and resolution of the images seen and wider field of view compared to HMD based systems. 
Augmented Reality (AR) a technology that “presents a virtual world that enriches, rather than replaces the real world”. This is accomplished by means of see-through HMD that superimposes virtual objects in real three-dimensional. 



OCaml, history and its paradigm

Caml programming language was developed by INRIA (National Institute for Research into Information and Automation of France) in 1985 with emphasis on reliability and viability of the program. Caml supports functional, imperative and object oriented programming forms. OCaml, that is Objective Caml, constitutes the basic implementation of the Caml programming language.[1] This writing covers information about the history of the OCaml programming language and its general paradigm.

As regards history of the OCaml programming language, studies were first started for adopting a theoretical language to real problems in 1958 upon John McCarthy’s inventing the Lisp programming language initially to use on theoretical samples. In 1971, Robin Milner initiated the LCF (the Logic of Computable Functions) project. The project was developed and turned into the language called “meta-language“, in short, ML , in 1973. ML and Lisp were alike in that they both provided easy analysis functional structure, but the former had a more natural, mathematics-like notation which was influenced by Pascal at a high extent. Later again, this theoretical language got stranger, and real programmers pioneered writing a real code in ML.

ML was used, among others, in National Institute for Research into Information and Automation- or INRIA of France as one of the facilities it was used on real applications. The Formel project had used ML until around 1987; however, it contained many weak points and errors. As a result; Guy Cousineau from INRIA developed the Lisp-based Categorical Abstract Machine, CAM-ML, in short CAML language, in 1987. In 1991, Xavier Leroy and Damien Doligez developed the Caml-light language. Later in 1996, Xavier Leroy, Jérôme Vouillon, and Didier Rémy contributed by including Objects and the capacity of compiling to machine code.Consequently; the Objective Caml OCaml language came into existence.[2]

It is possible to divide programming languages into two from the paradigm perspective: declarative and imperative. They are divided into subgroups such as functional, data flow, logic or constraint-based, Von Neumann languages, scripting and object-oriented languages.[3] Overall paradigm of the OCaml programming language tells us that OCaml is an object-oriented language which is a derivative of ML, and it has a multi-paradigm structure. In other words, it merges functional, imperative and object-oriented programming approaches.

On one hand, functional nature of the language provides considerable benefits; on the other hand, the object-oriented problem solving methods influenced the modern software engineering and programming practices to a considerably high extent. The OCaml programming language provides many of the features expected from the functional paradigm as well as its support for object-orientedness and further flexibility. Bearing these in mind, it is assumed that the language is quite practical and offers many ways for programmers to solve problems. Also OCaml includes object oriented structures which allow semantics to be consumed easily; therefore, programmers can shift to it so that they can be capable of functional programming without obligation to learn a possibly unfamiliar paradigm.[4]


[1] INRIA, The Caml Language (http://caml.inria.fr/), 2005.

[2] Brian Hurt, A Short History of OCaml (http://www.bogonomicon.org/bblog/ocaml-history.html), 2004.

[3] Michael Scott, Programming Language Pragmatics, Third Edition (http://proquestcombo.safaribooksonline.com/-9780080922997), 2009.

[4] Mat Kelly and Angel Brown, OCaml – A Practical Multi-Paradigm Language (http://csci618.matkelly.com/), 2010.