Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

99.5% of programming isn't actually about the coding at all. It is about breaking down a process to steps small enough to express in code. It is about figuring out what you want the app to do in the first place, and making it meets the goals of the end users. Or, to be more realistic, making it meet the goals that product owners have handed to you on behalf of the end users.

This whole article just feels like it is talking about code for its own sake, which I admit may be intellectually interesting, but has little to do with what we actually do day-to-day when building software.

Maybe that was really the point he was trying to get to - that building software is not the same thing as doing "interesting" code.



Paul Graham’s MO is using language as a startup secret weapon to outmaneuver established companies or lesser rivals (see his earlier writings about Viaweb). Spoiler they used lisp to implement multi tenant online store. He’s talking to startup founders, potential yc applicants. The reality is today, a lot of what they did in lisp is common functionality in every popular web stack out there.

In my view this programming language grand standing hasn’t been compelling for a long time, and now just seems kind of silly. Unless you’re working on really interesting problems, which the vast majority aren’t, judging from recent yc classes.


Yeah it's kind of funny that there was a "controversy" in the very FIRST YC batch, when Reddit switched from Lisp to Python (~15 years ago!)

And there was data that showed that like 90%+ of YC startups use either Ruby (often Rails) and Python, including all the most valuable ones like AirBNB, Stripe, Doordash, etc.

So basically it's been 15 years since Ruby and Python have been acceptable (or even better) Lisps, according to PG's own metrics.

Ruby and Python both have garbage collection, REPLs, and enough reflection/metaprogramming to "compress" your code.


Here’s an article about the languages YC’s top startups use

https://charliereese.ca/article/top-50-y-combinator-tech-sta...


About what they used not necessarily what they use today, the author does call this out.

For example it says Lisp for reddit but today it's Python.


In favor of Lisp I must say that having an image where you replace things instantaneously can be a big plus in exploratory workflows.

Same goes for Smalltalk in this regard.

I like Python a lot but I miss some kind of functionality like that.


I think PG considered competitors hiring Python programers as "dangerous" or something like that.


I think he meant that

"there exist mental frameworks much more expansive for one's intellectual keyring than conditionals and loops («gluing [...] library functions») - for example «Lisp macros» -, so, «if you want to expand your concept of what programming can be» [presumably to acquire further hold of complexity, and new ways to navigate the solutions space], then explore weird languages with credentials".


The irony is that a lot of "very popular" PLs are unergonomic for those 99.5% tasks, and sometimes worse when you take into account "best practices", like testing, documentation, CI/CD, version management (the tax rules will change! But in november for these jurisdictions and September for these jurisdictions ) etc. PLs that are "clever" like pg advocates are often even worse.


Exactly. I don’t really like Java but if I were starting a business that required writing a CRUD backend, I would 100% chose a boring popular language like Java over something “smart”. Smart doesn’t scale - if there’s no tooling, bad library support, and no ecosystem, any gain you get by being clever gets erased by needing to reimplement the wheel. In many ways I’d say the language itself is one of the least important factors in choosing a language for a commercial project.


Java is one of the unergonomic popular languages I'm talking about. I'm never going back to that monstrosity.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: