I'd say that documentation of the C sources is even more important because it is necessary for other developers to code in the core. As long as the existing core developers don't document new and old code they will complain about being alone.
You are wrong in much of what you are saying. I coded in C long ago and then almost forgot it. I never coded any C at all at Roxen. Then a year or so ago I decided to give it a go again and try to develop in C. I think I've asked about 5-10 questions in total in this forum and about the same number outside it, so it really isn't that hard, even if you don't know C.
I'm of course not opposed to having documentation, but it is in no way required in order to make a contribution.
/Martin Nilsson
/ Martin Nilsson (räfsfiskal)
Previous text:
2004-05-25 23:21: Subject: Pike internal doc [ was: conference thoughts ]
I'd say that documentation of the C sources is even more important because it is necessary for other developers to code in the core. As long as the existing core developers don't document new and old code they will complain about being alone.
The thing to understand is that it was much more easy for them to understand when the language was younger (less complex, less lines codes, optimizations) or even when they worked with the people who created it or for people that don't spend all their work time on Pike sources. Even if you feel it is, it is really not easy for someone coming from outside to understand Pike sources (especially given the number of lenghty macros used).
Even simple things like telling which functions is used from cmod free / allocate memory alone and/or add references or not is not available, you have to check in the sources.
For easy functions, I know sometime it is obvious to know that low_mapping_lookup is for looking a key in the mapping but it would save everyone's time to have an online reference without being forced to check the source to make sure it takes two arguments of type struct mapping *m, struct svalue *key. That it returns 0 is no entry match and that otherwise it return an svalue that contain the value* of the entry.
Now some core things would also be usefull like what is this debug_dmalloc that I see everywhere ? It seems handy, how could I use it in my cmod ? Or another question, how does Pike threading works ? What is THREADS_ALLOW / DISALLOW ? How does the interpreter lock works ? How does the gc works ? How to create Pike callback from a cmod ? hmmm, this function mega_apply looks interesting, how does it works exactly ? How does Pike_intrepreter struct works ? All these are only examples but they would fit perfectly in a tutorial.
Martin Stjernholm, Roxen IS @ Pike developers forum wrote:
Embedding sort of stands at finding someone prepared to get some real work done. Afaik none of the oldtime core developers have committed themselves to it, so that leaves someone else that has to learn those parts (it's not that difficult - even I managed it (mostly) ;).
/ Martin Stjernholm, Roxen IS
Previous text:
2004-05-25 16:42: Subject: Re: conference thoughts
Hi,
Personnaly I don't really see the interest for another Pike conference as long as the issues from the last conference are not fixed that is embedding and documentation of the internals especially the later since I can understand that embedding is lot of work.
Bill Welliver wrote:
Having the conference during the first week in October would probably work for me, too. Obviously, we should try to pick a time that's convenient for as many as possible. Any others have opinions? A decision should probably be made within the next month, so that others have time to plan around it.
I think Martin's leading option was somewhere around Essen, Germany. There's apparently an interesting option for space and housing; there would be local publicity if I'm not mistaken, and the additional possibility of involving some local Pike-users at the University in Essen.
/ Brevbäraren
/ Brevbäraren