[PD] Design / Philosophy principles behind Pd development
Albert Rafetseder
albert.rafetseder+pd at univie.ac.at
Tue Jan 4 16:09:01 CET 2022
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.
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'."
More information about the Pd-list
mailing list