Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #31520

Re: Return of the Applets?

From Martin Gregorie <martin@address-in-sig.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: Return of the Applets?
Date 2015-04-07 15:51 +0000
Organization A noiseless patient Spider
Message-ID <mg0uek$ubn$1@dont-email.me> (permalink)
References (7 earlier) <mfuums$q9u$1@dont-email.me> <mfv4kv$9q2$1@dont-email.me> <mfv6j3$n7p$1@dont-email.me> <mg0m3n$qb4$1@dont-email.me> <mg0qhd$shj$1@dont-email.me>

Show all headers | View raw


On Tue, 07 Apr 2015 10:45:54 -0400, Jerry Stuckle wrote:

> On 4/7/2015 9:29 AM, Martin Gregorie wrote:
> Then what do you suggest as a better measurement?  Experts have tried to
> come up with one for over 50 years, and haven't.
>
That depends on what you're measuring.

LOC is OK for measuring programmer productivity and for comparing sizes 
of programs provided that they belong to related groups, e.g. block 
structured languages. 

> To do that, you need to define "Function Point Analysis" and how it
> applies to each language.  And you need to define how much work is
> required for each function point.
>
Sure, but function points are NOT language-specific: think of them as 
atomic system functions that can be deduced from a requirements spec when 
combined with the sort of high level ERD and numbers of display forms and 
reports you'd use when costing a new project. At that point you can 
estimate the number of function points (read a row, paint a screen, 
validate input....) needed to implement each display form, etc. 
 
> And then you will find different languages have different workloads for
> each function point.  This then takes you back to LOC to determine
> workload.
> 
Multiplying the function points by language-specific weightings gives a 
programming cost estimate, but you don't do that until the requirement 
set is specific and the programming language(s) has/have been selected.

> It really makes no difference whether the system is being built for a
> one-off event or not.  The system is being built.
>
Yes it does: if you're writing something to test the practicality and/or 
the performance of a design approach or if you know that program is 
needed for a one-off purpose then you little or no documentation apart 
from the requirement spec. OTOH if the system is expected to be in use 
and maintained for a decade, of its something that is highly configurable 
(such as a commercial banking package) then it needs to be documented 
well enough to make maintenance, modification and configuration changes 
relatively simple and so that supporting it is easy to pick up. I still 
have mental scars from installing/supporting/maintaining systems which 
lacked decent documentation.

>> Function point counting would do better here if you add a documentation
>> effort factor for each function point. This would be as equally valid
>> for traditional module document writing as it is for a combined
>> approach, e.g. via javadocs for Java or cdocs/oxygen for C.
>> 
>> 
> Pretty difficult since not all languages support javadoc or similar.
>
You use the tools for languages that support them and reap the benefits 
of having the module-level documentation in the source and hence more 
likely to be maintained as the code changes.

Otherwise you have use traditional word processors etc to maintain 
separate module level documentation and accept the almost inevitable 
problems that arise if, as usually happens, the documentation isn't 
updated.

I suspect there are are more third party javadoc-like tools for other 
languages than you may have run across, e.g. there are at least two such 
tools for C that, like javadocs, extract documentation from the source 
files and I've seen systems where the source version control system 
stored the requirements, HLL system design, database schema, forms 
designs and COBOL source and could (a) generate systems documentation and 
(b) feed source to the schema generator, compilers, etc.

> And BTW - you can access serial ports from many different languages, and
> TCP/IP from Fortran or COBOL.  You just need the right libraries.
>
Some of these languages, e.g. Fortran and COBOL, don't have these 
features in their standard libraries (where they even have a standard 
library). Sure, if they can call external functions you can write 
extensions, in assembler if necessary, but that isn't part of the 
language and so shouldn't appear in the language metrics: 

- if you bought a 3rd party library, you shouldn't count much more 
  than the function calls (one statement per call) in the language
  statistics

- if you wrote the extension, the design/implement/test stats for it 
  should count against the stats for that language and again, the 
  calling code inly gets to count the function calls. 
 
> Actually, documentation is a part of development, and can be related to
> LOC, even though it is not part of the measurement.  I've been doing it
> for the last 25 years I've been managing projects.
>
Good! From my past experience I suspect you're one of the few that did.
How did you gather documentation stats? 

In Java you might do something like:

   DLOT = (source_lines - LOC)/F

where DLOT is 'Documentation Lines Of Text', LOC is the statement count 
and F is a fudge factor to reflect that comment lines are easier to write 
and review than source statements are to write and test.


