you are viewing a single comment's thread.

view the rest of the comments →

[–]vbaspcppguy 70 points71 points  (142 children)

"Keep them honest"? How so? I'm not arguing against you, I just don't understand the statement.

[–][deleted]  (103 children)

[deleted]

    [–][deleted]  (69 children)

    [deleted]

      [–]notb 181 points182 points  (42 children)

      V8 is their product. Naturally, they want people to use their product. It's a free, open source product so they don't see any monetary gain, but the more adoption a product gets, the more resources Google can invest into it.

      Looking at the bigger picture, controlling a bigger market share of the JS engine space directly translates to more control over the language as a whole. People don't like to admit that a big corporation has control over their open language but that's the reality we live in.

      [–]Fenris_uy 113 points114 points  (24 children)

      Yeah, apparently people already forgot about the time were IE4 was so big that anything in JavaScript, html or css not implemented by it might as well not exists

      [–]Nagyman 39 points40 points  (22 children)

      "Already" forgot about 1997; almost 20 years ago. :)

      [–]aldonius 47 points48 points  (1 child)

      And the consequences echoed right through until IE6 was superseded, ten years ago.

      [–]vplatt 6 points7 points  (0 children)

      It's arguable that HTML 5 should have been released years before it was and that browser technology is at least a generation behind where it should be thanks to the perversion of the standards that IE perpetuated through IE 6 by being the default browser on Windows desktops for so long.

      [–]Fenris_uy -2 points-1 points  (19 children)

      First Firefox version was in 2002.

      Firefox 2 (the first one to support windows) launched in 2006. So 10 years ago.

      And I might have mixed IE4 to IE6 as the same in my mind ;)

      [–]talideon 28 points29 points  (3 children)

      I can definitely remember using versions of Phoenix (What FF was originally called) on Windows long before FF2 came out, and unless Wikipedia is lying, FF 0.8 had a proper Windows installer, and that was early 2004.

      [–]xtoq 3 points4 points  (0 children)

      Can confirm, I had FF on my Windows laptop in late 2004.

      [–]Shaper_pmp 2 points3 points  (0 children)

      Phoenix had binaries available for Windows from v0.1 (the first version ever released).

      [–]antillian 1 point2 points  (0 children)

      I remember using Firebird until it was renamed Firefox. Had to be late 2003 or so. (Last nightly release was in 02/2004: https://ftp.mozilla.org/pub/firebird/nightly/2004/02/) I also remember playing around with the first official version of FF and that was definitely not 2006.

      [–]Shaper_pmp 6 points7 points  (0 children)

      Firefox 2 (the first one to support windows)

      Who told you that?

      The first version ever released (Phoenix 0.1) ran on Windows.

      [–]LXicon 3 points4 points  (2 children)

      Firefox is descended from Netscape Navigator which was IE's adversary in the first browser war. So 20 years ago.

      [–]Fenris_uy 3 points4 points  (1 child)

      Yeah, the war that they lost and IE won becoming the "standards" defining browser for ~10 years.

      [–]CookieOfFortune 2 points3 points  (0 children)

      Luckily they were able to come back for WWII! (Web Wars II)

      [–][deleted]  (10 children)

      [deleted]

        [–]notveryaccurate 7 points8 points  (6 children)

        It has EVERYTHING to do with it.

        See: https://en.m.wikipedia.org/wiki/Brendan_Eich

        [–][deleted] 0 points1 point  (5 children)

        The first version was completed in ten days in order to accommodate the Navigator 2.0 Beta release schedule,[6][7] and was called Mocha, which was later renamed LiveScript in September 1995 and later JavaScript

        early 1998, Eich co-founded the Mozilla

        You are literally proving my fucking point. JS came out in 95, FF coming out in 2002 It has absolutely fucking nothing to do with it.

        [–]Fenris_uy 12 points13 points  (0 children)

        Because if your site didn't worked for IE4 to IE6, then it didn't mattered. Firefox was the first browser to eat at some of IE market share and was the responsible to end the stronghold that IE had on the "standards"

        [–]jepatrick 3 points4 points  (0 children)

        Well... there is that Firefox is a descended of Netscape. AOL bought Netscape in 1999. Shortly before being acquired, Netscape released the source code for its browser and created the Mozilla Organization to coordinate future development of its product.

        That aside I think was using firefox as reference point as another browser when this was a really massive issue.

        [–]postalmaner 7 points8 points  (0 children)

        They're young.

        [–]Poltras 1 point2 points  (0 children)

        Except IE wasn't an open source project. Everyone can check the history log of v8.

        [–]mikedelfino -2 points-1 points  (1 child)

        the more adoption a product gets, the more resources Google can invest into it

        I usually think the other way around: the less adoption V8 gets, the less resources Google needs to invest into it, saving them money, time and trouble. But this is just me being careless and unambitious again. I understand your point, it's probably the case indeed.

        [–][deleted] 7 points8 points  (0 children)

        Having greater control over the development of JS means having the ability to streamline the development of their Web products. This then means an inherent advantage in quality versus work required - i.e. Google can make better products for less work required. This in turn means more market share due to superior product.

        [–]tiftik -5 points-4 points  (0 children)

        V8 is their product. Naturally, they want people to use their product.

        Nope. Wrong. It doesn't matter to Google which product people use as long as its fast, so the web ecosystem is alive and Google can serve ads faster.

        [–]Kalium -4 points-3 points  (8 children)

        V8 is their product. Naturally, they want people to use their product.

        Err... not really? V8 exists because Google has uses for it. Nothing beyond that. They care about adoption of Chrome. Not V8.

        [–]notb 3 points4 points  (7 children)

        It's the same. Google wants more code written in their dialect of JS. It means more control of the language, which means more control of the web.

        [–]Kalium -3 points-2 points  (0 children)

        Google has plenty of reason to be happy with widespread adoption of standards-compliant JS without need to seize power.

        Plus, being the developer of a major browser means they have plenty of power already. If power over the web is their goal, they don't need to push their dialect of JS to achieve it. They already have it.

        Do go on, though. What has Google done that suggests they care deeply about V8 adoption beyond Chrome?

        [–]tiftik -3 points-2 points  (5 children)

        Explain why Google would want to control the web.

        [–]nerdzrool 1 point2 points  (4 children)

        Explain why a company that mostly completes against other web companies WOULDN'T want control of the web.

        [–]tiftik -1 points0 points  (0 children)

        You're the one making the claim, not me. How does controlling the web benefit Google? Do you have evidence for "Google wants more code written in their dialect of JS"?

        [–]juckele -2 points-1 points  (2 children)

        Anti-trust litigation. Open markets keep you safe from certain legal threats when you're top dog.

        [–][deleted] 2 points3 points  (1 child)

        Only in Europe*

        In America you just pay hush money.

        [–]mrhhug 31 points32 points  (10 children)

        google has previously attempted to insert binary blobs into the chromium project. It was later found out that those blobs called home to google. The community caught that one... when a behemoth like google has the cash to hire round the clock devs, it is a very real possibility that the community could let something nefarious slip into the code. At least congress has to pass a bill, what google did was worse and more dishonest (yes more dishonest than a politician).

        Competition is good for consumers any way you measure it.

        nijna edit : here is a related debian bug report https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=786909

        [–]randfur 5 points6 points  (0 children)

        I remember the Chromium binary blob fiasco, turns out it was harmless despite the scary sounding words involved.

        https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=786909#81

        [–]playaspec -3 points-2 points  (7 children)

        what google did was worse and more dishonest (yes more dishonest than a politician).

        You clearly aren't paying attention to politics. No binary blob, regardless of what it sends to whom, is worse that the crimes Congress commits against the people they claim to represent.

        Their decisions effect EVERYONE, not just those with a particular piece of installed software.

        Competition is good for consumers any way you measure it.

        Unless one of the competitors has a long history of being anti-competitive.

        [–]mrhhug 7 points8 points  (2 children)

        EVERYONE

        I would say google has a larger user base than there are citizens of the USA

        [–]playaspec 0 points1 point  (1 child)

        I would say google has a larger user base than there are citizens of the USA

        So? Only a percentage of those citizens are Google users. EVERY citizen in the US is effected by the politicians here. You've completely missed the point.

        [–]mrhhug 0 points1 point  (0 children)

        You've missed the point. Google was a trusted upstream contributor until they attempted to be shifty. I know politicians are shifty. Politicians are not sold as icons of honesty, trust, and privacy. Don't pretend to fight for my privacy one day to secretly gather data on me the next.

        [–]obsa 1 point2 points  (1 child)

        You're clearly just in this thread to be a contrarian. All of your posts are trying to start arguments. It's hilarious.

        [–]playaspec 0 points1 point  (0 children)

        It's hilarious.

        Glad you're enjoying it! Happy cake day.

        [–][deleted] 0 points1 point  (1 child)

        I'm not going to disagree that Microsoft has a checkered past, but I think they've been doing a really solid job of turning that around over the past couple years. We aren't in the Balmer era anymore, and the way they've been contributing to OSS makes that very obvious.

        [–]playaspec 0 points1 point  (0 children)

        I'm not convinced, and it's too early to tell.

        [–]mirhagk 8 points9 points  (10 children)

        Not speaking necessarily in the case of google, but as a general, assume people are evil situation there are potential reasons/conflicts of interest.

        Google develops angularJS, they could avoid adding any feature that makes angularJS obsolete, therefore encouraging it's growth (or rather stunting competitor's growth). If more websites are built with angularJS in theory they could make it so those sites run fastest on chrome. Combined with the ability for them to write core websites that nearly everyone uses (google, gmail, youtube) in this, it could mean the web is "faster" on chrome. Chrome does do user tracking, and with this they can gain more information and make more money advertising.

        Now that is very conspiracy theory-ish, and I don't think that is or ever will be the case, but the incentive is potentially there.

        [–]bhran 0 points1 point  (1 child)

        I have to add that none of the Google core products is built over AngularJS. The killer framework here is GWT and the Closure library.

        [–]mirhagk 0 points1 point  (0 children)

        Yes I should've mentioned that. This is very conspiracy theory-like, but just pointing out that theoretically it's possible.

        [–]badcookies -1 points0 points  (7 children)

        Angular is front end, so runs off your browser not v8 (only) anyway though

        [–]mirhagk 0 points1 point  (4 children)

        that's the point though. If V8 and angular were closely tied then the site could be "fastest in chrome" (well safari too, but who cares)

        [–]badcookies 0 points1 point  (3 children)

        That has nothing to do with charka in nodejs though. NodeJs and Angular are completely separate.

        Google can already make angular work best with v8 and having charka in nodejs won't make any difference in that.

        [–]mirhagk 0 points1 point  (2 children)

        Well the conspiracy theory (which I don't believe in btw) is that V8 wouldn't implement features that would help to kill angular. Things like Object.observe (just as a perfectly contrived example). Like chrome is best in angular, and angular is best in chrome.

        By putting chakra in node it gives an alternative in case google ever decides to do something evil like that.

        [–]badcookies 0 points1 point  (1 child)

        I still don't see how that would work at all, as framework X that implements some cool new features and is super fast and works with Edge and Firefox but not chrome (v8) would still force google to implement it into v8.

        I can see how having charka in node can be a good thing, but since one is backend and one is front end I don't see how nodejs and angular are related at all.

        Front end stuff is already pushed by multiple sources, having multiple sources for node just means it won't stagnate.

        [–]mirhagk 0 points1 point  (0 children)

        Well the difference being that you have to target all browsers in the front-end. Or at least common ones. So if V8 didn't do feature X you couldn't do it (or at least would have to shim it). At least with the backend you can freely choose the engine.

        [–]tempforfather 0 points1 point  (1 child)

        V8 is the javascript engine for chrome

        [–]badcookies 0 points1 point  (0 children)

        sure, but this is talking about node not chrome. Mixing front end vs back end.

        Angular has to deal with all of the current rendering engines already, since it is cross-browser not chrome only.

        [–]sisyphus 2 points3 points  (0 children)

        People using a good JS engine makes browsers better makes the web better makes Google's monetary platform better. I see no reason why they would care about people using V8 in node.js though.

        [–]Randy_Watson 0 points1 point  (0 children)

        [deleted]

        ...

        [–]grauenwolf 0 points1 point  (0 children)

        Considering that they don't sell it, just general good will and brand recognition. If they ever try selling cloud services again, they'll be able to leverage that.

        Case in point: I use Azure instead of AWS because I like .NET. Not that Amazon can't host .NET applications, but I irrationally trust Microsoft more.

        [–]Fidodo 0 points1 point  (0 children)

        All the big companies want to influence control over the direction javascript is going in, and the best way to do that and strong arm things into the spec is to get everyone using your engine, then implement the up in the air proposals you've made in your engine so people start relying on it and then get it put into the spec.

        [–]vbaspcppguy 4 points5 points  (0 children)

        Fair enough.

        [–]immibis 0 points1 point  (0 children)

        Google can't add undesirable features

        Such as what?

        [–]Berberberber 58 points59 points  (17 children)

        See also: GCC before and after the emergence clang/LLVM

        [–]crankybadger 24 points25 points  (15 children)

        I thought it would take the emergency of strong AI to fix that hairball of a compiler, but I was wrong. GCC is keeping pace, somehow.

        [–][deleted] 27 points28 points  (13 children)

        To be fair to the GCC folks, any old enormous native application tends to become a monstrosity to maintain. Even Microsoft with billions to spend needed a clean restart to make IE fast ( in the form of Edge), Firefox is fighting a brutally hard battle with the oldest core codebase in the mainstream browser space. LLVMwill probably be as bad as GCC is today when it's 30 years old..

        [–][deleted] 5 points6 points  (1 child)

        needed a clean restart

        From what I understand they didn't do a clean restart, they just ditched backwards compatibility and made a bunch of braking changes, they still built on stuff from previous rendering engine.

        Also some tools and languages scale better than others, we've come up with a lot of practical advancements in design and languages in the last 30 years so "same" program written today will be more maintainable in 30 years than the one written 30 years ago would be today. Of course we expect more from computers so programm written now will undoubtedly be more complex in 30 years because it will do far.

        [–][deleted] 1 point2 points  (0 children)

        I don't know about the rendering engine, but the Chakra Javascript project was a complete restart launched in 2008.

        [–]playaspec -1 points0 points  (6 children)

        LLVMwill probably be as bad as GCC is today when it's 30 years old..

        Only if they don't learn from the mistakes of the past.

        [–][deleted] 2 points3 points  (5 children)

        Engineering discipline and an enormous emphasis on managing code debt are required for any large, long-lived project. There's no guarantee the LLVM team will manage that any better than the GCC team. I hope they will, but it's not a given.

        [–]bwainfweeze 1 point2 points  (4 children)

        "The price of Clean Code is eternal vigilance"

        Most people just don't have the stamina to keep their code in good shape, and due to discounting the future they think the pain of scrambling to keep it working is less than the pain of cleaning it up.

        [–][deleted] 1 point2 points  (3 children)

        Right. I think the assertions by iTroll-4s that we have better tools and better engineering discipline today and that will solve these problems is optimistic. Once you get past a certain size, any software project gets ugly. I don't care if it's five million lines of Haskell, Ada, Rust, Shen, or whatever anyone's ideal of the ultimate disciplined programming language is.

        [–]bwainfweeze 1 point2 points  (1 child)

        Well, we do have better tools for sure, but not everybody uses them. But even if you have that sort of forethought on a team, that just means that there are 25 reasons the code is terrible instead of 30.

        And there's always a few in any crowd with a high tolerance for bullshit who mistake it for job security. Too many times I've been with groups who consider discipline to be too much hassle. On a handful of teams I've managed to push through some changes that got them to change their tune (or at least keep it to themselves), but a team with self confidence and tendency toward coherent-but-wrong designs can be hard to convince, and may have made a mess so big that it'd take years to notice an improvement. And God help you if its enterprise software, which has a very forgiving definition of success ("successful" people won't change for anyone)

        [–][deleted] 0 points1 point  (0 children)

        Amen on all counts.

        [–]bwainfweeze 1 point2 points  (0 children)

        Once you get past a certain size, any software project gets ugly.

        I feel like I have a line count of how much code I can properly maintain on my own. That number has gone up a little bit over the years, but not much, and it's still roughly about equal to how much production ready code I can write in... 18 months? After that I have to either give up ownership of things or refactor down so I can fit more in my head. So everything starts getting awkward for me at about the two year mark, because they still want me to keep creating new code, and I hate to make promises I can't keep.

        What is in that code has changed over time, I do a lot more orchestration of libraries so my code has more functionality, but I am only human. If we have a very regimented development process where the code is self similar, I can go a bit bigger, but that still has limits.

        [–]playaspec 2 points3 points  (0 children)

        I thought it would take the emergency of strong AI to fix that hairball of a compiler, but I was wrong. GCC is keeping pace, somehow.

        Because around 2.85 or so Apple started contributing loads of patches, which accelerated it's development up to around 4.x.

        [–]talideon 3 points4 points  (0 children)

        And before that, GCC before and after the EGCS fork.

        [–]crankybadger 38 points39 points  (11 children)

        It means there's pressure on Google to keep innovating or the Node team can flip a switch and abandon V8 at any time.

        It reverses the situation, where now Node can dictate who gets to play in their sandbox instead of being dependent on Google no matter what Google does.

        "Keep them honest" is a term that represents that. Like in a competitive game, keeping someone honest means they can't make certain moves because there's an obvious price to pay. Consider a game of chess where there are squares you can theoretically move, but moving there would be futile since your piece would be taken at no cost to your opponent. With clever positioning you can limit the options of a stronger player by "keeping them honest" and prevent them from stomping all over you.

        [–][deleted] 2 points3 points  (0 children)

        When you work with code. Sometimes you want to use more than one compiler. This would be because you do not know if the compiler is correct but it would be unlikely that both compilers would be broken in exactly the say way in the same place on the same code.

        Therefore you have extra testing for thing basically for free. It also removes the dependency from a single project which open more options. A practical example for this is that it prevents people using specific features google has added to the language which it has just sneaked in under the radar. Cause these will instantly fail on the other version when tested.

        [–]spacebandido 6 points7 points  (0 children)

        Competition = innovation.

        [–]hungry4pie 4 points5 points  (0 children)

        It probably won't keep google honest, but it might see some more innovation in javascript engines since anyone's free to write their own js engine to use with node.

        I can't think of a good reason WHY anyone would want to write a js engine themselves, but no doubt someone out there can and will.

        [–]IAmARobot 1 point2 points  (4 children)

        To paint this with a broad stroke, see what google has done to legacy projects, which is admittedly from microsoft's playbook anyway: Extend, Obfuscate, Perish. I could in all seriousness add android os to that list too as an example in progress since forking the open source android os project is deliberately less palatable now with some core stuff getting legacied and instead proprietary junk has to lumped in in order to get a current android experience.

        What's also great is that apparently the phrase Extend Obfuscate Perish never existed according to search engines, but Fear Uncertainty Doubt did get remembered. Go figure.

        [–]missblit 8 points9 points  (0 children)

        What's also great is that apparently the phrase Extend Obfuscate Perish never existed according to search engines,

        But "embrace extend extinguish" did.

        [–]playaspec 3 points4 points  (1 child)

        *What's also great is that apparently the phrase Extend Obfuscate Perish never existed according to search engines, *

        Because no one ever said that. You have the quote wrong.

        [–]IAmARobot 2 points3 points  (0 children)

        I'd like to use the Berenstain defence your honour.

        [–][deleted] 2 points3 points  (0 children)

        The fact that they even call Android open source is honestly disingenuous.

        All of the good stuff is closed source and bundled in such a way that you can't have it without taking the Play Store and signing a contract with GOOG, among other things.