Live data from Hacker News

Chrome Is The New C Runtime

mobilespan.com

61–70 of 149 posts

Re: Chrome Is The New C Runtime

#61

As someone not at Google, but who's re-used multiple parts of Chromium (as described in the article), the code (especially the stuff under base/) is possibly the best documented large-scale, open-source C++ codebase I've seen.

I haven't worked with Chromium, but the main C++ code-base at Google is like this for the most part too (especially the core stuff). The C++ culture at Google is amazing, and proof that large-scale C++ can actually be really nice if you stay within best practices. It takes a lot of effort and experience from a lot of knowledgeable people to craft these practices, but thankfully Google publishes its C++ style guide (…

> The C++ culture at Google is amazing

Yet the C++ code powering downloads was pretty bad and poorly maintained, written, replaced with Go.

http://talks.golang.org/2013/oscon-dl.slide#10

For sure there are great C++ programmers at Google, but across the company as a whole?

Re: Chrome Is The New C Runtime

#62

Earlier quoted context omitted.

> We were looking for a great cross platform library for native (c++) apps. Isn't that what Qt is for, with the added bonus that it's what Qt is actually for and thus e.g. documented and supported?

Qt is a higher-level application dev framework with UI support (like MFC but cross-platform). We were looking for lower-level constructs - especially in the networking and P2P areas.

Hell, Emacs meets those requirements. I'm half-serious too: org-mode and Gnus are nice pieces of software that don't have anything to do with text editing per se.

There are a lot of cross-platform base libraries out there, many of them (like Qt, GTK/GLib, and Mozilla's stack) well-documented and well-supported. These systems are meant to be reused; Chrome? Not so much. Besides the buzz factor, why would you want to base a product on Chrome instead of one of the codebases designed to be used that way?

Re: Chrome Is The New C Runtime

#64
post #61

Earlier quoted context omitted.

I haven't worked with Chromium, but the main C++ code-base at Google is like this for the most part too (especially the core stuff). The C++ culture at Google is amazing, and proof that large-scale C++ can actually be really nice if you stay within best practices. It takes a lot of effort and experience from a lot of knowledgeable people to craft these practices, but thankfully Google publishes its C++ style guide (…

> The C++ culture at Google is amazing Yet the C++ code powering downloads was pretty bad and poorly maintained, written, replaced with Go. http://talks.golang.org/2013/oscon-dl.slide#10 For sure there are great C++ programmers at Google, but across the company as a whole?

You're extrapolating the rewrite of a poorly maintained C++ server to mean something about the overall C++ quality at Google?

I fully concur with haberman about the state of C++ at Google.

Re: Chrome Is The New C Runtime

#65
post #50

Earlier quoted context omitted.

And what about source and binary compatibility. What are the current guaranties? (his second question) Edit: to be clear after you get your app up and running with the current version how much time has to be spent on ongoing maintenance down the road?

You build the libraries and link them into your libraries. If you maintain a cadence of updating your Chrome checkout every month, you will mostly be OK (though this can vary, of course).

So every month if I update I will be required to fix my application to work with the new versions of the library. Perhaps say 25% of my time will be _only_ on maintenance? And from what I recall things are not deprecated for a while, but very rapidly changed with little to no warning. This was a major headache.

Re: Chrome Is The New C Runtime

#66
it'd be fine if the libs were actually libs, with a documented api (you know, in man, it's nice).

that's not the case tho, and that's why its a blog post and not something everyone and their dog uses.

Re: Chrome Is The New C Runtime

#67

As someone not at Google, but who's re-used multiple parts of Chromium (as described in the article), the code (especially the stuff under base/) is possibly the best documented large-scale, open-source C++ codebase I've seen.

I haven't worked with Chromium, but the main C++ code-base at Google is like this for the most part too (especially the core stuff). The C++ culture at Google is amazing, and proof that large-scale C++ can actually be really nice if you stay within best practices. It takes a lot of effort and experience from a lot of knowledgeable people to craft these practices, but thankfully Google publishes its C++ style guide (…

Avoiding exceptions is a worst practice. The guide even admits they're only doing it because they're so far beyond a critical mass of exception-unsafe code that they've lost hope of solving the problem.

If the profession ever wants to produce anything reliable in C++, one of the first things that needs to happen is to start treating all unsafe legacy code like toxic waste, marking it clearly, handling it carefully in isolation, and disposing of it with prejudice as soon as possible. I don't ever expect to see this, which is partly why I switched to languages that try to handle failures and mistakes gracefully.

Re: Chrome Is The New C Runtime

#69

Hi all, I'm the author of the post. Happy to answer detailed questions on using Chromium as a Dev platform. Any suggestions for a follow-up post?

While interesting, I think the headline is a bit hyperbolic.

The Chromium project doesn't build on many platforms, and the build system they use for it is minimally documented.

While individual bits of code might be reusable on other platforms, I'd be hesitant to base any project I create on Google's codebase given the lack of portability and their reliance on arcane buildsystems.

Re: Chrome Is The New C Runtime

#70
Thanks for bringing this to limelight

Just started experiencing this early on this week via Node Webkit, it is just awesome what NW with Chromium brings to the table.

The first thing that came to my mind is that this should have been there 15 years earlier through Java/Embedded browser. However the powers of the time (read IE) were not interested/even actively blocked embedded browser usage.

Post reply on HN