Code Quality



Since GNOME change the "Official Language" to GJS i've seen several
things.

- Applications got started in GJS and got re-written multiple times
until they have been written in Vala or C/C++ (sometimes Python)

- Fine working applications got re-written in GJS without any advantages
so far

- Code Quality of new contributors writing JS is kinda very low

Afaik GJS was choosen for GNOME to reach more people because much more
people write JS.

Did anyone ever thought about why JS is written by more people and
studied what affect JS have on code quality? I did!

Thats because in JS its very easy to be very bad and still have workable
code. Thats all. You can be a complete noob and still write working
applications somehow because JS makes it very easy.

Not to mention CPU and Memory usage, what i care about is code quality.

The question is, is that what GNOME wants? Worse code?

I dont want any war of Langauges or something like that, but every JS
Developer can aggree when i say "Its easier to be bad in JS and get away
with it" and that is exactly what i think to notice right now.

That doesnt mean that there arent good JS Applications, the opposite
(especially the GNOME-Shell), not that it is dependend on the Language,
its all about the developers. An good developer can write excellent
(G)JS Code. Its not about the language.

I dont care about making JS bad at all! JS has a good place in GNOME
Development, what i care is about the Advertising of GJS for GNOME.

"We choosen a language every 12yo kid can write applications with, so do
it!"

Does GNOME really want all those 12yo programmer beginner who write
"throw away" code which have to be re-written multiple times until you
get an usable application?

What i especially care about is

- How much more usable Code does GNOME get since using GJS
- How much work is it to maintain the JS Bindings
- How much work is it to clean up the bad JS code
- What type of applications get written in JS and how much work would it
be to write them in Vala or Python

I think its quite clear what im targeting on. Providing GJS brought more
code, but in a lot of projects mostly more bad code, which is mostly not
re-usable and so causes, in addition to maintain GJS, a lot of
additional work.

Also Languages like Python or Vala are so easy to use, that its only a
tiny bit of more work to write them in Vala or Python. Sometimes its
even the same amount of work.

Also GJS causes more CPU and Memory load which will also increase if
more applications get written in GJS. So the overall experience for the
user decreases with heavier use of GJS.

Does this sum up in the end? Does anyone want to create an chart on
this? Maybe an RedHat Employee ;)

Quote from GNOME-Music

"The result? GNOME Music is now more stable and faster! We used
profilers to find the parts where a lot of memory and/or time is being
wasted. The code now is easier to read too."

GJS is a usable language, as said, but maybe GNOME should rethink what
their preferences are and what language meets those preferences most.

In my personal oppinion "More but worse code" should not be the
preference of a Desktop Environment. Nobody cares if GNOME only have 2
but 7 Music Players, but everyone cares if 7 of 7 are crashing and bad.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]