Hacker News new | ask | show | jobs
by DanielStraight 5898 days ago
I think the real solution is not to provide more advanced features in the browser, but to provide more primitives. Lots of programming languages over the years have, at least for a while, compiled to C. C is an almost universal primitive. The web doesn't have a universal primitive. HTML, CSS, and JavaScript are high level languages. If you try to use a high level language without ever accessing lower level functions, you will eventually run into something you can't do. The web has hit that point. We need a way to fall back to lower level languages when the abstractions become too leaky. The web needs a C: a language which can do anything if you put in the time and energy to make it work, which is blazing fast, and which is available everywhere.
1 comments

Can you explain what some of those lower level functions are on the web that need a lower level language? As far as I can tell, the lowest level of the web is sending a static document to the requester via HTTP. Any lower than that and you are talking about TCP/IP sockets, etc.

In the domain of Operating Systems this makes more sense, because the OS or kernel is generally written in the low level language that is being asked about (i.e. C). Any higher-level language is generally implemented in terms of the low level language, making it available as a fall back for low level tasks (i.e. tasks on the OS/kernel level).

I'm just not sure how this concept of lower-level languages applies to the web.

I'm talking low-level in terms of design and page manipulation, not architecture. CSS is the lowest level available for formatting websites. For formatting desktop apps, you can go straight to the graphics card and paint individual pixels on the screen. There is simply no equivalent in the browser. I suppose you can, strictly speaking, paint individual pixels in the browser with absolute-positioned divs, but this is clearly impractical.