Paul Graham (programmer)

From Wikipedia, the free encyclopedia
  (Redirected from Paul Graham (computer programmer))
Jump to navigation Jump to search

Paul Graham
Paulgraham 240x320.jpg
Born (1964-11-13) 13 November 1964 (age 54)[1]
Alma materCornell University
Harvard University
Spouse(s)Jessica Livingston
Scientific career
ThesisThe State of a Program and Its Uses (1990)
Doctoral advisorThomas E. Cheatham Jr.
Websitepaulgraham.com

Paul Graham (/ɡræm/; born 13 November 1964)[1] is an English born computer scientist, entrepreneur, venture capitalist, author, and essayist. He is best known for his work on Lisp, his former startup Viaweb (later renamed "Yahoo! Store"), co-founding the influential startup accelerator and seed capital firm Y Combinator, his blog, and Hacker News. He is the author of several programming books, such as: On Lisp[3] (1993), ANSI Common Lisp[4] (1995), and Hackers & Painters[5] (2004). Technology journalist Steven Levy has described Graham as a "hacker philosopher".[6]

Biography[edit]

Early life[edit]

Paul Graham grew up in Pittsburgh, Pennsylvania, where he attended Gateway school district.

Education[edit]

Graham received a Bachelor of Arts in philosophy from Cornell University[7][8] (1986).[9] He then attended Harvard University, earning Master of Science (1988) and Doctor of Philosophy (1990) degrees in Computer Science.[7][10] He has also studied painting at the Rhode Island School of Design and at the Accademia di Belle Arti in Florence.[7][10]

Career[edit]

In 1996, Graham and Robert Morris founded Viaweb, the first application service provider (ASP). Viaweb's software, 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.[11] After the acquisition, the product became Yahoo! Store.

He later gained fame for his essays, of which he posts to his personal website, paulgraham.com. Essay subjects range from "Beating the Averages",[12] which compares Lisp to other programming languages and introduced the hypothetical programming language Blub, to "Why Nerds are Unpopular",[13] a discussion of nerd life in high school. A collection of his essays has been published as Hackers & Painters [5] by O'Reilly, which includes a discussion of the growth of Viaweb and what Graham perceives to be the advantages of Lisp to program it.

In 2001, 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 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 a large number of startups, particularly those started by younger, more technically oriented founders. Y Combinator has now invested in more than 1300 startups, including Justin.tv, Xobni, Dropbox, Airbnb and Stripe.[14]

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

In 2008, Paul Graham married Jessica Livingston.[16][17][18]

In response to the proposed Stop Online Piracy Act (SOPA), Graham announced in late 2011 that no representatives of any company supporting it would be invited to Y Combinator's Demo Day events.[19]

Essays[edit]

Graham's hierarchy of disagreement[edit]

Graham's hierarchy of disagreement

Graham proposed a "disagreement hierarchy" in a 2008 essay "How to Disagree",[20] putting types of argument into a seven-point hierarchy and observing that "If moving up the disagreement hierarchy makes people less mean, that will make most of them happier." Graham also suggested that the hierarchy can be thought of as a pyramid, as the highest forms of disagreement are rarer.

Following this hierarchy, Graham notes that articulate forms of name-calling (e.g. "The author is a self-important dilettante") are no different from crude insults.

The hierarchy resembles Friedrich Glasl's model of conflict escalation.[further explanation needed]

The Blub paradox[edit]

Graham considers the hierarchy of programming languages with the example of "Blub", a hypothetically average language "right in the middle of the abstractness continuum. It is not the most powerful language, but it is more powerful than Cobol or machine language."[21] It was used by Graham to illustrate a comparison, beyond Turing completeness, of programming language power, and more specifically to illustrate the difficulty of comparing a programming language one knows to one that one does not.[22]

