Rocky Smolin - Beach Access Software
bchacc at san.rr.com
Mon Aug 16 10:42:48 CDT 2004
Is GOSUB the same As CALL in VBA? I CALL a lot of subroutines. (I know I can drop the CALL but it reads more clearer when I use it. ) Is this bad form? Rocky ----- Original Message ----- From: "Jim Lawrence (AccessD)" <accessd at shaw.ca> To: "Access Developers discussion and problem solving" <accessd at databaseadvisors.com> Sent: Saturday, August 14, 2004 10:56 AM Subject: RE: [AccessD] Naming Conventions > Hi Brett: > > I must admit I never read anything directly actual panning GOSUBS and I can > see you point about them being similar to function/subroutine calls. In the > older coding environments there were little flexibility when it came to > selection. > > Dijkstra's main emphasis was on pushing for structured coding. With the > creation of structured languages came all the amenities and designing > choices that we, as developers enjoy today. He did not condemn use of > particular code statements but rather, he encouraged the development of > structured development languages. > > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Brett Barabash > Sent: Saturday, August 14, 2004 9:11 AM > To: Access Developers discussion and problem solving > Subject: RE: [AccessD] Naming Conventions > > > Jim, > Are you sure that Dijkstra actually condemned GOSUB statements? > Practically everyone in the computer science community knows about his > groundbreaking "GOTO statements considered harmful" paper, but I have > never heard this applied to GOSUBs. > > In some older BASIC languages, a GOSUB statement was used in a similar > manner to CALL, in that it would execute a separate subroutine, and > return to the exact same point in the calling routine when complete. > This concept is directly in line with the tenets of structured > programming, and IMHO a vital tool for modularizing code into manageable > blocks. Contrast this with the "evil" GOTO statement, which allowed one > to jump mindlessly from procedure to procedure, with no specific rule as > to where code execution resumed. Spaghetti code, anyone? > > Now here's the part of the message where I'll probably stir up a > pointless debate. I have used GOSUB statements for years in my > AccessBasic, VB and VBA code, and only recently stopped doing so because > the outdated syntax is confusing to someone unfamiliar with its use. > > I personally try to avoid global variables (another debate in itself), > and limit the use of modular variables. In routines using several > procedure-level variables, breaking an unwieldy procedure into smaller > ones involves passing multiple arguments to the child routines. A > possible alternative is to break code blocks into separate sections of > the same routine and call it with GoSub. Not only do you have the > benefit of sharing all of your procedure level variables, but the code > is kept bundled with your main sub. > > I found this approach to be elegant and useful. Many people would pan > it as clunky, outdated, and even arcane. Eventually I stopped doing it > mainly for the benefit of others who have to maintain my code. > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence > (AccessD) > Sent: Saturday, August 14, 2004 3:29 AM > To: Access Developers discussion and problem solving > Subject: RE: [AccessD] Naming Conventions > > John: > > You might find this article, about the man who spent a major portion of > his life condemning the GOTO and GOSUB commands, interesting. Quote: He > was famously the leader in the abolition of the GOTO statement from > programming. > > http://reference.creativesystemdesigns.com/miscellaneous.html#edsger > > Jim > > > -------------------------------------------------------------------------- -- > ---------------------------------------- > The information in this email may contain confidential information that > is legally privileged. The information is only for the use of the intended > recipient(s) named above. If you are not the intended recipient(s), you > are hereby notified that any disclosure, copying, distribution, or the > taking > of any action in regard to the content of this email is strictly prohibited. > If > transmission is incorrect, unclear, or incomplete, please notify the sender > immediately. The authorized recipient(s) of this information is/are > prohibited > from disclosing this information to any other party and is/are required to > destroy the information after its stated need has been fulfilled. > > Any views expressed in this message are those of the individual > sender, except where the sender specifies and with authority, > states them to be the views of Tappe Construction Co. > > This footer also confirms that this email message has been scanned > for the presence of computer viruses.Scanning of this message and > addition of this footer is performed by SurfControl E-mail Filter software > in conjunction with virus detection software. > > -- > _______________________________________________ > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > -- > _______________________________________________ > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com