Which programming languages do we use at Electric Imp?
I last posted on this topic about 4 years ago. It’s time for an update.
Note that opinions expressed herein are mine, not Electric Imp’s.
Based on a quick look through our source repositories, it would appear that we have code in the following languages:
- bash — for various scripting tasks.
- C++ — for impOS and the agent runtime.
- Clojure — a one-off tool (runs as an AWS Lambda), because why not?
- Erlang — most of the “core” backend.
- Elixir — some of the “core” backend.
- Expect — scripting.
- Go — various microservices.
- Java — BlinkUp SDK for Android.
- JavaScript — impCentral (the IDE).
- Lua — nginx integration.
- Node.js — the API, some microservices.
- Objective-C — BlinkUp SDK for iOS.
- Perl — various scripts.
- Python — system tests, ops tools.
- RobotFramework — system tests.
- Ruby — we use chef, other ops tools.
- Squirrel — this is what customers use on our platform.
- Swift — BlinkUp SDK for iOS
- Tcl — we use Vera to enforce C++ conventions; it’s scripted using Tcl, and we have some custom scripts.
- TypeScript — internal tools.