As a language, javascript feels less complete when compared to other languages (like python). The weak-typing is especially bad, leading to inconsistent results. More time/effort is then required to write a good application, which I think is unacceptable.
By comparison python is a relatively niche language.
It also has the advantage of allowing web devs to port their web code over easily to a desktop app.
Things were much better when it was C programmers doing the bulk of GNOME's design and implementation.
This seems roughly equivalent to saying "This platform should only have applications written by neckbeards for neckbeards"
I think if this brings programmers who would not traditionally target Linux desktop to target gnome that is a good thing. if their apps suck it should be straightforward to avoid them.
I think the biggest problem is that everything is being written for "The N00b". I don't think anyone has a very clear picture of who this person actually is, so they cut back functionality and UI elements to try to make it more friendly for this person. What you end up with is a DE like Gnome Shell, that is significantly different to what many people are used to, and takes longer to learn how to use. I also think many developers wouldn't actually use some of their applications, which leads to many more problems. There was a talk at an Australian linux conference recently where a speaker told the story of how he had tried to use evolution, but came across many bugs. After talking to the developers, he found that none of them used/tested the features he was using, so these kind of bugs can popup without soneone fixing them.
All of the business logic , AJAX requests etc should be fairly reusable.
I know there have been plenty of times building web apps where I have had to maintain separate front-end and back-end code in different languages that does exactly the same thing.
Time can also be a factor, if you are already maintaining a web client , a mac client in obj-C and possibly an android Java client having to learn yet another language and ecosystem is probably not what you want.
What would you expect in your example? A deep copy/merge, a shallow copy/merge... right merged with left and result returned?
I expect a type error, like I said before. Implicit coercion between types is the definition of weak typing, and is part of what separates Python from Javascript.
Funny how the number of languages a programmer can pick from is growing every day, but on the one HUGE platform that is the web, it's Javascript or nothing. And by funny, I really mean extremely annoying and a severe regression.
I guess my point is that growth doesn't matter when it's in another sector.