Hacker Blogs
Work in progress: 82,651 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #2144

P

PJ Eby

Personal blog · dirtsimple.orgprogrammingcareer

PJ Eby writes dirtSimple.org, a personal blog at dirtsimple.org about programming and career. Since 2008, 35 different Hacker News readers have linked it 47 times, most often “Python Is Not Java”. The last post was in 2021, but the archive is still widely read.

Visit the blog
47mentions?
7recommend?
35HN people?
2008–2025first – last linked?
Links on Hacker News per year · peak 9 in 2011

Sometimes recommended · 7 of 31 sampled comments recommend it?

Why HN links it

HN readers link PJ Eby's 2004 post 'Python Is Not Java', which commenters cite on writing idiomatic Python rather than Java-style code and recommend to programmers moving between the two languages.

Recommended for · 7 comments
Called 'Python Is Not Java' a great read, a good intro for C++/Java coders, and a wonderful writeup; one reader says it had a big effect on them.

Summarised by Claude from a sample of 31 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

what stands in the way, becomes the way

Most-linked posts?

  1. Python Is Not Java
    10 people · 14 mentions · first linked 2008-05-27
  2. Python Is Not Java
    5 people · 9 mentions · first linked 2018-11-26
  3. /
    2 people · 2 mentions · first linked 2010-06-20
  4. Where Zope Leads, Python Follows
    2 people · 2 mentions · first linked 2009-05-06
  5. WSGI Middleware Considered Harmful
    2 people · 2 mentions · first linked 2010-07-15
  6. Is WSGI Lite a Library or a Protocol? (And Why You Should Care)
    2 people · 2 mentions · first linked 2011-08-01
  7. WSGI Is Dead: Long Live WSGI Lite
    2 people · 2 mentions · first linked 2011-08-01

