Python's tug of war between beginner-friendly and advanced features

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • pip

    The Python package installer

  • Are there scenarios where this doesn’t happen?

    I had a quick look in pip and install order is predicated on requirements order https://github.com/pypa/pip/blob/c188d1f08f1a4a2c0a03e397f15...

  • libpython-clj

    Python bindings for Clojure

  • I didn't know about the Clojure-Python interop. This is the library you use for it? https://github.com/clj-python/libpython-clj

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • friendly-traceback

    Discontinued Aimed at Python beginners: replacing standard traceback by something easier to understand

  • This was interesting, although slightly confusing to read since it was written in the context of using the author's "Friendly Traceback" [1] system.

    I would humbly suggest that maybe the name "friendly traceback" is not the most beginner-friendly thing, since if you are a beginner programmer you are perhaps not 100% sure what a "traceback" is, and why you would benefit from friendlier tracebacks.

    [1] https://github.com/aroberge/friendly-traceback

  • gsoc-2021-ideas

    Ideas for The Perl Foundation's 2021 Google Summer of Code

  • > Raku ... lacks widespread adoption

    Right. It clearly doesn't have a strong enough offering at the moment to attract anyone beyond a few early adopters.

    > last I heard it fell significantly short of Perl 5 performance

    Likewise. I'm pretty sure Perl still roundly trounces it for a lot of operations, especially in regex processing. I think it will need to be significantly faster than Perl before it will have a chance at gaining significantly more adoption.

    > I'm not sure what kind of library ecosystem it has nowadays

    The raku.land directory has less than a thousand packages and many seem to be jokes, unloved, poorly tested and documented, version 0.x, or even 0.0.x. [0]

    The standard library is a different ballgame. It's generally well designed and very large, cutting out the usual blizzard of folk reinventing the wheel for basics. So that's good.

    > I doubt we're going to see big commercially-backed library development efforts for it, soon or ever.

    I agree.

    > Perl 5 has a huge ecosystem of course, but it's such a nasty warty language with nasty warty tooling.

    This is where I think Raku's strength lies.

    A lot of the effort that went into Raku was to build a platform that could just directly use tooling and libraries of other PLs while insulating developers from their downsides.

    That way you get to use Raku tooling, syntax and semantics at the surface level with other PLs' tooling and modules and performance. Kinda like using C code in a non-C PL, but generalized to using code from any other PL in Raku.

    The exemplar was supposed to be Perl, but it was also supposed to extend to many other PLs. Starting 7 years ago this became the Inline family.[1]

    Inline::Perl is the most mature. Imo it's remarkable. But it was always supposed to just be the first one to get the polish to demonstrate that the approach works and works great. About a year ago the author behind it said it was nearly time to do the same for Python modules. And now I see a GSOC proposal to do that.[2]

    The Inlines hide the warts (though you do have to read the modules' documentation to know what their API's are etc).

    I think the impact of Inline Python will be huge because it takes away the complaint about reading Perl documentation and code. Instead you read Python API docs but get the benefits of using Raku.

    (And, in the wings, there's Inline::Ruby, Inline::Lua, and so on.)

    [0] https://raku.land/

    [1] https://raku.land/?q=inline

    [2] https://github.com/perl-foundation-outreach/gsoc-2021-ideas/...

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Boring Python: dependency management (2022)

    3 projects | news.ycombinator.com | 4 Feb 2024
  • sudo pip install should be illegal

    1 project | /r/linuxmemes | 8 Dec 2023
  • just-pip-tools: An example of managing python dependencies as layered lock files with just and pip-tools

    3 projects | /r/Python | 18 Oct 2023
  • Can't seem to install Python YAML support

    1 project | /r/Ubuntu | 29 Aug 2023
  • Maintaining virtual environments

    1 project | /r/learnpython | 18 May 2023