-- 
martin@   | Martin Gregorie
gregorie. | Essex, UK
org       |

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Re: Return of the Applets? Jerry Stuckle <jstucklex@attglobal.net> - 2015-04-05 09:46 -0400
  Re: Return of the Applets? Jeff Higgins <jeff@invalid.invalid> - 2015-04-05 13:12 -0400
  Re: Return of the Applets? Jerry Stuckle <jstucklex@attglobal.net> - 2015-04-05 15:14 -0400
    Re: Return of the Applets? Arne Vajhøj <arne@vajhoej.dk> - 2015-04-05 16:41 -0400
      Re: Return of the Applets? Jerry Stuckle <jstucklex@attglobal.net> - 2015-04-05 16:54 -0400
        Re: Return of the Applets? Arne Vajhøj <arne@vajhoej.dk> - 2015-04-05 17:08 -0400
          Re: Return of the Applets? Jerry Stuckle <jstucklex@attglobal.net> - 2015-04-05 17:17 -0400
            Re: Return of the Applets? Arne Vajhøj <arne@vajhoej.dk> - 2015-04-05 17:30 -0400
              Re: Return of the Applets? Jerry Stuckle <jstucklex@attglobal.net> - 2015-04-05 17:42 -0400
                Re: Return of the Applets? Arne Vajhøj <arne@vajhoej.dk> - 2015-04-05 17:52 -0400
                Re: Return of the Applets? Jerry Stuckle <jstucklex@attglobal.net> - 2015-04-05 18:17 -0400
                Re: Return of the Applets? Luuk <luuk@invalid.lan> - 2015-04-06 11:26 +0200
    Re: Return of the Applets? Joshua Cranmer 🐧 <Pidgeot18@verizon.invalid> - 2015-04-06 13:23 -0500
      Re: Return of the Applets? Jerry Stuckle <jstucklex@attglobal.net> - 2015-04-06 15:09 -0400
        Re: Return of the Applets? Joshua Cranmer 🐧 <Pidgeot18@verizon.invalid> - 2015-04-06 17:33 -0500
          Re: Return of the Applets? Jerry Stuckle <jstucklex@attglobal.net> - 2015-04-06 17:44 -0400
            Re: Return of the Applets? Joshua Cranmer 🐧 <Pidgeot18@verizon.invalid> - 2015-04-06 19:10 -0500
              Re: Return of the Applets? Jerry Stuckle <jstucklex@attglobal.net> - 2015-04-06 20:03 -0400
                Re: Return of the Applets? Joshua Cranmer 🐧 <Pidgeot18@verizon.invalid> - 2015-04-06 21:36 -0500
                Re: Return of the Applets? Jerry Stuckle <jstucklex@attglobal.net> - 2015-04-07 09:11 -0400
            Re: Return of the Applets? Martin Gregorie <martin@address-in-sig.invalid> - 2015-04-06 23:25 +0000
              Re: Return of the Applets? Jerry Stuckle <jstucklex@attglobal.net> - 2015-04-06 19:59 -0400
                Re: Return of the Applets? Martin Gregorie <martin@address-in-sig.invalid> - 2015-04-07 13:29 +0000
                Re: Return of the Applets? Jerry Stuckle <jstucklex@attglobal.net> - 2015-04-07 10:45 -0400
                Re: Return of the Applets? Martin Gregorie <martin@address-in-sig.invalid> - 2015-04-07 15:51 +0000
                Re: Return of the Applets? Jerry Stuckle <jstucklex@attglobal.net> - 2015-04-07 13:16 -0400
                Re: Return of the Applets? Martin Gregorie <martin@address-in-sig.invalid> - 2015-04-07 20:22 +0000
                Re: Return of the Applets? Jerry Stuckle <jstucklex@attglobal.net> - 2015-04-07 17:03 -0400
                Re: Return of the Applets? Leif Roar Moldskred <leifm@huldreskog.localdomain> - 2015-04-07 11:34 -0500
                Re: Return of the Applets? Jerry Stuckle <jstucklex@attglobal.net> - 2015-04-07 13:18 -0400
                Re: Return of the Applets? Leif Roar Moldskred <leifm@huldreskog.localdomain> - 2015-04-07 12:40 -0500
                Re: Return of the Applets? Jerry Stuckle <jstucklex@attglobal.net> - 2015-04-07 17:06 -0400
                Re: Return of the Applets? Martin Gregorie <martin@address-in-sig.invalid> - 2015-04-07 20:28 +0000
                Re: Return of the Applets? Jerry Stuckle <jstucklex@attglobal.net> - 2015-04-07 17:11 -0400
                Re: Return of the Applets? Martin Gregorie <martin@address-in-sig.invalid> - 2015-04-07 23:00 +0000
                Re: Return of the Applets? Jerry Stuckle <jstucklex@attglobal.net> - 2015-04-07 19:25 -0400
  Re: Return of the Applets? Joshua Cranmer 🐧 <Pidgeot18@verizon.invalid> - 2015-04-06 13:09 -0500

csiph-web