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


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

Re: lectures about "programming methodology"

NNTP-Posting-Date Sat, 18 May 2013 05:07:16 -0500
Date Sat, 18 May 2013 11:07:14 +0100
From lipska the kat <"nospam at neversurrender dot co dot uk">
Organization Trollbusters 3
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130308 Thunderbird/17.0.4
MIME-Version 1.0
Newsgroups comp.lang.java.programmer
Subject Re: lectures about "programming methodology"
References <classroom-20130505192642@ram.dialup.fu-berlin.de> <lecture-20130506142026@ram.dialup.fu-berlin.de> <Scope-20130507002447@ram.dialup.fu-berlin.de> <51885ce2$0$32110$14726298@news.sunsite.dk> <kmbtur$i8p$1@dont-email.me> <5189aca0$0$32105$14726298@news.sunsite.dk> <TSyit.3$Nk7.2@newsfe27.iad> <51904d56$0$32115$14726298@news.sunsite.dk> <Ogylt.1$MQ7.0@newsfe18.iad> <5196b4d7$0$32114$14726298@news.sunsite.dk> <5196b703$0$32114$14726298@news.sunsite.dk> <YQylt.241$tp3.55@newsfe23.iad>
In-Reply-To <YQylt.241$tp3.55@newsfe23.iad>
Content-Type text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding 8bit
Message-ID <Mc2dnfh197hIzwrMnZ2dnUVZ8kSdnZ2d@bt.com> (permalink)
Lines 138
X-Usenet-Provider http://www.giganews.com
X-AuthenticatedUsername NoAuthUser
X-Trace sv3-SFYOWH02nTBXO8Ki0czcMuOcrm0tYEsht3DhGfOgrcPOpZTRZN4h78iRNfJ1VtlBDOpeCSBNYC9PSrO!kGQGX1kPOAo98Z2rTPe2WLZCdJ6LpQd8bqKNVeGsCiF/iH2i13clW21n/P4RkoVmhP0zuqkvbEjq
X-Complaints-To abuse@btinternet.com
X-DMCA-Complaints-To abuse@btinternet.com
X-Abuse-and-DMCA-Info Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info Otherwise we will be unable to process your complaint properly
X-Postfilter 1.3.40
X-Original-Bytes 7418
Path csiph.com!usenet.pasdenom.info!news.stben.net!border3.nntp.ams.giganews.com!Xl.tags.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!local2.nntp.ams.giganews.com!nntp.bt.com!news.bt.com.POSTED!not-for-mail
Xref csiph.com comp.lang.java.programmer:24127

Show key headers only | View raw


On 18/05/13 00:14, Arved Sandstrom wrote:
> On 05/17/2013 08:02 PM, Arne Vajhøj wrote:
>> On 5/17/2013 6:53 PM, Arne Vajhøj wrote:
>>> On 5/17/2013 6:35 PM, Arved Sandstrom wrote:
>>>> On 05/12/2013 11:17 PM, Arne Vajhøj wrote:
>>>>> On 5/8/2013 4:48 PM, Arved Sandstrom wrote:
>>>>>> On 05/07/2013 10:38 PM, Arne Vajhøj wrote:
>>>>>>> On 5/7/2013 6:10 PM, David Lamb wrote:
>>>>>>>> On 06/05/2013 9:46 PM, Arne Vajhøj wrote:
>>>>>>>>> On 5/6/2013 6:28 PM, Stefan Ram wrote:
>>>>>>>>>>    A scope is a region of the source text. Identifiers
>>>>>>>>>>    have a scope.
>>>>>>>>>>
>>>>>>>>>>    A lifetime is a period of time during the execution
>>>>>>>>>>    of a program. Variables and objects have lifetimes.
>>>>>>>>>>
>>>>>>>>>>    This has no special relation with Java, this is
>>>>>>>>>>    software engineering (or »programming methodology«).
>>>>>>>>>
>>>>>>>>> I really don't see that as software engineering.
>>>>>>>>>
>>>>>>>>> It is a CS exercise in definitions with little practical
>>>>>>>>> benefits.
>>>>>>>>
>>>>>>>> Whoah, scope versus lifetime is a pretty fundamental distinction.
>>>>>>>> Admittedly it was more fundamental in old block-structured
>>>>>>>> languages
>>>>>>>> like Algol, but still...
>>>>>>>
>>>>>>> Fundamental for software engineering??
>>>>>>>
>>>>>> Well, in order to be a software engineer you must know how to
>>>>>> program.
>>>>>
>>>>> In theory no. Software engineering is the process of getting from
>>>>> requirements to a detailed description of the implementation. The
>>>>> output does not have to be code.
>>>>>
>>>>> In practice yes. 99.999% will have to produce code as output.
>>>>> Producing
>>>>> documentation outlining details of all data structure and control
>>>>> structures and then later let somebody else convert it to actual
>>>>> code rarely make sense.
>>>>>
>>>>> So let us assume that software engineering requires coding.
>>>>>
>>>>>> That's essential. So I'd say that programming concepts that are basic
>>>>>> and fundamental like these two are important at the software
>>>>>> engineering
>>>>>> level.
>>>>>
>>>>> Why?
>>>>>
>>>>> Some given code does not get better or worse depending on whether
>>>>> the author know those definitions.
>>>>>
>>>>> The usual reason to know common terms is to be able to communicate
>>>>> efficiently.
>>>>>
>>>>> But is those two terms something that is used in communication
>>>>> as part of software development?
>>>>>
>>>>> I doubt that.
>>>
>>>> I respectfully disagree. Maybe we are arguing at cross-purposes here,
>>>> Arne, I can't conceive of a competent developer not understanding scope
>>>> and lifetime. Maybe you don't actually use the words in communication
>>>> often, but it's part of your thinking. I probably last used the term
>>>> "garbage collection" in a conversation last year, but I think about it
>>>> at least once a week.
>>>>
>>>> Scope and lifetime are concepts that fall into the larger categories of
>>>> resource management and reliability. At a minimum.
>>>>
>>>> A lot of programmers may not use the terms per se, but you can always
>>>> tell the difference between the coders who understand those 2 concepts,
>>>> and the ones that don't. And the latter always write worse code. So to
>>>> me that makes them essential concepts in software engineering.
>>>
>>> I agree that an understanding of the substance behind the two terms
>>> are necessary for programming - and for software engineering.
>>>
>>> My disagreement was only about the necessity of knowing the terms.
>>>
>>> I assume that Stefan was talking about the usage of the terms.
>>>
>>> As it is possible for a lecturer to get the terms mixed up, but I can
>>> not really see how it would be possible to get the substances
>>> mixed up.
>>
>> And I am not considering it useless to know the definitions
>> either.
>>
>> I just don't see knowing the definitions as being
>> part of software engineering discipline.
>>
>> Arne
>>
>>
> Might be a matter of how we interpret the English. To me, "knowing the
> definitions" means to "understand the substance".
>
> AHS

