Paul Graham’s Hackers and Painters: Big Ideas from the Computer Age is a book that tells a lot about the life of the author himself. According to Graham, nerds do not spend as much time thinking about how to be popular. He calls himself a nerd and tells how he was in the ‘D’ popularity group at school, ‘E’ being the least popular group of all. This in part implies that hacker traits are implicit from young age. The author has the very interesting background of having studied painting in Florence after finishing his PhD in Computer Science at Harvard. He explains his experience creating his own startup company, called Viaweb, which ended up being bought by Yahoo, becoming a very successful online store tool.
The author thinks that the reason why Viaweb managed to become the leading company in their sector was due to providing their services via the web itself and using the Lisp computer language. According him, being a web software company has great advantages. Web companies are able to add features incrementally or fixing bugs without having to ship the application back to the user every time: such small changes make releases more manageable and bugs can be reproduced exactly without having to guess the user’s environment and configuration. Web applications are much easier to run, you just need a web browser. Traditional standalone applications require the user to know system administration (getting the right configuration) but in web applications the system administration burden is transferred to the developers instead.
Coding in Lisp apparently was a definitive advantage to keep abreast with competition. He argues strongly in favor of Lisp as the most powerful language due to its ability to provide greater capability for abstraction than any other language. Lisp was initially developed as a mathematical formalism and then made into language. Other computer languages tend to be based on assembler specifications, approaching concepts from the hardware point of view rather than mathematics. This argument made me think seriously about learning at least the fundamentals of Lisp to discover new ways of coding abstractions. I found in Paul Graham’s own website an introductory tutorial for Lisp. I look forward to my next trip to this new mindset.