Hacker News new | ask | show | jobs
by materielle 41 days ago
One important piece of context that might make all these stories less confusing for non-googlers:

Code references are less important inside Google editors, because we have a code viewer tool inside the web browser.

Most people read, explore, follow references, and share permalinks to the view-only tool. It’s a lot better than viewing code in GitHub. It’s super fast, is connected to language servers and can actually trace referenced, and overall has a million little features optimized for reading code.

We also have a code reviewer tool, and a separate tool to run and view CI runs.

So what’s left for the editor? Syntax highlighting?

I would tend to view code, run tests and CI, and review in separate tools specialized for their specific use case. The code editor was just a place where I would type in my changes.

I’d imagine this workflow feels weird to people who learned in one-stop-shop IntelliJ and GitHub world. But I can’t emphasize how much better these other tools were compared to GitHib. So a code editor that also lets me read, review, and test code didn’t really matter for me when I had a collection of smaller tools specialized for each individual task.

6 comments

To make this more concrete, the Chromium source code browser has a subset of the functionality of the internal Code Search tool. For example, you can left click on symbols to go to reference and right click to find all references:

https://source.chromium.org/chromium/chromium/src/+/main:ipc...

In fact a lot of Google software projects have a public version of code search: https://cs.opensource.google/
How is this so much faster than browsing my tiny little repo on Github? What is Github doing so wrong??
Well, indexing and searching is kind of Google's thing. It also helps that they're using a unified build system. They can instrument the compiler to get cross references from the build instead of trying to figure out out by parsing the text themselves.

They open sourced the tool to do it- https://kythe.io - but I think it would be a pain to make it work for anything like GitHub that supports arbitrary languages and build systems with untrusted code

Wow that is a lot faster and nicer than Github.

This is a good example of large companies wouldn't send someone across the street to pick up $1M off the ground. If Google actually released that and a repo to public, they could take Githubs throne. But a few $B business isn't worthit for them.

It's not that the $2B business isn't interesting, it's competing with GitHub would be a major undertaking and the opportunity cost of doing that is probably more than $2B.
Brings back lots of memories. The only way i used that tool was back when Chrome stopped forever history near about the year 2014-2015 and limited users to 90 days of history.

I was trying to wrap around my head like reading the comments trying how to put it back in. Wrong strategy without serious review does more of harm.

More than a decade of this fiasco Google Chrome should bring it back forever history, now they dont have an excuse for this, what i hear (google Chrome now downloads an offline LLM without considering data charges or space requirements in edge deployed server,etc.), and it will help users themselves as now most browsers except Firefox or Safari are Chromium-Based and they too inherited this shiny features with not-so obvious limitations.

The History bug in point - https://issues.chromium.org/issues/40358997

Brings back lots of memories. The only way i used that tool was back when Chrome stopped forever history near about the year 2014-2015 and limited users to 90 days of history.

I was trying to wrap around my head like reading the comments trying how to put it back in. Wrong strategy without serious review does more of harm.

More than a decade of this fiasco Google Chrome should bring it back forever history, now they dont have an excuse for this, what i hear (google Chrome now downloads an offline LLM without considering data charges or space requirements in edge deployed server,etc.), and it will help users themselves as now most browsers except Firefox or Safari are Chromium-Based and they too inherited this shiny features with not-so obvious limitations.

The History bug in point - https://issues.chromium.org/issues/40358997

Fun read seeing even with all the tools in the world there is not enough soul or will to fix a very minor regression made by human error of judgement and other companies just accept that like their lives depend on it.

Good thing after reading the above article came to know its possible to use this https://github.com/ungoogled-software/ungoogled-chromium has a flag to store old history.

This is so lovely to use.
> It’s super fast, is connected to language servers and can actually trace referenced

Nit: not connected to language servers, it's connected to Kythe. LSP doesn't have the same kind of functionality.

This...I noticed a real productivity increase when going from Cider/VSCode to JetBrains/IDEA/IntelliJ for Kotlin code editing. Having a "real" IDE was still a plus, if just for the better code completion.

AI has mostly changed the way I write code, I guess, so I rarely use JetBrains anymore, but a few years ago it was clearly a win to use a real IDE at least for Kotlin programming.

JetBrains has several niches it excels in. DataGrip is by far the most important tool in my toolbox, as it allows me to work with every database type imaginable in one place (Databricks, Postgres, MSSQL, Oracle, etc.).
What tools available to the public would you say is similar to this workflow?
Sourcegraph is the closest external thing I've found to Google's internal web tool for viewing code.
The startup I'm at (ersc.io) is working in this space (version control more than the IDE side of things), because, in my opinion, there just plain isn't any.
FWIW your website is broken in both Firefox and Chrome. Huge rounded black boxes, social media icons larger than the screen, e.g. blog posts get 404 with an XML NoSuchKey error.
The only thing remotely close is a monorepo checkout ... with all the problems that come with that.
To be fair, code search still sucked for navigation comparing to IDE even in 2024. Even cider-v was rather so-so if you needed to navigate complex c++ code.

But I still remember days "edit in IDEA, debug in Eclipse"

Every large tech company of 80s, 90s & 2K (Google, eBay & all) have similar history when it comes to IDE, Source Control, Build Systems etc.,. This is not specific to Google.