Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > lectures about "programming methodology"

Reply
Thread Tools

lectures about "programming methodology"

 
 
Arved Sandstrom
Guest
Posts: n/a
 
      05-08-2013
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??
>
> Arne
>
>

Well, in order to be a software engineer you must know how to program.
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.

AHS
 
Reply With Quote
 
 
 
 
Arne Vajhøj
Guest
Posts: n/a
 
      05-13-2013
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.

Arne

 
Reply With Quote
 
 
 
 
Arved Sandstrom
Guest
Posts: n/a
 
      05-17-2013
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.
>
> Arne
>

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.

AHS
 
Reply With Quote
 
Arne Vajhøj
Guest
Posts: n/a
 
      05-17-2013
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.

Arne


 
Reply With Quote
 
Arne Vajhøj
Guest
Posts: n/a
 
      05-17-2013
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


 
Reply With Quote
 
Arved Sandstrom
Guest
Posts: n/a
 
      05-17-2013
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
 
Reply With Quote
 
Arne Vajhøj
Guest
Posts: n/a
 
      05-17-2013
On 5/17/2013 7:14 PM, 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.
>>

> Might be a matter of how we interpret the English. To me, "knowing the
> definitions" means to "understand the substance".


I would say that:
* knowing the definition does imply knowing the substance
* not knowing the definition does not imply not knowing the substance

Arne



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
silly question about Running a script from the command line A.Rock Python 0 04-10-2013 11:21 AM
newbie question about confusing exception handling in urllib cabbar@gmail.com Python 6 04-09-2013 07:11 PM
SICP video lectures Paul Rubin Python 0 02-20-2007 07:08 AM
mcse audio lectures on cd Shane MCSE 3 03-05-2004 05:18 PM
I'm looking for lectures from Cisco Academy kubeusz Cisco 1 01-22-2004 09:57 PM



Advertisments