Rooting around in the Forum: destructors

Richmond Mathewson richmondmathewson at gmail.com
Sat Jun 3 15:05:50 EDT 2017


Thanks for the explanation: although, to be honest I've never really 
quite worked out what the
difference is between Object-oriented languages and Object-based 
languages (I know that LiveCode is object-based).

If being an Object-based language means you have pre-made objects to 
play around with and assign code-blocks/scripts
to; well that makes sense to me.

I suspect my lack of understanding re Object-oriented languages is 
because of my "BASIC/PASCAL/FORTRAN to HyperCard"
leap.

Reading the Wikipedia article on Object-oriented languages does not help 
because: "Object-oriented Programming uses objects"
seems to conflict directly with stuff like this:

#include  <iostream>

int  main()
{
	std::cout  <<  "Hello, world!\n";
     return  0;
}

Richmond.

On 6/3/17 9:40 pm, Mark Schonewille via use-livecode wrote:
> Short answer: LiveCode doesn't have destructors because the xTalk 
> family of languages doesn't require them. xTalk languages make the 
> life of the developer easier by taking such tasks our of their hands.
>
> 1a) Yes, under the hood, because LiveCode is written using variants of 
> C, which are object oriented. So, LiveCode is creating and deleting 
> (destructing) objects continuously, but the LiveCode developer/user 
> doesn't need to be bothered with that.
>
> 1b) You could make sure to write clean scripts that always delete 
> controls (and even cards and stacks) and variables that are no longer 
> needed. LiveCode does a good job cleaning up after finishing a 
> handler, so it isn't really necessary to do this yourself, but if you 
> are creating controls that you need only one time, it is probably a 
> good idea to delete them afterwards. When you delete a control, an 
> object under the hood is no longer required and will be "destroyed" at 
> some point.
>
> 2) It is in the object-oriented language that is used to create 
> LiveCode. There is also a delete command in the LiveCode scripting 
> language. The delete command isn't a destructor, but it does provide a 
> form a cleaning up.
>
> 3) Most of the cleaning up is done automatically. Local variables that 
> are used by one handler only, are deleted automatically. Moreover, the 
> LiveCode scripting language isn't an object-oriented language, even 
> though some people may try to make you believe otherwise and some 
> other people wish it were. Really, it isn't. Because the language 
> isn't object-oriented, it doesn't need a destructor.
>
>
> Kind regards,
>
> Mark Schonewille
> http://economy-x-talk.com
> https://www.facebook.com/marksch
>
> Buy the most extensive book on the
> LiveCode language:
> http://livecodebeginner.economy-x-talk.com
>
> Op 03-Jun-17 om 18:46 schreef Richmond Mathewson via use-livecode:
>> http://forums.livecode.com/viewtopic.php?f=8&t=29319
>>
>> Not having looked at any sort of "serious" programming language since
>> about 1989 (I don't think that VB 6 is a serious language),
>> I find it hard to understand what a destructor is beyond a way to free
>> memory on a system that has constraints in that area.
>>
>> HOWEVER: as there is no thing in Livecode having "destrucor" written all
>> over it in big letters for slow characters
>> like myself could some one tell me:
>>
>> 1. Does Livecode have something(s) that does the job of a destructor?
>>
>> 2. If so, where is it and so on?
>>
>> 3. If not, why not?
>>
>> Richmond.
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your 
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode




More information about the use-livecode mailing list