[AccessD] Learning .Net -- PHP Instead?

Jim Lawrence accessd at shaw.ca
Wed Jun 24 16:01:13 CDT 2009


I worked with a PDP-11 70 for 3 years... It was primitive by todays
standards as you would even have to key-in the boot-strap sequence, when the
computer rebooted, using the dip switches on the front panel, (which it
would happen freguently due to some run away processes in the Cad programs
we were using).

In those days every byte counted. We would spend days just figuring out how
to best ultilize the Common Block in the Fortran applications... whether a
short, long or floating variables was to be used. (Do you remember packing 3
byte in 2 bytes, so variables could take up less space?) There were a few
times when the system would crash because it would actually run out of
memory.

But it did teach a programmer, the proper methods, with good documentation
and that every byte counted... the tighter the code the better. With so much
room available so many programs and applications can be just be hacked and
spagetti-coded together and let the processor speed handle dumb bottle
necks... (A single user OS with 50 million lines of code originated from
multi-user and multi-tasking OSs that were 10K)

I now think this is all turning around as we now have so much data that
unless the routines are well designed the data will never be found... or it
may take days.

Jim     


-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil
Salakhetdinov
Sent: Wednesday, June 24, 2009 12:40 PM
To: 'Access Developers discussion and problem solving'
Subject: Re: [AccessD] Learning .Net -- PHP Instead?

Hi Jim,

<<<
At that point, I learned my lesson about the proper methods of using RETURNS
and explicit GOTOs.
>>>
Was that IBM360/370 Macro Assembler or PDP-11's one or VAX?

AFAIKR PDP-11 had a special machine command, which allowed to organize so
called "co-routines": this machine command did put return address of the
next command after the current one into stack and then did execute GOTO/JUMP
to the address specified in the current command, and then co-routine used
address on top of the stack to return back to the caller. Well, that was
PDP-11 with Radix50 and all other tricks to have multi-tasking multi-user
real time operating system running in 64KB? (Can't remember now for sure or
was that 128KB or 256KB of RAM - and harddisk was 4+MB?)...

Nowadays all the code optimization is done by compilers, which will inline
small functions if possible etc. to produce very compact executable code...

This is one of the reasons we can give-up so many development principles we
have been using for years because the past development tools and overall
development experience wasn't so advanced as nowadays...

--
Shamil


-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence
Sent: Wednesday, June 24, 2009 11:11 PM
To: 'Access Developers discussion and problem solving'
Subject: Re: [AccessD] Learning .Net -- PHP Instead?

Hi guys:

In the old days, some 30 years back I did a lot of assembler coding and
discovered a very neat technique for returning from a chunk of code back to
anywhere in application. You would just push the address of where you wanted
to return to, on the stack. That was great, as the stack pointer did not
have to be set to return to the caller module. I would first set the return
address to the error handler to trap any errors, in the called module and
then if code completed successfully, the stack pointer was set then set to
any position in the program you wanted to jump to, and then a return byte
was processed.

The assembler, I was using was designed to auto adjust all the changes in
module position. Of course there was no internal documentation (no memory)
other than a ref number to a code book.

This little trick sure saved a lot of code and made the modules very
flexible... 

The down side was if you ever lost the code printout and needed to make some
changes, with all its documentation, you were screwed. I ended up being
raked over the coals after someone lost my documentation manual. It took 3
people, 2 weeks to rebuild the code.

At that point, I learned my lesson about the proper methods of using RETURNS
and explicit GOTOs.

Jim      


-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil
Salakhetdinov
Sent: Wednesday, June 24, 2009 8:34 AM
To: 'Access Developers discussion and problem solving'
Subject: Re: [AccessD] Learning .Net -- PHP Instead?

Hi Arthur and Charlotte,

I used to use the same "one exit point" principle over the years (especially
in my VBA programming) but I must note it's becoming obsolete nowadays: I do
not use it almost at all anymore in my C#/VB.NET development.

Have a look what is the reasoning behind this "new approach" to not bother
about "one exit point" principle: 

http://ubuntuforums.org/showthread.php?t=631745 

http://discuss.joelonsoftware.com/default.asp?joel.3.325456.34 

Everything seems to be changing in programming these days but one who has
been in programming for some time can rather clearly see we're "just"
getting repeating/rethinking of "good old habits" but on higher current
level of evolution spiral of computer science, programming methods and
practices... 

Thank you.

--
Shamil

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller
Sent: Wednesday, June 24, 2009 6:43 PM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] Learning .Net -- PHP Instead?

Yup. Over the years I have learned to accept this wisdom: each procedure or
function should have exactly one exit point. Define the result variable and
set it within your case statement, then jump out and return the result
variable. No headaches or scratched foreheads that way.
A.

On Wed, Jun 24, 2009 at 10:35 AM, Charlotte Foust <
cfoust at infostatsystems.com> wrote:

> Structured programming suggests you instead design the code so there is
> no reason to use a GOTO.  If you hit a condition in a particular branch,
> the code naturally arrives at the exitpoint.  Very clean concept, that.
>
> Charlotte Foust
>
>
-- 
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com

__________ Information from ESET NOD32 Antivirus, version of virus signature
database 4184 (20090624) __________

The message was checked by ESET NOD32 Antivirus.

http://www.esetnod32.ru


 

__________ Information from ESET NOD32 Antivirus, version of virus signature
database 4184 (20090624) __________

The message was checked by ESET NOD32 Antivirus.

http://www.esetnod32.ru
 

-- 
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

__________ Information from ESET NOD32 Antivirus, version of virus signature
database 4186 (20090624) __________

The message was checked by ESET NOD32 Antivirus.

http://www.esetnod32.ru


 

__________ Information from ESET NOD32 Antivirus, version of virus signature
database 4186 (20090624) __________

The message was checked by ESET NOD32 Antivirus.

http://www.esetnod32.ru
 
 

__________ Information from ESET NOD32 Antivirus, version of virus signature
database 4186 (20090624) __________

The message was checked by ESET NOD32 Antivirus.

http://www.esetnod32.ru
 

-- 
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com




More information about the AccessD mailing list