> I think that rather than an FBP visual designer, the FBP Language itself
> would be a graphical language.
I hate to rain on the parade, but low-level graphical languages are a
rathole that programming language designers have been going down for at
least 40 years, since research versions of graphics screens first became
available. They *never* work. Even spreadsheets use textual formulae.
I would hate to see the energy behind FBP become dissipated in this way.
--
"The serene chaos that is Courage, and the phenomenon co...@ccil.org
of Unopened Consciousness have been known to the John Cowan
Great World eons longer than Extaboulism."
"Why is that?" the woman inquired.
"Because I just made that word up", the Master said wisely.
--Kehlog Albran, The Profit http://www.ccil.org/~cowan
Sent from my iPhone
> I'm talking about a beginners programming language and you mention low
> level. What does low level mean to you?
As in, used to define components or classes or whatever the primitive
unit of organization is. DrawFBP and similar tools work well at higher
levels of organization.
--
At the end of the Metatarsal Age, the dinosaurs John Cowan
abruptly vanished. The theory that a single co...@ccil.org
catastrophic event may have been responsible http://www.ccil.org/~cowan
has been strengthened by the recent discovery of
a worldwide layer of whipped cream marking the
Creosote-Tutelary boundary. --Science Made Stupid
On Mon, Jan 9, 2012 at 12:03 AM, Justin Bozonier <darkx...@gmail.com> wrote:
> So FBP it is, but is there already an OSS editor? I'd like something
> canvas or SVG based. Any good frameworks you would use if you had to
> build it yourself? I'm thinking RaphaelJS looks pretty awesome.
There is a quite simplistic editor that is part of the NoFlo FBP tool:
https://github.com/bergie/noflo
See also our tracking issue on the UI questions:
https://github.com/bergie/noflo/issues/1
There is a bunch of open source libraries that could be used for the
web based FBP editor mentioned.
NoFlo has been advancing slowly in the past few months as I've been
busy with other projects, but this winter there are again lots of
cases where I should be able to work on it.
--
Henri Bergius
Motorcycle Adventures and Free Software
http://bergie.iki.fi/
Jabber: henri....@gmail.com
Microblogs: @bergie
Objective C, like C++, is just C with a pre-processor in front of it.
It is claimed that Java is now faster than C, because Java (6?) implements adaptive optimization (dynamic recompilation).
http://en.wikipedia.org/wiki/Java_performance#Adaptive_optimization
pt
IIUC, the most recent part of this conversation has been about putting FBP onto iOS (iPad, etc).
Until recently, it was contractually *illegal* to put a REPL (read eval print loop - i.e. a programming language) on an iOS device, i.e. apps could only be built on workstations, then downloaded - through iTunes ($$$!) - to iOS.
That's Apple marketing policy to control cash-flow and skim. Note that Flash is not supported on iOS for this reason (Flash isn't owned by Apple).
HTML and javascript kind-of thwart that strategy, so Apple has loosened up a bit. (Google for "HTML5 replace Flash").
Go to iTunes and see what "languages" are currently available on iOS. Lua is one of them ($9.99 - very expensive :-). A non-jail-broken iPad can only download apps from iTunes, hence, that is the place to look for iPad "languages".
> don't seem to answer my concern about what tool to use as a
> multithreading "base", so I am wondering if it is because of a
> perception that no special engine is needed. However, my experience
...
> will you use to provide it? Am I missing something obvious?!
The workstation languages all have "native" api's and "direct" access to underlying O/S processes. If the engine really wants to use processes, then any language can request them from the O/S.
For example, Clojure does exactly that.
Clojure's "compiler" emits java bytecodes.
Clojure's support library is written in Java (or was).
Clojure's support library uses Java's "Thread" class to implement "invisible" concurrency.
Java's Thread class is written to take "full" advantage of multi-core.
Clojure gets multi-core "for free".
Clojure is compiled to machine code "for free" by Java's jit engine - the thing that compiles java bytecodes to machine code (before the first use of the class), yet another technique stolen from Lisp :-).
My Common-Lisp based engine uses the supplied multi-processing library to get multi-core "for free", and I even argue it down to one process per core - for efficiency.
You might even consider writing FBP in Clojure or Scala :-).
Or, take the Clojure and Clojure-CLR approach. Learn the JVM and CLR bytecodes (they both have documented classes to help one construct .jars and assemblies) and write FBP in bytecode (which then gets jit'ed to machine code and gets multi-core "for free"). (Or, of course, write a FBP-to-bytecode compiler in FBP).
...
> processes ("non-loopers"). While all FBP processes can be written as
> loopers, not all processes can be written as non-loopers without
> having to use static data to maintain context, which IMO makes
> component-sharing problematic. An application built from multiple
...
That's essentially an orthogonal argument. (!)
I maintain that everything should be a non-looper and that you write the engine for bare metal (no O/S). Then, use O/S features if you're feeling lazy and wish to add inefficiency.
And, to write a looper, you simply send your(non-looper)self "do it again" events.
But, my attitude comes from working in the embedded space, not the data processing space. I can see that, if one's attitude is that "records" or "streams of characters" are the primary concern, one might think in terms of loopers.
[Why does static data make component-sharing problematic? All loaders support the concept. If you use PIC (position independent code), then you don't even need an MMU.]
----
It seems to me that textual languages must truly suck on iPads. Keyboard languages grafted onto a decidedly non-keyboard device.
FBP could win big by us developing a way to create programs using iPad-friendly gestures.
That might be the killer app for FBP. And, we've already done the research on how to break programs up to make them draw-able.
Jonathan Edwards thinks this way, also, http://alarmingdevelopment.org/?p=662 but, I'm not sure he believes in the power of FBP.
pt
These figures suggest to me that C is still a good
base for building a general tool.
I guess I am having trouble understanding why people on this group
don't seem to answer my concern about what tool to use as a
multithreading "base",
so I am wondering if it is because of a
perception that no special engine is needed.
However, my experience
is that, to get the whole power of FBP, you need both long-running
processes ("loopers" in FBP terminology) and "subroutine-like"
processes ("non-loopers").
An application built from multiple
loopers IMO must have some mechanism for multithreading the various
processes. Is such a mechanism available in the various languages
people have been talking about in this group? If not, what language
will you use to provide it? Am I missing something obvious?!
Quote from Ralf Westphal:I agree with the fact that we are in the age of usability but fully disagree that the preoccupation with memory and performance is over. Lack of preoccupation for the memory and performance hides sever logical problems. Memory and performance are physical aspects but they influence a lot the logic, unfortunately.
"The preoccupation with memory and performance is over. A telling sign of this is, there are no more compiler comparisons around. We are in the age of usability.)"
> Google translates "sudelbuch" as "waste book" - doesn't seem very
> appropriate.
The English equivalent is "commonplace book", a blank book where
you write down your random thoughts, things you read, or things that
other people say that you want to keep track of. Sometimes they are
organized by subject headings, sometimes not. The best ones are then
often transferred to some more formal medium.
The term and idea dates to the 16th century, but apparently they are more
of a living tradition in the German-speaking lands than in Anglophonia.
--
John Cowan http://www.ccil.org/~cowan co...@ccil.org
Be yourself. Especially do not feign a working knowledge of RDF where
no such knowledge exists. Neither be cynical about RELAX NG; for in
the face of all aridity and disenchantment in the world of markup,
James Clark is as perennial as the grass. --DeXiderata, Sean McGrath
This sounds similar to note book, scrap book, visual diary...
I think many authors carry a note book for this purpose,
so they can write down good ideas before forgetting them!
It's a good idea to carry such a note book, if I had a note book I would
jot it down but there is some problem with recursion here!
Well really I have more of a problem with too many different note books
and ideas scattered around in real and cyber space, not well organized.
I started using 'vim outliner' the other day, an outliner is a very
useful tool.
Here's an article about outlining, by the guy who recommended it to me.
http://www.troubleshooters.com/tpromag/199911/199911.htm
Sam