Paul Graham

From Wikipedia, the free encyclopedia

Jump to: navigation, search
Paul Graham

Born 1964 (1964)
Weymouth, England [1]
Occupation programmer, venture capitalist, author

Paul Graham (born 1964) is a programmer, venture capitalist, and essayist, known for his work on Lisp. He is the author of On Lisp (1993), ANSI Common Lisp (1995), and Hackers & Painters (2004).

Contents

[edit] Biography

In 1995, Graham and Robert Morris founded Viaweb, the first application service provider (ASP). Viaweb's software, originally written mostly in Common Lisp, allowed users to make their own Internet stores. In the summer of 1998 Viaweb was sold to Yahoo! for 455,000 shares of Yahoo! stock, valued at $49.6 million.[2] At Yahoo! the product became Yahoo! Store.

He has since begun writing essays for his popular website paulgraham.com. They range from "Beating the Averages", which compares Lisp to other programming languages and introduced the word Blub, to "Why Nerds are Unpopular", a discussion of nerd life in high school. A collection of his essays has been published as Hackers and Painters (ISBN 0-596-00662-4) by O'Reilly.

In 2005, after giving a talk at the Harvard Computer Society later published as How to Start a Startup, Graham along with Trevor Blackwell, Jessica Livingston and Robert Morris started Y Combinator to provide seed funding to startups, particularly those started by younger, more technically-oriented founders. Y Combinator has now invested in 80 startups, including reddit, Justin.tv, loopt and Xobni.

BusinessWeek included Paul Graham in 2008 edition of its annual feature, The 25 Most Influential People on the Web[3].

Graham has a B.A. [4] from Cornell. He earned an M.S. and a Ph.D. in Applied Sciences (specializing in computer science) from Harvard in 1988 and 1990 respectively [2], and studied painting at Rhode Island School of Design and the Accademia di Belle Arti in Florence.

In 2008, Paul Graham married Jessica Livingston[5][6].

[edit] Arc programming language

In 2001, Paul Graham announced that he was working on a new dialect of Lisp named "Arc." Over the years since, he has written several essays describing features or goals of the language, and some internal projects at Y Combinator have been written in Arc, most notably the Hacker News web forum and news aggregator program.

In the essay Being Popular Graham describes a few of his goals for the language. While many of the goals are very general ("Arc should be hackable," "there should be good libraries"), he did give some specifics. For instance, he believes that it is important for a language to be terse:

It would not be far from the truth to say that a hacker about to write a program decides what language to use, at least subconsciously, based on the total number of characters he'll have to type. If this isn't precisely how hackers think, a language designer would do well to act as if it were.

He also stated that it is better for a language to only implement a small number of "axioms," even when that means the language may not have features that large organizations want, such as object-orientation. In fact, Graham feels that object-orientation is not useful as OO methods and patterns are just "good design," and he sees the language features used to implement OO as partially mistaken.[7][8]

A controversy among Lisp programmers is whether, and how much, the S-expressions of the language should be complemented by other forms of syntax. Graham feels that additional syntax should be used in situations where pure S-expressions would be overly verbose, saying, "I don't think we should be religiously opposed to introducing syntax into Lisp." Graham also feels that efficiency problems should be solved by giving the programmer a good profiler.

The first publicly released version of Arc was made available on Tuesday, 29 January 2008[9]. The release comes in the form of a .tar archive, containing the mzscheme source code for Arc. A tutorial and a discussion forum are also available. The forum is copied from news.ycombinator.com and is written itself in Arc.

The initial version has caused some controversy, notably by only supporting the ASCII character set, and by shipping with a built-in web application library that bases its layout on HTML tables. This, combined with the hype surrounding Arc and its generally slow development pace, has gathered some unfavorable comments.[10]

[edit] Blub

