I say the subject line half-joking, but this article describes a programming language for large scale, complex programs that is quite similar to the Max/Pd paradigm:
http://www.rebelscience.org/Cosas/Reliability.htm
I personally have been recently driven to make Pd a full-fledged programming language because I believe that its a more intuitive way of programming for many if not most people. That is another side of the same coin that the above article is covering: current programming languages were designed by engineers and mathematicians for engineers and mathemeticians.
I think we should view programming as a question of literacy. All people should be able to program just like it is a universal belief that all humans should be able to read and write. This method of programming enables such literacy.
.hc
------------------------------------------------------------------------
The arc of history bends towards justice. - Dr. Martin Luther King, Jr.
On 16.06.2006, at 07:19, Hans-Christoph Steiner wrote:
I personally have been recently driven to make Pd a full-fledged programming language
How do you define 'a full-fledged programming language'? What do you miss in PD? And why do you feel uncomfortable with existing programming languages you may describe as 'full-fledged' so you need to beef up PD?
I am in general very sceptical whether visual programming languages scale up for complex tasks (e.g. which visual programming language is defined largely in itself -- as e.g. Lisp or SmallTalk usually are) but I would be very interested if someone can show me otherwise.
Best, Torsten
-- Torsten Anders Sonic Arts Research Centre • Queen's University Belfast Frankstr. 49 • D-50996 Köln Tel: +49-221-3980750 www.torsten-anders.de strasheela.sourceforge.net
On Fri, 2006-06-16 at 09:03 +0200, Torsten Anders wrote:
I personally have been recently driven to make Pd a full-fledged programming language
How do you define 'a full-fledged programming language'? What do you miss in PD? And why do you feel uncomfortable with existing programming languages you may describe as 'full-fledged' so you need to beef up PD?
I am in general very sceptical whether visual programming languages scale up for complex tasks (e.g. which visual programming language is defined largely in itself -- as e.g. Lisp or SmallTalk usually are) but I would be very interested if someone can show me otherwise.
dataflow languages are very good to model data streams such as dsp graphs or message streams (like sensor data), so it's very reasonable to use a dataflow model for an audio programming language for projects of any size ....
but the weakness is the control logic and data manipulation. the expressive power of written programming languages is much bigger in these aspects, not mentioning the debugging techniques.
t
-- tim@klingt.org ICQ: 96771783 http://www.mokabar.tk
After one look at this planet any visitor from outer space would say "I want to see the manager." William S. Burroughs
On Jun 16, 2006, at 7:08 AM, Tim Blechmann wrote:
On Fri, 2006-06-16 at 09:03 +0200, Torsten Anders wrote:
I personally have been recently driven to make Pd a full-fledged programming language
How do you define 'a full-fledged programming language'? What do you miss in PD? And why do you feel uncomfortable with existing programming languages you may describe as 'full-fledged' so you need to beef up PD?
I am in general very sceptical whether visual programming languages scale up for complex tasks (e.g. which visual programming language is defined largely in itself -- as e.g. Lisp or SmallTalk usually are) but I would be very interested if someone can show me otherwise.
dataflow languages are very good to model data streams such as dsp graphs or message streams (like sensor data), so it's very reasonable to use a dataflow model for an audio programming language for projects of any size ....
but the weakness is the control logic and data manipulation. the expressive power of written programming languages is much bigger in these aspects, not mentioning the debugging techniques.
That is a matter of opinion, not fact. Many people find it to be quite the opposite. Many things relating to control and data manipulation are trivial for me in Pd but take me much longer when I have to think procedurally.
Now consider the amount of human-hours spent on developing prodecural and/or object-oriented languages, techniques, debugging tools, etc. Compare that to the amount of human-hours spent on visual programming languages. Its miniscule in comparison. So given that, I think that dataflow languages stand up quite well.
.hc
------------------------------------------------------------------------
¡El pueblo unido jamás será vencido!
On Fri, Jun 16, 2006 at 04:09:55PM -0400, Hans-Christoph Steiner wrote:
On Jun 16, 2006, at 7:08 AM, Tim Blechmann wrote:
and/or object-oriented languages, techniques, debugging tools, etc. Compare that to the amount of human-hours spent on visual programming languages. Its miniscule in comparison. So given that, I think that dataflow languages stand up quite well.
I have a feeling that dataflow languages will also be a really nice fit on massively parallel systems with thousands or even millions of processors. Imagine if every subpatch or data path in Puredata for example could be executed on a different CPU. I realise this is not technically possible due to Pd's design, but is interesting to think about. In any case, I think Pd would probably not be the best tool for general purpose dataflow programming since it's so geared towards making noise and art. Maybe something like Gridflow with a different scheduler?
Chris.
------------------- chris@mccormick.cx http://mccormick.cx
On Jun 16, 2006, at 3:03 AM, Torsten Anders wrote:
On 16.06.2006, at 07:19, Hans-Christoph Steiner wrote:
I personally have been recently driven to make Pd a full-fledged programming language
How do you define 'a full-fledged programming language'? What do you miss in PD? And why do you feel uncomfortable with existing programming languages you may describe as 'full-fledged' so you need to beef up PD?
I miss visual programming when using other languages. A decent programming environment should be able to do whatever its users' want it to do. Why are the python people reimplementing all these APIs in python when they already exist in Perl? Why did the perl hackers reimplement all these APIs when they already exist in C? Its the same question.
I am in general very sceptical whether visual programming languages scale up for complex tasks (e.g. which visual programming language is defined largely in itself -- as e.g. Lisp or SmallTalk usually are) but I would be very interested if someone can show me otherwise.
Pd has some fundamental design issues that will prevent it from becoming a general purpose language. String handling is a major issue, for example, and the symbol/list weirdness. You might be interested in looking at netpd. They implemented version control, textfile parsing, and network distribution and management of files all in Pd. Seeing that really made me think that Pd could be a general purpose programming language.
.hc
Best, Torsten
-- Torsten Anders Sonic Arts Research Centre • Queen's University Belfast Frankstr. 49 • D-50996 Köln Tel: +49-221-3980750 www.torsten-anders.de strasheela.sourceforge.net
PD-ot mailing list PD-ot@iem.at http://lists.puredata.info/listinfo/pd-ot
------------------------------------------------------------------------
As we enjoy great advantages from inventions of others, we should be glad of an opportunity to serve others by any invention of ours; and this we should do freely and generously. - Benjamin Franklin