Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^4: WebPerl (eLearning)

by marto (Cardinal)
on Sep 05, 2018 at 12:48 UTC ( [id://1221756]=note: print w/replies, xml ) Need Help??


in reply to Re^3: WebPerl (eLearning)
in thread WebPerl Regex Tester (beta)

My initial idea was that it would be really cool if there was a https://try.perl.org which would provide a nice interface to this, allowing people to try out perl code, learn things, complete exercises or whatever, before installing perl. Another option would be to host a page here, and provide a link under each snippet of code posted, like the download one, saying something like 'run this code in your browser' though obviously there are a lot of limitations around this.

Replies are listed 'Best First'.
Re^5: WebPerl (eLearning)
by daxim (Curate) on Oct 06, 2019 at 14:53 UTC

      Hey daxim, are you the creator of this Try Perl site? I am interested in getting in touch with the person who put it together, but the Github page doesn't provide any contact details. If you (or anyone who reads this) is responsible, please let me know.

      -stevieb

        Hello stevieb,

        I'm the author of this website.

        I adapted the idea from TryRuby.

        It's not perfect (checking answers with regex...), but all in all it works.

        Latest github version is modular and using mojolicious and websockets.

        There is currently no activity on my side about this except maintaining the service. I had in mind some ideas like eventually reuse another backend (another website or jail technology for code execution) and eventually change the way we check for answer (grammar instead regex ?).

        Please tell me how could I help you ?

Re^5: WebPerl (eLearning)
by Don Coyote (Hermit) on Oct 05, 2019 at 12:36 UTC

    excellent stuff haukex ++

    In light of what exercises to use, for the novices it would be more appropriate to use something like a cookbook approach, where a cookbook example with a simple bug/error that the student could follow a debug procedure might be more effective. This is the kind of thing where examples could be autogenerated for practice, but a simple example can be used to show the process.

    For intermediate to advanced users I would like to see something along the lines of a project based tutorial that say shows how to install perl4, and then progress through upgrading it to perl 5

    There would be many exercises and learnings to be had from this, that would also reinforce good coding practices such as documentation, and versioning, as well as viewing the development process and getting a feel for what Perl is about.

    I feel that it would be good to get people familiar with the collaborative side of things at the earliest practicable stage of learning.


    which came first, the boot or the strap?

      So I have a couple of 'new starts' at work (long story), and they have been using things like https://www.udemy.com/ to familiarise themselves with HTML and JavaScript. When done properly the interface/online IDE works well, other times it seems less thought through (as does some of the course material, from experience that's always the thing which really drags such things down, more so than a clunky interface), however I agree that the general principal of such a thing would be a real nice to have for perl (via learn.perl.org perhaps?), and if I had the time (for the foreseeable future I won't) I'd be keen to pursue something along these lines. The only thing I don't agree with would be starting with Perl 4. Kick off with a modern perl, and modern practices. Nice talking to you about things in the chatterbox today.

      Update: Run Perl 5 in the Browser! was updated to include some newer things relating to this, see the links at the end of the first post.

        The idea of an interactive education tool is a basic of coding, and web programming. And like you mention different implementations will have differing strengths and weaknesses. For me a Perl implementation would be a natural conclusion.

        Perhaps what I was getting at is more the idea of interactive documentation. perlhack and the concurrent documentation already describe the various versions and how to get hacking.

        At the stage I am at in my own development I am looking to explore deeper issues such as different programming paradigms. When I was suggesting a project based tutorial on the Version update from Perl 4 to Perl 5, I was more properly thinking about something that took into consideration the paradigm differences.

        But I was also considering something with a bit more advanced concepts involved. Debugging as a self-exploratory educational tool is best likened to the idea of freeclimbing, everything is wonderful untill you slip that one time. And using examples of Major version updates is like starting out fifty feet up a grade E.

        My suggestion refined, would be to produce examples of minor version updates that involve a guided debugging solution for specific updates. Maybe something that followed an internal function through several minor/major updates also.

        A common theme throughout many implementations is that Perl isn't actually doing x or actually doing y. But this has been mostly with things such as objects, regular expressions, exceptions and so on. Though it seems more and more to me that nothing Perl does is what it appears to be doing. This itself does seem like a fundamental property of Perl. So something that clues the user in to this aspect further could also be useful.

        After all a Perl scalar exhibits duality, perhaps Perl versions are also a kind of duality, but of Perl itself.


        What's the time Mr.Blog?

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1221756]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (6)
As of 2024-04-23 09:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found