Why is the web still using multiple independent languages to make sites? Why not use a single OO language and call it a day?

In 2010, when bandwidth is many times more than what it was in 1995, why should we not be compiling web pages or translating them to some intermediate language? HTML and JS and CSS is just the tip of the iceberg. Consider a whole mess of technologies, like PERL, Python, PHP, SQL 9of all flavors) and you've got a mess of languages and odds are that you're editing the source code by hand or using inaccurate and un-optomized tools.

Compare that to iOS development or Java or even .NET. When I make an app, I declare an object and start setting property values. Easy. When I create a webpage, I must declare my markup and then link to a single or a few CSS files. Then, I go ahead and work on my scripts. Frameworks and frameworks galore. Either that, or messy code that is not easily maintained. to change a textbox's size, I have to go into my CSS and start messing with it. When I finally get that right, I've broken something else.

Why must IE, FF, Chrome or whoever know what the "semantics" of my webpage are? This is why I like div tags. Simple building blocks they are. Other languages only care about datatypes for memory management reasons. I can see the validity of semantics only for the purposes of searching. However, that can be changed and worked around in a new language. Besides, I won't have to use robots.txt anymore. Yay, another few bytes of server space reclaimed.

Markup on the web was a good idea when bandwidth was tight, but it is now a terrible idea. The W3C is still working at a painfully slow pace to release "recommendations". I say we cut the nonsense and work with a single language, be it compiled, interpreted or somewhere in the middle. It has to be easy and work.

That said, why are we still using HTML as the platform of the web?

link|flag

4  
Programmers.SE is for asking pointed questions about issues related to software development, not for posting your ideas and asking rhetorical questions. If you're interested in telling others about your opinions and your worldview, I suggest getting a blog. – Mark Trapp Dec 2 at 21:30
Why not just replace HTTP if you want something other than Text being transmitted? After all Hyper Text is part of HTML and HTTP, at least in terms of origins. This may be better on webapps.stackexchange.com since you are asking about the web. – JB King Dec 2 at 21:30
@Mark Trapp -I'm open to hearing explanations, although this would make a decent blog post. – Moshe Dec 2 at 21:32
2  
In addition, I'd also like to know why people still insist on different flavors of ice cream when vanilla should suit everybody. – GrandmasterB Dec 2 at 21:43
2  
Please give me some better explanation as to why this is such a bad question. – Moshe Dec 2 at 21:48
show 7 more comments

closed as not a real question by GrandmasterB, JB King, Steven A. Lowe, Terence Ponce, Philip Regan Dec 2 at 21:59

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form.

2 Answers

I think there is one answer but more than one reason behind that. I think you know the answer too:

  • The web is (right now) HTTP, and the client for HTTP is a browser. So, we code in the format of the client our audience has their hands on. Right now, Apple, Google, Microsoft, and Mozilla decide that, and that's HTML/CSS/JS.

Now the reasons why those major players still say that we should use HTML/CSS/JS:

  1. Tradition. This one's obvious. There has been too much arguing about other things (standards, browser wars, monopolies, mobile vs. desktop, etc.) and too much innovation in HTML/CSS/JS (XHTML -- wasted time. HTML 5. AJAX. JQuery. Faster browsers resulting in more ability to do animation. Offline Storage. Etc.).

  2. Cost. This is another major one. The web in 2010 is a medium most companies can't ignore. But even so, it doesn't mean they can (or think they can) spend a lot on it. Right now the deployment overhead and raw development cost of HTML/CSS/JS is so small that a more advanced technology can't be justified. Due to the tradition part, you aren't going to see things change until many players are able to afford the new technology. And that new technology won't become cheap until many people are doing it (chicken and egg). Right now I'd guess that somewhere around 1% of web publishers are even able to afford server-side programming.

  3. Portability. What are you reading this web page on? Why should I care? The semantics help that. <div> 's don't help a screen reader out. A smart developer can also use HTML semantics plus the power of CSS to deliver a different view to a phone than to a desktop. Yes, you can do that with <div> 's, but if you were a Java developer, you wouldn't suggest to someone to use a Map for all their objects instead of classes, right?

BTW, great question.

link|flag
Thanks. Makes sense. – Moshe Dec 2 at 21:46
@Moshe - feel free to give it time before you accept an answer – Renesis Dec 2 at 21:49

For an argument against bytecode support in browsers, you can refer to this audio file from Brendan Eich, JavaScript's inventor and maintainer.

http://www.aminutewithbrendan.com/pages/20101122

Besides, the split between HTML, CSS and code is a logical one. It's the split between structure, styling and behavior. You'll find this on other platforms also. Flex has mxml for structure, css for style and actionscript for code. The only thing different about the web is that this separation is not abandoned at deployment time. This makes web content more malleable, and has allowed the platform to maintain backwards compatibility, even with broken code, for nearly two decades.

link|flag

Not the answer you're looking for? Browse other questions tagged or ask your own question.