Linked by Thom Holwerda on Thu 13th Sep 2012 20:00 UTC, submitted by MOS6510
Mozilla & Gecko clones "Over the past year and a half I've been spending more and more of my time working with Mozilla's latest project, Firefox OS. During that time I've fallen in love with the project and what it stands for, in ways that I've never experienced with a technology platform before." I'm not convinced just yet. I hope it succeeds, but I just doubt it actually will.
Thread beginning with comment 534990
To view parent comment, click here.
To read all comments associated with this story, please click here.
Nelson
Member since:
2005-11-29


I find the situation to be better than it ever has been to be honest. It is certainly better than it was 10 years ago.


Relative to other languages, it is still in the stone age. Better than 10years ago isn't really an excuse. Web tooling is pathetic.


How? Why? It has it's warts, no doubt about that, but honestly I find it to be a wonderfully useful language. It is also extremely powerful and expressive - it is just tied up in an unfortunate straight-jacket of C-like syntax. Sure it can be ugly, but it works - and it works well.


Besides the warts, it is inherently difficult to make fast. Making something which is almost axiomatically slow the bed rock of web technology is foolish.

Its barely palatable on the web, do not push it into the app space where there are much higher expectations. People have come to expect the web to be a sub optimal experience.


Anyway, that is becoming less and less of an issue because it is (for better or worse) becoming quite common as intermediary language for other languages to target (GWT, CoffeScript, etc.)


Use a real intermediary language. Don't shoe horn JavaScript into that position.

You know things are bad when a selling point of JS is "Its good because its so ugly others hide it as much as possible"


That is more of a people problem than a language problem... It happens with all languages, just more so with popular ones.


Correct. Mozilla has a people problem. Probably a common sense deficiency too.


The same reason many modern GUI layout tools use markup-like systems (XAML, Glade, XUL, etc.) - you need to do layout, framing, formatting, etc in any GUI...


XAML is for marking up applications. It has a 1:1 mapping to the .NET object model. Glade is closer to XAML than it is to HTML.

Just because they're all markup doesn't mean they're all the same. HTML is almost comically bad at marking up applications.

The HTML layout model is a mish mash of 100 bad ideas.

This is exactly what happens when you design by committee. I'm sure things will get better in another 10 years. Not.

Edited 2012-09-14 01:32 UTC

Reply Parent Score: 2

galvanash Member since:
2006-01-25

Relative to other languages, it is still in the stone age. Better than 10years ago isn't really an excuse. Web tooling is pathetic.


I was talking about web development in general - not comparing to other languages... Besides - it makes no sense at all to mix metaphors like that, languages themselves have next to nothing to do with development as a whole - it is just a small cog in the machine.

And web development tooling is great imo - some people just don't like having 500+ options to choose from I guess... There doesn't have to be a "one true way" answer to every problem.

Besides the warts, it is inherently difficult to make fast. Making something which is almost axiomatically slow the bed rock of web technology is foolish.


That is categorically false - you have no idea what you are talking about. Modern JS engines are extremely performant - in fact much more impressively so when you consider they have to work directly from human readable source code. Sure, compared to C, Java, and C# they have weak spots - but those are compiled languages (or at the least they do byte code compilation) - and even then it is usually only a factor or 3 slower...

Compared to other straight-up runtime interpreted languages? Extremely competitive, often greatly superior. I do not know where you get the idea that it is slow...

Regardless, it is a stupid argument anyway. Languages are not fast or slow - interpreters and compilers and binary executables are - and they can be quite easily improved without changing a language. Even then, it makes little difference in the grand scheme of things. There are things JS is extremely good at (async programming being one of them) and some things it isn't (low level byte manipulation, etc.) The same arguments apply to any language. It isn't all about how fast it goes at the end of the day.

Its barely palatable on the web, do not push it into the app space where there are much higher expectations. People have come to expect the web to be a sub optimal experience.


Yes, the web is a sub-optimal experience. For lots of reasons - design by committee feature sets, incompatibilities, etc. etc. No argument. Its also constantly changing and a challenge to keep up with. But people overlook what it buys you...

