(unknown charset) Re: [BLACKBOX] Read-only IN parameters for all data types

From: (unknown charset) Oleg N. Cher <"Oleg>
Date: Thu, 21 Feb 2008 13:07:24 +0200

----boundary-LibPST-iamunique-1094471198_-_-
Content-type: text/plain

Dear Chris,

>For a new language it certainly could be a choice of IN, CONST, INPUT,
>READONLY, NONMODIFIABLE etc. etc. IN is conveniently short it is also nice
>and symmetrical with OUT. One passes data INto the procedure, the other
>passes data OUT of the procedure.

As fact, CONST is symmetrical with VAR too.

Well, this using of "IN" declares, that parameters are passed INto
a procedure. But it declares nothing about changeability
of the parameters - "IN" usage here does not let to know _intuitively_,
that the parameter further is read only. We can know about
this language feature, but it is impossible to guess.

Btw, intuitivism of Oberon is a strong feature of it.
And we cannot lose this Oberon-style intuitivity, this clearness.

I heard a story about an engineer who did not know any
high level programming language.
Instead of it he knew a few assemblers for microcontrollers.
And, the engineer for the first time has seen the program
written in Pascal, and has cried: " I here understand all! "

And using of CONST for CONSTant (unchanged) parameters is more intuitively,
than using of INto parameters, because we know, that all parameters
are passed INto procedures, even addresses of variables to modify its.

And I wanted to say still, that too often use "IN" will be forgotten,
as Delphi programmers forget (or do not like) CONST using in such way.
Can make to us on the contrary? Changeable parameters let will
marked as "IN", and constant parameters will written simple:

PROCEDURE A (b: INTEGER);

However, it really a question at issue, probably,
I cannot convince you. :-)
That we can make the best - to make own work well enough.


Oleg N. Cher,
Colossoft Research.
allot{([at]})nowhere.xy
2008-02-21


