Comments (5)
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.
@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.
from drawfbp.
"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.
@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)
- Associating the drawfbp.bat file with the .drw extension HOT 2
- What is generating a `drawfbp.bat` file in `build\scripts`? HOT 1
- Attached Classes to components vanish in V2.22.1 upwards HOT 2
- Vanishing arrows at least in V2.22.0 upwards HOT 7
- Selected subnet name gets wrongly attached to component HOT 1
- Wrongly generated class name for component Subin/out in C# mode HOT 4
- Lockup on code generation if port name is missing HOT 4
- Filling in C# classes for a network using C#FBP HOT 6
- DrawFBP modified to use double buffering HOT 3
- Generated code window slow! HOT 4
- Only the last generated code window can be closed. HOT 1
- Edge shading on block remains after block dragged HOT 1
- Two tries to connect arrow to block! HOT 1
- Width of IIP block set to zero when editing contents HOT 1
- Pressing ESC button at wrong time can lose diagram
- Cast error when changing font size
- Dependency Dashboard
- Problem in last few releases: clicking on "canvas" does not bring updesired icon!
- Zoom not working!
- Zoom generally fixed - however cannot detect edges of blocks when zoom not equal 100%
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from drawfbp.