Blub is a hypothetical programming language; it is an average programming language "[r]ight in the middle of the abstractness continuum. It is not the most powerful language, but it is more powerful than Cobol or machine language."[11]. It was used by Graham to illustrate a comparison of power between programming languages that goes beyond Turing completeness, and more specifically, to illustrate the difficulty of comparing a programming language one knows to one that one does not[12]:

"As long as our hypothetical Blub programmer is looking down the power continuum, he knows he's looking down. Languages less powerful than Blub are obviously less powerful, because they're missing some feature he's used to. But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn't realize he's looking up. What he sees are merely weird languages. He probably considers them about equivalent in power to Blub, but with all this other hairy stuff thrown in as well. Blub is good enough for him, because he thinks in Blub.
When we switch to the point of view of a programmer using any of the languages higher up the power continuum, however, we find that he in turn looks down upon Blub. How can you get anything done in Blub? It doesn't even have y.
By induction, the only programmers in a position to see all the differences in power between the various languages are those who understand the most powerful one. (This is probably what Eric Raymond meant about Lisp making you a better programmer.) You can't trust the opinions of the others, because of the Blub paradox: they're satisfied with whatever language they happen to use, because it dictates the way they think about programs."

The concept has been cited by writers such as Joel Spolsky[13].

[edit] Bayesian filtering

In 2002, Graham published an essay entitled "A Plan for Spam," in which he advocated using a Naive Bayes classifier to identify spam. The first work on Bayesian spam filtering was done by Jason Rennie [14] in 1996.

Bayesian filtering is a popular method for filtering spam in situations where the filter can be trained. It beats older heuristic approaches both in the simplicity of the process and in the quality of spam classification.[15]

[edit] References

  1. ^ http://news.ycombinator.com/item?id=324331
  2. ^ "Yahoo! to Acquire Viaweb". Yahoo! Inc. 1998-06-08. http://docs.yahoo.com/docs/pr/release184.html. Retrieved on 2008-04-14. 
  3. ^ "The Papa Bear: Paul Graham". BusinessWeek. http://images.businessweek.com/ss/08/09/0929_most_influential/7.htm. Retrieved on 2008-09-29. 
  4. ^ "I might not be the best source of advice, because I was a philosophy major in college. "[1]
  5. ^ "Where are we going?". arclanguage.org. 2008-10-26. http://arclanguage.org/item?id=8509. Retrieved on 2008-11-14. 
  6. ^ "Congrats to PG on getting hitched". news.ycombinator.com. 2008-06-02. http://news.ycombinator.com/item?id=205918. Retrieved on 2008-11-14. 
  7. ^ Why Arc Isn't Especially Object-Oriented
  8. ^ Arc FAQ
  9. ^ Arc's Out
  10. ^ Reddit: Arc's Out
  11. ^ Paul Graham (2001). "Beating the Averages" (HTML). http://www.paulgraham.com/avg.html. Retrieved on 2007-04-28. ; published in [[Hackers and Painters]], 2004; the essay was also reprinted in The Planning and Scheduling Working Group Report on Programming Languages, by JM Adams, R Hawkins, C Myers, C Sontag, S Speck
  12. ^ "...These studies would like to formally prove that a certain language is more or less expressive than another language. Determining such a relation between languages objectively rather than subjectively seems to be somewhat problematic, a phenomenon that Paul Graham has discussed in “The Blub Paradox” [6]." "An Introduction to Aspect Oriented Programming in e", D. Robinson; see also "Expressive power of recursion and aggregates in XQuery", by J Hidders, J Paredaens, R Vercammen, S Marrara
  13. ^ See "The Perils of JavaSchool", in his book More Joel on Software.
  14. ^ Jason Rennie (1996). "ifile". http://people.csail.mit.edu/jrennie/ifile/old/README-0.1A. 
  15. ^ "Why Bayesian filtering is the most effective anti-spam technology" (PDF). GFI. http://www.gfi.com/whitepapers/why-bayesian-filtering.pdf. Retrieved on 2007-11-09. 

[edit] External links

Personal tools