Reitter: Answering the question: "How do I develop an app for GNOME?"
Posted Feb 6, 2013 4:00 UTC (Wed) by jgon (guest, #89199)
[Link]
Amen. Javascript is a great language if you:
1) Hate doing math with anything other than floats, that can overflow or truncate silently. Even though everything is an object, why would we want a numeric tower in the first place?
2) Hate modularity. Luckily in one of his responses the Gnome dev said that they are targeting apps the same size as you might find on your smartphone.
3) Related to 2, apparently enjoy the idea of using apps that are small due to screen and power constraints as your model for desktop apps. Angry Birds Gnome here we come, LibreOffice get lost. Why should any app be greater than 10,000 LOC? Luckily with javascript you'll have a hard time getting there anyway.
4) Hate using a language that allows a program to pay for only what it needs. Tree-shaking is impossible so even if you aren't using it, you'll bring it along anyway. Luckily you can minimize and gzip your libraries just like in web development! Also, this way you can spend your development time deciding if the convenience function you want to add provides more utility than it costs in library size and start-up time. What else are you going to spend your time doing?
5) Hate apps that start-up quickly. Luckily in Javascript you have to parse and run the code that creates your structures and functions, because Javascript mutates your environment state as you parse it! Declarative definitions be-gone! This is also super helpful if you hate the ability to provide tooling for your environment, because you only know what code does once you run it with the full state of the program and run-time behind it!
6) Hate sensible lexical scope. No big deal, it's only been 50+ years since Algol introduced it, why would we need it in 2013? For loops should always be confusing to deal with.
7) Hate languages that are responsive to user complaints. Javascript has managed to go ~13 years since it had any substantive changes made to it, and the committee is working as hard as it can to ignore user input for at least another year or two. Luckily, even if they are forced to put out a new standard, it will still be years before you can expect widespread adoption. If I play my cards right I can probably go another decade before being able to count on ints and lexical scoping.
In summary, this seems to be another attempt by Gnome to chase after the mythical "mainstream" although this time it's mainstream developers they're chasing and not users. I can't see any sort of technical grounds on which this decision could have been made, so it must be another popularity contest that the Gnome devs have decided to wade into. I wish them luck, and I can't wait for the hundreds of todo apps, and pomodoro timers this decision will surely lead to.
Reitter: Answering the question: "How do I develop an app for GNOME?"
Posted Feb 6, 2013 19:08 UTC (Wed) by mathstuf (subscriber, #69389)
[Link]
> 6) Hate sensible lexical scope. No big deal, it's only been 50+ years since Algol introduced it, why would we need it in 2013? For loops should always be confusing to deal with.
To be fair, Python also has function scoping. Though it is saved in that variables are local by default.
Reitter: Answering the question: "How do I develop an app for GNOME?"
Posted Feb 6, 2013 21:23 UTC (Wed) by khim (subscriber, #9252)
[Link]
It depends on the availability of ways to deploy code written in other languages. Today you can only use JavaScript if you want to create application which works in browser and does not require installation. Java is basically dead (because Sun/Oracle were unable to make it adequately safe), Flash is dying (Apple succeeded in killing it) so what's left? JavaScript.
There are some interesting projects in development, but I'm not sure we'll have a choice of anything besides JavaScript any time soon. But to use JavaScript outside of web development? That's insanity, pure and simple.
Reitter: Answering the question: "How do I develop an app for GNOME?"
Posted Feb 8, 2013 6:07 UTC (Fri) by dashesy (subscriber, #74652)
[Link]