[erlang-questions] Speaking of comments

Edmond Begumisa ebegumisa@REDACTED
Mon Dec 13 12:09:08 CET 2010


On Mon, 13 Dec 2010 19:34:36 +1100, Banibrata Dutta  
<banibrata.dutta@REDACTED> wrote:

> On Wed, Dec 8, 2010 at 8:45 PM, Edmond Begumisa  
> <ebegumisa@REDACTED
>> wrote:
>
>> I've thought -- now and then, in the back of my mind -- about removing
>> comments from actual source all-together (for all languages) and  
>> instead,
>> putting them in companion files that the editor lines up side-by-side.  
>> More
>> like annotating than just traditional commenting.
>>
>>
> It's an interesting thought, as it removes clutter -- especially so for a
> programmer who is already well versed with the code.

I agree. I've frequently wanted to add more running commentary on a piece  
of code then stopped myself because of the verboseness it would introduce.  
It would be nice to be able to add comments "on the side" without  
affecting the readability/compactness of a function, especially for a  
language as terse as Erlang. It would also be nice to be able to do this  
with headings-body, nesting/depths and user-name tags (like comments on a  
blog) plus richness of content (e.g. many times I've wished I could stick  
a PNG diagram from some spec into a comment.)

Treating annotations and source-code as two different (but related) things  
might be the answer.

> Most modern editors have features allowing the view to show all comments
> collapsed, expanded, and some even done so selectively.
>

Exactly! This is the concept I would like to see expanded on. Collapsible  
annotation. But as pointed out in that article Toby posted, were not  
making much use of the space to the right of our editors. That seems like  
the perfect place to display comments (of the commentary variety), and  
offers potential for some flexibility (e.g. more than one comment could be  
placed next to a single line or chunk of code like next to the function  
name - hovering the mouse over each heading could then show the detail.)

I also don't like that many editors force me to think about wrapping when  
writing English comments (writing English is not the same as writing  
code). With the editor split into two panes, code on one side, rich  
English/Swedish/Hindi/Chinese/Arabic on the other, different wrapping +  
rtl/ltr could be used.

>
>> Has this sort of thing been done before? Is there a particular editor  
>> that
>> can give me this out of the box? (I admittedly haven't explored a large
>> number of editors)
>>
>> Using Erlang as an example, I've secretly wanted something like...
>>
>> foo.erl
>> foo.cts
>>
>
> Challenge would be to ensure 100% (fail-proof) lock-step update of the  
> .erl
> and .cts files in VCS... ideally triggered from a single command.
>

True. As a VCS user, you'd generally have start thinking of each file as  
two files.

>
>> Then an editor that could give me two panes while keeping the two files  
>> in
>> sync...
>>
>> foo ->  | This function does...
>>  blah  |   This part is buggy...
>>  balh  |
>>
>> Also, in the right pane, I've wanted nestable trees with flexible  
>> levels of
>> detail. Heck, why not even rich text? "FIX ME" in bold red. Take it  
>> further:
>> login-name awareness, source-control/bug-tracker integration (this
>> programmer said this, that programmer said that.)
>>
>> It seems a shame that in 2010, it's still so limiting what we can do  
>> with
>> comments in our source code!
>>
>> - Edmond -
>>
>> On Thu, 09 Dec 2010 01:39:42 +1100, David Mercer <dmercer@REDACTED>
>> wrote:
>>
>>  On Tuesday, December 07, 2010, Richard O'Keefe wrote:
>>>
>>>  Nesting comments are one of those clever ideas
>>>> that turn out to be really dumb, because they don't actually work.
>>>>
>>>
>>> I'll bite, mainly because I've sometimes thought nesting comments  
>>> would be
>>> helpful, for instance, when commenting out large blocks of code, but  
>>> it is
>>> rare that I get to work with a language that supports them.  Since  
>>> you're
>>> almost always right about such things, why do you say that they don't
>>> actually work?
>>>
>>> Cheers,
>>>
>>> David
>>>
>>>
>>>


-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


More information about the erlang-questions mailing list