6 ms·
HN exists because of LISP. More precisely PG attributed success of Viaweb to LISP (speed of iteration etc) http://www.paulgraham.com/lisp.html http://www.paul
by sireat 7y ago
HN exists because of LISP.
More precisely PG attributed success of Viaweb to LISP (speed of iteration etc)
http://www.paulgraham.com/lisp.html http://www.paulgraham.com/lisp.html
http://www.paulgraham.com/avg.html http://www.paulgraham.com/avg.html
I am pretty sure the key factor was having a small and talented team. It didn't have to be LISP. They could have used another language they were familiar with.
- toyg 7y agoEven if you give LISP a role, one also has to consider that it was a time when the most popular languages (C++, early Java, Perl) were pretty low-level and not at all web-friendly or async-friendly. LISP could bridge that gap because it makes it very easy to build DSLs and "go up" in abstraction with minimal fuss. If you start with Python or Ruby and their popular frameworks, these days, most of that work is already done for you.
- mepian 7y agoPython already existed at that time for 4 years, at least.
- CydeWeys 7y agoNew languages are coming out all the time. For every one like Python that proves to have serious staying power, there are dozens of others that slowly stagnate. It doesn't typically make sense to bet your business on a new unproven language; you want to use something that's already been around for awhile, clearly has staying power, and has a decent community built up around it. Lisp has fit that bill for decades now. At the time of Viaweb's founding, Python was not there yet. The closest thing that was would've been Perl.
- toyg 7y agoPython didn't even have lambda/map/filter/reduce until '94. Lisp was already Lisp.
- dreamcompiler 7y agoPython's lexical closures are still crippled even today, no?
- TJSomething 7y agoSince Python 3 added the nonlocal keyword, they seem to be fine, although I haven't examined them too closely.
- ilikehurdles 7y agoLisp was a lot less web friendly then than it is now, especially compared to those languages.
- toyg 7y agoIn primitives, yes; but that's not the point with Lisp, whereas it is for those alternatives.
- mark_l_watson 7y agoWhen Alexis Ohanian gave a talk at Google in 2013 I asked him afterwards about converting Reddit from Common Lisp to Python. He said the Common Lisp version crashed too often. He even made a funny comment about this when he autographed Without Their Permission for me. I agree with you, the web apps in CL story is much better now. I am biased, now that I am mostly retired most of my fun side projects are in CL (with Haskell being a close second). I really don’t care what languages other people choose to use but using CL makes me happy and I enjoy reading about other people doing good things in CL.
- namibj 7y agoDo you know of any good setup for type-aware autocompletion of Haskell? There are some language servers for it, but it's difficult to get them to play nicely in the face of updates and such. I hope such an editing system could offset the power of AST macros due to the possible ease of discovery. Macros unfortunately require a very skilled developer team to not cause mayhem, taken to the extreme in Go not offering any fancy typing or macros.
- hajile 7y agoI doubt crashing had anything to do with lisp -- the site crashes hard at least once every week. It was all about logistics. YC had two competing companies. They pushed them together. The lisp team could get up to speed on python faster than the python team could on common lisp.
- pjc50 7y agoPerl was extremely web-friendly: large amounts of the early web were written with CGI.pm or even Apache mod_perl.
- dreamcompiler 7y agoThat's not what pg has said. He said lexical closures were critical to Viaweb's success, and no popular language offered them except Javascript, which was decidedly not a server language in those days.
- ken 7y agoI don't think "HN exists because of LISP" is the reason that Lisp posts are popular on HN today. Viaweb also used GNU's compiler, ran on FreeBSD, and stored all data in flat files -- but those other choices aren't nearly as popular here (or in general practice) today.