Software Engineering covers the whole process of getting from a 
statement of requirements written in natural language or more accurately 
the natural language of the problem domain to a working, maintainable 
system.

A methodology describes that process in detail and provides methods and 
guidelines to aid that process. Many different methodologies can produce 
a working, maintainable system from the same statement of requirements.

Scope and lifetime are programming language concepts that need to be 
understood in the context of the chosen language. The 'definition' of 
scope and lifetime as technical terms does not change with the language. 
The 'implementation' of the rules of scope and lifetime does.

What is the 'definition' of scope ... visibility might be a good 
descriptor. What is the 'definition' of lifetime ... how long something 
is available for reference is one possible description.

How can you understand the implementation of scope and lifetime if you 
don't understand what the words mean?

Anything that concerns the production of a system is Software 
Engineering, a methodology is a more abstract concept and implies the 
ability to create working, maintainable code. To create working, 
maintainable code you need to have an understanding of the language you 
are using, otherwise it's just hacking, hacking is not software engineering.

Just my opinion and apologies for butting in.

lipska

-- 
Lipska the Kat©: Troll hunter, sandbox destroyer
and farscape dreamer of Aeryn Sun

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


Thread

Re: lectures about "programming methodology" Arne Vajhøj <arne@vajhoej.dk> - 2013-05-06 21:46 -0400
  Re: lectures about "programming methodology" Sven Köhler <remove-sven.koehler@gmail.com> - 2013-05-07 13:45 +0300
    Re: lectures about "programming methodology" Sven Köhler <remove-sven.koehler@gmail.com> - 2013-05-07 15:52 +0300
    Re: lectures about "programming methodology" markspace <markspace@nospam.nospam> - 2013-05-07 09:44 -0700
    Re: lectures about "programming methodology" Arne Vajhøj <arne@vajhoej.dk> - 2013-05-07 21:37 -0400
  Re: lectures about "programming methodology" David Lamb <dalamb@cs.queensu.ca> - 2013-05-07 18:10 -0400
    Re: lectures about "programming methodology" Arne Vajhøj <arne@vajhoej.dk> - 2013-05-07 21:38 -0400
      Re: lectures about "programming methodology" Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-05-08 17:48 -0300
        Re: lectures about "programming methodology" Arne Vajhøj <arne@vajhoej.dk> - 2013-05-12 22:17 -0400
          Re: lectures about "programming methodology" Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-05-17 19:35 -0300
            Re: lectures about "programming methodology" Arne Vajhøj <arne@vajhoej.dk> - 2013-05-17 18:53 -0400
              Re: lectures about "programming methodology" Arne Vajhøj <arne@vajhoej.dk> - 2013-05-17 19:02 -0400
                Re: lectures about "programming methodology" Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-05-17 20:14 -0300
                Re: lectures about "programming methodology" Arne Vajhøj <arne@vajhoej.dk> - 2013-05-17 19:29 -0400
                Re: lectures about "programming methodology" lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-05-18 11:07 +0100

csiph-web