Why JS/TS, Go, and Python are the only languages you’ll ever need to learn as a Web Developer…

and why you will end up using Docker to deploy them.

Isaac
5 min readApr 17, 2021

Python happens to be the most popular AI & Data Science programming language to exist, JS/TS being known as the Language of the browser, and a C-like programming language for capturing any idea onto the cloud, GO. However, there’s a gap that needs to be filled with regards to Modern Web Applications, that’s were containers come into play.

The Stacks

Native Desktop Applications

Image from Business Insider

Native Desktop applications are the ideal for computation intense applications such as Photoshop, Word, AutoCAD, Gaming etc. consuming an enormous amount of computing power and placing a strain on your Work Station.

However, we are now entering an era of Cloud Services where Mobile and Web Applications replace most of these needs, comparatively the applications mentioned above are replaced with either a mobile or web application respectively. Given, your web applications performance may be limited to your local internet service provider, doesn't change that you’ll most likely have access to some 3G capable provider in which case giving you nominal performance.

Okay, you’re probably wondering why do I want all of my applications via web browser rather than on my high powered desktop computer. The answer to that is fairly simple, you have access to a larger consumer audience that don’t have access to high performance PC’s. This allows Enterprises to provide their product to any client that has a PC with a minimum of 2 GB of Ram.

JavaScript

Being the essential language of the modern web, JavaScript is the power house of most Web Browsers running V8 (JavaScript Engine) compiling your JavaScript for the end user, and with the superset of TypeScript (Provides JavaScript static typing) providing applications more complexity to design and structure allowing for more advanced use cases.

The introduction of client-side libraries and frameworks have simplified and sped up production for web applications (React, Angular, Vue, etc.). Even NodeJS (A JavaScript Runtime which used V8 for Compilation) is being popularized for server-side development. Being a full-stack language you can have the same developer(s) moving across stacks for your application saving you time and money.

And if hardware is a concern for systems such as USB, Bluetooth, etc. your in luck. Chrome and Mozilla are working on experimental API’s that allow your browser to communicate with real-time systems giving you a desktop native feel. Though this comes with security risks, this will lead more IoT devices communicate directly to your web app.

Python

A very popular language that I will most likely not give justice to is Python. An Interpreted language (meaning it is compiled to bytecode instead of machine code) that has an extensive library for data science and now machine learning. This is the preferred choice for engineers who enjoy a simpler language than most compiled languages.

Though being known for having slow runtimes especially for real-time embedded systems, this is not the case for the web applications. As computation performance improves in the industry so does the lack of concern for faster runtimes. Running Python in the 90’s during its creation is not the same as in the 20’s.

Sure it’s not the most beautiful language out there, which actually led me to resent it early on my use-case, however the more I used it in my production projects the more I came to appreciate and enjoy it. “It’s like the Dremel you like to use for precise occasions.”

For being such a popular language one has to wonder why that is, this could be the result of its Agnostic runtime, Fast learning curve, and its massive community and libraries. Without these factors Python could not have achieved what it has today.

GoLang

A growing language great for microservices. It’s object-oriented typed style is more than enough to get the job done. Though not as popular to replace the libraries of either Nodejs or Python this language is great for creating quick functional based microservices. Though I have not yet used this in any of my production projects, it surely will have a hand to play in my future ones.

Containers

Given the rise of Cloud Platforms such as AWS, Azure, Google Cloud, Digital Ocean, Alibaba Cloud, Open Shift, Oracle Cloud, IBM Bluemix, just to name a few, It’s become easier now than ever for small organization to be a part of the cloud computing ecosystem. 🐳

With docker you can deploy your project without having to worry whether it’ll work on the cloud, as long as it works on docker it can work anywhere.

This significant fact is great for those who aren’t worried about having a server manage the container for you. Though with Container Orchestration software such as Kubernetes, you will minimize server cost depending on demand.

For those who might not understand docker, think of it as VM without the overhead. Great for development with people who utilize different OS’s or Environments.

Conclusion

This title of course is not necessarily accurate for most developers. Those who prefer .NET or Dart surely would not agree with “Only languages you’ll ever need to learn”, but this was not intended to dissuade any developer to learn other frameworks, instead it was to give the early on developer the tools needed and to foreshadow the coming trends of web development. Either way we can all say containers are having a more prominent role in development.

Please like and share! 😀

--

--

Isaac

M.S. Electrical Engineer, Working as a Software Developer mainly with AWS.