Fun fact, roughly half of gnome-shell codebase is written in JavaScript.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
I know that extensions are mostly written in js, but why codebase? Any legacy reason I wonder?
From what I can gather
- JS is system agnostic, doesn't require compilation or multiple dependency binaries, as opposed to say Python.
- JS is widely understood, could get more contributors.
- JS is a good enough scripting language made with UI stuff in mind.
I also see people lamenting that lua wasn't chosen, so there's that.
İf it works good enough for my laptop phone and pc then it's good enough for everyone else
Besides, it wouldn't have made much of a massive difference if it was lua or js, but even lua has it's issues leading to people preferring other versions of lua
JS is system agnostic, doesn’t require compilation or multiple dependency binaries, as opposed to say Python.
Can you expand on that? How does JS have less requirements than Python?
While it's true that both python and js are interpreted languages, making them highly portable, JS at that time was a very lightweight language with a robust runtime offered by mozjs, that was built to be easy to embed into other systems, while python was designed for being the framework in which you build apps directly, hence requiring deeper dependencies.
Sources:
https://blog.fishsoup.net/2008/10/22/implementing-the-next-gnome-shell/#comment-1691
https://blogs.gnome.org/alexl/2008/09/09/embeddable-languages-an-implementation/
https://www.reddit.com/r/gnome/comments/120edc0/comment/jdgwyoq/
Is that bad?
It's fun
And that's a fact
A rock fact
Oh that's why cinnamon (fork of Gnome 3) uses a ton of JavaScript.
Great for my 128Gb RAM laptop