Closed sanyaade-mobiledev closed 4 years ago
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
@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 :-1: )
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
You're welcome!
Just wanted to say that I was surprised that you chose C++FBP as a starting point, as I would say that JavaFBP is more integrated - and more mature!
C++FBP is based on an earlier, C-based version, so still has some structs, while of course JavaFBP is all objects... Also, I needed to use Boost as AFAIK C++ has no native multithreading features... (or at least did not have when I was building C++FBP)...
On the plus side, C++FBP has better separation between the run-time part and the network definition part...
Just listing some choice criteria...!
Let me know how it goes (if you want)!
Regards,
Paul M.
On Mon, Jan 7, 2019 at 6:34 PM sanyaade-mobiledev notifications@github.com wrote:
@jpaulm https://github.com/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
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jpaulm/drawfbp/issues/25#issuecomment-452120662, or mute the thread https://github.com/notifications/unsubscribe-auth/AATGJ2q5kF5bmPkKf6rioamINdCDd7NJks5vA9l0gaJpZM4Zm_Me .
"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.
@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
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