Hacker News new | past | comments | ask | show | jobs | submit login
Larry Page's Java question – 1996 (groups.google.com)
96 points by laex on Nov 11, 2014 | hide | past | web | favorite | 20 comments

Some useful context about Page's programming abilities from Steven Levy's book, "In the Plex" (which, IMO, is a must-read, as much fun if not better than the Jobs biography):

> Since Page wasn’t a world-class programmer, he asked a friend to help out. Scott Hassan was a full-time research assistant at Stanford, working for the Digital Library Project program while doing part-time grad work. Hassan was also good friends with Brin, whom he’d met at an Ultimate Frisbee game during his first week at Stanford.

> Page’s program “had so many bugs in it, it wasn’t funny,” says Hassan. Part of the problem was that Page was using the relatively new computer language Java for his ambitious project, and Java kept crashing. “I went and tried to fix some of the bugs in Java itself, and after doing this ten times, I decided it was a waste of time,” says Hassan. “I decided to take his stuff and just rewrite it into the language I knew much better that didn’t have any bugs.” He wrote a program in Python—a more flexible language that was becoming popular for web-based programs—that would act as a “spider,” so called because it would crawl the web for data. The program would visit a web page, find all the links, and put them into a queue. Then it would check to see if it had visited those link pages previously. If it hadn’t, it would put the link on a queue of future destinations to visit and repeat the process.

> Since Page wasn’t familiar with Python, Hassan became a member of the team. He and another student, Alan Steremberg, became paid assistants to the project. Brin, the math prodigy, took on the huge task of crunching the mathematics that would make sense of the mess of links uncovered by their monster survey of the growing web. Even though the small team was going somewhere, they weren’t quite sure of their destination. “Larry didn’t have a plan,” says Hassan. “In research you explore something and see what sticks.”

Levy, Steven (2011-04-12). In The Plex (p. 18). Simon & Schuster, Inc.. Kindle Edition.

edit: Given this rewrite from Java into Python in the early history of one of Stanford's most famous exports, I find it kind of amusing that Stanford's intro to CS course teaches Java.

> I have a web robot which is a Java app.

I am reminded of Linus's announcement of Linux:

I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones.

A journey of a thousand miles begins with a single step, as they say.

It would be pretty cool to put stuff like this together in a kind of an online code museum.

A while ago I tried to track down the initial check-in comments for a number of open source projects, with mixed results.


The Go one is particularly interesting.

What is particularly interesting about "hello, world"?

Check the date, and the following commits.

Larry wouldn't hire Larry.

This is such a gem. It feels good seeing a tech giant asking a beginner-level question like this... It alleviates any tendency towards imposter-syndrome.

This is such an excellent observation, something that novices should take to heart: it's OK to ask questions so if you don't know something, and we live in a time where asking questions (and getting answers) is easier than it has ever been before. Great people ask basic questions at some point, and yet, they still achieve greatness.

Or to riff off of the classic New Yorker cartoon: On the Internet, nobody knows that you may be the next great inventor.

Caveat: Thanks to Google's ubiquity, it's not wrong to use a pseudonym if you're really worried about your basic questions coming back to haunt you :)

Caveat: Thanks to Google's ubiquity, it's not wrong to use a pseudonym if you're really worried about your basic questions coming back to haunt you :)

Not that I like it, especially these days. These kind of things should be fixed properly.

Can someone explain to me how this was posted on Google Groups when Google wasn't really around?

This was originally posted on the "comp.lang.java" Usenet group (read about Usenet on Wikipedia if that was before your time). A website called "DejaNews" used to archive Usenet content, and provide a way for noobs to post via the web. Google bought DejaNews almost 15 years ago, and rebranded it as "Google Groups".

Eventually, Google Groups came to be a glorified mailing list service. However, originally it was just a web wrapper around Usenet... and can still be used for that today.

Google Groups contains an archive of most of Usenet.

"Google Groups became operational in February 2001, following Google's acquisition of Deja's Usenet archive. (Deja News had been operational since 1995.)" src: http://en.wikipedia.org/wiki/Google_Groups

I wonder what Joe Millar is up to these days. :)

Possibly "Principal Software Engineer at Fidelity Investments" http://www.linkedin.com/pub/joseph-millar/8/a09/6b6

Bizarre choice of language even in 1996. Guess even they weren't immune to all the enterprise and WO-RA and OOP hype back then.

What's it written in now?

Java wasn't the hyped enterprise OOP language in 1996 that it became in the 2000s. Back then, it was a little-used experimental language, initially for mobile apps (remember Oak?) but gaining some traction in applets. Sorta like C++, but they'd removed all the tricky bits. I remember picking it up in 1997 and thinking how elegant it seemed compared to C++.

It was basically like Go is now.

As for what it's written in now: mostly C++ but some Java in the webserver and auxiliary services. Other Google products are mostly Java. Most internal tools were Python but a bunch have been recently rewritten in Java. Go is catching on with some early-adopter teams.



Google Groups archives a large amount of old Usenet threads.

This is such a gem, a part of history. Thanks for unearthing this.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact