Programming Languages

Most of my work is related to data management and analysis, so the languages reflect that. The languages that I mainly use are R and Java. These languages are not as fast as the languages for real-time systems (C, C++). However, I am becoming more interested in Domain Specific Languages (DSL). DSLs are higher-level languages designed for a specific task or problem.

R

R is a statistical programming language (www.r-project.org) that is interpretative in nature. It also has elements of being a functional programming language. The best IDE for R currently is RStudio (www.rstudio.org).

R is also being used for interfacing with Nvidia GPGPU (parallel processing using Graphical Processing Units).

Scala

Scala is a functional language that uses Java as an underlying component. Scala is one programming language that I haven't used yet -- but would like to experiment with it.

Visual (Graphical) Programming

"There's an old saying: 'Visual programming is like trying to get to the moon by climbing a tree. You make a lot of good early progress, at first, but pretty soon you have to go back to your funding agency and ask for a bigger tree.'"MartenGraphical Programming for MacOSX http://www.andescotia.com/products/marten/

Prolog

Prolog is a logic programming language and used for Artificial Intelligence and Natural Language Processing (NLP). IBM Watson used Prolog as one component of their system.

We have included a Prolog implementation with the WebReports software. I also have a version of Borland Turbo Prolog from the 1990s. I have done some experimenting with Prolog, mainly around NLP and expert-based systems.

Processing

Processing is an open source programming language and environment for people who want to create images, animations, and interactions. Initially developed to serve as a software sketchbook and to teach fundamentals of computer programming within a visual context, Processing also has evolved into a tool for generating finished professional work. Today, there are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning, prototyping, and production. (source: processing.org)

D3js

D3.js is a visualization language. more information can be found at http://D3js.org.

Lisp

Language Comparison F#, Ocaml, Scala, Clojure, Ruby and Haskell

https://gist.github.com/2934374

Lisp Machine

One of the things that I would like to play with is a Lisp machine. The Lisp machine was a computer developed in Lisp, which would be in contrast to the computers we currently use. I found that the Lisp machien can be run on a DEC (Digital Equipment) computer, however, these are hard to find now.