Deutsch   English   Français   Italiano  
<vts9sn$1sicb$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.nobody.at!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Dave Froble <davef@tsoft-inc.com>
Newsgroups: comp.os.vms
Subject: Re: Clair Grant on VMS code base
Date: Thu, 17 Apr 2025 21:28:38 -0400
Organization: A noiseless patient Spider
Lines: 162
Message-ID: <vts9sn$1sicb$1@dont-email.me>
References: <vsh5m5$3is6e$1@dont-email.me>
 <67fee5b8$0$708$14726298@news.sunsite.dk> <vtplin$9us$2@reader1.panix.com>
 <vtqslm$j0ll$1@dont-email.me> <vtqtth$f45$2@reader1.panix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 18 Apr 2025 03:28:56 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="965b5c453c59ebb170c1fe231b9d752f";
	logging-data="1984907"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/qbTHZmuj3K4ZgN+7clzSJZZtFtAjmHow="
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:45.0) Gecko/20100101
 Thunderbird/45.8.0
Cancel-Lock: sha1:/Coc7bq71z0kwL4mCUvoL0IbqlY=
In-Reply-To: <vtqtth$f45$2@reader1.panix.com>
Bytes: 10003

On 4/17/2025 8:58 AM, Dan Cross wrote:
> In article <vtqslm$j0ll$1@dont-email.me>,
> Arne Vajhøj  <arne@vajhoej.dk> wrote:
>> On 4/16/2025 9:29 PM, Dan Cross wrote:
>>> In article <67fee5b8$0$708$14726298@news.sunsite.dk>,
>>> Arne Vajhøj  <arne@vajhoej.dk> wrote:
>>>> There is no question that it is most accurate to only
>>>> count the continued line as one in your example.
>>>>
>>>> But I suspect that a lot of LOC counters just count
>>>> non-blank and non-comment.
>>>>
>>>> Anything else requires language knowledge.
>>>>
>>>> And while it for Fortran, Basic, Macro-32 may be relative
>>>> simple, then for other languages it can become more tricky.
>>>>
>>>> Let us take 4 times Pascal:
>>>>
>>>> if a = 1 then b := 2 else b := 3;
>>>>
>>>> if a = 1 then
>>>>     b := 2
>>>> else
>>>>     b := 3;
>>>>
>>>> if a = 1 then begin
>>>>     b := 2;
>>>> end else begin
>>>>     b := 3;
>>>> end;
>>>>
>>>> if a = 1 then
>>>> begin
>>>>     b := 2;
>>>> end
>>>> else
>>>> begin
>>>>     b := 3;
>>>> end;
>>>>
>>>> How many lines? I would say that the most correct is 3 in
>>>> all 4 cases. But coding the line counter to return that
>>>> would require it to have Pascal knowledge.
>>>>
>>>> And what about the fluent style that are so modern?
>>>>
>>>> o = f.create();
>>>> o.add(1);
>>>> o.add(2);
>>>> o.add(3);
>>>>
>>>> o = f.create()
>>>>       .add(1)
>>>>       .add(2)
>>>>       .add(3);
>>>>
>>>> o = f.create().add(1).add(2).add(3);
>>>>
>>>> 1 1 1 or 4 1 1 or 4 4 1 or 4 4 4??
>>>>
>>>> So I think counters go for the simple approach and assume
>>>> that for large code bases with many developers then total
>>>> converge towards an "average" style.
>>>
>>> Most modern code-counting tools _are_ language aware.  Whether
>>> they do a better or worse job for each given language may be a
>>> matter of debate, but most at least recognize different
>>> languages and have some knowledge of their semantics.
>>>
>>> Cf, https://github.com/XAMPPRocky/tokei?tab=readme-ov-file
>>> https://github.com/AlDanial/cloc?tab=readme-ov-file#recognized-languages-
>>> https://github.com/boyter/scc/blob/master/LANGUAGES.md
>>>
>>> etc.
>>
>> Their language awareness consist of recognizing comments.
>>
>> They are examples of some of those tools that simply count
>> non-blank non-comment lines.
>>
>> (SCC also know some keywords but that is used for complexity
>> calculation not for line counting)
>>
>> C:\Work>type demo.c
>> // C demo
>>
>> #include <stdio.h>
>>
>> int main()
>> {
>>     int a[] = {
>>         1,
>>         2,
>>         3
>>     };
>>     printf("%d %d %d\n",
>>         a[0],
>>         a[1],
>>         a[2]);
>>     return 0;
>> }
>>
>> C:\Work>cloc-1.96 demo.c
>>        1 text file.
>>        1 unique file.
>>        0 files ignored.
>>
>> github.com/AlDanial/cloc v 1.96  T=0.01 s (67.5 files/s, 1147.0 lines/s)
>> -------------------------------------------------------------------------------
>> Language                     files          blank        comment
>>   code
>> -------------------------------------------------------------------------------
>> C                                1              2              1
>>     14
>> -------------------------------------------------------------------------------
>>
>> C:\Work>scc demo.c
>> ───────────────────────────────────────────────────────────────────────────────
>> Language                 Files     Lines   Blanks  Comments     Code
>> Complexity
>> ───────────────────────────────────────────────────────────────────────────────
>> C                            1        17        2         1       14
>>      0
>> ───────────────────────────────────────────────────────────────────────────────
>> Total                        1        17        2         1       14
>>      0
>> ───────────────────────────────────────────────────────────────────────────────
>> Estimated Cost to Develop (organic) $305
>> Estimated Schedule Effort (organic) 0.63 months
>> Estimated People Required (organic) 0.04
>> ───────────────────────────────────────────────────────────────────────────────
>> Processed 200 bytes, 0.000 megabytes (SI)
>> ───────────────────────────────────────────────────────────────────────────────
>>
>> C:\Work>tokei-x86_64-pc-windows-msvc demo.c
>> ===============================================================================
>>  Language            Files        Lines         Code     Comments
>> Blanks
>> ===============================================================================
>>  C                       1           17           14            1
>>      2
>> ===============================================================================
>>  Total                   1           17           14            1
>>      2
>> ===============================================================================
>
> You are aware that there are other tools, correct?  These are
> just examples of a handful that have _some_ language awareness.
>
> 	- Dan C.
>

I don't know compilers, but, I'd think a compiler might have the best idea of 
the statements, output code, and such.  Perhaps they just aren't set up to tell us?

-- 
David Froble                       Tel: 724-529-0450
Dave Froble Enterprises, Inc.      E-Mail: davef@tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA  15486