LWN.net Logo

Reitter: Answering the question: "How do I develop an app for GNOME?"

Reitter: Answering the question: "How do I develop an app for GNOME?"

Posted Feb 5, 2013 18:05 UTC (Tue) by tjc (subscriber, #137)
In reply to: Reitter: Answering the question: "How do I develop an app for GNOME?" by heijo
Parent article: Reitter: Answering the question: "How do I develop an app for GNOME?"

> I mean, the only reason to adopt JavaScript is that it is popular due to the web, since it is otherwise a poor language

Rubbish! JavaScript suffers from a few questionable design decisions, but it's surprisingly good considering the speed at which it was created. It's delightfully eclectic, with its non-constructor based objects. And it has anonymous functions and closures, so it's a little bit lispy too.

I think a lot of people who pan JavaScript are really criticizing the HTML DOM (or the web browser application development environment (which is a lot better than it used to be)) without realizing it.


(Log in to post comments)

Reitter: Answering the question: "How do I develop an app for GNOME?"

Posted Feb 5, 2013 23:12 UTC (Tue) by robert_s (subscriber, #42402) [Link]

>I think a lot of people who pan JavaScript are really criticizing the HTML DOM (or the web browser application development environment (which is a lot better than it used to be)) without realizing it.

I think you're rather glibly dismissing javascript's critics, most of whom (I've met) tend to be rather experienced programmers.

Reitter: Answering the question: "How do I develop an app for GNOME?"

Posted Feb 5, 2013 23:54 UTC (Tue) by FranTaylor (guest, #80190) [Link]

"experienced programmers"

Cobol programmers are experienced programmers. Nintendo DS programmers are experienced programmers. They can have vast experience and yet they can also be very poor judges of languages that they haven't been paid to write in.

Reitter: Answering the question: "How do I develop an app for GNOME?"

Posted Feb 6, 2013 11:07 UTC (Wed) by pboddie (subscriber, #50784) [Link]

Some of the criticism of JavaScript comes from experienced programmers who have a reasonable number of languages in their portfolio and who have the insight to make informed observations about language design. I don't think anyone was using "experienced" as a euphemism here.

Reitter: Answering the question: "How do I develop an app for GNOME?"

Posted Feb 6, 2013 1:04 UTC (Wed) by tjc (subscriber, #137) [Link]

I was thinking more of unexperienced programmers who copy and paste JavaScript snippets from the Internet and them deride JavaScript as a bad language when they can't get them to work correctly with their code.

Reitter: Answering the question: "How do I develop an app for GNOME?"

Posted Feb 6, 2013 13:04 UTC (Wed) by KSteffensen (subscriber, #68295) [Link]

As someone who works with software testing, the words "delightfully eclectic" used to describe a programming language are very scary....

Reitter: Answering the question: "How do I develop an app for GNOME?"

Posted Feb 7, 2013 23:39 UTC (Thu) by tjc (subscriber, #137) [Link]

Sorry, I didn't mean to frighten you. :)

Reitter: Answering the question: "How do I develop an app for GNOME?"

Posted Feb 6, 2013 16:33 UTC (Wed) by ThinkRob (subscriber, #64513) [Link]

> Rubbish! JavaScript suffers from a few questionable design decisions, but it's surprisingly good considering the speed at which it was created. It's delightfully eclectic, with its non-constructor based objects. And it has anonymous functions and closures, so it's a little bit lispy too.

And there's the problem. Not the lisp-y part. I dig that. But the "surprisingly good considering the speed with which it was created" and the "delightfully eclectic" bits. Those aren't good things. Or at least they aren't in this context.

Yes, if Javascript were something that were a quick prototype it would be impressive. It's not. It may have started as a fast way to get some client-side scriptability for use in the Web, but once it steps outside of that arena and starts competing against languages that benefited from a longer development time its rushed nature becomes evident.

And "delightfully eclectic"? I like obscure and quirky tech as much as the next geek -- it's the sort of thing that I'll happily spend a weekend learning because it's fun -- but when it comes to actually getting things done I don't want a language which can be praised by saying it's "delightfully eclectic". I want "unsurprisingly uniform" or "mundanely conventional."

> I think a lot of people who pan JavaScript are really criticizing the HTML DOM (or the web browser application development environment (which is a lot better than it used to be)) without realizing it.

Well, yes, those parts suck too. But the former can be abstracted into the realm of "doesn't suck", and the latter -- while still nowhere near having a proper development environment -- is as you say a lot better than it used to be.

Reitter: Answering the question: "How do I develop an app for GNOME?"

Posted Feb 7, 2013 23:51 UTC (Thu) by tjc (subscriber, #137) [Link]

> And "delightfully eclectic"? ... I want "unsurprisingly uniform" or "mundanely conventional."

I guess I should at least correct the bad example I gave, i.e. "non-constructor based objects." Scratch the "non-" part; I should have said something like "constructor-based objects," or maybe "prototype-based objects" -- I'm not really sure what the correct term is.

Reitter: Answering the question: "How do I develop an app for GNOME?"

Posted Feb 6, 2013 18:15 UTC (Wed) by oldtomas (guest, #72579) [Link]

> JavaScript [...] [is] surprisingly good considering the speed at which it was created

That *was* my very point. If half of the Crockford legend is true, I tip my hat in admiration. It should have had more time to mature, thugh.

> It's delightfully eclectic, with its non-constructor based objects

That's specifically one part I *do* like about Javascript. But then there's Lua...

> And it has anonymous functions and closures, so it's a little bit lispy too

And that's another part I do like about Javascript. The core is good, but it got frozen without a chance of shedding all the mess of design mistakes it should have thrown away. No, I'm not clamoring for types. I don't particularly appreciate static types "the Java way". Maybe "the Haskell way" -- not enough experience with that.

Reitter: Answering the question: "How do I develop an app for GNOME?"

Posted Feb 6, 2013 23:49 UTC (Wed) by mathstuf (subscriber, #69389) [Link]

> Maybe "the Haskell way" -- not enough experience with that.

Haskell can typically figure out what you want for types (type declarations on functions are typically "make sure I didn't screw up" or "don't generalize too much"[1]). Think of it of C++11's 'auto', but with the ability to use it pretty much everywhere if you want (argument types, template types, return values, etc.). And you wouldn't have to type 'auto'.

[1]I'm pretty sure that (length :: [a] -> Int) is usually optimized better than a (genericLength :: (Num b) => [a] -> b).

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds