Slashdot Mirror


Chrome Is the New C Runtime

New submitter uncloud writes "Cross-platform app development is more important than ever. But what about when you need the features and performance of native code, across platforms? And you're a startup with a small team and impossible deadlines?" His answer? Take advantage of cross-platform Chrome. From the article: "Out of necessity, the Chrome team has created cross-platform abstractions for many low-level platform features. We use this source as the core API on which we build our business logic, and it's made the bulk of our app cross-platform with little effort. Most importantly -- Chrome code has been battle-tested like almost nothing else, with an installed base in the hundreds of millions. That makes all the difference when you want to spend your days working on your company's business logic instead of debugging platform issues."

196 comments

  1. Bloat. by qubex · · Score: 4, Insightful

    This is how bloat begins: with an apparently clever insight that ignores actual common sense.

    --
    "Place me in the company of those who seek Truth, but deliver me from those who believe to have found it."
    1. Re:Bloat. by Jmc23 · · Score: 0

      Yes bloat always begins by using something already installed and in memory instead of creating a separate pile of shit that has to be loaded. They're soooo stupid... wait...

      --
      Don't complain about syntax, grammar, or spelling. There is no.hell like input on android.
    2. Re:Bloat. by qubex · · Score: 3, Informative

      Not only are you assuming that a web-browser is already loaded, you are also assuming that that exact web-browser is loaded.

      --
      "Place me in the company of those who seek Truth, but deliver me from those who believe to have found it."
    3. Re:Bloat. by Joce640k · · Score: 0

      Yes bloat always begins by using something already installed and in memory instead of creating a separate pile of shit that has to be loaded. They're soooo stupid... wait...

      Yep. Chrome is already installed and running on every machine in the world.

      Not.

      --
      No sig today...
    4. Re:Bloat. by Anonymous Coward · · Score: 0, Troll

      Linux is the new embedded device! So that's why my wireless router takes 45 seconds to boot up. There was a time when networking equipment would power on instantly and begin working immediately, but no one remembers how to build things without bloat anymore.

    5. Re:Bloat. by nurb432 · · Score: 1

      A few remember, but we are not making consumer devices.

      --
      ---- Booth was a patriot ----
    6. Re:Bloat. by Anonymous Coward · · Score: 0

      Lots of people remember. It's just that people aren't willing to pay them to reinvent the wheel over and over again.

    7. Re:Bloat. by gbjbaanb · · Score: 5, Insightful

      someone didn't read the article....

      firstly they aren't using Chrome as a platform, they're using the libraries that Chrome uses to build their apps, also that the chromium dev kit lets you specify which libraries you want to use, and thirdly they're using C++ to build their code so the bits they don't use just don't get compiled into the final program. And of course, they're using c++ instead of some crappy bloated other system that comes with every manner of crap already installed in the language or an interpreted mess that is bloated to hell anyway.

      So tell me, what's so wrong with their approach - using cross platform libraries that just happen to be written by the Google boys?

    8. Re: Bloat. by Anonymous Coward · · Score: 0

      Yeah. We can safely assume that when Chrome is loaded, the C runtime proably isn't yet... Errrm...

    9. Re:Bloat. by Anonymous Coward · · Score: 5, Insightful

      Why is that "-1, Flamebait"? For crying out loud, he's one of the only posters to correctly identify the facts in this story:

      - It's the general, lowest-level libraries of Chrome that are being discussed here, not the Chrome browser itself.

      - C and C++ do have a superior compilation and linking model, limiting the inclusion of unused code.

      - C and C++ do offer huge performance benefits over Java, Ruby, and JavaScript.

      - C and C++ apps don't require huge runtimes like the JVM, a Ruby interpreter or a JavaScript interpreter.

      - C and C++ do offer superior portability. Their code runs just about everywhere you can imagine.

      Mod the parent up. He's one of the few who isn't spewing bullshit in this story's discussion!

    10. Re:Bloat. by dkf · · Score: 1

      So tell me, what's so wrong with their approach - using cross platform libraries that just happen to be written by the Google boys?

      The fact that it's been done before many times? Or perhaps the fact that there are lot of platforms out there that have never seen a browser and which have never had Google testing the library stack on them? There's a lot of diversity once you're outside the consumer market, even now.

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    11. Re:Bloat. by Anonymous Coward · · Score: 1

      Because you really need a JavaScript interpreter for your C programs to run.

    12. Re:Bloat. by Anonymous Coward · · Score: 0

      Except you arn't running in the Chrome browser the user is running. You are running your own copy of chrome code. So you end up having multiple instances of the hellishly bloated chrome framework in memory

    13. Re:Bloat. by martin-boundary · · Score: 1

      Well for one thing, the Google boys like to spy on us.

    14. Re:Bloat. by tibit · · Score: 4, Informative

      They had alternatives. For native C++ development, they could have used Chrome's platform abstraction, Mozilla's, Apache's, or Qt. I'd say that going with Chrome may be a bit against the grain, but hey, if it works for them, it works for them. I wonder how well the damn thing is documented, because it's hard to beat Qt's documentation.

      --
      A successful API design takes a mixture of software design and pedagogy.
    15. Re:Bloat. by Anonymous Coward · · Score: 0

      Not only are you assuming that a web-browser is already loaded, you are also assuming that that exact web-browser is loaded.

      Well, you can't spell Chrome without 'me'.

    16. Re:Bloat. by quax · · Score: 2

      Insightful only if you haven't read the article or didn't understand it.

      As even the headline stated they use it as a library to compile against.

      /. has really dumbed down considerably when people fail to grasp this and moderate this cluelessly.

    17. Re:Bloat. by beelsebob · · Score: 2, Insightful

      You... you don't understand how operating systems page memory.

      Hint: both applications will get access to the same (read only) pages that contain the library.

    18. Re:Bloat. by Anonymous Coward · · Score: 0

      So you end up having multiple instances of the hellishly bloated chrome framework in memory

      Hey, show a little compassion. Chrome recently signed up for Netrisystem to help it shed some of those extra bits that make up its load handles. You know, with those weekly updates delivered automatically you never have to think about it. Netrisystem does it all for you and before you know it you've lost all that privacy, um, I mean bloat.

    19. Re:Bloat. by Anonymous Coward · · Score: 5, Insightful

      You're making several blatantly incorrect assumptions:

      1) You're incorrectly assuming that the two or more apps are using the exact same shared libraries. This is not necessarily true. Many apps have their own private copies of such libraries, preventing such sharing.

      2) You're incorrectly assuming that the apps are linked against the same version of the library, even if all of the library files are publically shared. If they're using different versions of the library, then sharing won't occur.

      3) You're incorrectly assuming that the app or apps haven't been statically linked, which again prevents sharing of common code between distinct applications.

      4) You're assuming that Chrome or some other app has already provided these common libraries. That very likely isn't the case. The Chrome binary was nearly 100 MB last time I checked, so it's likely that this core code is already linked in to the Chrome executable and not shared.

      Nice try, buddy, but please know what you're talking about before you start talking about it.

    20. Re:Bloat. by Anonymous Coward · · Score: 2, Insightful

      If you only get 2x improvement on real code, your C sucks.

    21. Re: Bloat. by Anonymous Coward · · Score: 0

      No, there is no framework runtime linking happening here.

      This is static compiling against chrome source using only the bits you need. This is no bloat.

    22. Re:Bloat. by Anonymous Coward · · Score: 0

      I have an Asus RT-N16 router. I've installed Linux on it. Not only does it only take a few seconds to boot up, but it has, by far, been the most stable router I've ever owned or used. I've owned various Belkin, Linksys/Netgear and who-knows-what-else routers that I constantly had to reboot in order to keep the connection working (or in some cases, those routers would randomly block ports for no reason, upnp would stop working after a few days, connection would get very slow, or a slew of other problems).

      Everybody knows that the hardware manufacturers really don't give a fuck about consumer grade hardware after they've already sold it to you. If there's bugs in the firmware, you probably won't see it fixed if your router is older than about 6 months. On the other hand, Linux can always be improved upon. It really is not bloated like you are alluding to and can be run on the most minimal of hardware.

    23. Re:Bloat. by Hognoxious · · Score: 2

      And you're assuming it's installed, which it isn't if you're using RHEL 5.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    24. Re:Bloat. by Jane+Q.+Public · · Score: 0

      "As even the headline stated they use it as a library to compile against."

      I think you overstate your case. It's a HUGE library to "compile against". I mean, let's be realistic: people complain about "bloat" in Firefox, but on OS X, Chrome is very close to 6 times as large.

      And you don't have the argument that "they're only using small parts of it". In fact, according to TFA itself, they are using most important parts of it.

    25. Re:Bloat. by celle · · Score: 1

      " C and C++ do have a superior compilation and linking model, limiting the inclusion of unused code.

      - C and C++ do offer huge performance benefits over Java, Ruby, and JavaScript.

      - C and C++ apps don't require huge runtimes like the JVM, a Ruby interpreter or a JavaScript interpreter.

      - C and C++ do offer superior portability. Their code runs just about everywhere you can imagine."

            Replace 'C' with tweety and 'C++' with foghorn leghorn and you get my views. They aren't the same. And I haven't heard anything about the long C++ compile times yet.

    26. Re:Bloat. by Anonymous Coward · · Score: 0

      So tell me, what's so wrong with their approach - using cross platform libraries that just happen to be written by the Google boys?

      Sorry I thought you typed Beagle Boys so I automatically imagined Huey, Dewey, and Louie Duck in their adventures when visiting Uncle Scrooge McDuck and those nasty criminal Beagle Boys.

    27. Re:Bloat. by celle · · Score: 1

      "And you don't have the argument that "they're only using small parts of it". In fact, according to TFA itself, they are using most important parts of it."

            And what happens if Google decides they're a annoyance?

    28. Re:Bloat. by quax · · Score: 1

      It is Open Source code with a BSD style license. Google can't just disappear the currently released source code.

      If they want to move to a closed development model you could fork the code.

    29. Re:Bloat. by quax · · Score: 1

      From the article I glean that they are developing some major business app. Usually if you want to make this platform independent you go with Java. Not exactly light-weight either.

    30. Re:Bloat. by Jane+Q.+Public · · Score: 1

      Well, that's certainly true. But keep in mind that at least Java uses a common run-time, which most people already have.

    31. Re:Bloat. by HiThere · · Score: 2

      What's wrong with the approach is that there isn't a link to API documentation, so you can't quickly judge how well it would fit your project. Source code takes a LOT longer to review.

      If I were convinced enough, I could download the source and run it through DOxygen, but that's not much good unless the code has been properly documented. Is it? Not a clue. Yes, if I get convinced I can do it myself, but I take a lot more convincing if I can't see the API ahead of time.

      This was a piece of PR fluff. Well done, but shy of all useful details. Yes, libraries are a very good idea. Why should I prefer *this* set of libraries? He doesn't say. He just says "Hey, it's great!". (Well, he does say in *very* general terms, but because they are so general, you can't prove hime wrong, which means he's not usefully right, either.)

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    32. Re:Bloat. by HiThere · · Score: 1

      Qt has many advantages. I, however, don't like 16-bit characters. (Possibly this is because of experiences with Java.) Either they should use utf-8 or utf-32. Or both. And the heavy emphasis on latin1 in the documentation of Qt is a real turnoff. (Yes, you can avoid it, but yeesh...the only useful thing to do with latin1 is to convert it into utf...either 8 or 32, depending on your purpose.)

      OTOH, I've no reason to believe that Chrome libraries are any better. If the *have* a documented API, he didn't mention it, and didn't provide any links. Also, although he was pushing it as a C library, in the comments he reveals that much (most?) of the library code is in C++.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    33. Re:Bloat. by MikeBabcock · · Score: 1

      Obviously you've never written code for a Windows system. Shared memory pages for libraries is so incredibly rare it isn't funny. Also, because the Windows DLL interface isn't intelligent enough, most people end up having to distribute their own copy of any libraries they use anyway so they can't be shared with other applications.

      --
      - Michael T. Babcock (Yes, I blog)
    34. Re:Bloat. by Anonymous Coward · · Score: 1

      Qt has many advantages. I, however, don't like 16-bit characters. (Possibly this is because of experiences with Java.) Either they should use utf-8 or utf-32. Or both.

      QT5 now uses utf-8 as its default character encoding.

    35. Re:Bloat. by Anonymous Coward · · Score: 0

      Well, you can't spell Chrome without 'me'.

      True, but you can spell Chromium without 'me' and 'Google'.

    36. Re:Bloat. by quax · · Score: 1

      "... which most people already have."

      Yeah, that's the theory. With business apps this has turned out to be almost a joke. Any friggen' client (Oracle, SAS, SAP you name it) brings their own private Java run-time (typically outdated) because that's the one that's tested and supported.

    37. Re:Bloat. by Jane+Q.+Public · · Score: 1

      Well, that's a good point. When I last upgraded my OS, certain applications insisted that I have a JRE that is a version or two behind the one that was bundled with OS X. Maybe it was planned obsolescence on their part, but if so, it backfired: I'll be damned if I'm going to go out and buy new copies just because I upgraded my OS. I'll find something else.

    38. Re:Bloat. by aminorex · · Score: 2

      To lump Java with Ruby demonstrates utter disregard for actual performance in favor of ideological blinders.

      --
      -I like my women like I like my tea: green-
    39. Re:Bloat. by HiThere · · Score: 1

      Thanks. That's VERY good to hear.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    40. Re:Bloat. by tibit · · Score: 1

      Use of a variable-length encoding for internal storage in a string type is really introducing a lot of runtime inefficiency, so it's best avoided. IMHO it was a valid tradeoff between flexibility and performance to use UCS-2 - a fixed-width encoding, as opposed to say UTF-16. It also reduces storage by 50% compared to using the fixed-width UTF-32, but makes some less-used code points non-representable.

      There's nothing "emphasized" about latin1 in Qt, not even in Qt 4. These days you're supposed to encode your source code in UTF-8, and set this as the default encoding for 8-bit-to-QString roundtrips. I haven't used latin1 in Qt 4 code in a long while now.

      --
      A successful API design takes a mixture of software design and pedagogy.
    41. Re:Bloat. by spitzak · · Score: 1

      You are very mistaken about the "inefficiency" of a variable-length encoding.

      There is no useful string algorithm where the Nth unit of the string is "interesting" without first looking at the N-1 preceding units in order to calculate N. In that case you can replace N with the offset into the variable-length string, since this is calculated in constant time as a side-effect of looking at the earlier units.

      Searching is entirely unaffected by variable-length encodings, provided they are self-synchronizing, which UTF-8 and UTF-16 are.

      There is also the problem that useful "units" are not fixed-size. Normalization forms make all Unicode encodings variable-sized.

      I suspect also you think UTF-16 is fixed-size, which it is not. Sorry. All Unicode code points after U+FFFF are 4 bytes, and all before it are 2. It is a "fixed sized encoding of UTF-16 code units", but it is equally valid to claim that UTF-8 is a "fixed sized encoding of UTF-8 code units".

      I think you are correct that you can change Qt's default encoding, however you cannot change it to a version that does not throw exceptions on UTF-8 encoding errors. This in effect is a DOS bug (because code is rarely tested on invalid UTF-8 and thus the exceptions will be thrown unexpectedly) and due to this we are forced to wrap all conversions to QString in our own code that does a lossy but non-error-throwing conversion. This is actually very difficult because the default QString constructor is too easily called. Something that is BADLY broken however is Python, where you cannot change the encoding from the default of ASCII-only, even in Python 3. The real solution would be for them to start storing strings in UTF-8 so that errors are preserved, but Microsoft's filename api discourages that because of similar problems with it's ability to store and use UTF-16 errors.

    42. Re:Bloat. by spitzak · · Score: 1

      Linux is a bit better for this, yes, but not good enough. Most commercial Linux software also ships with it's own copies of all the shared libraries, for the same reason this is done on Windows.

    43. Re:Bloat. by tibit · · Score: 1

      You're just making stuff up as you go along. Seriously.

      There is no useful string algorithm where the Nth unit of the string is "interesting" without first looking at the N-1 preceding units in order to calculate N

      So obviously, the scenario of having fixed-format strings and having to extract something from their middle is not a useful string algorithm to you?

      I suspect also you think UTF-16 is fixed-size

      You really missed where I said "use UCS-2 - a fixed-width encoding, as opposed to say UTF-16". Use of any non-fixed-width encoding inside of a string class implies that you must use iterators instead of integer indices, otherwise every indexed string access has O(N) cost. The workaround is to embed index marks within the string, but then you have internal representation that can't interoperate as-is with anything else out there.

      however you cannot change it to a version that does not throw exceptions on UTF-8 encoding errors

      Qt doesn't explicitly throw. It is mostly exception safe when faced with exceptions thrown in user code, but that's it. None of its own code throws. QTextCodec IIRC by default replaces undecodable input by the unicode replacement character. Where the heck did you get the idea about exceptions and Qt?

      --
      A successful API design takes a mixture of software design and pedagogy.
    44. Re:Bloat. by JabberWokky · · Score: 1

      Well for one thing, the Google boys like to spy on us.

      To date, they have been open about it. Startlingly open, to the point that they have working groups like the Data Liberation Front and clear documents that state that you can delete your data, but they can't wash your meta and abstracted data from their summarized data, only your identity, if you delete it.

      They are in a business where the SOP is not to explain what they do and push the boundaries of what they can get away with without getting caught. Google, on the other hand seem to be honest, to the point of penalizing internal divisions that have made ethical missteps using the same rules they hold outside groups accountable to.

      Have no illusions: they do collect data, and are a commercially motivated company, and no amount of good behavior should result in a lax approach to watching them carefully, especially given their scope. But to date they are the best option out there, allowing and encouraging people to give informed consent (having two versions of all legalese, one legal, one plain language to communicate) and giving people the ability to opt entirely out of their constellation of services, even after having been a user in the past.

      --
      "$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
    45. Re:Bloat. by spitzak · · Score: 1

      So obviously, the scenario of having fixed-format strings and having to extract something from their middle is not a useful string algorithm to you?

      You can extract the center of strings using offsets. This has nothing to do with fixed-sized units.

      You really missed where I said "use UCS-2"

      UCS-2 is obsolete as it cannot store all of Unicode, and is not used anywhere. I might as well say "bytes can be used because I only use ISO-8859-1".

      Qt doesn't explicitly throw

      Looks correct, I think I was confusing this with Python. It is unfortunate that they think some perfectly valid 16-bit values are "errors" when written in UTF-8, as this prevents invalid UTF-16 from being stored, leading to the same problems on Windows that refusal to handle errors leads to the inability to use UTF-8 on Unix. If a filename can contain invalid sequences we MUST be able to specify such invalid sequences (http://qt-project.org/doc/qt-5.0/qtcore/qstring.html#fromUtf8)

    46. Re:Bloat. by HiThere · · Score: 1

      According to the docs on the site, QChars and QStrings are both utf-16. If this is wrong, perhaps the documentation should be fixed.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    47. Re:Bloat. by MikeBabcock · · Score: 1

      True, many do, but even Skype (maintained by Microsoft) has a dynamically linked binary download.

      --
      - Michael T. Babcock (Yes, I blog)
    48. Re:Bloat. by spitzak · · Score: 1

      Yes I think it is common for a dynamically linked executable to be used, but it has rpath set to a relative directory and it is also shipped with .so files for everything. This does mean you can often remove/rename these .so files and use the central ones. GoogleEarth for instance had an old version of Qt that did not do antialiased text, and you could fix this by simply removing their Qt so files.

  2. How big is Chrome? by serviscope_minor · · Score: 1, Interesting

    How big is chrome?

      $ls -lh /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17
    -rw-r--r-- 1 root root 953K Apr 15 2013 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17

    And libc is a mere 1.8M.

    There are plenty of very well battle tested ways of targeting C code to multiple systems.

    I think I'm going to stuff mine into libreoffice. That's only a few hundred meg and a start up time of a second or two.

    --
    SJW n. One who posts facts.
    1. Re:How big is Chrome? by tibit · · Score: 1

      You're just being obnoxious here. You seriously think that the stuff they're after is in the C++ standard library? Most of it, like 95% of it, isn't, and what is, is already used as-is by Chrome code.

      --
      A successful API design takes a mixture of software design and pedagogy.
    2. Re:How big is Chrome? by Anonymous Coward · · Score: 0

      You're seriously comparing the standard C library to the chrome run time? is this a joke or are you just that ignorant? This is like telling people they don't need a computer: here's a screw driver, you can just build all that other stuff. Geez, why so lazy?

    3. Re: How big is Chrome? by Anonymous Coward · · Score: 0

      Um, you did notice the title of the article?

    4. Re:How big is Chrome? by HiThere · · Score: 1

      That's pretty much irrelevant. He's talking about using the Chrome libraries, so the linker will strip out any unused functions.

      What this means is that it's likely providing a bunch of useful functions above and beyond the standard library. The problem is, he only talks about those routines in such general terms that you can't figure out whether they're useful, and he doesn't give any links to documentation, so you don't even know if they're documented.

      N.B.: You *could* check the source and see if it was documented, if you were interested enough, but why pick this set of libraries instead of the ones you already know about? You need to be pretty much sold ahead of time. My wild guess is that they don't have any decent documentation, or he would have linked to it, but that *is* just a WAG.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
  3. It makes sense by Anonymous Coward · · Score: 0

    Chrome is a complete OS running on top of another complete OS.

    1. Re:It makes sense by qubex · · Score: 1

      I think he’s referring to the Chrome/Chromium browser, not the Chrome browser-on-linux self-contained-computing-environment thing.

      --
      "Place me in the company of those who seek Truth, but deliver me from those who believe to have found it."
    2. Re:It makes sense by maxwell+demon · · Score: 1

      You mean, you can run Chrome in Emacs?

      --
      The Tao of math: The numbers you can count are not the real numbers.
    3. Re:It makes sense by Anonymous Coward · · Score: 2, Funny

      Probably. Emacs runs lisp, for which a large variety of javascript implementations exist. x86 simulators for javascript do also exist. On these, some kind of operating system can be booted (be it windows or linux or whatever), on which the related version of chrome should be able to run.

    4. Re:It makes sense by Anonymous Coward · · Score: 0

      Only if you run Emacs in Chrome first.

    5. Re:It makes sense by peragrin · · Score: 1

      no but you can run emac in chrome

      Look for emac mode chrome ext.

      --
      i thought once I was found, but it was only a dream.
    6. Re:It makes sense by CdBee · · Score: 5, Funny

      the real trick is to start chrome browser, start Fabrice Bellard's javascript x86 virtual machine in Chrome, start Chrome OS on the VM, start Chrome on Chrome OS, then once you've got an infinite software defined hardware loop running, just unplug the physical hardware and put it away

      --
      I have been a user for about 10 years. This ends Feb 2014. The site's been ruined. I'm off. Dice, FU
  4. Re: mad. ave. storm typers underwhelmed with hobby by Anonymous Coward · · Score: 0

    ...the fuck?

  5. And also... by serviscope_minor · · Score: 5, Interesting

    From TFA:

    Unless you are building your app for Windows 3.1, chances are that you want to talk to a server of some kind.

    Why does everyone assume that everyone else is doing stuff exactly like them? For work I don't think I've ever written code that makes any kind of network calls.

    In fact the main reason for me not to use any of the "highly optimized interfaces" they provide is that professionally none of them are of the slightest bit of use to me. It's interesting but there are more programs in this world than web-2.3.1-rc4 apps for phones.

    --
    SJW n. One who posts facts.
    1. Re:And also... by Anonymous Coward · · Score: 0

      Yeah, well, you know, that's just, like, your opinion, man.

    2. Re:And also... by maxwell+demon · · Score: 5, Funny

      Unless you are building your app for Windows 3.1, chances are that you want to talk to a server of some kind.

      That's true: Sooner or later I get hungry, so I'll go somewhere to eat and ask the server to give me some food.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    3. Re:And also... by Anonymous Coward · · Score: 0

      To be fair, if the author is the type of person who says that he is "building an app" rather than writing a program, he probably can't imagine doing something that is not related to the web.

    4. Re:And also... by sunderland56 · · Score: 1

      What if I want to run my code *on* a server? Does this newfangled Chrome thingy run on Solaris/AIX/IRIX/HPUX/etc?

    5. Re:And also... by Anonymous Coward · · Score: 0

      Main thinking behind the assumption: If you want to get heaps of money thrown at you for no good reason, you really need to have your app talking to a server. Otherwise, your app will actually have to make lots of money in order for you to make lots of money.

    6. Re:And also... by Anonymous Coward · · Score: 0

      What if I want to run my code *on* a server? Does this newfangled Chrome thingy run on Solaris/AIX/IRIX/HPUX/etc?

      What, you mean actually owning the hardware and a compiled executable that runs on said hardware that you own?

      How the fuck could we monetize that? How would we keep you on our upgrade treadmill if you weren't dependent on a third-party cloud provider for your data storage, a fourth-party web browser's libraries for our dependency path, and a fifth-party's app store to keep pushing "upgrades" on you after you're hooked? That's agile! Continuous delivery! Won't someone please think of the career interests of the webdevs?

    7. Re:And also... by Anonymous Coward · · Score: 0

      Unless you are building your app for Windows 3.1, chances are that you want to talk to a server of some kind.

      That's true: Sooner or later I get hungry, so I'll go somewhere to eat and ask the server to give me some food.

      Let me guess, your server is named "sudo" and you like sandwiches?

  6. Mozilla NSPR by abies · · Score: 5, Interesting

    I have a strong feeling of deja vu - I have heard same pitch about Mozilla NSPR (https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR). Same thing - base library for many platforms, which is very well tested, developed for the needs of browser coding, but not really tied to hmtl rendering in any way.

    So, assuming I want to be hipster should I:
    - use NSPR, because it was available before reusing browser base libraries went mainstream
    or
    - use Chrome library, because really cool guys use Chrome rather than Firefox
    ?

    1. Re:Mozilla NSPR by maxwell+demon · · Score: 4, Funny

      Obviously you should make your product cross-platform by supporting both NSPR and Chrome ;-)

      --
      The Tao of math: The numbers you can count are not the real numbers.
    2. Re:Mozilla NSPR by Anonymous Coward · · Score: 0

      Isn't that the argument for writing your product in Flash or Silverlight?

    3. Re:Mozilla NSPR by rvw · · Score: 2

      So, assuming I want to be hipster should I:
      - use NSPR, because it was available before reusing browser base libraries went mainstream
      or
      - use Chrome library, because really cool guys use Chrome rather than Firefox
      ?

      As hipster and nerd, you should DYOFF (Develop Your Own Fucking Framework)!

    4. Re:Mozilla NSPR by zakeria · · Score: 0

      I've been using NSPR for this reason for years !

    5. Re:Mozilla NSPR by Florian+Weimer · · Score: 3, Informative

      And Apache has the Apache Portable Runtime, with similar goals, but probably geared more towards writing server code.

    6. Re:Mozilla NSPR by TheRaven64 · · Score: 1

      And an API that makes the standard Java libraries seem clean, consistent, and concise.

      --
      I am TheRaven on Soylent News
    7. Re:Mozilla NSPR by phantomfive · · Score: 1

      How is NSPR?

      --
      "First they came for the slanderers and i said nothing."
    8. Re:Mozilla NSPR by robthebloke · · Score: 1

      Chrome libs includes a free cloud based backup solution for your data and passwords, all paid for by the NSA.

    9. Re:Mozilla NSPR by Anonymous Coward · · Score: 0

      Sounds like you need Mundees Mustmayostardayonnaise

    10. Re:Mozilla NSPR by bill_mcgonigle · · Score: 1

      serious question - do you have to use XPCOM and all that sort of cruft to do non-XULrunner things with NSPR?

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    11. Re:Mozilla NSPR by abies · · Score: 2

      No, NSPR is really low level. You can think about it as less readable libc+libsocket+libthread, which gives you platform-independent API.
      So, it is
      PRUint32 PL_strlen(const char *str);
      instead of
      size_t strlen ( const char * str );
      (saves you from worry about what size_t is on given platform). And every other function you know from above libraries will be converted into some with strange prefixes, but well defined data types.
      Well, there are few other goodies like hashtables, but generally it is about being really portable.

    12. Re:Mozilla NSPR by HiThere · · Score: 1

      Also note that the Apache Portable Runtime is highly lacking in introcuctory documentation. What it has is DOxygen generated comments for poorly documented routines. They're probably quite adequate if you already know what they do, and just need reminding, but otherwise....sheesh!

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    13. Re:Mozilla NSPR by bill_mcgonigle · · Score: 1

      Nice. Thanks for the info.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    14. Re:Mozilla NSPR by Anonymous Coward · · Score: 0

      Obviously you should make your product cross-platform by supporting both NSPR and Chrome ;-)

      Someone should make a library for that...

  7. Applications in a Web Browser? by Anonymous Coward · · Score: 2

    LOL. The 90s are calling, they want their Java applets back.

    On a side note, articles containing the phrase "business logic" can be safely ignored as irrelevant trash.

  8. Plugins. by ElectraFlarefire · · Score: 0, Offtopic

    So Google.. the company that made such a huge thing out of HTML5 and how they hated flash and wanted to do away with plugins..
    Have now made their own plugins? That only works in their own browser.. But don't worry! They own it, and they say it's the best, so it's apparently quite all right...
    "The more things change, the more they stay the same." I think is the line.

    1. Re:Plugins. by Anonymous Coward · · Score: 0

      Mod parent up.
      I am not sure if GOOG actually pushes for it being a framework, or just the writer is a GOOG sucker and he thought for it to be a good idea.

    2. Re:Plugins. by Anonymous Coward · · Score: 0

      Chrome and Mozilla are phasing out NPAPI support. NPAPI served a need at the time but is a security issue and doesn't offer easy cross-platform support as it did back when everyone ran on Windows.

      Write against HTML5 and whether running on Chrome on a Linux laptop on x86, Firefox on ARM, Nook, or on the computing device on the headrest on a Southwest flight, the code is the same. HTML5 doesn't yet have the code library of Flash, but I'm certainly not sad to see it and all the other poorly written NPAPI plugins go away.

      The more things change, the more we have to... you know, change. It's cyclical at best, but it's certainly not the same. Technology changes and trite comments that the state of technology hasn't changed doesn't mean it is so.

    3. Re:Plugins. by Gavagai80 · · Score: 4, Interesting

      This has nothing to do with plugins. Chromium is open source, this is about using chromium source code in other projects. Does not require the Chrome browser to be installed on the system.

      --
      This space intentionally left blank
    4. Re:Plugins. by gbjbaanb · · Score: 4, Informative

      WTF? You didn't read the article did you.

      nothing about plugins - its about leveraging the libraries than Chromium uses to build Chrome. In that, you can leverage those same libraries to build whatever you like. Its got fuck all to do with plugins, or Chrome itself for that matter.

    5. Re:Plugins. by ElectraFlarefire · · Score: 1

      I must admit I skimmed very quickly indeed and seem to have missed several things.
      The 'Chrome Apps' thing has just been causing me problems trying to use Google products on no-blessed platforms and I reacted without thinking.
      Sorry.

    6. Re:Plugins. by Anonymous Coward · · Score: 0

      Congratulations, though, on getting a +3, Insightful (as of now) comment while still being completely off-topic.

      Imagine what you could do if you actually read the stories you reply to!

    7. Re:Plugins. by tibit · · Score: 1

      This should be more like -5, Gone Full Retard.

      --
      A successful API design takes a mixture of software design and pedagogy.
    8. Re:Plugins. by Anonymous Coward · · Score: 1

      This has nothing to do with plugins. Chromium is open source, this is about using chromium source code in other projects. Does not require the Chrome browser to be installed on the system.

      Oh, so the point is "You can use third party libraries to save you time when developing your code."? Gosh, what an insight!

  9. How about no? by loufoque · · Score: 3, Informative

    Pretty much all the features they need are standard features or are better addressed by a dedicated library.
    Also it's more a framework than a runtime. Learn the difference, it could save your life.

  10. Funny by msobkow · · Score: 2

    When I think "business logic" I'm usually thinking "RDBMS interface".

    What does Chrome's library do to deal with business data?

    Nothing.

    --
    I do not fail; I succeed at finding out what does not work.
    1. Re:Funny by tommeke100 · · Score: 1

      It just means you don't have to write or worry about "boilerplate code".

  11. or not by smash · · Score: 3, Insightful

    Lets talk about this again in 12 months. Given the NSA bullshit, Chrome, Apple and Microsoft all being involved, I'm not sure people are going to be keen on yet another layer of abstraction for surveillance to be hidden in.

    --
    I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
    1. Re: or not by Anonymous Coward · · Score: 0

      Making it bold isn't going to make it any less gibberish to most folks.

  12. Getting better by Anonymous Coward · · Score: 0

    At concealing ads as actual articles. The AI is getting smarter. Fuck!

  13. Let's replace NPAPI with 10 new standards! by Anonymous Coward · · Score: 0, Offtopic

    For those of you who don't know, NPAPI is the common interface used by several browsers that allowed plugins to be written: Flash, Silverlight, Facebook Video, etc. Lately there's been a lot of talk about NPAPI being blocked by default, and will be completely removed from future versions of various browsers. While there are plenty of issues with this standard (The least of which is noticeable because the N stands for Netscape), everyone's solution seems to be a resounding "We've got our own new, similar way to do this that offers X, Y, and Z, is better because of this, and if you want to participate in the future you should use it.

    Just googling replacements for NPAPI gives a huge list of new alternatives, each of which seem to be supported by only one browser. As a developer, I'm not looking forward to this.

    1. Re:Let's replace NPAPI with 10 new standards! by tibit · · Score: 0

      You do know, you raving lunatic, that the fine article has got nothing, nothing at all to do with plugins, and nothing to do with NPAPI? Informative, my ass. Another fucking idiot. Why do people, who see "Chrome" and "API" in the same paragraph, automatically think it has got anything to do with web-browser-centric development? The whole point is that they are using the platform abstraction code, present in any large cross-platform software project. Firefox got it, Chrome got it, LibreOffice got it, many cross-platform application development frameworks have it. What's so hard to wrap your head around that?

      --
      A successful API design takes a mixture of software design and pedagogy.
    2. Re:Let's replace NPAPI with 10 new standards! by Anonymous Coward · · Score: 0

      Obviously a lot of people misinterpreted the point of this article. Maybe it's a bad summary, maybe they all just started responding to the early comments, I don't know. But you come across as much more of a 'raving lunatic' than the OP responding with a profanity laden rant. I bet you could get your point across just as good, if not better, by simply informing the poster that they misinterpreted the article. People make mistakes, and rushing in with your guns blazing to yell at every person who did makes you much more of 'another fucking idiot' than any of the people here that posted about plugins.

      Civil discourse. It may be the internet, but it's still a thing.

  14. No by Anonymous Coward · · Score: 1

    Chrome Is the New C Runtime

    No, it's not. Use the proper APIs on your target systems. But considering the authors name is Sanjeev Radhakrishnan and he's blogging "from the uncloud", what did I expect?

    1. Re:No by Anonymous Coward · · Score: 0

      Jesus Christ, I thought you were joking about the author's name and the blog's tagline, but you aren't.

      What the fuck has happened to our industry? If it isn't the on-shore JavaScript-and-Ruby-loving hipster dipshits fucking things up, then it's off-shore third-worlders spewing buzzwords. What a sad, sad state of affairs.

    2. Re:No by tibit · · Score: 2

      Those "proper" APIs are usually chock full of bugs ("features"), intricacies, and generally can be a pain to work with. All this has been handled by people who develop the platform abstraction. You really need to go out more and look at how convoluted real-life cross-platform code is. All this crap took long time and lot of effort to get done. You can use it and get ahead, or you can reinvent the wheel, usually in a buggy way. Your choice.

      --
      A successful API design takes a mixture of software design and pedagogy.
  15. Re:mad. ave. storm typers underwhelmed with hobbyi by jones_supa · · Score: 0

    Well, the secretive undertones of the can are about to temper at some point anyway. Why not simply adjust to the tougher hue and dispatch the categories of mirror images.

  16. Re:mad. ave. storm typers underwhelmed with hobbyi by sa666_666 · · Score: 1

    Hmm ... What ???

  17. Aside from the obvious security issue... by hyades1 · · Score: 3, Insightful

    ...why would any sane person build their whole business on Google, with its reputation for pulling the plug on projects for no obvious reason, little or no warning, and absolutely no interest in granting stays of execution?

    Seems like a recipe for disaster.

    --
    I've calculated my velocity with such exquisite precision that I have no idea where I am.
    1. Re:Aside from the obvious security issue... by tibit · · Score: 3, Informative

      Seems more like an understanding fail to me. Their business is not built on Google. It's built on a platform abstraction library that currently works for their intended uses. It's a closed book, they don't need any further involvement from Google. If they want to, they can fork it and maintain it themselves. They've already got a big trampoline so it'd still be less work to maintain that code than to come you with a yet another in-house, buggy, under-tested "framework".

      --
      A successful API design takes a mixture of software design and pedagogy.
    2. Re:Aside from the obvious security issue... by Bing+Tsher+E · · Score: 1

      You work for Google, in sales. Amiright?

    3. Re:Aside from the obvious security issue... by rubycodez · · Score: 0

      you sound like someone butt-hurt because google pulled the plug on their favorite free niche geek toy. google doesn't owe you any free service, and this article is not about anything based on one of google free service trial balloons

      you want an internet service with guarentees, get out of your mom's basement, get a job, and pay for one.

    4. Re:Aside from the obvious security issue... by swillden · · Score: 1

      Google, with its reputation for pulling the plug on projects for no obvious reason

      That reputation is a product of /. groupthink, not reality. The reality is that Google has a history of pulling the plug on projects that aren't successful, niche products used only by a tiny percentage of the user base.

      Chrome, however, is wildly successful. Plus, the code is all open source and has an active developer community outside of Google. Google isn't going to drop Chrome, and even if Google did, Chromium wouldn't be going away any time soon.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    5. Re:Aside from the obvious security issue... by hyades1 · · Score: 1

      And you sound like a hobo who gets most of their calories from all the semen you guzzle in public toilets.

      So how about you get back on your knees and have some breakfast.

      --
      I've calculated my velocity with such exquisite precision that I have no idea where I am.
    6. Re: Aside from the obvious security issue... by Anonymous Coward · · Score: 0

      I can tell by your name that you offer nothing of importance to any convo. rubycodez? go write some more ruby tutorials on how to code your way out of your moms basement.

    7. Re: Aside from the obvious security issue... by rubycodez · · Score: 1

      hit a nerve in your carcass, did I?

    8. Re:Aside from the obvious security issue... by tibit · · Score: 1

      No. And google doesn't really get any benefits from people reusing Chrome's portability layer. Their salespeople couldn't care less about this.

      --
      A successful API design takes a mixture of software design and pedagogy.
    9. Re: Aside from the obvious security issue... by hyades1 · · Score: 1

      You shouldn't talk with your mouth full. :-)

      --
      I've calculated my velocity with such exquisite precision that I have no idea where I am.
  18. i7: It's called JAVA by Anonymous Coward · · Score: 1

    This is how bloat begins: with an apparently clever insight that ignores actual common sense.

    Yeah, and soon we'll need i7s to run 'Hello World'.

    10 years ago, ...

    and ..

    Out of necessity, the Chrome team has created cross-platform abstractions for many low-level platform features. We use this source as the core API on which we build our business logic, and it's made the bulk of our app cross-platform with little effort.

    20 years ago, Java was invented to do all of this and it has been tested even MORE than Chrome.

    Geeze! I think all CS programs should have CS history. What next? Someone is going to 'figure' out how to page memory?

    I have this idea to allow objects to be moved without having to pick them up or slide them, it's based on a circle, it called a Pi Mover (TM) and with an Axel (TM - NOT axle) and another Pi Mover, you can amplify your strength!

    Yep, I'm looking for VC funding ...

  19. It's just the hipster ignorance yet again. by Anonymous Coward · · Score: 4, Interesting

    The software development industry used to consist of professionals. These were people who knew enough to know that not everybody works on networked software.

    Then sometime around 2006 to 2008, the whole "Web 2.0" phenomenon started. It flooded the industry with hipsters. These are people who have no technical or professional training. They just like wearing fedora hats, glasses with no lenses, and expressing "opinionated" ideas about stuff they know nothing about.

    To them, "software development" does not extend beyond JavaScript and Ruby on Rails. They don't know assembly, C, C++, or even Java and C#. They don't know about embedded software. They don't know about industrial control systems. They don't know about financial, scientific and engineering modeling software. To these people, all there is is web development. They can't even conceive the idea that there might be software that isn't networked.

    Hipsters are an infection upon the software industry. They bring nothing but ruin and stupidity.

    1. Re:It's just the hipster ignorance yet again. by martin-boundary · · Score: 1
      Except the industry has had several waves of clueless "programmers" flooding it before already (eg dotcom - 'nuff said)

      People who truly know what they're doing have always been few - hmm, I guess that explains a lot.

    2. Re:It's just the hipster ignorance yet again. by Sponge+Bath · · Score: 2

      Then sometime around 2006 to 2008, the whole "Web 2.0" phenomenon started. It flooded the industry with hipsters.

      Fiber is OK for the masses, but the bits sound "warmer" when transported by avian carriers.

    3. Re: It's just the hipster ignorance yet again. by defcon-11 · · Score: 1

      Hipsters didn't kill non-networked code. Amazon did. No manager is going to shell out for a big iron Sun box these days when your "scientific, financial, engineering" analysis code can run on a couple dozen ec2 nodes for a quarter of the price.

    4. Re:It's just the hipster ignorance yet again. by Anonymous Coward · · Score: 0

      Hipsters are an infection upon the software industry. They bring nothing but ruin and stupidity.

      s/software industry/world/

      FTFY!

  20. Non-native controls by Anonymous Coward · · Score: 1

    Everybody love non-native controls!

    http://youtu.be/X7b0AwVTx8g?t=31m10s

  21. please by Anonymous Coward · · Score: 0

    1. logically it just semms stupid to have a non-network related application dependent upon chrome source code.
    2. there exists already battle hardened and well tested libraries ideally suited for cross platform development. think libevent.
    3. those libraries which are open soured have extensive support and are thus not dependent upon some large corporate entity.
    4. yes, there are applications, such as medical imaging applications, which have fuck all to do with a network and should in fact not access any network of any kind.
    5. c++ , driven by boost development, has undergone a revolution in the last couple of years which means that platform issues, while still a concern, are not the disaster that they once were.
    6. the author of the article use to work for google.
    7...you get the idea

  22. Java as the cure for "bloat"? What the fuck, son? by Anonymous Coward · · Score: 1, Insightful

    What the fuck? Are you seriously claiming that Java is less bloated that the C and C++ libraries underlying Chrome?

    Come on. Have you ever worked with the JVM? It is by far the slowest, ugliest, most bloated cross-platform runtime there is. Java makes Mozilla's XUL/JavaScript monstrosity look clean and efficient!

    A lot of hipsters will claim "The JVM is a great runtime!", but that's only because they're neck-deep in the latest Scala and Clojure crap, and they're resorting to the most unrealistic and misleading micro-benchmarks known to mankind to support their nonsense claims. They also have never used C or C++, and really have no idea what efficient software without any bloated external runtime is actually like.

    Java isn't even that portable compared to C, C++, or even Python, for crying out loud. Modern versions of those run on systems where no JVM exists, or if it does exist, it's an ancient version from years ago.

    At this point, Java and the JVM should be treated as an experiment that got out of hand. Yes, we'll be supporting Java-based software systems for decades to come, but that's no reason to use it for new systems, or to pretend like you do that it's somehow "less bloated" than real software developed using C or C++.

  23. So... by Anonymous Coward · · Score: 1

    ...which C runtime is Chrome using?

  24. No. by GrahamJ · · Score: 1

    I don't want to use a base library supported by a huge ad network, thanks.

  25. It sounds more like by Anonymous Coward · · Score: 3, Funny

    They should have chosen Java instead of C++ in the first place.

  26. writing abstractions is not hard by Anonymous Coward · · Score: 0

    Write them faggot!

  27. Jesus Slashdot by gbjbaanb · · Score: 5, Insightful

    this is worse that usual, I read the article (well, skimmed through it) and all the guy is saying is: Chrome is built on some libraries that you can pick and chose and build your own programs using. So if you need a http server or xml lib or any other of the myriad bits that Chrome needs, there's a nicely set up way of getting all those for free, and cross platform. Then he describes the library-picker tool and how it can create project files for various platforms to make your life easier.

    But all the comments in /. are:

    why would you build it on big old bloated Chrome (I assume the browser);

    but that's what java was designed for;

    but that's way bigger than libc;

    So google now want us to write plugins instead of HTML5

    and so on, no-one really got what the article was about, thinking its somehow building programs inside Chrome, or using Chrome as a kind of new webkit.

    Pathetic. I blame the editoral summary TBH, but the kids here just got to a new low in not RTFA.

    1. Re:Jesus Slashdot by marcello_dl · · Score: 1

      Maybe they are kids, maybe they are old dogs who got burned by environments who were devise to be weaponized, increasing some corporations' hold on the market. It is irrelevant to scream "but it is open source!", google itself has shown how raw engineering power can be used to control a project with android.

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    2. Re:Jesus Slashdot by ElectraFlarefire · · Score: 0

      Where are my mod points! I want go give! Mod it up!
      Just because the words where wrong doesn’t mean the reactions weren't.

    3. Re:Jesus Slashdot by Anonymous Coward · · Score: 0

      Anonymous Coward also took notice to this, and agrees. The comments are way off base, but the reinforcing modding really takes it to another level.

    4. Re: Jesus Slashdot by Anonymous Coward · · Score: 0

      I wouldnt blame the editors on this. Even from the title I already knew where this was going. I would blame reading comprehension, rush to comment and plain stupidity. I really don't see where people saw the word "plugin" or "inside Chrome".
      Also, the article is pretty clear on the problem and the solution this guys approached, which I think is pretty clever.

    5. Re:Jesus Slashdot by reikae · · Score: 2

      this is worse that usual, I read the article (well, skimmed through it)

      This is a serious condition. Luckily a few more Bitcoin and Samsung lawsuit articles should make it go away.

    6. Re:Jesus Slashdot by PeerPressure · · Score: 1

      I blame the headline.

  28. Because slashdot is still in 1999 mode. by Anonymous Coward · · Score: 0

    Just a shit new UI design. Come to reddit where it's -6 with no comments:

    http://www.reddit.com/r/programming/comments/1vhfys/chrome_is_the_new_c_runtime/ ;-)

  29. Why are native API's stuck in the 80's? by amorsen · · Score: 1

    In 2014, why do we need non-native libraries to handle DNS lookups, crash reporting, logging? Surely these are part of what a proper platform should offer, yet none of them do. It is pretty sad when at least one GUI toolkit (QT) feels the need to include a networking API.

    --
    Finally! A year of moderation! Ready for 2019?
    1. Re:Why are native API's stuck in the 80's? by Noughmad · · Score: 1

      Because you don't want to use differents API for DNS lookups on different platforms, you want to "write once, run everywhere". Considering the above-mentioned Qt already exists, I thought this was a solved problem, but apparently Chrome-fans have to reinvent the wheel.

      --
      PlusFive Slashdot reader for Android. Can post comments.
    2. Re:Why are native API's stuck in the 80's? by amorsen · · Score: 1

      So your proposed solution is that every platform should just include QT networking? Fair enough. It would certainly be an improvement. It would be nice with a C API as well though.

      --
      Finally! A year of moderation! Ready for 2019?
    3. Re:Why are native API's stuck in the 80's? by tibit · · Score: 1

      Exactly. Qt is an application development framework. Networking is done differently on every fucking platform.

      --
      A successful API design takes a mixture of software design and pedagogy.
    4. Re:Why are native API's stuck in the 80's? by Anonymous Coward · · Score: 0

      Every native API of a networking OS offers some sort of logging, crash reporting, DNS-lookup, et cetera facility. The APIs are different, it's expectable, and it's not going to change unless different OS converge.

      If you need to target more than one operating system, however, you either need to write separate code for each operating system or use cross-platform libraries such as Qt.

    5. Re:Why are native API's stuck in the 80's? by amorsen · · Score: 1

      Every native API of a networking OS offers some sort of logging, crash reporting, DNS-lookup, et cetera facility.

      There is no decent DNS-lookup and connection establishment C API in standard Unix. You are left to implement e.g. Happy Eyeballs (RFC 6555) on your own. You can of course use the low-level API's to send AAAA and A requests on your own, but there is no way to just say "give me a socket to google.com on port 80" and have it do the right thing.

      Cross platform is something else entirely, that would be wonderful, but something platform specific would be OK too.

      --
      Finally! A year of moderation! Ready for 2019?
    6. Re:Why are native API's stuck in the 80's? by fyngyrz · · Score: 1

      There is no decent DNS-lookup and connection establishment C API in standard Unix.

      Yawn. Python. With great C bindings. :)

      --
      I've fallen off your lawn, and I can't get up.
    7. Re:Why are native API's stuck in the 80's? by amorsen · · Score: 1

      Absolutely. The higher-level languages do a much better job of this.

      --
      Finally! A year of moderation! Ready for 2019?
    8. Re:Why are native API's stuck in the 80's? by Noughmad · · Score: 1

      Some C programmers, when confronted with a cross-platform problem, think "I know, I'll embed the Python interpreter." Now the program is not fast enough to calculate how many problems they have.

      --
      PlusFive Slashdot reader for Android. Can post comments.
  30. this is not runtime by Anonymous Coward · · Score: 0

    i would not call this c runtime , this is huge library for programming . not "C Runtime" specifically

  31. What, it's full of buffer overflows? by lseltzer · · Score: 1

    (nt)

  32. Re:Java as the cure for "bloat"? What the fuck, so by tibit · · Score: 4, Insightful

    There is a very efficient, hardware-assisted Java runtime available from Azul, but that pretty much just proves your point. You need dedicated hardware to make Java scream.

    Modern C++, if you're not dumb about how you use it, lets you avoid all of the C's unsafety, automagically, and it can enforce many safety constraints for you at compile time, too. I don't really understand why anyone writing big, scalable server applications would want to use Java when running the same stuff on C++ will cost you less in datacenter power & cooling.

    --
    A successful API design takes a mixture of software design and pedagogy.
  33. Not the first by w_dragon · · Score: 2

    This guy talks like this is some new idea, but there are excellent libraries that already provide this stuff. A quick look at the list tells me that boost and openssl cover most of the functionality, and unlike chromium they are made to be libraries, so you can be pretty confident they work under all conditions and the developers won't screw around with the api between versions.

  34. Yet another cross-platform API by TheloniousToady · · Score: 4, Interesting

    Though I found TFA interesting, it seemed like actually doing what it suggested would be equivalent to learning a large new cross-platform API. Compared to the familiar wxWidgets, QT, and GTK+, the Chrome API may have some advantages in terms of features, but I doubt it would be nearly as well documented. It would probably be a pretty big mountain to climb.

    Regardless of which of these things you adopt (or even Java), you always have the basic problem of learning a large API, so it's hard to commit to more than one of them. So, although the idea of using the Chrome source as a cross-platform API is interesting, I wouldn't actually get involved unless it offered something that I actually needed which the other cross-platform toolkits didn't already provide.

  35. Re:Java as the cure for "bloat"? What the fuck, so by TheRaven64 · · Score: 4, Informative

    Azul stopped chip development a few years ago. They found that the speed benefits in GC with their custom hardware were offset by the fact that everything else was slower than on a commodity x86 chip. They now primarily sell x86 systems, and do some insane stuff with the page tables to make the GC fast.

    --
    I am TheRaven on Soylent News
  36. Re:mad. ave. storm typers underwhelmed with hobbyi by akozakie · · Score: 1

    Thanks for resetting my mind. I was a bit stressed today, but after reading this I don't even remember why.

    WTF did I just read?

  37. Idiotic headline by Anonymous Coward · · Score: 0

    Pretty stupid headline for someone saying "we're getting good mileage out of using the libraries that Chrome uses". So has my company, and we're not limiting ourselves to Blink/V8 - there's also Gecko, Webkit, and a whole WORLD of software out there. Standardizing on just the Blink libraries because they're convenient is a recipe for disaster.

  38. No. by Anonymous Coward · · Score: 0

    Qt is. HTH.

  39. 2x performance improvement?! by Anonymous Coward · · Score: 3, Insightful

    Holy moley, I can't believe what I'm reading.

    Your claimed "2x performance gain" is usually actually 10 to 15 times, for real-world software written in C++ versus Java, and 25 to 50 times for software written in C++ versus JavaScript or Ruby.

    Don't bother trotting out your totally unrealistic Fibonacci sequence micro benchmarks where some Rubyists or Javaists have spent months highly tuning some Ruby or Java code so it's only 5 times slower than the equivalent unoptimized C++ code. That's not the kind of Ruby or Java code that exists in the real world.

    And modern C++ is an extremely efficient language to program in. Maybe you're ignorant of C++11, but it adds many high-level language features that we don't even see in Java yet. C++ also has very mature tooling and libraries which further makes it very fast to develop with.

    1. Re:2x performance improvement?! by Wootery · · Score: 1

      Don't bother trotting out your totally unrealistic Fibonacci sequence micro benchmarks

      Indeed, it's difficult to demonstrate real-world performance advantages. From where, then, are you getting your numbers?

    2. Re:2x performance improvement?! by ahabswhale · · Score: 1

      Out of his ass. A lot of people still think of Java 1.1 when they think of Java performance. They don't know things like Java is much faster at object creation than C++ or that it can optimize its performance at runtime based on usage (which C++ cannot do). They also think Java loads classes even if they are not used just because they are included in a reference jar file.

      --
      Are agnostics skeptical of unicorns too?
    3. Re:2x performance improvement?! by Wootery · · Score: 1

      They don't know things like Java is much faster at object creation than C++

      True, but don't forget the GC has to run some time. Faster allocation doesn't necessarily mean reduced overall time spent on memory-management.

      or that it can optimize its performance at runtime based on usage (which C++ cannot do).

      Also true, but profiling C++ compilers are out there.

      They also think Java loads classes even if they are not used just because they are included in a reference jar file.

      I've seen a similar misunderstanding regarding Java's import keyword.

  40. What better name? by tepples · · Score: 1

    What's a better term than "business logic" for that which should be kept separate from presentation? There's "game logic", but that too is domain-specific. "Application logic" perhaps?

    1. Re:What better name? by Daniel+Dvorkin · · Score: 2

      What's a better term than "business logic" for that which should be kept separate from presentation? There's "game logic", but that too is domain-specific. "Application logic" perhaps?

      Yes, I think "application logic" would be good. The problem with "business logic" is that it's domain-specific too; an awful lot of interesting algorithm development and implementation is taking place outside the realm of what would normally be considered business applications. Games are one example; scientific programming is another. In both cases, many of the principles that are useful in business programming can be usefully applied, but the purpose of the final application is very different.

      --
      The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
  41. -moz-subject, -webkit-subject, -ms-subject by tepples · · Score: 1

    The code isn't the same so long as 1. HTML5 prefix hell is allowed to continue and 2. companies like Apple continue to deliberately leave things like WebGL and getUserMedia unimplemented.

  42. Like Java by YoungManKlaus · · Score: 2

    > "Out of necessity, the Chrome team has created cross-platform abstractions for many low-level platform features.
    like java
    > We use this source as the core API on which we build our business logic,
    > and it's made the bulk of our app cross-platform with little effort.
    like java
    > Most importantly -- Chrome code has been battle-tested like almost nothing else,
    > with an installed base in the hundreds of millions.
    like java

    so I kind of dont see a difference to just using what would be considered a higher-level language.

  43. 10+ Years Ago - Mozilla by turgid · · Score: 0

    A good 10 years ago now (or was it 11?) the Mozilla folks were touting the "browser is the platform" and suggesting that people right their applications to target the browser to get cross-platform portability.

    They had a good point, since Firefox was and is cross-platform.

  44. Re:Compete by Anonymous Coward · · Score: 0

    Start your own router business and build it then sell it if you could do better!

  45. Re:A Lot of Code by Anonymous Coward · · Score: 0

    Depends on your definition of bloat, C and C++ there does seem to have a lot of CODE BLOAT!

  46. Longer by bussdriver · · Score: 1

    Mozilla was being used as a platform more than 10 years ago; not the browser but the framework underlying it which powered the browser, email client, irc chat, etc. I remember seeing a few books on it before Chrome even existed.

    Apache has been running on everything forever; one could say similar things about using Apache for writing server software... in fact long before Chrome they made the common elements into a library called the Apache Runtime Library.

    Lets not forget all the general frameworks out there which are not without their own complications but they are DESIGNED for this purpose instead of a spin off side project that is closely coupled to a single purpose.

    All that said, making an HTML5 app with hooks into a browser engine looks to be the most portable with the least long term maintenance (aside from the issues with javascript - which are more style than language related, just like C++ it gives you plenty of rope with which to hang yourself.) More labor upfront, you bet it is... but to support every device quickly and not have to suffer every system upgrade (and support many versions of systems,) it probably pays off - more so with time.

  47. Wow, feel the skepticism by Anonymous Coward · · Score: 0
    Slashdot really is a place full of software experts. Propose something software related and people chime in with their opinions on why it can't work or doesn't make any sense.

    But talk about 3D printers or private space colonies, and there are no skeptics, because software got better, therefore everything gets better.

  48. Chrome is "battle-tested"? by Anonymous Coward · · Score: 0

    As a web developer I like to use standards and expect every browser to honor them.
    IE and Webkit (therefore Safari and Blink based browsers) do not. When firefox and opera (pre-blink) work, chrome has a weird display bug and IE crashes or hangs. At least that's my experience with chrome so far.

  49. Re:Java as the cure for "bloat"? What the fuck, so by Anonymous Coward · · Score: 1

    They emulate their hardware in software. So their GC is highly concurrent, reducing latency, but on the whole their JVM is significantly slower than others.

  50. New network model by Anonymous Coward · · Score: 0

    This leads to the new 'thin client' model. A business can have fat servers storing user data in an LDAP format, and users at the business connect with a thin client like a Chrome laptop. Users get all the performance they need, data is secure on company servers, no need for IT to ever have to visit users because their system is 'messed up'. Better, licensing costs are zero, the business can upgrade or not as they desire. The software 'just works'.

  51. This guy doesn't know what I was doing 10. ago by istartedi · · Score: 3, Interesting

    10 years ago, you just whipped out your Visual Studio when you needed a client application, but not anymore.

    No. I whipped out Visual Studio and created a header called plat.h and a source called plat.c. There were no more than 2000 lines devoted to platform issues, vs. something like 40k for the whole thing at its largest point. They allowed my application to run on Windows, Linux and FreeBSD. And yes, it did threads and networking! It used pthreads on Windows, and it worked very well. Eventually, the kernel module component (yes, kernel module) ran on all 3 systems in kernel mode. The plat.h/plat.c business never got out of hand. It was pretty manageable. At some point, we interviewed a manager who wanted us to switch to Eclipse, and couldn't understand how I could do what I did without using Java. Fortunately he was not hired.

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
  52. The 1970's called by Anonymous Coward · · Score: 0

    They want CICS and 3270's back.
    Oh wait.. they never went away..

  53. Re:Java as the cure for "bloat"? What the fuck, so by doublebackslash · · Score: 1

    It isn't that insane. Instead of remapping one page at a time the queue up a number of changes and commit them all at once. This is because on stock Linux every page table re-map creates a lot of cache coherency traffic to make sure all the processors know of the new mapping. By committing them all at once they only need one round of that.

    http://www.azulsystems.com/sites/default/files/images/c4_paper_acm.pdf

    Section 5.1 is where it starts going into some details on that.

    --
    md5sum /boot/vmlinuz
    d41d8cd98f00b204e9800998ecf8427e /boot/vmlinuz
  54. Re:Java as the cure for "bloat"? What the fuck, so by ultranova · · Score: 1

    They also have never used C or C++, and really have no idea what efficient software without any bloated external runtime is actually like.

    Hand-coded assembly in COM format running on DOS and crashing if everything isn't set up as and you don't input exactly what the programmer expected, basically. Good riddance.

    --

    Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

  55. Re:Like XUL based apps? by HiThere · · Score: 1

    Sorry, but which version of Gtk? Gtk3 is pretty much incompatible with Gtk2. so I've stopped paying either version much attention. (The last time I checked, Gtk3 had mad many of the things I was doing with Gtk2 not work, so I stopped active development on the Gtk projects...or switched to other libraries. Admittedly that was several years ago, but I haven't heard many people singing the praises of Gtk since then. Qt, yes, and it has many nice features, along with some I rather dislike, but not Gtk...of course Qt is C++. There's much to be said in favor of C libraries, I'm a lot less convinced about much to be said in favor of Gtk.)

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  56. Re:Java as the cure for "bloat"? What the fuck, so by ultranova · · Score: 2

    Modern C++, if you're not dumb about how you use it, lets you avoid all of the C's unsafety, automagically, and it can enforce many safety constraints for you at compile time, too. I don't really understand why anyone writing big, scalable server applications would want to use Java when running the same stuff on C++ will cost you less in datacenter power & cooling.

    Because as the size and age of the codebase grow towards infinity, the chances of at least one dumb person touching it grow towards one.

    Limiting damage from dumb mistakes is more important than absolutely best efficiency. That's true for all projects, not just programming. It's pretty much the definition of Murphy's Law.

    --

    Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

  57. Re:Bloat by Anonymous Coward · · Score: 0

    Pussy. If you want REAL performance gains, you'd write in Assembly.

  58. Seems like a solid idea by Jeeeb · · Score: 1

    At work we use Skia, the 2d drawing library for Chrome/Android, in a server application, to render charts and graphs based from seismic data into png images.

    The library is a fairly light weight dependency, lightning fast and designed to take advantage of the power of C++, rather than sticking to a C api. However, dealing with Google's custom build system and the relatively sparse documentation made getting started a bit harder.

    Depending on the kind of application being built, I would definitely consider taking advantage of other parts of the Chrome libraries, although they'd have to provide functionality not in Boost or QT.

  59. Chrome and desktop notifications by fyngyrz · · Score: 1

    In a somewhat related bit of news, Google recently emailed me to let me know that they were no longer going to support the desktop notifier, that tool I use each and every day to let me know I have mail. However, Google went on to tell me, I could get that functionality back if I switched to Chrome.

    I'm not going to switch to Chrome. Zero interest. Nice try, though, Google.

    Here's the meat of it:

    Important Announcement on Google Notifier Beta

    We are writing to let you know about an important change to Google Notifier Beta. Starting on January 31, 2014, Google Notifier Beta will no longer be supported, meaning the app will no longer show recent emails and calendar events.

    Since the Google Notifier Beta launched in 2005, a lot has changed. Smart phones can now notify us of new messages wherever we are, and improvements to web technology enable similar features to be built right into the browser.

    If you want to continue to receive notifications, you can use any of the following alternatives to Google Notifier Beta using the Chrome browser:

    --
    I've fallen off your lawn, and I can't get up.
  60. Cloaca.lib by fyngyrz · · Score: 2

    Oh, another one who uses cloaca.lib -- yeah, not only warmer, but you get aimed results and splash damage.

    --
    I've fallen off your lawn, and I can't get up.
  61. Re:Java as the cure for "bloat"? What the fuck, so by Anonymous Coward · · Score: 0

    I'm a C programmer but I use XUL to hack at websites. It's a very fine stuff. What's your problem w/ Xul?

  62. Qt by Anonymous Coward · · Score: 0

    If you're a startup with a small team, you damn well better have a competent team, and a team using Chrome ain't competent.

    If you're a startup with a small and competent team, you'll write your native cross-platform application in C++ with Qt, and have a vast performance advantage over Chromeshit in addition to access to a vastly greater feature set.

    1. Re:Qt by Anonymous Coward · · Score: 0

      Most importantly -- Chrome code has been battle-tested like almost nothing else

      Also, pretty sure that Qt has had a fuckton more "battle-testing" than Chrome. Refer to http://en.wikipedia.org/wiki/Category:Software_that_uses_Qt

    2. Re:Qt by Anonymous Coward · · Score: 0

      Stupid Slashdot failing to automatically make a URL into a link...
      http://en.wikipedia.org/wiki/Category:Software_that_uses_Qt

  63. Re:Compete by aminorex · · Score: 1

    You seem to be missing a dose of reality. A quality product at a discount price typically cannot compete with established manufacturing, distribution and advertising channels. It requires deep pockets and order of magnitude value improvements to succeed against an entrenched player. That's why we don't have flying cards and a Mars colony. Competition is so inefficient as an economic organizing principle that it is literally killing millions every day. Perhaps the only worse principle is central planning.

    --
    -I like my women like I like my tea: green-
  64. Re:Java as the cure for "bloat"? What the fuck, so by Anonymous Coward · · Score: 0

    I prefer D, myself. C++ has its own set of huge, very serious problems.