Graham considers a hypothetical Blub programmer. When the programmer looks down the "power continuum", he considers the lower languages to be less powerful because they miss some feature that a Blub programmer is used to. But when he looks up, he fails to realise that he is looking up: he merely sees "weird languages" with unnecessary features and assumes they are equivalent in power, but with "other hairy stuff thrown in as well". When Graham considers the point of view of a programmer using a language higher than Blub, he describes that programmer as looking down on Blub and noting its "missing" features from the point of view of the higher language.[22]

Graham describes this as the "Blub paradox" and concludes that "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."[22]

The concept has been cited[why?] by writers such as Joel Spolsky.[23]

See also[edit]

References[edit]

  1. ^ a b "Graham, Paul 1964- Authorities & Vocabularies (Library of Congress Name Authority File)". U.S. Library of Congress. 11 March 2005. Retrieved 12 March 2012. (Paul Graham, b. Nov. 13, 1964)
  2. ^ "No; I was born in Weymouth, England. My father's Welsh though. | Hacker News". News.ycombinator.com. Retrieved 2013-01-23.
  3. ^ Graham, Paul (1994). On Lisp: advanced techniques for Common Lisp. Englewood Cliffs, N.J: Prentice Hall. ISBN 0-13-030552-9.
  4. ^ Graham, Paul (1996). ANSI Common Lisp. Englewood Cliffs, N.J: Prentice Hall. ISBN 0-13-370875-6.
  5. ^ a b Graham, Paul (2004). Hackers & painters: big ideas from the computer age. Sebastopol, CA: O'Reilly. ISBN 0-596-00662-4.
  6. ^ Y Combinator Has Gone Supernova https://www.wired.com/story/y-combinator-has-gone-supernova/
  7. ^ a b c "Paul Graham biography". PaulGraham.com. Retrieved 22 July 2011.
  8. ^ Undergraduation. Paul Graham. Retrieved 22 July 2011.
  9. ^ EZRA: Cornell's Quarterly Magazine (Fall 2011) "Paul Graham '86"
  10. ^ a b "Paul Graham biography". SpeakerMix.com. Archived from the original on 9 April 2012. Retrieved 6 March 2012.
  11. ^ "Yahoo! to Acquire Viaweb". Yahoo! Inc. 8 June 1998. Archived from the original on 1 July 2007. Retrieved 14 April 2008.
  12. ^ "Beating the Averages". paulgraham.com.
  13. ^ "Why Nerds are Unpopular". paulgraham.com.
  14. ^ "Y Combinator Companies - Y Combinator Universe". Retrieved 13 March 2013.
  15. ^ "The Papa Bear: Paul Graham". BusinessWeek. 29 September 2008. Retrieved 29 September 2008.
  16. ^ "Where are we going?". arclanguage.org. 26 October 2008. Retrieved 14 November 2008.
  17. ^ "Congrats to PG on getting hitched". news.ycombinator.com. 2 June 2008. Retrieved 14 November 2008.
  18. ^ Graham, Paul (January 2009). "California Year-Round". Y Combinator. Archived from the original on 13 March 2012. Jessica Livingston and I (who are married despite our different last names) are expecting our first child any day now.
  19. ^ Tsotsis, Alexia (22 December 2011). "Paul Graham: SOPA Supporting Companies No Longer Allowed At YC Demo Day". TechCrunch. Retrieved 23 December 2011.
  20. ^ Graham, Paul (March 2008). "How to Disagree". PaulGraham.com. Retrieved 2 May 2011.
  21. ^ Paul Graham (2001). "Beating the Averages". Retrieved 28 April 2007.; published in Hackers & Painters, 2004; the essay was also reprinted in The Planning and Scheduling Working Group Report on Programming Languages Archived 16 June 2011 at the Wayback Machine, by JM Adams, R Hawkins, C Myers, C Sontag, S Speck
  22. ^ a b c "...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
  23. ^ See "The Perils of JavaSchools", in his book More Joel on Software.

External links[edit]