What Hacker News says?

  1. paganel · 2021-08-02Recommends
    > The feedback I got was "candidate does not know idiomatic use of modules & classes" Many googlers probably haven't read this blog-post from some time ago [1]: "Python Is Not Java". I mentioned that at my first interview for a Python programmer job ~15 years ago, i got hired (truth be told the interview was for a small-ish startup, not for a behemoth like Google). [1] https://dirtsimple.org/2004/12/python-is-not-ja…

    Comment linking /2004/12/python-is-not-java.html

    on “The rise of never-ending job interviews”
  2. Submitted WSGI Is Dead: Long Live WSGI Lite as a story · 88 points

    HN discussion
  3. > A bit dated now, but still a great read about a Python project done by Java developers: http://dirtsimple.org/2004/12/python-is-not-java.html I included a link to this blog-post in the "letter of intent" (don't know the exact English term) that I sent to my potential employer just before my first interview for a professional (Python) programmer job, back in 2005. I got the job. Good times.

    Comment linking /2004/12/python-is-not-java.html

    on “Excel team considering Python as scripting language: asking for feedback”
  4. Submitted Python Is Not Java as a story · 48 points

    HN discussion
  5. rogerbinns · 2017-12-14Recommends
    A bit dated now, but still a great read about a Python project done by Java developers: http://dirtsimple.org/2004/12/python-is-not-java.html "So, the sad thing is that these poor folks worked much, much harder than they needed to, in order to produce much more code than they needed to write, that then performs much more slowly than the equivalent idiomatic Python would."

    Comment linking /2004/12/python-is-not-java.html

    on “Excel team considering Python as scripting language: asking for feedback”
  6. Submitted WSGI Middleware Considered Harmful as a story · 17 points

    HN discussion
  7. > It's always easier to expose something later than to make it private later. ...if you're using Java, since (AFAIK) you can't switch between public fields and getters/setters. Python, however, has properties: http://www.python.org/download/releases/2.2.3/descrintro/#pr... . Point 4 of http://dirtsimple.org/2004/12/python-is-not-java.html covers why they're a good idea, though you can probably figure it out from the…

    Comment linking /2004/12/python-is-not-java.html

    on “Wikileaks To Leak 5000 Open Source Java Projects”
  8. Submitted Python Is Not Java (2004) as a story · 6 points

    HN discussion
  9. I used to intern at MS and have used .NET platform for a while (on and off, including not too long ago doing a bit of ASP.NET, ASP.NET MVC, and Sharepoint for one-week project). I've used VS.NET 2005, 2008, and 2010. I've also used Java for a while, the whole Spring MVC, JEE6, Eclipse, IntelliJ. If you're willing to live in Windows OS platform, you should go with .NET, no question asked. Forget about tooling and eve…

    Comment linking /2004/12/java-is-not-python-either.html

    on “A close look at how Oracle installs deceptive software with Java updates”
  10. Submitted Is WSGI Lite a Library or a Protocol? (And Why You Should Care) as a story · 3 points

    HN discussion
  11. > Choosing Ruby/Python over Java was at the time an act of rebellion and a show of technical superiority. Not much of a rebellion, it was just that back then you had instant access to Python's REPL by just typing "python" in any Linux distro terminal. A Python "program" could have been just a simple script_that_does_stuff.py file run from the same terminal with: > python script_that_does_stuff.py On the other hand J…

    Comment linking /2004/12/python-is-not-java.html

    on “OCaml for the Masses (2011)”
  12. Submitted The Courage to do things Simply (dirtSimple.org) as a story · 3 points

    HN discussion
  13. > One of the commenters on lobste.rs called boilerplate-heavy Go written by programmers coming from Java "Gova". Not exactly a novel take: https://dirtsimple.org/2004/12/python-is-not-java.html

    Comment linking /2004/12/python-is-not-java.html

    on “Why I Don't Like Golang (2016)”
  14. Submitted Python Is Not Java as a story · 2 points

    HN discussion
  15. I got myself my first job as a Python programmer 15 years ago by (among other things) mentioning this blog entry: "Python Is Not Java" [1] [1] https://dirtsimple.org/2004/12/python-is-not-java.html

    Comment linking /2004/12/python-is-not-java.html

    on “Java is better than C++ for high speed trading systems”
  16. Submitted WSGI, Web Frameworks, and Requests: Explicit or Implicit? as a story · 2 points

    HN discussion
  17. > Those who don't study Zope are condemned to reinvent it http://dirtsimple.org/2007/01/where-zope-leads-python-follow... https://github.com/zopefoundation?tab=repositories

    Comment linking /2007/01/where-zope-leads-python-follows.html

    on “Ask HN: Good Python codebases to read?”
  18. Submitted Python Interfaces Are Not Java Interfaces (2004) as a story · 2 points

    HN discussion
  19. > For example, to store a graph in a RDBMS, the ideal format is probably an adjacency list with a recursive query to iterate it I know this was a minor point, but I think it speaks to the overall topic, so I'll poke at it. Adjacency lists are perhaps the worst way to store a graph / tree in RDBMS. They may be the easiest to understand, but they have some of the worst performance characteristics, especially if your R…

    Comment linking /2010/11/simplest-way-to-do-tree-based-queries.html

    on “Design Pressure: The Invisible Hand That Shapes Your Code”
  20. Submitted Stumbling on success as a story · 2 points

    HN discussion
  21. paganel · 2012-11-14Recommends
    > Writing Python like Java, where you have tons of indirection, which is slow I've actually just introduced one of my younger colleagues (and pretty new to Python, but knowledgeable in C# and Java) to this 8-year old article: http://dirtsimple.org/2004/12/python-is-not-java.html I remember reading that article back in the day, I had only begun to do stuff in Python for a year or so, and everything seemed so well exp…

    Comment linking /2004/12/python-is-not-java.html

    on “OOP Isn't a Fundamental Particle of Computing”
  22. Submitted Python Is Not Java (2004) as a story · 1 points

    HN discussion
  23. I actually read a post today that had a similar story about IKEA-like furniture. http://dirtsimple.org/2009/05/how-we-get-stuck.html TL;DR: The author's SO got stuck trying to assemble a kitchen cabinet, and couldn't figure it out. The author looked at the problem, checked with the manual, discovered the solution immediately, and got called smart. The SO didn't even bother. And the author realizes that if their posi…

    Comment linking /2009/05/how-we-get-stuck.html

    on “If too many users are wrong, it's probably your fault (2011)”
  24. Submitted The Multiple Self (2005) as a story · 1 points

    HN discussion
  25. j_baker · 2010-06-26Recommends
    If you ignore the fact that this page is a bit biased towards python, it is a pretty good intro to Python if you're coming from a C++ or Java background: http://dirtsimple.org/2004/12/python-is-not-java.html My personal experience is that the Java-ish languages encourage you to overthink problems a bit. Instead, I suggest that you just do what comes naturally. This will actually get you pretty far, as Python doesn't…

    Comment linking /2004/12/python-is-not-java.html

    on “I don't like Python. Does that make me a bad person?”
  26. Submitted PJ Eby - Ending my insight addiction as a story · 1 points

    HN discussion
  27. Article like this needs to be sliced-n-diced in different ways: 1) If you don't know technology X and use it due to hype, you deserve to get burned Let that be a lesson for anybody. 2) There's no silver bullet Choosing node.js over web-framework just because you want the front-end and the back-end to use the same code-base is to trade one feature for another: Ruby and Rails still have better tools than Node.js while…

    Comment linking /2004/12/python-is-not-java.html

    on “If you're using Node.js, you're doing life wrong”
  28. Submitted Don't use CGIHandler on Google App Engine as a story · 1 points

    HN discussion
  29. Your personality seems similar to the one I had at 15. Here's what I wish I had told myself. All of your problems stem from your internal ape perceiving itself to be at the bottom of the social hierarchy. For example, right after sharing that you made $21K in a programming contest at age 15, you immediately downplay your accomplishment. You are part of the "careful, pessimistic thinker" class of nerd--the kind of ne…

    Comment linking /

    on “Ask HN: Advice for a young, self-taught programmer”
  30. Submitted Where Zope Leads, Python Follows as a story · 1 points

    HN discussion

Search all of HN for dirtsimple.org

Linked by the same people?