
Vvvv – a live-programming environment for easy prototyping and development - talles
https://vvvv.org
======
theon144
Also see vvvv.js, a project that mimicks VVVV but uses the web as its
platform, instead of Windows :)

[http://www.vvvvjs.com/](http://www.vvvvjs.com/)

------
kimburgess
For people wanting to get play with visual programming, Pure Data is another
beautiful, open source option.

[https://puredata.info/](https://puredata.info/)

~~~
MrBra
Among this, vvvv, Max/MSP/Jitterm, derivative.ca and other software of this
kind: which one is more powerful, more performing and the more mature in terms
of deployment of the final product?

~~~
tebjan
I think it depends on your skills. If you need maximum flexibility on every
level (from multi screen setup to bit operations) then definitively vvvv since
it's the most general.

------
vvvv
I had no idea my initials might be popular.

------
almost
I've worked with a few people who use vvvv and written (is that the right verb
when it's graphical language) a bunch of of vvvv nodes to integrate with other
stuff I was writing for them.

It's a a powerful system and seems to really fit the minds of some very
talented and creative people. As seems to be common with graphical programming
things abstraction can be a little hard unless it fits into the node-with-
fixed-inputs-and-outputs mold but this isn't a huge problem for the sizes of
projects I saw.

The really cool thing in my opinion is the live nature, coding and runtime are
the same so you can see it all running as you change thing. Fantastic for both
exploratory coding and performance coding. I used it once as a front end for
playing with some head tracking code I was working in in C++ and it was a fun
experience, pity it's Windows only!

~~~
catnaroek
> As seems to be common with graphical programming things abstraction can be a
> little hard unless it fits into the node-with-fixed-inputs-and-outputs mold

In other words, you're trapped in a first-order box: [http://lambda-the-
ultimate.org/node/5157#comment-85605](http://lambda-the-
ultimate.org/node/5157#comment-85605)

~~~
eggy
Constraints sometimes are a creativity booster in art, so maybe not so much a
trap. Whereas unlimited tools or canvases may paralyze it. Just look at the
demoscene to see what people create in a self-imposed limited environment.

A person chooses to confine themselves to watercolors, and masters the medium,
or does something spectacular with it, since they focused on that medium. Just
looking at the vvvv examples, I'd say there's plenty enough there to get
started and then some.

Praxis runs on many platforms since it is Java-based, and has node editing,
but you can edit code on the fly as well. You can do visuals, and it has the
beginnings of a sound synthesis base already working and in progress. [1]

I personally use Extempore, a livecoding environment that evolved from
Impromptu. It has a low-level, Scheme-like language called xtlang, and can do
sound and visuals too. [2]

I also use Tidal, a Haskell-based system to livecode patterns of samples -
very addictive, since it is easy to make something quick. [3]

Fluxus is a scheme-based system, that is mainly for visuals, although there is
a lesser-known audio component called fluxa for linux and Mac OS for it. [4]
It was the first livecoding system I had really been exposed to around 2005, a
few years after I picked up Processing. [5]

Somebody mentioned Pd, PureData. You need the extended version to do graphics,
since the vanilla Pd is node-based just for sound creation.

There are many other systems, and it seems the livecoding scene is exploding.

[1] [http://www.praxislive.org/](http://www.praxislive.org/) [2]
[http://extempore.moso.com.au/](http://extempore.moso.com.au/) [3]
[http://tidalcycles.org/](http://tidalcycles.org/) [4]
[http://www.pawfal.org/fluxus/](http://www.pawfal.org/fluxus/) [5]
[https://processing.org/](https://processing.org/)

~~~
catnaroek
From the Extempore link:

> xtlang also borrows many Lisp like semantics including _first class
> closures_ [emphasis mine], tail recursion and macros.

xtlang doesn't trap you in a first-order box. That's a good thing.

From the Tidal link:

> Tidal is embedded in the Haskell language.

Haskell doesn't trap you in a first-order box. Programming in a DSL embedded
in Haskell is just programming in Haskell.

From the Fluxus link:

> Extends the Racket language with graphical commands and can be used within
> it’s own livecoding environment or from within the DrRacket IDE.

Same as above, s/Haskell/Racket/g.

\---

FWIW, I never criticized the use of DSLs for art (or any other purpose). Only
the imposition of first-order jails.

~~~
eggy
I didn't take your post as criticism, but rather a spark, or conversation
starter, to think about self-imposed limits in art via tools or physical
handicaps.

I had immediately thought of the demoscene, especially Inigo Quilez [1], and
his creation Shadertoy [2]. It is amazing to see what people create with these
tools.

Thanks for the link on 'first-order jails'. I thought I had the gist of it,
until I read your link. I especially like the back and forth about higher
order vs. first order re: Haskell and graphical user interfaces. I am curious
how it applies to Praxis, which has a node editor, but you can hop into the
code which is in Java. It is built from the ground up for distributed, non-
glitch livecoding.

I am an experimenter, and although I fancy myself reading about logic and
computing, I am only passingly familiar with it WRT your reference. I learn a
lot about it from my studies with Shen [3], and recently Idris. [4]

Extempore, and its programmng language xtlang, are driven by livecoding needs,
but it is basically a general systems programming language at this point. I
believe Andrew started with S7 scheme like CM (Common Music) did. The original
creator, Andrew Sorensen, and Ben Swift who works on it too, are courting, or
are being courted by the HPC world. The need to have a language that could
handle time well, or 'temporal recursion' for music creation, lends itself
well to HPC concerns. Xtlang is fast. C fast. It uses LLVM in the back.

Blender3D has a nice node editor for building up procedural textures and
shaders too as in this tutorial. [5] I find that the node/gui approach keeps
me focused on what I am trying to emulate or build. I don't like it for
programming like in LabView though, and I don't like node-based programming in
the few incarnations I have seen. OTOH, Brainfuck is TC, but I wouldn't want
to be in that 'first order jail'-free environment either ;) REVELATION: I do
like J, which some people say looks like line noise! [6]

[1] [http://iquilezles.org](http://iquilezles.org) [2]
[https://www.shadertoy.com/](https://www.shadertoy.com/) [3]
[http://shenlanguage.org/](http://shenlanguage.org/) [4] [http://www.idris-
lang.org/](http://www.idris-lang.org/) [5]
[http://www.chocofur.com/6-shadersamptextures.html](http://www.chocofur.com/6-shadersamptextures.html)
[6] jsoftware.com

~~~
catnaroek
> to think about self-imposed limits in art via tools or physical handicaps.

Oh, I'm also not denying the value of self-imposed limits:

(0) In a library I'm writing, I'm enforcing these rules: no unreachable code
paths, no exceptions (or any other form of sneaky control flow), no asserts.
Programming under these constraints is difficult, but the result is very
satisfying: my functions now have more precise argument types, because I'm not
allowed to throw an exception if they're passed the wrong argument!

(1) When I write music (which admittedly I don't do very well), I find it
useful to come up with, say, 10 potential leitmotifs, reject all but 2 or 3 of
them, and force myself to write the rest of the song or tune around the
selected motifs. The other motifs are completely forbidden, though they may be
reused when writing another song or tune.

> I am an experimenter, and although I fancy myself reading about logic and
> computing

I think anyone who's doing something new, not done before, has to be an
experimenter to some extent. Which is a good thing! That's how cool stuff
happens: try various approaches, until you find one that works. Even logic was
developed that way. First-order jails limit what you can try, though.

\---

As for the rest of your post, I have read it, but I can't intelligently
comment. I'm a visually challenged person - I'm not blind, but I'm the kind of
person who needs a ruler and a compass to draw stickmen.

~~~
eggy
I am self-taught, and the way category theory has been popularized in more
than just mathematics has resulted in so many papers that it is hard to keep
up. I am skimming a book called 'Category Theory for Scientists' at the
moment.

I was first turned on to logic by Raymond Smullyan's books for laymen, but I
have since bought his more academic books; I have not made it through them
yet.

Now I look for these concepts in my tools too. That is why I chose Extempore,
being Lisp/scheme-based, and I have looked into Haskell-based tools like
Euterpea for music, and just today Hylogen for livecoding shaders in Haskell.
Elm is also cool for front end development.

> ruler and a compass to draw stickmen.

I am stealing that one!

------
Pinkertron
Another powerful program along the same lines is touch designer
[https://www.derivative.ca](https://www.derivative.ca)

It's an offshoot of Houdini. It is exceptional at working with external
hardware controllers and networking.

~~~
CyberDildonics
Really have to give it to touch designer, it is a fantastic piece of software
that seems underrated with the current state of input devices and graphics
power.

~~~
sdwisely
also worth mentioning:

[http://vuo.org](http://vuo.org) \- intended as a replacement to quartz
composer and cross platform later on.

[http://www.bigfug.com/software/fugio/](http://www.bigfug.com/software/fugio/)
\- cross platform and came out this week.

"Fugio is an open visual programming application with support for Oculus Rift,
timeline based media playback, OpenGL, OSC, MIDI, Arduino, and much more!"

------
teemwerk
Love vvvv and use it for all my graphics nonsense. The graphics is all
DX9/DX11, that might be a little bit of a turnoff for the hacker news crowd,
but the ability to string together and debug shaders in real-time and just
generate gobs of data for visualization and interaction is unbeatable.

------
barcoder
It's a visual programming language similar to Max msp, but focused on visuals
and sensors. Windows only (DX9/DX11).

Free download, only pay if using commercially.

------
000graphics
vvvv and vvvv.js is what i work with everyday

here is a showreel of some projects i did with it (little self promo but good
examples for anyone interested)

[https://vimeo.com/160009182](https://vimeo.com/160009182)

The power is that you are super quick with setting up your cpu based part of
the programm and then you can focus on shaders.

Currently I am developing on a 3d game engine implementation for vvvv.js with
webgl. a vvvv server is procuedurally generating tons of assets and data-
structures for the engine.

it can compile crossplatform on mobile devices, desktop apps and in browsers
of course

for me vvvv -> vvvv.js developement framework and production pipeline is the
most mind blowing thing i ever encountered

------
davydka
Someone should at least add Max/MSP/Jitter to the list. Visual programming is
really fun. [https://cycling74.com](https://cycling74.com)

------
whatever_dude
Love VVVV. A purely dataflow programming language that you create "code"
_while it is already running_. It's great for experimentation.

------
vonklaus
I really wanted something like scratch for api design. I can't load vvvv right
niw for some reason, but i was hoping/looking for something like a cross
between scratch & balsamiq to design programs.

For example a crud app, you could visually design the routing, db structure
auth flow ect. is vvvv like this?

~~~
almost
vvvv is probably not what you're looking for. It's pretty painful (but still
possible) to do standard crud things. That's understandable because that's
really not what it's for.

------
MrNoir
My two cents... when you know vvvv you simply don't need anything else...

------
yahyaheee
Looks like we crashed the site

------
hk__2
Not to be confused with VVVVVV, a puzzle platform game :)

[https://en.wikipedia.org/wiki/VVVVVV](https://en.wikipedia.org/wiki/VVVVVV)

~~~
psalz
Or VVV [https://github.com/Varying-Vagrant-
Vagrants/VVV](https://github.com/Varying-Vagrant-Vagrants/VVV)

~~~
georgestephanis
Or VV [https://github.com/bradp/vv](https://github.com/bradp/vv)

~~~
chacha102
Now this is just starting to get ridiculous...

~~~
fungos
No, we can go further, like: "Or v the letter".

~~~
marxidad
or V the television show

~~~
psquid
or V for Vendetta

