Re: [PD] Design / Philosophy principles behind Pd development

2022-01-04 Thread Jérôme Abel

Thanks!

The documents highlight by Albert Rafetseder help me to find some answers.

From Miller's writing "The Deadly Embrace Between Music Software and 
Its Users" (http://msp.ucsd.edu/Publications/pdf_EMS14_puckette.pdf), I 
would synthetise as follow.


The three most important criteria in development of Pd:

 * longevity:
 o limit of maintainability < 100 000 lines of code (not 10 000
   indeed !)
 o usable lifetime of 50 years : avoid adding any but the most
   carefully justified and planned extensions now
 * new versions of Pd should run older patches compatibly (For me, it
   sounds like the first criteria)
 * Pd should never stop working unexpectedly during a live performance

<3

j.

___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] Design / Philosophy principles behind Pd development

2022-01-04 Thread João Pais



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.





___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] Design / Philosophy principles behind Pd development

2022-01-04 Thread Andy Farnell
Maybe it was never official credo but Pd seems to have the
least backwards-harm while still managing to keep developing.
 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.
> 
> http://jeromeabel.net
> 

> ___
> Pd-list@lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> 
> https://lists.puredata.info/listinfo/pd-list



signature.asc
Description: Digital signature
___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] Design / Philosophy principles behind Pd development

2022-01-04 Thread Albert Rafetseder
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
* master bad155d2 oops, version number to 0.52-1 (forgot to fold in the
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.


SLOCDirectorySLOC-by-Language (Sorted)
73275   src_top_dir ansic=73275
19223   portaudio   ansic=16072,cpp=3108,sh=43
8678tcl tcl=8671,sh=7
6850extra   ansic=6850
4926portmidiansic=4888,sh=38
4169m4  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'."



___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] Design / Philosophy principles behind Pd development

2022-01-04 Thread Christof Ressi

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




___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] Design / Philosophy principles behind Pd development

2022-01-04 Thread Roman Haefeli
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


signature.asc
Description: This is a digitally signed message part
___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list