Giter Club home page Giter Club logo

Comments (5)

jpmonettas avatar jpmonettas commented on June 12, 2024 1

@ptaoussanis glad to hear you find FlowStorm helpful!

What inspired you to start the project?

A mixture of things tbh. On one side, like 15 years ago I was bored playing with macros and thinking what can I do with this programs that can re-write programs feature. So first thing was, "what if I have something that add printlns for me on some points of interest when I need to debug something?". And then it was one thing leading to the other, from printing serialized values to the console, to collecting serialized data, to just collecting the pointers, then experiments trying to draw executions trees. I was also a Cider debugger user, so I got the coordinates idea from it, and after that for each POI I was collecting pointers to the values together with pointers to code. After having programs flow recordings I started (and still continue) thinking of useful ways we can visualize and explore programs executions.

On the other side, I have always been struggling with how rudimentary is my approach to understanding a code base I don't know or that I forgot about. Most projects don't have diagrams and stuff like that, so I just start poking at the code which feels inefficient. I would love some "google maps" like tool so you can view a system at different zoom levels. I have also been playing for a long time with tools to aid with "loading a system in my mind" from static analysis to runtime analysis with FlowStorm.

I'm surprised to hear that there's not already enough solid content re: general interactive programming

I haven't seen any well explained video with the only objective of explaining this approach to programming of starting an empty process and then building it by having a "conversation" with the thing you are building. Also the terminology is already confusing, since all languages today have REPLs, when people hear REPL development they assume python shell or js console and then there's is nothing new to learn. I've also found people in the Clojure community, specially beginners confused about these things, which make sense since afaik it isn't taught in university, or in any books I know of.

I would have guessed that there should be a lot of that kind of content around by now. Is there really not? Maybe it's just a discoverability issue?

Maybe there is and I just haven't found a simple well made demo of the subject. Most demos I've seen are about how you can tweak a running program without having to restart it, which is just a part of interactive programming, which you can do in most languages these days, even in C.

This idea just came to me while watching your videos, given that you use interactive programming in a clear way to explain your libraries, and also your videos are clear and to the point. So when I saw this issue I just added it here without too much thinking haha, so take this just as that.

When I get some time and feel inspired by it I'll try to create a script outline about this stuff and see if it still makes sense to me, and maybe even give it a try!

from roadmap.

dcmoore avatar dcmoore commented on June 12, 2024 1

I don't have a specific suggestion for a video. Rather, I suspect beginner-style videos will increase the awareness/reach of your work. I'd consider that a worthwhile pursuit.

from roadmap.

jpmonettas avatar jpmonettas commented on June 12, 2024

Hi Peter! This is not about your OSS, but Clojure in general. Given the quality and how clearly explained I think your videos are I feel a video about interactive programming should be useful for beginners and people that never used Lisps. A video that shows the power of the technique and maybe some common pitfalls.

I think there is still a ton of confusion about repls (since most languages have these shells now) and what is different about Lisps in this respect, specially on the interactive programming area. I think explaining/demoing this works better in video than in other medias like blog posts, because it is about the flow.

I know there are some videos already covering this topic but always buried into some other content. I'm not aware of anything that can be used as a reference to send people to see what we mean by interactive programming.

Thanks for all the cool tools!

from roadmap.

ptaoussanis avatar ptaoussanis commented on June 12, 2024

@jpmonettas Hi Juan, thanks for the kind words - and for the awesome FlowStorm! Really cool stuff, and very impressive. What inspired you to start the project?

Re: your suggestion-

I'm surprised to hear that there's not already enough solid content re: general interactive programming. To be clear: I have no idea, it's not something normally on my radar either way - but I would have guessed that there should be a lot of that kind of content around by now. Is there really not? Maybe it's just a discoverability issue?

Is there something in particular that you'd like to see more of? E.g. real-world problem solving at the REPL? Concise / reference-style content? Something else?

from roadmap.

ptaoussanis avatar ptaoussanis commented on June 12, 2024

@jpmonettas It's nice to hear about some of the FlowStorm backstory, thanks for sharing!

When I get some time and feel inspired by it I'll try to create a script outline about this stuff and see if it still makes sense to me, and maybe even give it a try!

I'd definitely encourage you to! Maybe something with you working with/on FlowStorm might be fun?

from roadmap.

Related Issues (10)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.