[Info-vax] DCL's flaws (both scripting and UI)

David Froble davef at tsoft-inc.com
Thu Jan 22 16:23:33 EST 2015


Stephen Hoffman wrote:
> On 2015-01-22 16:31:09 +0000, David Froble said:
> 
>> johnwallace4 at yahoo.co.uk wrote:
>>>
>>> Or maybe just think of an object as an aggregration of data items and
>>> routines to access the items. Some of the data and routines are visible
>>> to the world at large, some routines and data may be considered private
>>> (so that the internal implentation details of an object can be kept
>>> hidden, visible only to Those Who Need to Know, whilst the outside
>>> visible stuff interfaces in a known and controlled way).
>>
>> Would not that description fit things such as the VMS system services?
> 
> Not really.   Well, only if you could create your own sys$getjpi with 
> your own new itemcodes and also with a few itemcodes that explicitly 
> overlap the OpenVMS version, and where your version will intercept all 
> calls to the OpenVMS sys$getjpi version.    Your intercepted itemcodes 
> might just do something like fetch the VMS itemcodes and increment the 
> value returned by the VMS version of the itemcodes for instance, and be 
> built largely using the VMS code for the itemcode.
> 
> You could also transparently store or return additional data, too.    
> You're working with what's conceptually a wad of code and data, and not 
> really with any subroutine that's "called".  This differs from what 
> happens with system services.   On OS X, you "message" what are called 
> "methods", and the "methods" can then perform the requested tasks.   You 
> can create and initialize a new object, potentially store data in it, 
> and use the code associated with the object.  When the object is 
> deallocated, the code is no longer available.  Your object typically 
> "inherits" from another, and you can then override the behaviors and the 
> code of the parent object, where you need to.
> 
> This is all rather different from traditional sequential-style 
> programming; from calling system services or calling subroutines.

Just call me "tape drive" ....

> Given there's still a traditional computer underneath, if you drill into 
> the implementation of an object-oriented environment, you'll find 
> machine code, and you could certainly create all of that machine code — 
> whether in BASIC or assembler — necessary to present the abstractions 
> that OO programming might use.   But then you end up owning all of that 
> code, and all of the abstractions.
> 
> OO is also heavily dependent on what's available in the underlying 
> frameworks, and what's available in some can be quite powerful — with 
> the Cocoa frameworks, you can get all sorts of data back from messages 
> sent to an object containing a string, for instance.  Makes for much 
> less code, particularly when compared with how much work can sometimes 
> be involved with setting up for a system service or RTL call on VMS.  
> Yes, there's still code underneath to do the tasks, too.
> 
> OO is pretty handy for some tasks.  Can sometimes be quite be useful for 
> creating bigger applications, too.   It's not so good for other tasks.
> 
> 
>>> Objects are commonly spoken about in the same sentence as classes.
>>
>> Maybe that explains it.  I've never under "classes" either.

Can't type worth a damn either ....

> Time for some reading and some playing in your copious spare time, 
> then?  Have a look at 
> <http://programmers.stackexchange.com/questions/34584/how-to-explain-oop-concepts-to-a-non-technical-person> 
> 
> 
> 



More information about the Info-vax mailing list