Author Topic: Food For Thought  (Read 2962 times)

Offline jayatk

  • Multiple posting newcomer
  • *
  • Posts: 40
Food For Thought
« on: March 01, 2006, 07:44:02 pm »
Here's an interesting article I read by Jack Ganssle in Embedded Systems Design.

http://www.embedded.com/showArticle.jhtml;jsessionid=VGEDIRT1APPP4QSNDBOCKHSCJUMEKJVN?articleID=179101955

Check out the replies to the article too.  Good stuff.

I think he has a lot of good ideas to challenge compiler or IDE writers.  C::B has implemented some these, but maybe someone can come up with some better documentation support through plugins like hyperlinking to OpenOffice.org docs.  Grant it, some of his idea may not line up with the goals of C::B, but it's something to think about.  The tricky part is keeping the IDE from becoming too bloated in the process that it's unusable.
« Last Edit: March 01, 2006, 09:55:18 pm by jayatk »

Offline takeshi miya

  • Lives here!
  • ****
  • Posts: 1487
Re: Food For Thought
« Reply #1 on: March 01, 2006, 08:29:18 pm »
I've read it, and everything Jack says can be solved without inventing a new xml format or whatever. He more or less is asking for some rich-editing of source code comments.

I think 60% of what he is asking can be solved currently with doxygen.

A more elaborate solution would be a source comments-based documentation generator, based on Wiki syntax.
With Wiki syntax on sourcecode comments one can achieve 90% of what he's talking about.
The 10% left would be C::B work: adding another mode (other than wxScintilla), perhaps based on wxRichTextEdit or wxHtml.

So basically, one would use wxScintilla when editing the code (like when one edits WikiMedia texts), and using another control for viewing (wxHtml, like when one reads WikiMedia texts).

Offline jayatk

  • Multiple posting newcomer
  • *
  • Posts: 40
Re: Food For Thought
« Reply #2 on: March 01, 2006, 09:10:56 pm »
I've read it, and everything Jack says can be solved without inventing a new xml format or whatever. He more or less is asking for some rich-editing of source code comments.

I think 60% of what he is asking can be solved currently with doxygen.

The problem with doxygen is that it's a post-processing program.  You can't use it to embed UML diagrams or drawings real time into your code, such as cut and paste then have the IDE analyze it and link to your code.   You have to write in your comments where everything is and then run your doxygen on your code.  I think the Jack's goal is to ultimately no longer think of designing software as simply writing code, but fully capturing the design and communicating it to others and make it an easy process.  The easier you make it for someone to record their design through the use of docs, drawings, hyperlinks, etc. as they write their code with less steps as possible, the better chance a software design will remain coherent, maintainable, and less obscure. Open Source code will flourish even more rapidly this way, because it will be easier for someone to pick up where another developer left off.

Of course, a totally unified file format for source and documentation could possibly morph into a higher level language :wink: 

Quote
A more elaborate solution would be a source comments-based documentation generator, based on Wiki syntax.
With Wiki syntax on sourcecode comments one can achieve 90% of what he's talking about.
The 10% left would be C::B work: adding another mode (other than wxScintilla), perhaps based on wxRichTextEdit or wxHtml.

So basically, one would use wxScintilla when editing the code (like when one edits WikiMedia texts), and using another control for viewing (wxHtml, like when one reads WikiMedia texts).

Hmm...possibilities there.
« Last Edit: March 01, 2006, 09:53:57 pm by jayatk »

Offline takeshi miya

  • Lives here!
  • ****
  • Posts: 1487
Re: Food For Thought
« Reply #3 on: March 01, 2006, 09:33:38 pm »
Heh, that's why I said 60% with doxygen: you can actually use links, have formatted text, have "see also" sections, graphics, and a lot more. The problem with doxygen is, as you've said, that is a post-processing program, but that could be solved if one modifies the CodeCompletion plugin for C::B so it parses the source-code and comments and put's everything in wxRichTextEdit.

However to get 100% of what he's asking, WikiMedia syntax and features are almost a perfect fit.