Hi list,
I wish a f...... good year for the pd community !
I will teach some workshops about Pd and I would like to speak about the design principles behind Pd Development. I remember some but I don't find these anymore. May someone (Miller ?) validate or explain them ?
Two principles I remember :
About the history of Pd, we associate often the design of Pd with Music III - V Max Mathew's program. Could someone validate this, I can't find any screenshots or design principles about Music III - V ?
Thanks for any insights !
Best
j.
Maybe he meant per function :-D
On 04.01.2022 14:57, Roman Haefeli wrote:
On Tue, 2022-01-04 at 13:53 +0100, Jérôme Abel wrote:
The number of lines of code must be less than 10 000 ?
Where did you get that from?
$ cat pd/src/*.c | wc -l 84235
Roman
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Hi Jérôme,
Likewise!
A pd patch must be run in old computers. Is it related to the choice of C Language and Tcl TK ? Could be also related to some ecological vision about new technologies obsolescence and anti-productivism ?
What I understand from one of Miller's papers relates (somehow) to the "old computers" part. My summary: In the 1980's, GUI and sound generation used to be separate partly because the computers were not powerful to do both at the same time, and partly because people built upon existing designs that were split like that.
(See pages 6 and onward in "Max at Seventeen", http://msp.ucsd.edu/Publications/dartmouth-reprint.pdf )
The same paper probably answers aspects of your question about MUSIC and Max Mathew as well. (See page 2.)
The number of lines of code must be less than 10 000 ?
Another paper by Miller mentions 100k for a version of Max, and indicates the same limit should apply to Pd: "[...] at 100,000 lines of code, Max/FTS was approaching the limit of maintainability."
(This is on page 5 of "The Deadly Embrace Between Music Software and Its Users", http://msp.ucsd.edu/Publications/pdf_EMS14_puckette.pdf )
The current number of source lines of code per the sloccount
utility
is 118,532 across all programming languages. C accounts for about 85% of
that. More details below.
Best regards, Albert.
----8<----
$ sloccount --version 2.26 $ git branch --verbose
last 'develop' fixes and now can't rename 0.52-0) $ sloccount . [...lots of setup messages omitted...] Categorizing files. Finding a working MD5 command.... Found a working MD5 command. Computing results.
SLOC Directory SLOC-by-Language (Sorted) 73275 src_top_dir ansic=73275 19223 portaudio ansic=16072,cpp=3108,sh=43 8678 tcl tcl=8671,sh=7 6850 extra ansic=6850 4926 portmidi ansic=4888,sh=38 4169 m4 sh=4169 548 mac sh=548 470 msw sh=470 202 doc ansic=202 60 libpd ansic=60 56 po tcl=56 44 linux sh=44 16 md awk=13,sh=3 15 top_dir sh=15 0 asio (none) 0 autom4te.cache (none) 0 bin (none) 0 font (none) 0 man (none)
Totals grouped by language (dominant language first): ansic: 101347 (85.50%) tcl: 8727 (7.36%) sh: 5337 (4.50%) cpp: 3108 (2.62%) awk: 13 (0.01%)
Total Physical Source Lines of Code (SLOC) = 118,532 Development Effort Estimate, Person-Years (Person-Months) = 30.10 (361.19) (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05)) Schedule Estimate, Years (Months) = 1.95 (23.44) (Basic COCOMO model, Months = 2.5 * (person-months**0.38)) Estimated Average Number of Developers (Effort/Schedule) = 15.41 Total Estimated Cost to Develop = $ 4,066,015 (average salary = $56,286/year, overhead = 2.40). SLOCCount, Copyright (C) 2001-2004 David A. Wheeler SLOCCount is Open Source Software/Free Software, licensed under the GNU GPL. SLOCCount comes with ABSOLUTELY NO WARRANTY, and you are welcome to redistribute it under certain conditions as specified by the GNU GPL license; see the documentation for details. Please credit this data as "generated using David A. Wheeler's 'SLOCCount'."
Maybe it was never official credo but Pd seems to have the least backwards-harm while still managing to keep developing. <ost patched I have from < 2005 still run ir need only minor tweaks.
happy 2022 andy
On Tue, Jan 04, 2022 at 01:53:19PM +0100, Jérôme Abel wrote:
Hi list,
I wish a f...... good year for the pd community !
I will teach some workshops about Pd and I would like to speak about the design principles behind Pd Development. I remember some but I don't find these anymore. May someone (Miller ?) validate or explain them ?
Two principles I remember :
- A pd patch must be run in old computers. Is it related to the choice of C Language and Tcl TK ? Could be also related to some ecological vision about new technologies obsolescence and anti-productivism ?
- The number of lines of code must be less than 10 000 ?
About the history of Pd, we associate often the design of Pd with Music III
- V Max Mathew's program. Could someone validate this, I can't find any
screenshots or design principles about Music III - V ?
Thanks for any insights !
Best
j.
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
About the history of Pd, we associate often the design of Pd with Music III - V Max Mathew's program. Could someone validate this, I can't find any screenshots or design principles about Music III - V ?
I would say the association is very tenuous, comparing with Csound-type concepts, which is a direct descendent of the MUSIC paradigm. Although there is some connection between all these music softwares, the way of operating is very different.