Hacker News new | past | comments | ask | show | jobs | submit login
Source of the famous “Now you have two problems” quote (regex.info)
75 points by l0stman on March 16, 2010 | hide | past | favorite | 18 comments



It's interesting to me that JWZ likes Java the language and dislikes the JVM. Of course, most of his anti-JVM posts are at least ten years old, and the JVM was quite a bit worse then, but it seems odd to me that the Java language would look good to someone with a background in Lisp and C.

The sentiment I see from most hackers I know these days is exactly the opposite: the Java language is not well-liked, but the JVM is.


I'm not sure it's fair to say he likes the language and dislikes the JVM. More that he thought it unwise and uneccesary that they (along with the class library and the security model) were all being bundled together:

From Java sucks (2000) http://www.jwz.org/doc/java.html

"The fact is that there are four completely different things that go by the name ``Java'':

A language;

An enormous class library;

A virtual machine;

A security model.

Sun would like you to believe that these are all the same thing, and that the name ``Java'' implies all of them, but this is marketing fiction. Worse than that, the fact that Sun has tried so hard to push this idea has done grievous damage to the acceptance of Java.

Java-the-language is, overall, a very good thing, and works well.

Java-the-class-library is mostly passable.

Java-the-virtual-machine is an interesting research project, a nice proof of concept, and is basically usable for a certain class of problems (those problems where speed isn't all that important: basically, those tasks where you could get away with using Perl instead of C.)

Java-the-security-model is another interesting research project, but it only barely works right now. In a few years, maybe they'll have it figured out or replaced. If Sun hadn't tried so hard to conflate these four completely different things, if they had first shipped native-code Java compilers, then the VM, then the security model, then Java probably would have completely displaced C++ by now."

and

"Today, I program in C.

I think C is a pretty crummy language. I would like to write the same kinds of programs in a better language."


That rant is from 2000 indeed, where you could still like Java the language. Back then (late '90s) Java the language was nothing like what we have today. If your first language was, I don't know, C or Perl, you could read some short-ish Java book (or the Sun tutorials) and learn enough to write a little applet to spiff up your website.

These days learning Java, with all the stuff that has been added to the language (J2EE, beans, annotations, what have you), is mostly pointless. Lots of better alternatives. Unless you know you are going to be working on some big pre-existing codebase, or want to get a job working on one.


Java from the late '90s still had the characteristic that most hackers I know dislike in it today; it was intentionally designed not to be as powerful as it could be. Interestingly, Python seems to be well-liked by hackers despite sharing some of that characteristic[0]. It may be that the motivation is different. In Java it seems to be "you can't be trusted with sharp tools" while in Python it's more along the lines of "code written that way isn't beautiful", but I think it's more of a fine line than people realize.

I've managed to get a bit off-topic. Maybe I should write a blog post on this instead.

[0] http://www.artima.com/weblogs/viewpost.jsp?thread=98196


That's not overly off-topic, but yes, write a post about it. There's a subtle point in there.


I'm not entirely sure I agree with the premise, but I'd also love to read a post exploring it.


another regular expression quote (from http://code.google.com/p/re2/wiki/Syntax):

I define UNIX as “30 definitions of regular expressions living under one roof.” —Don Knuth


But he doesn't track down the source of the quote, only of a famous usage of it by JWZ. If you read to the end of the post, it's clear that no one knows who originated it, but it was in .sig files already in 1988.

Edit: simple googling reveals that David Tilbrook took credit for a variant of the line in 1989 (http://grosskurth.ca/bib/1989/tilbrook.pdf, search for "awk"). Since that's long before anyone would have had reason to misappropriate it, I'd say that's pretty convincing.

Friedl, as the author of a (the) book on regexes, is only interested in the regex version of the quote. But that one is obviously just a derivative.

Edit 2: I attempted to email Tilbrook to see if he wants to comment on the joke. If I get a reply I'll post it here. Silly, perhaps, but this kind of folklore is fun.

Edit 3: The email bounced. Is there an HNer with a premium LinkedIn account who wants to message him for us? I found his profile but it won't let me do that without paying (no way in hell). If so, email me (address in profile) and I'll send over what I wrote.


I'm not sure what you're claiming to have discovered via simple googling, but the Friedl article explicitly discusses Tilbrook and the awk quotation. Tilbrook is exactly who is credited in the 1988 sig that Friedl mentions.


Did I really make my point that badly? What you're saying is obvious; that's where I started.

The point is that the end of Friedl's post shows that the quote antedates JWZ, but he's not really interested in tracking it down any further, presumably because it was JWZ who applied it to regexes, which is Friedl's area of interest. Personally, I'd rather know the origin of the quote itself. I like knowing the sources of things.

As for what I was "claiming to have discovered" (though I hope not nearly so pompously as that), I would have thought that was obvious too: additional evidence that the line was Tilbrook's. I noticed later that a commenter to the OP cited the same link I did, so it's pretty findable.


I don't know if you made your point badly or not, but your tone surpised/confused me. You begin by saying, "But he doesn't track down the source of the quote, only of a famous usage of it by JWZ." Later you add that Friedl as the author of such and such "is only interested..." in so and so (my emphasis). In both cases, I read that as criticism - as if Friedl failed to do the important thing that you were now doing. In this post again you you say that Friedl is "not really interested" in the source.

But, in fact, Friedl did track down the source of the original quotation - to a reasonable degree of certainty. It's the same source you found. So I guess I don't see what Friedl didn't track down.


Shameless self plug: I created nyhtp.com based off of this quote after talking to a fellow dev as a quick learning experience with Sinatra/Mongo. The history was interesting, though.


http://www.nyhtp.com appears to be behind HTTP/Auth. Is this intentional?


It was a configuration error with www/no www. I fixed it, though. Thanks for the heads-up.


Thanks for fixing it.

http://nyhtp.com/hS1


Here is a regular expression for C++-style comments

   (/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|(//.*)
(source: http://ostermiller.org/findcomment.html )

I recently wrote a lexicasl analyser for a language that uses C++-style comments. My first attempt used regular expressions, but I later scrapped them for something I could understand. Here is the relevant bit:

      # //... comments
      if ss.isNextSkip("//"):
         ss.skipPast("\n")
         return

      # /*...*/ comments
      if ss.isNextSkip("/*"):
         ss.skipPast("*/")
         return
I will leave it to the reader to decide which is clearer.


(2006)


What a delight to read those archives...




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

Search: