Re: Python in Dual-Space software engineering
Walid AlMasri via Python-list <[email protected]> Sun, 28 Jun 2026 01:37:25 +0300
| Newsgroups | gmane.comp.python.general |
|---|---|
| Message-ID | <CAO31ZoJdpFq-8BbYJ7NAhc1vUdp61C3RJNugXR9NPRxD34E5zA@mail.gmail.com> |
VGhhbmtzIQ0KDQpJIHN0YXJ0ZWQgZG9pbmcgc29tZSBuZXcgc3RlcHMgaW50byBvcHRpbWl6YXRp b24gdG9vbCBmb3IgZGlhZ25vc2luZyB0aGUNCmNvZGVzDQoNCmZvciBleGFtcGxlIHRoZSBjb2Rl DQojIFByaW1hbCBTcGFjZTogSGlnaCBNKFApLCBIaWdoIENfY3ljLCBMb3cgQ29tcEQNCmRlZiBw cm9jZXNzX2RhdGEoZGF0YSk6DQogICAgdG90YWwgPSAwDQogICAgY291bnQgPSAwDQogICAgZm9y IHggaW4gZGF0YToNCiAgICAgICAgaWYgeCA+IDA6DQogICAgICAgICAgICB0b3RhbCArPSB4ICog eA0KICAgICAgICAgICAgY291bnQgKz0gMQ0KICAgIHJldHVybiB0b3RhbCAvIGNvdW50IGlmIGNv dW50ID4gMCBlbHNlIDANCg0KaGFzIHRoZSBmb2xsb3dpbmcgbWV0cmljcw0KKlByZS1SZWZhY3Rv cmluZyAoUHJpbWFsIFNwYWNlOiBQeXRob24gZm9yIGxvb3ApKg0KDQogICAtICpBYnN0cmFjdGlv biAoXENvbXBEKToqIDEvMTAgKFJlbGllcyBvbiBiYXNpYyBpbXBlcmF0aXZlIGNvbnRyb2wgZmxv dzsNCiAgIGxvdyBhbGdlYnJhaWMgc3BhbikuDQogICAtICpTZWN1cml0eSAoVFBJKToqIDgvMTAg KENvbnRhaW5zIG11dGFibGUgc3RhdGUgdmFyaWFibGVzIHRvdGFsIGFuZA0KICAgY291bnQsIGlu dHJvZHVjaW5nIHRvcG9sb2dpY2FsIGRlZmVjdHMvc3RhdGUgZW50YW5nbGVtZW50KS4NCiAgIC0g KkVmZmljaWVuY3kgKEUpOiogODUvMTAwIChIaWdoIHByaW1hbCBmcmljdGlvbjogTShQKT0yLCBD Y3ljPTQsIGhpZ2gNCiAgIHN5bnRhY3RpYyBLb2xtb2dvcm92IGNvbXBsZXhpdHkpLg0KICAgLSAq U2VtYW50aWMgRHVhbGl0eSBHYXAgKM6UZ2FwKToqIDAgKFRoZSBjb2RlIGNvcnJlY3RseSBjb21w dXRlcyB0aGUNCiAgIG1hdGhlbWF0aWNhbCBpbnRlbnQsIGJ1dC4uLikuDQogICAtICpSdW50aW1l IEZyaWN0aW9uOiogKkhpZ2gqLiBUaGUgY29kZSBpcyBib3R0bGVuZWNrZWQgYnkgdGhlIFB5dGhv bg0KICAgaW50ZXJwcmV0ZXIncyBieXRlY29kZSBldmFsdWF0aW9uIGxvb3AuDQoNCg0KDQp3aGls ZSB0aGUgY29kZQ0KIyBEdWFsIFNwYWNlOiBNKFApPTAsIENfY3ljPTEsIEhpZ2ggQ29tcEQNCmlt cG9ydCBudW1weSBhcyBucA0KDQpkZWYgcHJvY2Vzc19kYXRhKGRhdGEpOg0KICAgIGFyciA9IG5w LmFycmF5KGRhdGEpDQogICAgcG9zaXRpdmVzID0gYXJyW2FyciA+IDBdDQogICAgcmV0dXJuIG5w Lm1lYW4ocG9zaXRpdmVzICoqIDIpIGlmIHBvc2l0aXZlcy5zaXplID4gMCBlbHNlIDAuMA0KDQpo YXMNCipQb3N0LVJlZmFjdG9yaW5nIChEdWFsIFNwYWNlOiBOdW1QeSBUZW5zb3IgT3BlcmF0aW9u cykqDQoNCiAgIC0gKkFic3RyYWN0aW9uIChcQ29tcEQpOiogOS8xMCAoVXRpbGl6ZXMgVGVuc29y IEFsZ2VicmEsIGJvb2xlYW4NCiAgIG1hc2tpbmcsIGFuZCB2ZWN0b3JpemVkIG9wZXJhdGlvbnM7 IGhpZ2gtZGltZW5zaW9uYWwgYWxnZWJyYWljIHNwYW4pLg0KICAgLSAqU2VjdXJpdHkgKFRQSSk6 KiAxMC8xMCAoU3RyaWN0bHkgaW1tdXRhYmxlIGFycmF5IG9wZXJhdGlvbnM7IE0oUCk9MCwNCiAg IGFjaGlldmluZyBwZXJmZWN0IHJlZmVyZW50aWFsIHRyYW5zcGFyZW5jeSkuDQogICAtICpFZmZp Y2llbmN5IChFKToqIDE1LzEwMCAoTWFzc2l2ZSByZWR1Y3Rpb24gaW4gc3RydWN0dXJhbCBwcmlt YWwNCiAgIGZyaWN0aW9uOyBNKFApPTAsIENjeWM9MSwgaGlnaGx5IGNvbXByZXNzZWQgQVNUKS4N CiAgIC0gKlNlbWFudGljIER1YWxpdHkgR2FwICjOlGdhcCk6KiAwIChTZW1hbnRpYyBlcXVpdmFs ZW5jZSBQPTEgaXMgc3RyaWN0bHkNCiAgIHByZXNlcnZlZDsgbm8gdGVjaG5pY2FsIGRlYnQgaW50 cm9kdWNlZCkuDQogICAtICpIYXJkd2FyZSBJc29tb3JwaGlzbSBJbmRleDoqICriiYgxMDAlKi4g VGhlIGR1YWwtc3BhY2UgdGVuc29yDQogICBvcGVyYXRpb25zIG1hcCBiaWplY3RpdmVseSB0byBu YXRpdmUgQy9Gb3J0cmFuIEJMQVMgYW5kIFNJTUQgaW5zdHJ1Y3Rpb25zLA0KICAgYWNoaWV2aW5n IHplcm8gcnVudGltZSBhYnN0cmFjdGlvbiBwZW5hbHR5IGFuZCBlbGltaW5hdGluZyB0aGUgaW50 ZXJwcmV0aXZlDQogICBvdmVyaGVhZC4NCg0KDQpUaGlzIGlzIGFuIGVsZW1lbnRhcnkgZXhhbXBs ZSwgYnV0IGZvciBjb21wbGljYXRlZCBjb2RlcyBzdWNoIG1ldHJpY3MgZ2l2ZQ0Kb3ZlcmFsbCBp ZGVhIGFib3V0IHRoZSBjb2RlIG5hdHVyZQ0KDQpCZXN0IFdpc2hlcywNCldhbGlkDQoNCk9uIFNh dCwgSnVuIDI3LCAyMDI2IGF0IDM6MDXigK9QTSBBZGFtIElkcmVzcyA8aWRyZXNzYTQxNEBnbWFp bC5jb20+IHdyb3RlOg0KDQo+IEhpIFdhbGlkLA0KPg0KPiBSZWFsbHkgYXBwcmVjaWF0ZWQgeW91 ciB0aG91Z2h0cyBvbiB0cmFuc2xhdGluZyByZXNlYXJjaCBpbnRvIHByYWN0aWNhbA0KPiB0b29s cyB0aGF0IG1lYXN1cmUgcGVyZm9ybWFuY2UsIGFic3RyYWN0aW9uLCBhbmQgc2VjdXJpdHkuIEl0 IGdvdCBtZQ0KPiB0aGlua2luZyDigJQgdGhlIGNvbmNlcHQgb2YgInRyYW5zbGF0aW9uIiBhcHBs aWVzIGJleW9uZCBqdXN0IGNvZGUsIHRvby4NCj4NCj4gQXMgZGV2ZWxvcGVycywgd2Ugb2Z0ZW4g d29yayB3aXRoIGdsb2JhbCB0ZWFtcywgaW50ZXJuYXRpb25hbCBjbGllbnRzLCBhbmQNCj4gbXVs dGlsaW5ndWFsIGRvY3VtZW50YXRpb24uIFRoZSBzYW1lIHByZWNpc2lvbiB3ZSBhcHBseSB0byB3 cml0aW5nIGNsZWFuLA0KPiBvcHRpbWl6ZWQgY29kZSBzaG91bGQgYXBwbHkgdG8gaG93IHdlIGNv bW11bmljYXRlIGFjcm9zcyBsYW5ndWFnZXMg4oCUDQo+IHdoZXRoZXIgaXQncyB0ZWNobmljYWwg c3BlY3MsIHVzZXIgZ3VpZGVzLCBvciByZXNlYXJjaCBwYXBlcnMuDQo+DQo+IElmIHlvdSBldmVy IG5lZWQgdG8gbG9jYWxpemUgUHl0aG9uIGRvY3VtZW50YXRpb24sIHNvZnR3YXJlIGludGVyZmFj ZXMsIG9yDQo+IHJlc2VhcmNoIG1hdGVyaWFscyBmb3IgaW50ZXJuYXRpb25hbCBhdWRpZW5jZXMs IEkga25vdyBhIHJlbGlhYmxlIHRlYW0gdGhhdA0KPiBoYW5kbGVzIHRoaXMgd2l0aCB0aGUgc2Ft ZSBhdHRlbnRpb24gdG8gZGV0YWlsIHdlIHZhbHVlIGluIHByb2dyYW1taW5nLg0KPiBUaGVpciBm b2N1cyBpcyBvbiBhY2N1cmFjeSwgY29uc2lzdGVuY3ksIGFuZCBjdWx0dXJhbCBudWFuY2Ug4oCU IGVzc2VudGlhbA0KPiBmb3IgdGVjaG5pY2FsIGNvbnRlbnQuDQo+DQo+IE5vIHByZXNzdXJlIGF0 IGFsbCDigJQganVzdCB0aG91Z2h0IGl0IHdhcyB3b3J0aCBtZW50aW9uaW5nIHNpbmNlIHlvdXIg d29yaw0KPiBjbGVhcmx5IGhhcyBnbG9iYWwgcG90ZW50aWFsLg0KPg0KPiBXb3VsZCBsb3ZlIHRv IGhlYXIgbW9yZSBhYm91dCB5b3VyIHJlc2VhcmNoIGRpcmVjdGlvbi4gQXJlIHlvdSBleHBsb3Jp bmcNCj4gc3BlY2lmaWMgbGFuZ3VhZ2UgY29tcGFyaXNvbnM/DQo+DQo+IEJlc3QsDQo+IGFkYW0g aWRyZXNzDQo+DQo+IE9uIFNhdCwgSnVuIDI3LCAyMDI2IGF0IDQ6MTjigK9QTSBXYWxpZCBBbE1h c3JpIHZpYSBQeXRob24tbGlzdCA8DQo+IHB5dGhvbi1saXN0QHB5dGhvbi5vcmc+IHdyb3RlOg0K Pg0KPj4gLS0tLS0tLS0tLSBGb3J3YXJkZWQgbWVzc2FnZSAtLS0tLS0tLS0NCj4+IEZyb206IFdh bGlkIEFsTWFzcmkgPG13YWxtYXNyaTIwMDNAZ21haWwuY29tPg0KPj4gRGF0ZTogU2F0LCAyNyBK dW4gMjAyNiwgMTQ6MTENCj4+IFN1YmplY3Q6IFJlOiBQeXRob24gaW4gRHVhbC1TcGFjZSBzb2Z0 d2FyZSBlbmdpbmVlcmluZw0KPj4gVG86IEFsYW4gR2F1bGQgPGxlYXJuMnByb2dyYW1AZ21haWwu Y29tPg0KPj4NCj4+DQo+PiBUaGFua3MgYSBsb3QgQWxhbiENCj4+DQo+PiBJIGJlbGlldmUgdGhp cyB3b3JrIGlzIG1vcmUgYWJvdXQgdGhlb3JldGljYWwgc3R1ZHkgdGhhdCBhY3R1YWwNCj4+IGVu Z2luZWVyaW5nDQo+PiBleGVjdXRpb24uIEl0IGlzIGFib3V0IG1ldHJpY3MgcGVyZm9ybWFuY2Ug b2YgZWFjaCBwcm9ncmFtbWluZyBsYW5ndWFnZQ0KPj4gYW5kDQo+PiBhYnN0cmFjdCBpbnZlc3Rp Z2F0aW9uLg0KPj4NCj4+IFRoZSBiaWcgZGVhbCBpZiBvbmUgY291bGQgdHJhbnNsYXRlIHRoZXNl IHRvIGJ1aWxkIG9wdGltaXplZCB0b29scyB0aGF0DQo+PiBjYW4NCj4+IGRldGVjdCBhbmQgc3Rh dGVzIGhvdyBtdWNoIGlzIHRoZSBjb2RlIGluIGEgZ2l2ZW4gbGFuZ3VhZ2UgaXMgY2xvc2UgdG8N Cj4+IG9wdGltYWwgcGVyZm9ybWFuY2UgLCBhYnN0cmFjdGlvbiBhbmQgc2VjdXJpdHkuDQo+Pg0K Pj4gQmVzdHMsDQo+PiBXYWxpZA0KPj4NCj4+IE9uIFNhdCwgMjcgSnVuIDIwMjYsIDE0OjAyIEFs YW4gR2F1bGQsIDxsZWFybjJwcm9ncmFtQGdtYWlsLmNvbT4gd3JvdGU6DQo+Pg0KPj4gPiBPbiAy Ni8wNi8yMDI2IDE4OjUxLCBXYWxpZCBBbE1hc3JpIHZpYSBQeXRob24tbGlzdCB3cm90ZToNCj4+ ID4gPiBIaSBBbGwsDQo+PiA+ID4NCj4+ID4gPiBJIHN0YXJ0ZWQgYSBwcm9qZWN0IGluc3BpcmVk IGJ5IG15IGtub3dsZWRnZSBpbiBwaHlzaWNzIGluIHNvZnR3YXJlDQo+PiA+ID4gZW5naW5lZXJp bmcuDQo+PiA+ID4NCj4+ID4gPiBJIGZvdW5kIG9uZSBjb3VsZCBmaW5kIGEgZnJhbWV3b3JrIGJh c2VkIG9uIGNvbnZleCBhbmFseXNpcywNCj4+IG9wdGltaXphdGlvbg0KPj4gPiA+IGFuZCBkdWFs aXR5IHRoZW9yeSB0byBjbGFzc2lmeSBhbmQgZGlhZ29uaXNlIHByb2dyYW1taW5nIGxhbmd1YWdl cw0KPj4gPiA+IHBlcmZvcm1hbmNlIHF1YWxpdGF0aXZlbHkNCj4+ID4NCj4+ID4gV2hpbGUgdGhh dCBpcyBtaWxkbHkgaW50ZXJlc3RpbmcgSSdtIG5vdCBzdXJlIGhvdyBtdWNoIGl0IGhlbHBzDQo+ PiA+IHNvZnR3YXJlIGVuZ2luZWVyaW5nLiBJdCdzIGEgYml0IGxpa2UgbG9va2luZyBhdCBjaXZp bCBlbmdpbmVlcmluZw0KPj4gPiBhbmQgc3R1ZHlpbmcgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBo YW5kLXNwYWRlcy9mb3JrcyBhbmQNCj4+ID4gbWVjaGFuaWNhbCBkaWdnZXJzIGFuZCB0dW5uZWwg Ym9yaW5nIG1hY2hpbmVzLiBUaGVzZSBhcmUgdGhlDQo+PiA+IHRvb2xzIHdpdGggd2hpY2ggd2Ug ZG8gY2l2aWwgZW5naW5lZXJpbmcgYnV0IGhhdmUgcmVsYXRpdmVseQ0KPj4gPiBsaXR0bGUgdG8g ZG8gd2l0aCB0aGUgZW5naW5lZXJpbmcgaXRzZWxmLiBJdCdzIHRoZSBzYW1lIHdpdGgNCj4+ID4g c29mdHdhcmUgZW5naW5lZXJpbmcsIHRoZSBsYW5ndWFnZXMgYXJlIG1lcmVseSB0aGUgdG9vbHMg dXNlZA0KPj4gPiB0byBidWlsZCB0aGUgZW5naW5lZXJpbmcgc3RydWN0dXJlLiBPbiBhbG1vc3Qg YWxsIG1ham9yDQo+PiA+IHByb2plY3RzIG11bHRpcGxlIGxhbmd1YWdlcyB3aWxsIGJlIHVzZWQs IGFzIGRlZW1lZCBtb3N0DQo+PiA+IHN1aXRhYmxlIHRvIHRoZSBmdW5jdGlvbi4NCj4+ID4NCj4+ ID4gQWxzbywgbGFuZ3VhZ2VzIHRoZW1zZWx2ZXMgZG8gbGl0dGxlIHRvIGRldGVybWluZSB0aGUg cXVhbGl0eQ0KPj4gPiBvZiB0aGUgY29kZSBhY3R1YWxseSBwcm9kdWNlZC4gWW91IGNhbiB3cml0 ZSBzcGFnaGV0dGkgY29kZQ0KPj4gPiBpbiBhbnkgbGFuZ3VhZ2UhDQo+PiA+DQo+PiA+IC0tDQo+ PiA+IEFsYW4gRw0KPj4gPiBBdXRob3Igb2YgdGhlIExlYXJuIHRvIFByb2dyYW0gd2ViIHNpdGUN Cj4+ID4gaHR0cDovL3d3dy5hbGFuLWcubWUudWsvDQo+PiA+IGh0dHA6Ly93d3cuYW1hem9uLmNv bS9hdXRob3IvYWxhbl9nYXVsZA0KPj4gPiBGb2xsb3cgbXkgcGhvdG8tYmxvZyBvbiBGbGlja3Ig YXQ6DQo+PiA+IGh0dHA6Ly93d3cuZmxpY2tyLmNvbS9waG90b3MvYWxhbmdhdWxkcGhvdG9zDQo+ PiA+DQo+PiA+DQo+PiA+DQo+PiAtLQ0KPj4gaHR0cHM6Ly9tYWlsLnB5dGhvbi5vcmcvbWFpbG1h bjMvL2xpc3RzL3B5dGhvbi1saXN0LnB5dGhvbi5vcmcNCj4+DQo+DQotLSAKaHR0cHM6Ly9tYWls LnB5dGhvbi5vcmcvbWFpbG1hbjMvL2xpc3RzL3B5dGhvbi1saXN0LnB5dGhvbi5vcmcK