----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-1094471198_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTFcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIERlYXIgQ2hyaXMsXHBhcg0KXHBhcg0KPkZvciBh
IG5ldyBsYW5ndWFnZSBpdCBjZXJ0YWlubHkgY291bGQgYmUgYSBjaG9pY2Ugb2YgSU4sIENPTlNU
LCBJTlBVVCxccGFyDQo+UkVBRE9OTFksIE5PTk1PRElGSUFCTEUgZXRjLiBldGMuIElOIGlzIGNv
bnZlbmllbnRseSBzaG9ydCBpdCBpcyBhbHNvIG5pY2VccGFyDQo+YW5kIHN5bW1ldHJpY2FsIHdp
dGggT1VULiBPbmUgcGFzc2VzIGRhdGEgSU50byB0aGUgcHJvY2VkdXJlLCB0aGUgb3RoZXJccGFy
DQo+cGFzc2VzIGRhdGEgT1VUIG9mIHRoZSBwcm9jZWR1cmUuXHBhcg0KXHBhcg0KQXMgZmFjdCwg
Q09OU1QgaXMgc3ltbWV0cmljYWwgd2l0aCBWQVIgdG9vLlxwYXINClxwYXINCldlbGwsIHRoaXMg
dXNpbmcgb2YgIklOIiBkZWNsYXJlcywgdGhhdCBwYXJhbWV0ZXJzIGFyZSBwYXNzZWQgSU50b1xw
YXINCmEgcHJvY2VkdXJlLiBCdXQgaXQgZGVjbGFyZXMgbm90aGluZyBhYm91dCBjaGFuZ2VhYmls
aXR5XHBhcg0Kb2YgdGhlIHBhcmFtZXRlcnMgLSAiSU4iIHVzYWdlIGhlcmUgZG9lcyBub3QgbGV0
IHRvIGtub3cgX2ludHVpdGl2ZWx5XyxccGFyDQp0aGF0IHRoZSBwYXJhbWV0ZXIgZnVydGhlciBp
cyByZWFkIG9ubHkuIFdlIGNhbiBrbm93IGFib3V0XHBhcg0KdGhpcyBsYW5ndWFnZSBmZWF0dXJl
LCBidXQgaXQgaXMgaW1wb3NzaWJsZSB0byBndWVzcy5ccGFyDQpccGFyDQpCdHcsIGludHVpdGl2
aXNtIG9mIE9iZXJvbiBpcyBhIHN0cm9uZyBmZWF0dXJlIG9mIGl0LlxwYXINCkFuZCB3ZSBjYW5u
b3QgbG9zZSB0aGlzIE9iZXJvbi1zdHlsZSBpbnR1aXRpdml0eSwgdGhpcyBjbGVhcm5lc3MuXHBh
cg0KXHBhcg0KSSBoZWFyZCBhIHN0b3J5IGFib3V0IGFuIGVuZ2luZWVyIHdobyBkaWQgbm90IGtu
b3cgYW55XHBhcg0KaGlnaCBsZXZlbCBwcm9ncmFtbWluZyBsYW5ndWFnZS5ccGFyDQpJbnN0ZWFk
IG9mIGl0IGhlIGtuZXcgYSBmZXcgYXNzZW1ibGVycyBmb3IgbWljcm9jb250cm9sbGVycy5ccGFy
DQpBbmQsIHRoZSBlbmdpbmVlciBmb3IgdGhlIGZpcnN0IHRpbWUgaGFzIHNlZW4gdGhlIHByb2dy
YW1ccGFyDQp3cml0dGVuIGluIFBhc2NhbCwgYW5kIGhhcyBjcmllZDogIiBJIGhlcmUgdW5kZXJz
dGFuZCBhbGwhICJccGFyDQpccGFyDQpBbmQgdXNpbmcgb2YgQ09OU1QgZm9yIENPTlNUYW50ICh1
bmNoYW5nZWQpIHBhcmFtZXRlcnMgaXMgbW9yZSBpbnR1aXRpdmVseSxccGFyDQp0aGFuIHVzaW5n
IG9mIElOdG8gcGFyYW1ldGVycywgYmVjYXVzZSB3ZSBrbm93LCB0aGF0IGFsbCBwYXJhbWV0ZXJz
XHBhcg0KYXJlIHBhc3NlZCBJTnRvIHByb2NlZHVyZXMsIGV2ZW4gYWRkcmVzc2VzIG9mIHZhcmlh
YmxlcyB0byBtb2RpZnkgaXRzLlxwYXINClxwYXINCkFuZCBJIHdhbnRlZCB0byBzYXkgc3RpbGws
IHRoYXQgdG9vIG9mdGVuIHVzZSAiSU4iIHdpbGwgYmUgZm9yZ290dGVuLFxwYXINCmFzIERlbHBo
aSBwcm9ncmFtbWVycyBmb3JnZXQgKG9yIGRvIG5vdCBsaWtlKSBDT05TVCB1c2luZyBpbiBzdWNo
IHdheS5ccGFyDQpDYW4gbWFrZSB0byB1cyBvbiB0aGUgY29udHJhcnk/IENoYW5nZWFibGUgcGFy
YW1ldGVycyBsZXQgd2lsbFxwYXINCm1hcmtlZCBhcyAiSU4iLCBhbmQgY29uc3RhbnQgcGFyYW1l
dGVycyB3aWxsIHdyaXR0ZW4gc2ltcGxlOlxwYXINClxwYXINClBST0NFRFVSRSBBIChiOiBJTlRF
R0VSKTtccGFyDQpccGFyDQpIb3dldmVyLCBpdCByZWFsbHkgYSBxdWVzdGlvbiBhdCBpc3N1ZSwg
cHJvYmFibHksXHBhcg0KSSBjYW5ub3QgY29udmluY2UgeW91LiA6LSlccGFyDQpUaGF0IHdlIGNh
biBtYWtlIHRoZSBiZXN0IC0gdG8gbWFrZSBvd24gd29yayB3ZWxsIGVub3VnaC5ccGFyDQpccGFy
DQpccGFyDQpPbGVnIE4uIENoZXIsXHBhcg0KQ29sb3Nzb2Z0IFJlc2VhcmNoLlxwYXINCmFsbG90
QHVrci5uZXRccGFyDQoyMDA4LTAyLTIxXHBhcg0KXHBhcg0KXHBhcg0KLS0tLVxwYXINClRvIHVu
c3Vic2NyaWJlLCBzZW5kIGEgbWVzc2FnZSB3aXRoIGJvZHkgIlNJR05PRkYgQkxBQ0tCT1giIHRv
IExJU1RTRVJWQExJU1RTLk9CRVJPTi5DSH19AGxhbmc=
----boundary-LibPST-iamunique-1094471198_-_---
Received on Thu Feb 21 2008 - 12:07:24 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:31:00 UTC