With 2020 fading over the horizon, we can finally reflect on ‘what was’ versus ‘what could have been.’ It was undoubtedly the year of many upended plans, with countless surprises and course-changes along the way.
From Simple Scripts to Machine Learning
It was precisely what an emerging internet needed. And the creator’s succeeded in their cause. But it wasn’t long before the next milestone arrived with a standardization process that started in November 1996 (ECMA International named the standard ECMA-262).
That said, some feared Microsoft might intentionally pursue such a strategy to gain a competitive advantage in the early days. But thankfully, those predictions never came to pass.
Following the ES6 release, no doubts remained about the ambition behind the language as the world gained access to the following features:
- Default Parameters
- Template Literals
- Multi-line Strings
- Destructuring Assignment
- Enhanced Object Literals
- Arrow Functions
- Block-Scoped Constructs Let and Const
Plus, there’s an abundance of specialist developers who already use it. Not to mention the possible cost-reductions in using an AI infrastructure, given that execution happens in the user’s browser.
Let’s take a moment to consider how the most popular frameworks grew in 2020:
[Github stars][start date]
[Github stars][start date]
12.4k January 2020
14.4k December 2020
10.5k December 2020
11.6k December 2020
2.4k March 2019
4.4k December 2020
9.9k December 2019
10.1k December 2020
6.7k January 2020
6.7k December 2020
In many ways, each library’s growth is down to the growth of the AI market itself.
Synaptic is less popular, but that’s mainly down to its age.
Development started in 2014. Still, over the years, it has proved a reliable library for building neural networks. And while development isn’t overly active, Synaptic often features as a recommended library.
- Online-only: The model won’t work offline (unless you configure the web app to work offline, which is rare).
- Reliability: Performance relies on the end user’s device.
- Public: Your code and model are publicly visible.
Interestingly, my observations on this topic overlapped with the findings presented at this year’s W3C Machine Learning Workshop. And there’s still a need to standardize how we use ML models on the front-end.
Doing so would reduce computational issues (for example, a lack of float16 reduces hardware acceleration) and privacy issues (for example, the privacy of models and processes around user data collection).
W3C is considering standardizing the Neural Network Web API — which would, in turn, make machine learning accessible to a broader user base and resolve the three issues.
- Ubiquitous: You can gather and connect data from multiple sources (like social media).
- Reach: You can access end-users via a pop-up, no need to install anything else.
- Mobile: You can port to mobile using React Native.
It’s just another round of rocket fuel for this hugely popular programming language.