Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flow-based for Ada Language #25

Closed
sanyaade-mobiledev opened this issue Jan 2, 2019 · 5 comments
Closed

Flow-based for Ada Language #25

sanyaade-mobiledev opened this issue Jan 2, 2019 · 5 comments

Comments

@sanyaade-mobiledev
Copy link

Hello Everybody,

Is it possible to implement or generate code for Ada language with drawfbp or create adafbp (just like cppfbp, c#fbp, javafbp, etc...

Many thanks!

God blesses!!!

Best regards,
Sanyaade

@jpaulm
Copy link
Owner

jpaulm commented Jan 5, 2019

Hi Sanyaade,

From the Wikipedia description of Ada, it looks like you should be able to write a good FBP implementation in Ada. I just want to make a couple of points:

  • JavaFBP, C#FBP and C++FBP (using Boost) are what I call "classical" FBP implementations - i.e. fully asynchronous, "conveyor belt" style implementations.

  • JSFBP (which I am glad to see you didn't mention, although IMHO it's pretty good) is basically a classical FBP implementation, but requires Marcel Laverdet's node-fibers, which is AFAIK not part of the JavaScript canon...

  • There are a large number of what Joe Witt calls "FBP-like" or "FBP-inspired" implementations, which are synchronous, and in my view do not support the FBP paradigm shift... nor have the potential to revolutionize application development that classical FBP affords... Unfortunately JavaScript is the current language du jour, but is basically single-threaded!

  • the part I found tricky in JavaFBP is the locking around multiple input ports (I think you need two levels of locking) - I think it works in JavaFBP, but I don't know if it has been tested exhaustively (I am looking for someone who is an expert on locks!)

  • good luck - and all the best for 2019!

PM

@sanyaade-mobiledev
Copy link
Author

@jpaulm ,

Many thanks for your quick reply and support.

I will take a look at C++FBP and C#FBP, this addition of boost library is always a scary attempt to me as its much adding to the code size. But if its a devil that I have to live then I will see how its goes.

My primary is to learning by doing through hands-on approach. The goal is to be able to create a flow-based environment that I could use to teach absolute beginner introductory level programming (age 6 - 14 yrs). I want to see if flow (graph) <--> to code (text) is possible first then extend on that into hardware programming e.g. Robotics or GPIO, etc...

Boost and QT framework are a bit bloated. I always run away from them. (QT ~ 6GB download; Boost ~ 3GB downloads 👎 )

I will download the C++FBP and start from that first in order to get my hands-on

I will get back to you over the week

Many thanks for your continuous support!

Hear from you soon!

God blesses!!!

Best regards,
Sanyaade

@jpaulm
Copy link
Owner

jpaulm commented Jan 8, 2019 via email

@jpaulm
Copy link
Owner

jpaulm commented Jan 8, 2019

"I want to see if flow (graph) <--> to code (text) is possible first "

Of course it is! First design your AdaFBP network definition language, and then either a) write a converter from the .drw format to your network definition language, or b) modify DrawFBP to generate it...

"then extend on that into hardware programming e.g. Robotics or GPIO, etc..."

I will be very interested in whatever you come up with in these areas!

Best regards,

Paul M.

@sanyaade-mobiledev
Copy link
Author

@jpaulm .

Good evening,

Many thanks for your feedback and directions. I went for C++FBP because I am comfortable with C and C++ as I used them on regular basis.

I will work on them and ask for your help if I run into a block.

Many thanks!

Speak to you soon!

God blesses!!!

Best regards,
Sanyaade

@jpaulm jpaulm closed this as completed Jul 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants