Emerging Programming Languages. Alex Payne, CTO Simple Bank.
There are different languages for different jobs.
Starting with most boring to least boring:
A Better Java
- Java++ (or Scala–?) from JetBrains
- Scala with the complicated parts removed
- “A pragmatic language for the JVM”
- Like Java and Scala after a wild night out with Ruby.
- Redhat’s updated Java
- Keywords more explicit than Java, more readable
- Source-to-source translation
- Objective-J http://cappuccino.org/
- Lisp style
- Optional typing
- Type interface
- Pattern matching
- A unified platform for web apps
- Produces ocaml
- Has XML literals assigned to variables
- DSL for web applications
- Revenge of the 1970s
- Garbage collected
- From bell labs
- Modernized C
- Focused on fast compiling and a pleasurable development experience
- Go has a community model that other languages could borrow from
- Amalgamation of maintaining years of C++ code bases
- Looks like C++ but like Scala plus an “everything and the kitchen sink” functional programming language
- C + Objects + More
- Compiling to c99
- Compiles to c99 so can be used anywhere
- A dynamic language on Rubinius VM
- Looks like Ruby and Python with JSON inside
- A modern Smalltalk
- “Modern programming for the Erlang VM”
- “A lot of people look at Erlang and their monocle falls out”
- “Make physical calculations simple”
- “It’s a calculator, but a really smart calculator”
- A language and a database with facts about our physical world embedded into the language.
- Definitions of gravity, pounds and feet right in the language without having to import a library.
- If you read one documentation this week, make it the Frink documentation
- Embeddable in JSP
- Ported to mobile devices
- Being pushed in every direction
- “High-level, high-performance technical computing”
- “Think of the language you wish you were writing in when you’re writing in R”
- Julia tries to be a dynamic, readable language for people doing dynamic computing.
- Julia is much faster than R for calculations
- Not as advanced as R at the moment
- A language for DSP and synthesis
- Source-to-source compiled
- Language for manipulating audio and doing synthesis
- Can build interfaces for things like virtual guitar pedals
- Compiling down to C++ under the hood
- Tax-funded research product in France
- A language for set algebra
- A database that comes with a language, a language that comes with a database.
- Language tied to the persistency model: could be the downfall of the language or the winning feature
- A language for analytics
- Light-weight, functional language
Makes You Think
- “Different and special”
- No variables
- No functions
- No objects
- Build up patterns and transitions between patterns
- Wheeler builds a graph of all the things it knows about and when you call them the graph is traversed.
- Programing languages can be whatever you want them to be, maybe they won’t be practical but they will change how you think about working with a computer everyday.
- Programming for kids on XBOX
Explore, experiment, commit, loop.
You need a strategy for how to use these languages and put in use rather than just as a curiosity.
Have an ambient awareness of where the programming world is going.
This is a group project that requires input from everyone.
Loop it: go through the process every few years to see what fits best fits your problem set.