gsoc-2021-ideas
friendly-traceback
gsoc-2021-ideas | friendly-traceback | |
---|---|---|
4 | 2 | |
5 | 325 | |
- | - | |
3.2 | 9.7 | |
about 3 years ago | almost 3 years ago | |
SCSS | Python | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gsoc-2021-ideas
- A shared vision of Perl
-
Python's tug of war between beginner-friendly and advanced features
> 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/...
- GSoC proposal: libgccjit backend for MoarVM's Just In Time compiler
- GSoC Proposal: libgccjit backend for MoarVM's Just In Time compiler
friendly-traceback
-
Ask HN: Would it be educational to map error messages to common mistakes?
Website would be nice, but even better would be if it is integrated into coding environment that beginners use.
There is a very cool "explain the exception traceback" package for Python: https://github.com/aroberge/friendly
See this video for explainer and demo: https://www.youtube.com/watch?v=TmLnX7opisQ&t=678s
It's based on case-by-case analysis and recognizers for the most common mistakes:
-
Python's tug of war between beginner-friendly and advanced features
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
What are some alternatives?
grants-perlfoundation-org - Ideas people have suggested which could be proposed as a grant.
libpython-clj - Python bindings for Clojure