Networking — Something Good to Know

February 24, 2014

Programming Languages for Cloud Computing — A brief comparison

Filed under: Uncategorized — conningtech @ 9:22 pm

1. Overview

Cloud computing has special requirements to the programming languages:

  • Multi-platform programming: Cross-Platform/Cross-OS
  • Multi-paradigm programming: –Object Oriented Programming and Functional Programming
  • Distributed Parallel computing: –Concurrence, –Event-driven
  • Programming at Scale: –Readability, Modularity, Speed of compilation, Suitable for large team, Meta-programmability and extensibility, Concise
  • Client side programming: –Replacement for JavaScript (?), –Same language for both client and server side
  • –run on multiple client platforms
  • Publically available libraries
  • Performance
  • Fault-tolerance/Self-healing

2. Options

2.1 Server Side
  • Existing mutual languages: –C/C++, Good performance, but platform dependent, Java, C#, PHP, Platform independent, development complicity, JavaScript (Node.js), Shell script, Perl, Python, Ruby, Objective-C, Erlang, Platform independent, Concise.
  • New potential languages: Ceylon , Opa, Fantom, X10, haXe, Clojure, Scala, Groovy, compile to Java / JVM bytecode (all) and to –PHP, C++ etc. (some of them), Go, Chapel, Zimbu, compile to Binary or C / ANSI C, F# compiles to .NET
2.2 Client Side
  • Existing mutual languages: JavaScript
  • New potential languages: Dart, compiles to Dart VM executable, Zimbu, compile to ANSI C, Ceylon, F#, Opa, Fantom, haXe, Clojure, all compile to JavaScript.

3. New Language Comparison

Language Vendor Primary Driver Features use Runs On Licensing
Ceylon Red Hat Readability, Predictability, Tool-ability, Modularity, Meta-programmability.

bridging the gap between client and server

can be compiled to JavaScript

Java’s syntax

fully interoperable with Java and the Java SDK.

operator polymorphism

No operator overloading




JavaScript VM

GPL v2
Chapel Cray Programmability of parallel computers Compiles to C codes Server Cray supercomputers various high-performance clusters. Portable to most Unix-style systems, Mac OS X and Windows BSD
Clojure Rich Hickey Concurrency using Functional programming paradigm. compiles directly to JVM bytecode

ClojureScript compiles Clojure to JavaScript

easy access to the Java frameworks

a dialect of Lisp

a functional programming language

JVM-based derivatives



JVM, CLR, JavaScript engines EPL
DART google A replacement for JavaScript on the browserFaster, easier to maintain, and less susceptible to subtle bugs.Dart VM needs to be compiled ultimately to replace JavaScript

cross-compilation to JavaScript

class-based single inheritance object-oriented language with C-style syntax

Client Dart VM,

DVM chrome

Linux, Mac and Windows

Language Vendor Primary Driver Features use Runs On Licensing
F# Microsoft Multi-paradigm: Functional + Imperative + Object-oriented. Can be executed as a .NET code on the server and as JavaScript code on the client-side Client


CLR and Mono


Fantom Brian Frank, Andy Frank Portability, support for functional programming and concurrency. compiles to javaScript. Future targets might include Objective-C

portable to the Java VM, .NET CLR, and JavaScript in the browser



JVM and CLR. Academic Free License
Go Google Compiled with the ease of programming of a dynamic language, concurrency and communication, speed of compilation. Compiler available for Linux, Mac OS X, Windows Compiles to binary executable Server   BSD style + patent grant
haXe Nicolas Cannasse Multi-platform support. Compiles to JavaScript, Flash, NekoVM, PHP, C++. C# and Java support is expected Server


  GPL v2
Language Vendor Primary Driver Features use Runs On Licensing
Opa MLstate Targeted for cloud computing. Client-side UI, server-side logic, and database I/O are all implemented in a single language Runtime environment own Web server and DBMS. compiled to Nodejs on the server and JavaScript on the client Client



64-bit Linux and Mac AGPL
Scala EPFL Scalability for multi-core and distributed computing. For large team. Multi-paradigm: Functional and Object-Oriented. Extensible.


Seamless Java Interop


compiles to Java bytecode


JVM-based derivatives

Server JVM, Android, CLR BSD
Groovy James Strachan  object-oriented programming language for the Java platform compiles to JVM bytecode, and interoperates with other Java code and libraries. Server


JVM Apache v2
X10   Designed specifically for parallel programming, performance and scale. Compiles to C++, Java, Native Binary Executable, Java bytecode Server Runs on IBM AIX, Linux, Mac OS X, Windows EPL
Zimbu Bram Moolenaar Aims to be fast, concise, portable, and easy-to-read and support  GUI application to an OS kernel. Compiles to ANSI C Client


  Apache v2

2013 webRTC expo: Looking forward and getting prepared

Filed under: Uncategorized — conningtech @ 4:00 pm

2013 webRTC expo: Looking forward and getting prepared, here are what to focus on WebRTC-2013 look forward and get prepared

2013 webRTC Expo: Products and Services

Filed under: Uncategorized — conningtech @ 3:58 pm

2013 webRTC Expo: Products and Services from major vendors are presented in WebRTC-2013 services and products

2013 webRTC Expo: The Big Picture and Keynotes Highlights

Filed under: Uncategorized — conningtech @ 3:05 pm

2013 webRTC Expo: The Big Picture and Keynotes Highlights — WebRTC-2013 Big Picture and Keynotes

2013 webRTC Expo Notes Abstract

Filed under: Uncategorized — conningtech @ 3:02 pm

Attended 2013 webRTC Expo. Notes abstracted as in the attached presentation: WebRTC-2013 abstract

Create a free website or blog at