Giter VIP home page Giter VIP logo

Comments (5)

jpaulm avatar jpaulm commented on July 28, 2024

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

from drawfbp.

sanyaade-mobiledev avatar sanyaade-mobiledev commented on July 28, 2024

@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

from drawfbp.

jpaulm avatar jpaulm commented on July 28, 2024

from drawfbp.

jpaulm avatar jpaulm commented on July 28, 2024

"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.

from drawfbp.

sanyaade-mobiledev avatar sanyaade-mobiledev commented on July 28, 2024

@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

from drawfbp.

Related Issues (20)

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.