High level summary article

More detailed article

In June, the Python steering council announced that it was pausing work on the JIT in CPython's main branch until there was an accepted Python Enhancement Proposal (PEP) that addressed concerns about maintenance, compatibility, and set clear success metrics as well as a timeline for completion. [....] After months of discussion, the JIT maintainers have withdrawn the PEP. For now, it appears that development on the once-promising project has come to an end

1 comment

sorted by: hot top controversial new old
[–] [S] 0 points 2 weeks ago

Even php has jit

  • source
  • 49 comments in c/programming@programming.dev view that post
    [–] 27 points 2 weeks ago (12 children)

    Oh that's sad. I was hoping for that the title of the post was misleading, and it just meant that the "experimental" flag was removed. Well, sadly no.

    Little rant: My eyes hurt from reading 100% white on 100% black background... Wish sites stopped doing it. Thank god Firefox has this builtin reader view functionality.

  • source
  • hideshow 12 child comments
  • [–] 2 points 1 week ago

    I think it's the right call. The issue with CPython's JIT is that it isn't really a true JIT like you would find in Java or .NET and suffers from the same issue that auto vectorization did in C++: you had to understand the internals of the CPython runtime to properly utilize it which isn't a great developer experience.

  • source
  • parent
  • [–] 3 points 2 weeks ago (4 children)

    do you know the stylus extension?

  • source
  • parent
  • hideshow 4 child comments
  • [–] 4 points 2 weeks ago (3 children)

    Yes off course. There are also other alternatives, but its nice to have a builtin functionality. Also each of these plugins had their own quirks in one or another form (don't ask me what the details was, I don't remember).

  • source
  • parent
  • hideshow 3 child comments
  • [–] 2 points 2 weeks ago (2 children)

    Wait, I was hinting at this because I was hoping to get noticed as the creator of the most popular style for this site 🥲 : https://userstyles.world/style/933/lwn-dark-breeze-enhanced

    but I just realized I don't have the extension on mobile yet the theme is dark. What's going on? they did update the website and you still have light theme?

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 1 week ago

    I had enough and decided to install the extension and your style. Its pretty good without obvious issues to me (at least using it for 2 minutes so far^^). Thank you for creating and sharing!

  • source
  • parent
  • [–] 2 points 2 weeks ago

    Nice! Well, I never paid attention to user created styles and was always doing it myself. From the screenshot, I have to say, it looks really good and is tempting. I'll consider it, but really don't want to install more extensions if possible.

  • source
  • parent
  • [–] 1 point 1 week ago (4 children)

    Little rant: My eyes hurt from reading 100% white on 100% black background… Wish sites stopped doing it. Thank god Firefox has this builtin reader view functionality.

    I love the high contrast, especially on cheaper displays. Maybe it helps to lower the screen brightness?

  • source
  • parent
  • hideshow 4 child comments
  • [–] 2 points 1 week ago (3 children)

    Changing brightness back and forth just for the site isn't something I would do. But besides that, I don't think it works (tested for 5 seconds). The better approach is changing the coloring of the site, and I can do that with Firefox itself or one of the available extensions. But the fact that I have to do this is in my opinion a broken styling on the site. And I mean its broken for me, not an universal take here. Everyone is different, and if you like it, then well you like it and that's totally fine.

    BTW having a white background and black font color has the same contrast, and it doesn't hurt my eyes. So its not just the contrast that makes my eyes bleed. For short text, it's not really an issue, but for longer ones.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 2 points 1 week ago (2 children)

    Oh, I've misread your original post. The page had a white background with black text for me, and that looked ok. But a complete black background and white text really isn't optimal.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 1 week ago

    Kind of sad that there seems to be minimal effort to make Python mainline fast. There are so many projects to accelerate Python. Some even work really well. Some as much as 100X faster, and most at least 10X faster.

  • source
  • [+] -55 points 2 weeks ago (34 children)

    I am eagerly waiting for someone to vibe code a version of Python that isn't shit. Probably not far off I expect.

  • source
  • hideshow 34 child comments
  • [–] 26 points 2 weeks ago (27 children)
  • [+] -20 points 2 weeks ago (25 children)

    My rule of thumb: If I wouldn't write it in bash, I won't write it in Python. Anything more serious gets a grown up language

  • source
  • parent
  • hideshow 25 child comments
  • [–] 12 points 2 weeks ago (8 children)

    Bash and Python are very different. Bash uses your system as programming language, while Python offers a lot more. Python is in many cases a good solution that does not need extra work for programming languages to compile. If you don't think that Python is a grown up language, then you seem to be misinformed.

  • source
  • parent
  • hideshow 8 child comments
  • [–] 2 points 1 week ago

    I think his point was that Python is more useful for one-off stuff and I'd claim that much better than bash at those kinds of things.

    But Python has so many quirks and bad designs. Function scoped variables, multiple inheritance, backwards comprehension syntax, poor pattern matching, poor handling of None and so much is convention based so you don't get an error if you did it wrong. Python classes aren't serializable (not even data classes).

    Coupled with it's awful performance I'm convinced the reason people use it is because they don't know anything else.

  • source
  • parent
  • [–] 0 points 1 week ago (6 children)

    Python may be a grown up language but it's still a pretty awful language for ad-hoc scripting. It really wants to believe that you only use it for writing Python projects damnit! You can beat it into submission, but as soon as you start typing import in a situation that isn't a nice pure Python package it will say "whatchulookinatmate? Youwannafight?"

    Don't believe me? Explain how relative imports work.

  • source
  • parent
  • hideshow 6 child comments
  • [–] 2 points 1 week ago (5 children)

    I write Bash, Python and Rust. And I love writing in Python. It helped me so much and prefer it over almost any compiled language. Bash is completely different beast and not a replacement for Python and vice versa. Just because import works different in the language than the ones you like, does not mean the language is crap. For any questions about the import system, have a look at https://docs.python.org/3/reference/import.html#package-relative-imports .

    It depends on how you use the language, as a scripting like language or a full replacement for compiled languages. I personally don't build packages with Python. BTW you can even compile Python scripts to binary machine code, and I don't mean bundles, but real compilation process. It even speeds up the performance of the program.

  • source
  • parent
  • hideshow 5 child comments
  • [–] 2 points 1 week ago

    I write C# and Python, and C# is much more expressive than Python is and performs about 10x to 77x better. C# has much better pattern matching and has operators to deal with null and support for it in the type system. C# records can be serialized without issue (Python's built in JSON serializer can only serialize dictionaries). Althoigh variable scoping in C# isn't perfect (object patterns in if statements pollute the outer scope) variables at least aren't just function scoped like in Python. You can define user defined primitve types in C# which enables bettrr support for domain typing than what is possible in Python.

  • source
  • parent
  • [–] 1 point 1 week ago (3 children)

    Just because import works different in the language than the ones you like, does not mean the language is crap.

    No, it means it's unsuitable for scripting, if you need anything more than a single file. Better than Bash of course (not hard).

  • source
  • parent
  • hideshow 3 child comments
  • [–] 0 points 1 week ago (2 children)

    Python is good for scripting. If you start importing and having multiple packages involved with relative imports, that's no longer "scripting". We have standard library and the package manager for a reason. I think you are conflicting with full fledged applications and scripting.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 1 week ago (1 child)

    There are plenty of things that are "scripting", i.e. ad-hoc admin of other projects that aren't actually Python projects, where you want to share code between multiple scripts.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 0 points 1 week ago

    For such important projects, its not a big deal to just create Python packages. I don't get your point. You can use Python for scripting, and you can use it for full fledged programs or share package dependencies.

    My only problem is, that non standard package dependencies need to be installed by the end user, or sometimes the Python version does not match. These are the biggest issues to me.

  • source
  • parent
  • [–] 3 points 2 weeks ago

    my rule is much less strict: more than 3 files gets migrated. large Python projects are a nightmare to maintain, and performance is bad at scale. for quick experiments or data analysis it’s great.

    but honestly Nushell has replaced Python for me for the most part, unless i need a specific Python package (and often i can just wrap that in a small runnable script with uv)

  • source
  • parent
  • [–] 2 points 2 weeks ago (8 children)

    i just write the critical parts in c and glue them together with python, because if it's one thing it's good at it's ffi.

  • source
  • parent
  • hideshow 8 child comments
  • [–] 0 points 1 week ago (5 children)

    Why bother with the significant pain of FFI when you can just write the whole thing in Rust?

    Also "the critical parts" is mostly a myth. After a small amount of optimisation, the vast majority of programs do not have nice isolated hotspots.

  • source
  • parent
  • hideshow 5 child comments
  • [–] 1 point 1 week ago (4 children)

    because i need my programs to be dynamic and scriptable?

  • source
  • parent
  • hideshow 4 child comments
  • [–] -1 points 1 week ago (3 children)

    Rust has scripting support. It's nightly only but that's not actually a big deal since running nightly is trivial.

    It has some limitations currently, but... so does Python.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 1 point 1 week ago (2 children)

    it's just such an odd question. you know nothing about my domain or my requirements, you just assume i can or want to use rust.

  • source
  • parent
  • hideshow 2 child comments
  • [–] -1 points 1 week ago (1 child)

    Rust is pretty great in almost all domains. The only ones where I think Python is a sensible choice are research, where a REPL is really useful (think Jupyter).

  • source
  • parent
  • hideshow 1 child comment
  • [–] 0 points 1 week ago*

    the stdlib of rust is woefully lacking, proper error handling is way too verbose, the dependency chains are massive and unauditable, and all the implicitness makes it hard to reason about stuff like a.from() without proper editor support which makes code review a nightmare. i do like ccontract-driven design though. all in all i think i'll stick to zig if i need safety.

  • source
  • parent
  • [–] -5 points 2 weeks ago (3 children)

    Yeah anyway with AI why would you use Python for a new project? I just do everything in Rust now, including simple scripts.

    Unfortunately there's a lot of existing Python code.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 8 points 2 weeks ago (2 children)

    Why bother with rust? Just tell it to write assembly

  • source
  • parent
  • hideshow 2 child comments
  • [–] -2 points 1 week ago (1 child)

    Assuming that's a genuine question...

    AI needs feedback just the same as humans. I would think of AI like a human that's of average cleverness, but has a huge breadth of knowledge and basically infinite time and patience. They are going to be decent at assembly but they're still going to make mistakes just like humans.

    Using a language like Rust that has a lot of static correctness checks gives a higher quality result for AI, just like it does for humans.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 3 points 2 weeks ago (4 children)
  • [–] 1 point 2 weeks ago (3 children)

    None of those have been successful for various reasons (I think primarily because they all sound like they'd be a total nightmare to set up and maintain).

    As soon as uv provides an alternative implementation so you can just run uv run --but-fast I think it will become popular.

    I would not be at all surprised if they are secretly working on a faster Python implementation. They own all of the non-shit Python tooling, they have unlimited tokens now, they aren't afraid of vibe coding. Why not?

  • source
  • parent
  • hideshow 3 child comments