JS Frameworks and Libraries

You Should Learn JavaScript… Period.

Nick Anthony

--

Why I was wrong…

I will keep this article short and sweet. I previously wrote about what should be your first programming language comparing Python and JS. I WAS WRONG. I admit it. And here’s why.

Multi-Purpose JS

One of my benefits for Python was its general-purpose nature. Since writing I have been exposed to MANY JS frameworks to change my mind. Using JS alone you can become a front-end developer (obviously), backend developer (using NodeJS, which generally outperforms Python, although FastAPI is changing this), combine these to be a full-stack developer (most common).

The thing is I KNEW all of this and still chose Python previously because of its simplicity, ease of use, and extensibility. BUT!

JS can do things Python can do.

JS can be used to build cross-platform desktop applications using the Electron framework and it can be used to build cross-platform mobile applications using frameworks like React Native.

All of these combine to form a versatile, general-purpose language. While both languages still have their installation difficulties, and npm vs pip is a headache unto itself, I think this pushes JS far.

JS Fails in the Data Sector

JS has little support for data. Data analysis, data wrangling, data cleaning, web-scraping/crawling. JS DOES have far superior support for data collection (web-apps, duh!) compared to Python.

But it the modern climate, where data is perhaps the most overused word, having your main language struggle to manage and wrangle that data is quite a problem.

I think JS does have excellent data visualization options but these are verbose and harder to manage and build than their Pythonic counter-parts which leads us back to the syntax debate.

New Revelations

Ultimately, my new revelations came down to understanding more about JS and its opportunities beyond the browser. I think these revelations are important and would lead to me suggest JS for almost all new developers, especially when considering the hardware required to build JS applications is significantly lower than building machine-learning-based applications (in Python). If your primary area of interest is ML/AI of course you are going to choose Python. If you are interested in databases and backend development, I think the debate gets a little more nuanced and depends on how much you want to focus on data.

At the end of the day, if you don't want to focus on data related development, meaning that you don't want your PRIMARY DEVELOPMENT tasks to be data related, then you should 100% learn JS. If data is this valuable to you, learn Python and then dip into JS to help share your analysis.

Thanks for reading!

--

--