logoalt Hacker News

Johanx64last Saturday at 12:44 AM5 repliesview on HN

>OS manufacturer can’t be bothered to interact with their own UI libraries to build native UIs something has gone horribly wrong.

I honestly think that has way less to do with Microsoft, more of a representation of "software engineering" practices these days.

For example, Gnome shell has bunch of javascript in it, GTK has layout and styling defined in some flavour of CSS, etc.

I'm of opinion if you start writing OS userland in either javascript or python (or both), you should be fired on the spot, but I don't make the shots.

Most technical decisions aren't really driven by what makes a better end-user experience or a better product, it's mostly defined by convenience and familiarity of substandard software developers - with mostly and primarily web-slop background.


Replies

zozbot234last Saturday at 1:05 AM

Cosmic (from the PopOS folks) is getting rid of the crappy javascript from GNOME Shell. And the CSS in GTK+ themes is just for the sake of syntactic convenience.

show 1 reply
amliblast Saturday at 1:58 AM

But the difference is that none of the CSS or Javascript usage in gnome is tied to a webview. They are all binding in some way to GTK and much simpler rendering routines.

kombinelast Saturday at 2:35 AM

> I'm of opinion if you start writing OS userland in either javascript or python (or both), you should be fired on the spot, but I don't make the shots.

KDE Plasma, which is in my opinion the most advanced desktop environment is written in Qt QML which is JavaScript. There are advantages to that over C++, namely your session won't simply crash.

show 1 reply
crypticalast Saturday at 1:48 AM

The last point is very astute.

The software industry has always had more juniors than seniors so this issue of juniors calling the shots is not a new one but it does feel like it's been getting worse and worse... Now it's basically AI slop vibe coders calling the shots about coding best-practices.

WackyFighterlast Saturday at 4:25 AM

When I read comments like this, I honestly think that people are only complaining about this because the "bad people" are doing this (in this case Microsoft/Gnome Team).

Neglecting the fact that almost everyone else is doing similar things.

> For example, Gnome shell has bunch of javascript in it, GTK has layout and styling defined in some flavour of CSS, etc.

What GTK is doing isn't really any different than how many UI framework work and have done so for quite a while now.

Almost every desktop UI toolkit/library/framework in the past 15-20 years has the following:

- Markup interface for defining the layout. If they don't have that they have a declarative way of defining the UI.

- Some sort of bindings for popular scripting language that hook into native code.

- Some of styling language that isn't that different from CSS.

This has been the norm for quite some time now. It works reasonably well.

Futhermore there isn't much difference between what desktop developers are doing and what web developers are doing.

> I'm of opinion if you start writing OS userland in either javascript or python (or both), you should be fired on the spot, but I don't make the shots.

Why? I find Gnome works really well on Linux. I have a pretty nice desktop environment after adding two extensions (Dash To Dock and App Indicators). Gnome runs well on relatively ancient hardware I own (2011 Dell E6410) with a garbage GPU (it isn't OpenGL 3.3 compliant). It actually performs a lot better than some other DEs that are 100% native.

JavaScript is indeed a slow language. However in Gnome that isn't the bottleneck. People have been making UIs with JScript (basically JavaScript) using WSH back in the 90s on Windows 98.

> Most technical decisions aren't really driven by what makes a better end-user experience or a better product, it's mostly defined by convenience and familiarity of substandard software developers - with mostly and primarily web-slop background.

What makes a better end user experience has nothing to do with any of this. There has to be an incentive to create a good end user experience and there simply isn't in the vast majority of cases.

In many cases it doesn't matter really what the tech behind something is. Most popular programmings and associated frameworks all work reasonably well on machines that are over a decade old. I am running Discord on a 15 year machine dual core laptop processor and it works "ok".

So this sort of complaining about "modern devs" I've been hearing about for almost 20 years now. The issues I've faced with doing quality work has been almost always to do with how projects are (mis)-managed.