A little bit OFF but interesting...
-
Future of JavaScript in desktop applications:
http://treitter.livejournal.com/14871.html -
Ugh :(
Understandable, but horrible choice.
-
Oh dear... In order to solve the mess of how to write applications for GNome, they are introducing yet another way to do that.
!http://imgs.xkcd.com/comics/standards.png(standards according to XKCD)!
Last time they tried that, language-du-jour was C# I believe.
-
[quote author="Andre" date="1360066987"]
Last time they tried that, language-du-jour was C# I believe. [/quote]Picture was fantastic, yeeeaaah :)
Anyway, I read not so long ago, that Microsoft will drop Silverlight, XNA, DirectX(!), the newer MS C++ will back to native (forget .NET ?!).
In the new Win8, apps can be developed with the HTML/JavaScript combo too. Probably the GNome community try to follow this line. Crazy idea...
-
Yeah, it seems that GNome is trying to follow MS more often. That means that they're always running behind. At the time they finally have support for the lastest craze from Redmond up-and-running to a usable level, Redmond is already moving towards The Next Big Thing(TM).
-
What's the deal with JS anyway? Language features might have caught up but JS is so NOT a language for application development by its very design. Surely, it is not as horrendous as Java when it comes to memory consumption but performance is still low, which doesn't really stack well with the ugly design.
Maybe I don't understand progress, but shouldn't programming languages get better with time? Yet the most "popular" languages that are being heavily advertised, promoted and supported by the industry are all terrible performers - Python and Ruby are even far worse than JS and Java. It is ridiculous that not a single language that came out the last 40 years could at least match the performance and efficiency of C.
I admit that promoting slower languages and runtimes is a nice way to stimulate the selling of new hardware, but other than that I somehow fail to see an actual benefit of a "high level dynamic language" - sacrifice orders of magnitude of performance and efficiency for a few arguably usable features? The one upside to those languages is you don't have to wait for it to compile, but that is perfectly doable for C++ by employing a slightly more contemporary-adequate compiler infrastructure.
IMO that is the big problem of languages like C++ - the morally outdated approach to compilation, the problem is not in the language but in the paradigm of building the toolchains, and logically, it is a problem that needs to be resolved by improving that paradigm instead of creating entirely new languages which solve one problem by sacrificing performance and efficiency, at the same time fragmenting the developer base and forcing people to learn multiple flawed tools to address problems of different domain.
And of course, there is always the argument "System libraries are implemented in C, high level languages are only used to work with the libraries" but still there is a tremendous amount of code, starting with almost the entire internet and more and more desktop code as well, that relies on a language that is 2-200 times less efficient than optimal, which is wasted resources any way you look at it, overhead in required hardware, overhead in its support and maintenance, overhead electric bills, overhead environmental impact...
There is also the "one tool does not fit all needs" argument, and that is just another wrong way of looking at things, because a programming language is not a single tool, it is a collection of tools, and while it is true that one tool does not fit all needs, one toolbox could fit it. It is true that programming languages are being designed in the form of tools, limited in their usage, but that doesn't mean a programming language cannot be designed to be versatile instead.
As of why this has not been done, I am in a dilemma. Is it that programmers who have enough skills just get conformed to the way things are and lack the vision to make it better, or is it that they simply want to protect their effort investment and have no desire to make the field any easier for the rest? Or if they make it a little easier, they will make sure the little ease comes at a tremendous cost. The industry simply wants to sell tools, the more tools it sells the better, thus it is completely understandable if no one wants to make a single tool that fits all needs, as good as this may be for the consumers, it is just not a successful business model in a world where profit always comes first and most of the times isn't followed by any other aspiration.
I remember watching an interview, forgot whether it was Bjarne Stroustrup or Linus Torvalds, but he said that you cannot become a good programmer by looking at the stars, you have to look at your feet, at the details, at the routine, and if an iconic persona of such a stature says that, I am willing to grant that the most proficient programmers simply lack large scale vision, because that would impair them, you simply have to have a narrow scope in order to be good with the details, which inevitably makes it impossible to look at the big picture.
And that is the big problem IMO, there aren't that many visionaries, the mass of experts in the industry is being directed by people whose only vision is exclusively for profit, and that applies everywhere, not just programming, the entire industry is comprised of narrow sighted (not in any insulting context) specialists and greedy managers, which perfectly explains the industry ability to waste so much on useless trash in this strangled economy, as well as the ability to misuse every bit of innovation in a negative context. The capacity of experts is simply misguided. How do you get a smart man do make a nuclear bomb? No smart man would make a nuclear bomb just because he knows how. But smart men without vision can be misguided into doing something as bad and stupid, by bad, stupid and greedy few.
[quote author="Andre" date="1360068827"]Yeah, it seems that GNome is trying to follow MS more often. That means that they're always running behind. [/quote]
Ironically, this applies to Qt as well, with all the focus on QML and therefore JS. Or is it that when Qt does it it is new and cool, when others do it, it is lame attempts to follow in the missteps of others? Or maybe if Gnome go for JS it is lame, but if they go for QML, which is JS, it is cool? I am not all that good with double standards I must admit...
-
Atwood's Law: any application that can be written in JavaScript, will eventually be written in JavaScript. (July 17, 2007, http://www.codinghorror.com/blog/2007/07/the-principle-of-least-power.html )
In 2011 we got this: http://bellard.org/jslinux/
I personally love Qt Quick and how much I can do with it. I have not loved JavaScript before but it gets better now and is actually becoming language that is good (still Python is my favorite). I think JavaScript is language that got biggest investments in recent years. Each language has its own strengths and weakness. Developers should simply understand which tool is the best for task. Quite often developer's performance is more important than program's performance. Thus I'm congratulating Gnome joining JavaScript club.
-
The amount of attention that javascript is getting is surprising to me. Often the advantage cited is that it is simple. Its is simple only because it only allows doing simple things. A primary language for a platform should be capable of doing any kind of apps on that platform. At its current state it is inferior to all current mainstream languages. Does it have multithtreading ? How do one develop complex threaded applications with it ? Once serious app development starts with it, it would grow and it will be as complex as any other languages / apis like Java/jdk , c++/Qt or c#/.net. So I don't know what is the point. Aren't JDK, Qt etc high level ? Often complexity is in the things we do like 3d graphics, not in the languages itself. js / webgl would be as complex as Qt / opengl. I think JS gets all this attention as part of the HTML5 hype. C++ is complex because it allows you to do every kind of work from OS level to Apps. If JS should become the primary language, ultimately JS + the apis would become as complex. Then we can start the whole process again by replacing JS with another simple language at that time.