Seminar on Languages for Scientific Computing Aachen, 6 Feb 2014 Navid Abbaszadeh
[email protected] Overview • Trends • Introduction Aachen 2014 • / Paradigms, Data Structures, Syntax 02 / Navid Abbaszadeh Navid • 06 Compilation & Execution • Concurrency Model • Reference Types • Performance • Clojure & Scientific Computing Seminar on Languages for for onLanguages Seminar • Pros & Cons Clojure Computing,Scientific • Conclusion • References 2 • Demo How Hot is the Topic? • Clojure Google Group • ~8800 members Aachen • Active Community 2014 / 02 / 06 Abbaszadeh Navid Seminar on Languages for for onLanguages Seminar Scientific Computing, Clojure Computing,Scientific • Matching Job Positions • How often it is Googled 3 • Still Educational Introduction • Appeared in 2007 under Eclipse Public License • Rich Hickey created the language because “… I needed a Lisp, for Aachen 2014 functional programming, symbiotic with an established platform / 02 and designed for concurrency, and I couldn’t find one.” / 06 Abbaszadeh Navid • General Purpose: can be used wherever Java is used • Hosted on JVM • Core in Java & Clojure • Current Version: 1.5.1, bin + source + docs < 5MB • No Installation for onLanguages Seminar • java -cp clojure.jar clojure.main /path/to/myscript.clj arg1 arg2 … Clojure Computing,Scientific • Other implementations: • Clojure-py (Python) • ClojureCLR (.Net) • Rouge (Ruby) 4 • ClojureScript (JS) Paradigms • Lisp • S-Expressions Aachen • a notation for nested list composed of tree-structured data 2014 / 02 • (x1 x2 x3)