Hi guys. I have a question about JS. Is it possible for JS to became the most powerful language in programming world? I mean does JS has limits or it can develop itself to the level of python and C when we will be able to write really big projects like games or soft on JS and their performances will be good? All I want to ask is if JS can evolve or its functionality is limited and it is always will be only for web tasks?
man this question is hard to answer, here’s my attempt below
A programming language is an abstract thing, that lets programmers express functionality.
Implementations of programming languages are the tools we use on a daily basis to create the functionality we’re looking for. As an example the official python interpreter (CPython) is one way to implement python, whereas pypy is another.
The implementation maps language to machine code in some way.
In a sense your question is meaningless - programming languages are themself abstractions, and one can imagine identical output from a function written in JS to one written in C.
It’s a single threaded, garbage-collected, pretty limited scripting language. It is extremely unsafe, it’s terrible for writing large applications in, and large-scale software projects (eg things built using Electron) are notoriously taxing with respect to system resources (opening the Slack app almost immediately causes slowdown on most systems, for example). You can’t really get around those issues, they’re inherent to the language, but you can do most everything you’ve mentioned already if you really want to.
You wouldn’t write AAA games in it, and you’d tend to avoid writing a large application in it because that’s not what it’s for. You may well script games in it or script interfaces for software (this is very common - MongoDB would be a good example). The performance will be worse in cases like graphics, numerical processing, data processing, “AI”, networking, embedded systems, systems that need guarantees of safety (ie anything where people could get hurt), etc., where there are languages and runtime environments that will work better, but that doesn’t matter in a load of cases.
But by “powerful” I think you mean “successful” - Python is not a particularly “powerful” language, but it is very pleasant to programme in and you can drop into C and Fortran for heavy tasks (eg NumPy), and there are lots of really good libraries, so it gets used all over the place. JS is similar to Python, and you can do a load of similar things, and gets used all over the place because it’s accessible everywhere. It has huge limitations though.
Thanks for answers