- cross-posted to:
- gnome@discuss.tchncs.de
- cross-posted to:
- gnome@discuss.tchncs.de
By now it is probably no longer news to many: GNOME Shell moved from GJS’ own custom imports system to standard JavaScript modules (ESM).
Extensions that target older GNOME versions will not work in GNOME 45. Likewise, extensions that are adapted to work with GNOME 45 will not work in older versions.
You can still support more than one GNOME version, but you will have to upload different versions to extensions.gnome.org for pre- and post-45 support.
Please file bugs with your favorite extensions or have a friendly conversation with your extension writers so that we can help minimize the impact of this change. Ideally, you could help with the port and provide a pull or merge request to help maintainers.
JavaScript itself is not particularly bloated. It is smaller than Python and fast as luajit. Probably the best scripting choice.
If you want to write a modern shell in assembly have fun.
I never claimed that Javascript itself was bloated - it’s about using the right tool for the right job. The bloat comes from using awful frameworks like Electron to create fake “native” apps, and then fooling users into thinking they’re getting a native app, wasting tons CPU resources and sysadmin time trying to fix these bloody Electron apps into shape (speaking as a DevOps guy).
Also, there’s a world of options to chose from for shell programming that strike a better balance between performance and practicality, in the spectrum between ASM and JS. Oh, and writing a modern shell in ASM is most definitely fun, you should give it a try sometime. ASM shells - actually, entire operating exists already, if you aren’t aware of it. You really should check out MenuetOS or KolibriOS sometime. Sure, it’s nothing more than a hobby project, but it’s quite fun to take it for a spin, and experience a preview of how fast and effecient operating systems could be.