У 1995 році Пол Грем та Роберт Морріс заснували Viaweb[en] — компанію, яка зробила практично першу вебпрограму. Програмне забезпечення Viaweb, що спочатку було написане на суміші Common Lisp, C та Perl[5], давало користувачам змогу робити власні інтернет-магазини. Влітку 1998 року Viaweb було продано Yahoo! за 455 тис. їх акцій, що тоді коштували 49,6 млн дол.[6] У Yahoo! це забезпечення перейменували у Yahoo! Store, а пізніше його було переписано на суміш C++ та Perl.
Відтоді Пол Грем почав писати есе для свого вебсайту paulgraham.com. Їхні теми варіюють від Beating the Averages[7][8], де Lisp порівнюється з іншими мовами програмування, до Microsoft is Dead[9], де йдеться про те, чому компанія Майкрософт не створює тиску на комп'ютерний ринок. Збірка його есе була опублікована під назвою «Хакери й художники» (ISBN 0-596-00662-4) видавництвом O'Reilly.
У 2005 році, після промови у Гарвардській комп'ютерній спільноті, що пізніше була опублікована як How to Start a Startup[10], Грем разом із Тревором Блеквеллом[en], Джессікою Лівінгстон[en] та Робертом Моррісом заснували компанію Y Combinator, щоб забезпечити первинне фінансування стартапам, особливо тим, що засновуються молодими технічно орієнтованими людьми. Y Combinator інвестував у 58 стартапів, включаючи Reddit, Justin.tv[11] та loopt[12].
У 2001 році Пол Грем анонсував новий діалект Lisp під назвою Arc[13]. Упродовж кількох років він написав кілька есе, що пояснюють особливості цієї мови, деякі внутрішні проєкти Y Combinator були написані на Arc. Найвизначніший проєкт — Hacker News, вебфорум та агрегатор новин.
На січень 2008 року ще не було опубліковано формальної специфікації Arc. Сторінка на сайті Пола рекомендує зацікавленим людям підписуватись на список розсилання, але не дає жодних оцінок щодо дати виходу, зазначаючи лише:
Ми беремо в запас дуже багато часу. Пройшло практично 50 років з того часу, як МакКарті уперше описав Lisp. Ще два чи три роки нікого не вб'ють[14].
Однак 15 січня 2008 року на запитання, чи буде Arc випущений під ліцензією з вільними початковими кодами, Пол Грем відповів:
Я все-таки відповім на це питання: так, скоро. Цієї зими, я сподіваюсь[15].
У своєму есе Being Popular (укр.Бути популярним) Пол Грем описав деякі цілі цієї мови програмування. Багато цілей дуже загальні (наприклад, «повинна бути гарна бібліотека»), але деякі специфічні. Наприклад, він вважає, що важлива риса для мови програмування — стислість, мова повинна схилятись до використовування символів та операторів, а не ключових слів, для зменшення довжини програми:
Не буде помилкою сказати, що коли хакер збирається писати програму і вибирає мову програмування, хоча б підсвідомо, вибір базується на кількості знаків, що він повинен буде набрати. Якщо це і не точно так, як думають хакери, то розробник мови повинен думати, що це є правдою.
Він також заявляє, що для мови програмування краще, коли в її основі лежить мала кількість аксіом, навіть коли це означає, що у мові не буде деяких значних організаційних можливостей, як-от об'єктне орієнтування, хоча багато програмістів цього бажають[16][17].
Між Lisp-програмістами існує суперечка: чи повинні S-вирази бути доповнені альтернативною формою синтаксису, а якщо так — якою мірою. Грем каже, що додатковий синтаксис непогано було б використовувати у випадках, коли чисті S-вирази будуть надто багатослівні:
Я не вважаю, що ми повинні бути релігійно налаштованими проти додавання синтаксису в Lisp.
Також він говорить, що всі проблеми з ефективністю (швидкістю) повинні бути вирішені шляхом використовування гарного профайлеру.
Фільтр Баєса
У 2002 році Грем опублікував есе A Plan for Spam[18] (укр.План щодо спаму), у якому він пропонує використовувати наївний баєсів класифікатор для ідентифікації спаму. Пол Грем не винайшов Баєсів фільтр спаму[19], але це есе спричинило створення популярного програмного забезпечення, що використовує цей спосіб, та включення Баєсовської фільтрації до вже існуючих програм, як-от SpamAssassin.
Відтоді Баєсівська фільтрація стала найкращим методом фільтрації спаму в умовах, коли фільтр можна тренувати, вона перемогла старішу евристичну фільтрацію в обох значеннях: і в простоті процесу, і за якістю класифікації[20].
Діаграма незгоди Грема
Трикутна діаграма, що представляє «діаграму незгоди» від ясного спростування до простої лайки, що базується на есе Пола Грема від березня 2008 року «Як не погоджуватися»[21]:
↑A Plan for Spam. www.paulgraham.com. Процитовано 22 квітня 2024.
↑M. Sahami, S. Dumais, D. Heckerman, E. Horvitz (1998). A Bayesian approach to filtering junk e-mail(PDF) (англ.) . AAAI'98 Workshop on Learning for Text Categorization. Архів(PDF) оригіналу за 26 червня 2013. Процитовано 17 січня 2008. {{cite web}}: Текст «paper» проігноровано (довідка)