Sure, it is much easier to write a C# app targeting .NET, or a java app targeting a JRE... The fact is neither of those will ever be universal.

There are 3 major mobile platforms - Windows Phone, Android, and iOS. They have 3 completely incompatible development frameworks, but they can all run HTML5 apps quite well... So can desktops (any OS), so can just about anything with a chip in it. HTML5 makes up for its shortcomings by being deployable almost anywhere - and not in the "run anywhere" fairytale land of Java where it is a figurative statement - I mean really deployable anywhere.

Makes perfect sense to me to cut out the middleman and build a mobile OS designed with HTML5 apps as a 1st class citizen... You can turn up you nose at it all you want - I'll still have a job in 10 years ;)

Use a real intermediary language. Don't shoe horn JavaScript into that position.


If what you want is a human readable IM language, It is as good as any other. If you want byte code then we are talking about two different things... Byte code will never fly on the internet (been tried - failed terribly -at least twice)...

If you write .NET apps you are worshipping at Microsofts altar. If you write Android apps you are worshipping at Google's altar. If you write iOS apps you are worshipping at Apple's altar.

I don't have to worship at anyone's altar - I don't care who wins. I make a comfortable living and have for 15+ years. I like iOS development too, as well as C# and a few other platforms - but none of them hold a candle to web development when it comes to reach.

You know things are bad when a selling point of JS is "Its good because its so ugly others hide it as much as possible"


I didn't say that was a selling point - just pointing out reality. Syntax isn't everything - CoffeScript and JavaScript are in fact the same language semantically, the only difference is syntax - and CoffeeScript is quite lovely to look at. Syntax can be fixed quite easily, and it eventually will be.

The point is that semantically javascript is a great language for its current use case - which is wiring up logic to GUIs.

XAML is for marking up applications. It has a 1:1 mapping to the .NET object model. Glade is closer to XAML than it is to HTML.

Just because they're all markup doesn't mean they're all the same. HTML is almost comically bad at marking up applications.


Your arguing about the semantics of the markup language... What does any markup language need? A fast parser, a good interpreter, a layout and rendering engine....

Gecko???

You don't like the semantics of HTML - that's fine. It is not ideal and probably never will be. But it is flexible as hell and gets better as time goes by.

The HTML layout model is a mish mash of 100 bad ideas.


And yet it is still around after 20 years, and becomes more and more ubiquitous as time goes by. It changes when it needs to. Things like XAML will be a faded memory in 5 years or so...

Reply Parent Score: 2

Nelson Member since:
2005-11-29


I was talking about web development in general - not comparing to other languages... Besides - it makes no sense at all to mix metaphors like that, languages themselves have next to nothing to do with development as a whole - it is just a small cog in the machine.

And web development tooling is great imo - some people just don't like having 500+ options to choose from I guess... There doesn't have to be a "one true way" answer to every problem.


Comparatively is the only way to go about such things, since the argument is that JS+HTML is god awful choice for app development.

The tooling state is laughable, compared to C#, there is no comparison when it comes to things like debugging. Hats off to the JS support in Blend and Visual Studio, and those developers are wizards, but its still comparatively terrible.



That is categorically false - you have no idea what you are talking about. Modern JS engines are extremely performant - in fact much more impressively so when you consider they have to work directly from human readable source code. Sure, compared to C, Java, and C# they have weak spots - but those are compiled languages (or at the least they do byte code compilation) - and even then it is usually only a factor or 3 slower...

Compared to other straight-up runtime interpreted languages? Extremely competitive, often greatly superior. I do not know where you get the idea that it is slow...


You say "fast despite inherent limitations" (non static typing leading to stupid design and compile time assumptions, no byte code compilation, etc) and I say "slow because of inherent limitations". Its two sides of the same coin.

The fact that JS is as fast as it is, is a testament to the immense skill of the engineers behind the JS engines. It doesn't mean the language is conducive to speed at all, in fact, a reasonable language in the browser is almost certain to be much faster.


