9 ms·
This would leave the browser world with one high-quality, open-source implementation as the de facto standard. I don't think this is so self-evidently awful. T
by jhpriestley 10y ago
This would leave the browser world with one high-quality, open-source implementation as the de facto standard.
I don't think this is so self-evidently awful. There are a number of big open-source projects in this sort of position, like git, TeX, linux, GHC.
What is special about browsers that we need multiple competing implementations of the standard?
- soperj 10y agogit really? there are tons of big projects that don't use git. Java for instance.
- graphememes 10y agoThey use it when multiple people code on the same codebase. It's either in Github, Gitlab or Bitbucket and uses git. I haven't seen someone use anything other than git in a long time, and those that do are ancient projects.
- jordigh 10y agoI suppose Firefox is ancient too. They use Mercurial canonically. :-(
- ergo14 10y agoSo does Facebook... My company also uses mercurial - I know plenty of people that prefer it over git - but there is no github equivalent for it.
- paulddraper 10y agoWell obviously you should just be using Chrome.
- Rumudiez 10y agoThis just in: an in-development webapp with WebSockets, Shared Workers, and WebRTC integration turns out to actually be "ancient" because it's being managed with subversion!
- ergo14 10y agoLots of people use and prefer mercurial.
- hashhar 10y agoI learnt git when I started college and then discovered Mercurial when I started contributing to Firefox. It was painful at first but after some really good reading of the Mozilla Version Control Tools docs and the Hg Tutorial by Joel Spolsky and some blogs regarding the Mozilla contribution and coding workflow I started liking Hg better than git. Mercurial has a more sane way of referring to commits and traversing the history. They now also have different kinds of branching models. You can even maintain multiple checkouts of a repo using a single clone which is great and saves me from having to checkout branches when I want to work on another feature. (Imagine checking out 3.5 mn files each time you wanted to change branches). In, my opinion, Mercurial scales better but suffers from the unintuitive names and lack of enough people talking about it.
- gnaritas 10y ago> I haven't seen someone use anything other than git in a long time, and those that do are ancient projects. Then you live in a very small bubble.
- ianburrell 10y agoAlso, there are multiple implementations of the Git API. Original "git" is the only command-line implementation but there are JGit and libgit2 libraries that are used in various projects. In particular, Github, Gitlab, and Bitbucket all use libgit2 for hosting Git.
- pikzen 10y agommmmh, delicious delicious high quality open source implementation completely controlled by Google. Because Chrome is definitely not known for implementing stuff on their own and ignoring standards. Same way Google is not known for purposefully worsening performance and experience on their websites to non-Chrome users, and same way Google is not transitioning all important Android capabilities into Google Play Services, which itself is closed source. What could happen with Chrome if they were the only ones on the market, I wonder.
- sqeaky 10y agoHave any citations for those bold Anti-competitive claims?
- pcwalton 10y agoGoogle Earth.
- sqeaky 10y agoThat is a noun, please expand.
- pikzen 10y ago- Implementing the newest Google Earth through pNaCl, basically ActiveX by Google - Play Store website threw you out if you were using Firefox on Android | https://bugzilla.mozilla.org/show_bug.cgi?id=1131601 https://bugzilla.mozilla.org/show_bug.cgi?id=1131601 - Gmail delivered an inferior mobile version to Firefox on Android | https://bugzilla.mozilla.org/show_bug.cgi?id=668275 https://bugzilla.mozilla.org/show_bug.cgi?id=668275 - Actually, Google fucks with Firefox on Android all the time https://bugzilla.mozilla.org/show_bug.cgi?id=668288 https://bugzilla.mozilla.org/show_bug.cgi?id=668288 - Inbox is still Chrome only - Youtube refused to serve webm to Firefox for a while | https://bugzilla.mozilla.org/show_bug.cgi?id=1233970 https://bugzilla.mozilla.org/show_bug.cgi?id=1233970 Is that enough for now? Google is no better than old Microsoft/IE team often. But hey, since you get a shiny browser that implements non standard things, it's okay, right?
- pcwalton 10y agoBecause defining the Web as a legacy pile of mostly sequential C++ code dating back to the '90s is not a forward-thinking idea. Is your position that Blink's architecture is well suited for getting performance out of modern hardware? Or that C++ is a good foundation on which to build some of the most security-critical software on the planet?
- 2bitencryption 10y ago> Or that C++ is a good foundation on which to build some of the most security-critical software on the planet? I don't care what it's written in. I care who is writing it and how well it is tested. Write it in Brainfuck for all I care, if it works, is efficient, and is safe.
- pcwalton 10y agoAnd if the language has a direct impact on the efficiency and safety of the product, then what? A memory-safe language dramatically reduces the frequency of memory safety bugs, which are the foremost cause of security vulnerabilities in software like browsers. This is an inconvenient conclusion that everyone wants to deny, because it's, well, inconvenient. But that doesn't make it less true.
- Spivak 10y agoAnd taking the train dramatically reduces the risk of being in an automobile accident. Another inconvenient conclusion that's being denied is that memory safety errors are at their core due to bad assumptions and logic errors which sadly can't be caught by compilers yet. Memory safe languages make it harder to create a specific types of vulnerabilities and can even keep them in check when they occur which is real a tangible benefit, but those same assumptions and errors will just produce different vulnerabilities. I love Rust -- it's quickly becoming a favorite language of mine, but at some level we have to be realistic that it doesn't solve all the world's problems and evangelizing that everything be rewritten in it or another memory safe language is the programming language equivalent of saying, "you should try using machine learning."
- deleted 10y ago[deleted]
- cwyers 10y agoMost of those aren't interchange formats. You can use Mecurial or Perforce instead of Git; PDF is the interchange format in TeX's space; Linux is an OS, so I don't even know what you're talking about here; for GHC, you can use ML or C or Python or PHP or whatever instead of Haskell. HTML is supposed to be an actual standard for interchange of hypertext.
- mbel 10y ago> or GHC, you can use ML or C or Python or PHP or whatever instead of Haskell. Well there are also other Haskell interpreters and compilers (JHC, UHC, Hugs). Although of course GHC is de facto standard due to it's numerous extensions of the language.
- tannhaeuser 10y agoI strongly disagree. HTML is used for long-term text archival in science, education, administration, politics, literature, for personal notes and memories, and so on. Do you want to leave all this to a single browser implementation dominated by an ad company?
- pdkl95 10y agoWhen a market with competition becomes a monoculture, every security problem that used to affect only one product becomes a class break[1] that affects everything. Just like the potato famine, software monocultures can fall to a single attacker, who also benefits from the consistent interface. > What is special about browsers Nothing. We need multiple implementations of all software that is relied upon for anything remotely important. It still amazes me that so many businesses critically depend on something that is only available from one source. Without a second source[2], the business lives or dies at the whim of the company they depend on. [1] https://www.schneier.com/blog/archives/2017/01/class_breaks.html https://www.schneier.com/blog/archives/2017/01/class_breaks.... [2] https://en.wikipedia.org/wiki/Second_source https://en.wikipedia.org/wiki/Second_source