‹ BackHN Continuity

Thread

Why don't more developers “use the platform”?

301 points · 316 comments · vinhnx

  1. serbuvlad · · focus · HN ↗
    Coming from a more general programming view, I find web development extremely odd. In general programming we tend to find a small set of abstractions which we can use in a composable way to cover our problem space.

    For example, to interact with the VFS, we have read()/write(). When we add more APIs, it can be to enable a new paradigm, like epoll(), or for performance, like readv()/writev(). For a functionality that can be composed out of existing APIs in a performant way, we do not add it in the platform, but leave it instead to the domain of libraries. This separation has immense values, as it makes platforms easy to implement. A Linux filesystem, for example, needs to implement only 10 or so functions.

    The web seems to be perfectly composable too, out of <div>, <span>, <p> and a small subset of CSS, but doing this is considered an anti-pattern, and you're supposed to reach for the platform to find the closest thing to what you need, whereas reaching for a library or composing yourself is frowned upon.

    The result is that there are only three platforms: Blink/V8; WebKit/JavaScriptCore; and Geko/SpiderMonkey. With many things only working or working well on Blink/V8.

    And implementing a new platform is a titanic task.

    1. zelphirkalt · · focus · HN ↗
      Probably the decisive difference is that the web needs to be delivered over network, while the OS is installed once and then is just there. If everyone needs to download your very special implementation of an otherwise pretty common type of widget, it becomes a nuisance and a waste of bandwidth.
      1. serbuvlad · · focus · HN ↗
        But libraries can be GET'ed from common URLs and cached!
        1. LtWorf · · focus · HN ↗
          For better user tracking!
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.