Programming Languages

C/C++

C and C++ are high performance, cross-platform languages used for decades in systems programming, embedded software and desktop applications.

We have been using both languages since 1990 to develop Windows and macOS applications, static and shared libraries, Windows services, macOS launch daemons and Microsoft ISAPI extensions.

We have several years experience of many common C/C++ libraries and frameworks, such as STL, Boost, libxml2, OpenSSL, pthread, sockets, Jansson, ODBC, SQLite, Win32, MFC, ATL, WMI and FFmpeg.

Elixir

Elixir is a functional programming language, created by José Valim in 2011, for developing low-latency, distributed and fault-tolerant applications.

Elixir is built upon the battle tested Erlang BEAM virtual machine, originally developed by the Ericsson Computer Science Laboratory in the late 1980's.

Elixir and its ecosystem is truly wonderful to work with and since 2017 is our language of choice for developing web applications, distributed applications and REST API's.

HTML

HTML is the standard markup language for developing Web pages. It is usually combined with Cascading Style Sheets (CSS) and plain JavaScript or JavaScript frameworks such as React or Web Components to create responsive websites.

We have been using HTML since 2002 and in 2011 we built Windows and macOS native applications which use HTML (encrypted) for their user interfaces.

JavaScript

JavaScript is a programming language that conforms to the ECMAScript specification and is a core technology for developing websites. JavaScript can also be used for server-side programming by utilising the Node.js environment.

We have been using JavaScript since 2002 and in 2011 we used encrypted JavaScript in our native Windows and macOS applications to pass events to and from C++ functions. This website uses JavaScript for its Web Components and ECMAScript 6 to handle common events such as a page load.

Objective-C

We use Objective-C to develop macOS desktop applications, although where cross-platform applications are necessary, we prefer to restrict Objective-C use to user interface code or API's where a C++ equivalent does not exist, then interface to C++ for the majority of the application code.