CSC/ECE 517 Fall 2009/wiki2 6 hl
_Hybrid Programming Languages_ Hybrid Programming Languages are multi-paradigm languages that not only support basic Object Oriented features but other features of different programming paradigms. Multi-paradigm languages have been around for a while (LISP 1958, C++ 1983) but recently there has been a push to develop true Multi-paradigm languages that bridge the OO/Functional Programming gap; the push has been spurred on by the advent of the multi-core CPU. Programmers can no longer expect single threaded performance to drastically improve with each new CPU release. Languages such as Scala, Fan, F#(OCaml) and Reia try to address this problem in similar and unique ways.
Scala: Scala or "Scalable Language" was developed by Martin Odersky of EPFL to be a both Object Oriented and Functional language at the same time. Contrary to popular belief the "Scalable" means scalable with the programmer and their skills, ie OO programmers can move to Functional programming and Functional programmers can move to OO approaches. Scala shouldn't be considered a "pure" functional language [LINK TO SCALA BLOG], it can be thought of as an pure "OO" language since every value is an object and every function is a value [LINK TO SCALA INTRO PAGE]. It is a statically typed language that is compiled into bytecode that is compatible with the Java VM with comparable speeds to Java.