Regardless, it is a stupid argument anyway. Languages are not fast or slow - interpreters and compilers and binary executables are - and they can be quite easily improved without changing a language. Even then, it makes little difference in the grand scheme of things. There are things JS is extremely good at (async programming being one of them) and some things it isn't (low level byte manipulation, etc.) The same arguments apply to any language. It isn't all about how fast it goes at the end of the day.


Actually, no. JS has some uniquely JS features which make it slower than it should be. Namely, is type system makes it difficult to do type based optimizations at JIT level. Sure you can do cool type inferencing, but you quickly run across an even more limited time budget than traditional JIT compilers.



Yes, the web is a sub-optimal experience. For lots of reasons - design by committee feature sets, incompatibilities, etc. etc. No argument. Its also constantly changing and a challenge to keep up with. But people overlook what it buys you...

Sure, it is much easier to write a C# app targeting .NET, or a java app targeting a JRE... The fact is neither of those will ever be universal.

There are 3 major mobile platforms - Windows Phone, Android, and iOS. They have 3 completely incompatible development frameworks, but they can all run HTML5 apps quite well... So can desktops (any OS), so can just about anything with a chip in it. HTML5 makes up for its shortcomings by being deployable almost anywhere - and not in the "run anywhere" fairytale land of Java where it is a figurative statement - I mean really deployable anywhere.


Here we come to a fundamental disagreement. I categorically reject the notion that write once run anywhere is desirable. I didn't buy it when Java said it, andi don't buy it now. It leads to a poor and confusing user experience.

I believe in code sharing between mobile apps by using common back ends with native front ends. On the web, I'm cool with JS and HTML. Let the web be the web. But for Christ's sake, let apps be apps.


Makes perfect sense to me to cut out the middleman and build a mobile OS designed with HTML5 apps as a 1st class citizen... You can turn up you nose at it all you want - I'll still have a job in 10 years ;)


I wouldve offed myself years ago if I had to deal with web technology.


If what you want is a human readable IM language, It is as good as any other. If you want byte code then we are talking about two different things... Byte code will never fly on the internet (been tried - failed terribly -at least twice)...


I'm interested to the instances where its failed, but ultimately, this is a discussion about HTML and JS for use as a fundamental app platform.



I didn't say that was a selling point - just pointing out reality. Syntax isn't everything - CoffeScript and JavaScript are in fact the same language semantically, the only difference is syntax - and CoffeeScript is quite lovely to look at. Syntax can be fixed quite easily, and it eventually will be.


Syntax and peformance are separate things. Only in JS, things are slow because of the syntax. You can fix one part of it using CoffeeScript, arguably, but you still can never fix the second, since you compile down into JS along with its limits.


The point is that semantically javascript is a great language for its current use case - which is wiring up logic to GUIs. [\q]

Mine is that its not the best, or anything close.

[q]
Your arguing about the semantics of the markup language... What does any markup language need? A fast parser, a good interpreter, a layout and rendering engine....


They are used differently. HTML defines structure. XAML is a declarative way to instantiate .NET objects. It can easily be extended to do whatever you want, it can map to arbitrary .NET objects.

You can't really do that in HTML, which is a shame, because it'd be a tremendous improvement alone. You're stuck with awkward solutions which is funny because it makes your code less declarative.

Besides, XAML has the concept of controls, events, properties, data binding, static methods, etc.

Just because XAML is markup, and HTML is markup.. doesn't make HTML good because XAML is good.

So your original "but you're okay with XAML what's so wrong with HTML" statement is wrong.


And yet it is still around after 20 years, and becomes more and more ubiquitous as time goes by. It changes when it needs to. Things like XAML will be a faded memory in 5 years or so...


You're aware XAML is a key part of the Windows 8 app platform, right? You're aware that the XAML team is part of the Windows Division, right?

XAML going anywhere is a Pipedream. It'll be on 800 million devices in a years time.

Reply Parent Score: 3