Live data from Hacker News

The Python Paradox (2004)

paulgraham.com

31–40 of 275 posts

Re: The Python Paradox (2004)

#31
post #14

Python is a glue language. If you want to be hardcore you write something in rust (or whatever) with python bindings...

Or you can just pick a language like Java, Scala, Go etc and not need to manage two codebases, build tools, testing setups etc

Re: The Python Paradox (2004)

#32

It's called "anecdotal evidence", the only thing that makes this post credible(-ish) is that PG wrote it.

Since I have been following PG on Twitter I understand that the reason he has so many good takes is because he has so many takes in general. And most people tend to skip over the incoherent, offensive or just plain dumb ones.

I wish more of those weren't flagged to death when people post them here.

Re: The Python Paradox (2004)

#33
Python is great for small scripts or explorations. You can't use it for anything serious that needs to scale due to the lack of concurrency and significant memory overhead. If you need something to scale you use something like C++, Java, Go, Rust, etc.

Re: The Python Paradox (2004)

#34

It was right then, but it's kind of dated and misses an evolutionary lesson: beautiful code isn't enough, it has to be safe, beautiful, maintainable, productive, understandable, and resource efficient. Ruby is still great for throwing something together fast and maintaining it until it runs into scale problems. It added gradual typing with sorbet and RBS. Crystal is a neat typed, compiled Ruby-alike but it's buggy. R…

approaches C++-level eyebleed Have you ever hit F12 on any C++ std function or data structure? Every time I do it genuinely feels like I'm back at day 1 freshman year of an undergrad CS degree.

The C++ library is algorithmically and data structure feature complete for most purposes. It doesn't have what boost and other libraries have, but that's okay. Ideally, a platform should ship without a standard library and use package management for all but built in types.

The problem with C++ template metaprogramming style is symbol length, the notation ordering (insane levels of nesting), and diagnostics generated from those that easily turn into absurdity.

Another issue is static languages lack universal diagnostics, introspection, and symbolic evaluation capabilities of dynamic languages with REPLs and remote debuggers.

Dynamic languages are often missing "compile" (deployment)- or at-boot-runtime type checking, data race condition borrow/mutability/concurrency analysis, and monkeypatch protections.

Re: The Python Paradox (2004)

#36

It's called "anecdotal evidence", the only thing that makes this post credible(-ish) is that PG wrote it.

Since I have been following PG on Twitter I understand that the reason he has so many good takes is because he has so many takes in general. And most people tend to skip over the incoherent, offensive or just plain dumb ones. I wish more of those weren't flagged to death when people post them here.

A broken clock is right twice a day.

Re: The Python Paradox (2004)

#37
post #5
post #3

[2004] -- Python is no longer a "comparatively esoteric language" these days. I suppose now this might be an argument for hiring folks using Haskell or the like.

I'm not convinced this advantage is available to harness anymore. A small company can still outrun a larger company via less process, fewer internal entrenched interests, the ability to not have to worry as much about internationalization and other things you need to instantly address large markets and comply with various internal and external regulations, and you could continue this list for quite a while. But $LARG…

I’m confused by your comment; it seems like you are talking about the quality of the language, while the article was talking about using obscure languages as a signifier of programmer quality.

Re: The Python Paradox (2004)

#38

Python is great for small scripts or explorations. You can't use it for anything serious that needs to scale due to the lack of concurrency and significant memory overhead. If you need something to scale you use something like C++, Java, Go, Rust, etc.

Yet it's good enough to scale Pinterest, Instagram, and Youtube.

Re: The Python Paradox (2004)

#39

Earlier quoted context omitted.

Or Rust, which is very popular on HN.

Rust is "not as used" but it has a following who hype it to the point that I've avoided taking time to relearn it just due to the strange vibes I get from their community. These people once mentioned, on twitter, that people who hate systemd are like reactionaries (as in, politically far right), as if a choice of init is a correlative of political ideology. When you view others' preferences for fucking software as so…

The difference is that Java has alway been driven from the enterprise.

And so there has been this long investment in frameworks, libraries etc that no one would ever otherwise write. Especially areas like governance, security, compliance, reliability etc.

I think Rust is just going to end up just being a better C++ not a true mainstream language.

Re: The Python Paradox (2004)

#40

Python is great for small scripts or explorations. You can't use it for anything serious that needs to scale due to the lack of concurrency and significant memory overhead. If you need something to scale you use something like C++, Java, Go, Rust, etc.

> Python is great for small scripts or explorations.

I've used Python on program with >30000 LOC without any problems.

Post reply on HN