Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #24127
| Date | 2013-05-18 11:07 +0100 |
|---|---|
| From | lipska the kat <"nospam at neversurrender dot co dot uk"> |
| Organization | Trollbusters 3 |
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: lectures about "programming methodology" |
| References | (7 earlier) <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> |
| Message-ID | <Mc2dnfh197hIzwrMnZ2dnUVZ8kSdnZ2d@bt.com> (permalink) |
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 | Next — Previous in thread | Find similar | Unroll 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