Re: Success story with BlackBox

From: [at]} <Wojtek>
Date: Sat, 15 Feb 2003 20:07:49 -0500 (EST)

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

Dear Andreas:

 On Fri, 14 Feb 2003 09:50:54 you wrote:

>However, I think it is both, unprofessional and unfair to promote
>BlackBox at the expense of a different tool.

I apologise for being unfair and unprofessional.

> Especially If you obviously do not know how to use
> the other tool (C++) appropriately.

I am not sure how this "obviously" follows from my posting,
but I will not object. Definitely, my BlackBox skills are
far better than my C++ skills.

I should perhaps admit that I am biased against the C++ tools
through using one particular data processing system, which I even
mentioned in the 1st paragraph of my posting. I do not want to
discuss its demerits here. I know it from experience, and this
experience is frightening. Excuse me if this is unprofessional.

> Why not just use the class vector from the Standard Library
> instead of an array?

Are you refering to the C++ standard library? Well, then perhaps
I have not expressed my thoughts clearly enough. Let me clarify.
This was a particular story. I wanted to illustrate, on a particular
example, how and why BlackBox makes me productive. It does so
by not crashing, intercepting the runtime errors, and being very robust
(though not infinitely robust, which is probably impossible).
Furthermore, the compiler is seamlesly integrated with the editor,
and the runtime system is integrated with the debugger. All this
works, does not crash, and I can rely on the system. Being able
to trust my tool is a rare priviledge. I wanted to convey this
message. It was not my intention to start a technical discussion
about merits of a particular class library.

> Please note that there is a difference between being ABLE to use range
> checking and being FORCED to use range checking! Personally I like to
> have a choice. For example in graphics programming you have situations
> there you just can't afford range checking. Not relying on range checking
> is one of the more harmless things you do to optimize the inner loops ...

Yes, of course. I can switch off range checking in BlackBox, too.
It is a compile-time option. Did you not know this?

> Unfortunately this tells us more about your friends than about C++.
> Don't try technological fixes for sociological problems ...

I grouped these two sentences together because I think you are exactly
right. I am afraid my friends would create similar mess in any
language. Writing good software requires knowledge, patience, and
discipline. The attitude does matter. I also suspect, that some of my
friends actually enjoy using the language which makes it easy to
obfuscate their code. Just to illustrate what I mean, in the room
where I am typying this message there is a piece of paper taped
to the wall with the following programming example entitled "the
funniest C code".

    int aa = 1, *a = &aa;
    *a+++=+-++*a--;
    printf("*a+++=+-++*a-- gives a*=%d\n", *a);

I hope you understand this "funniest code". I will not even try.
Just to clarify, I sometimes program in C, most recently an embedded
microcontroller. I have an ambition that the board I designed will be
reliable, which means I do not plan to try such "funny programming".
Does this make sense, or should I try?

> The problem with reliable software is not using one tool or the other.
> The problem is knowing when and how to use the tool.

A robust language and environment are the most important tools.
This was the essence of my message. Do you disagree?

Thank you,

Wojtek Skulski skulski{([at]})nowhere.xy

--------------------------------------------

To unsubscribe from this mailing list, send a message containing the word "unsubscribe" to:
   blackbox-request{([at]})nowhere.xy

To get a list of valid e-mail commands and instructions on their usage, send a message containing the word "help" to the above address.

Send any problem reports or questions related to this email list to the list owner at
   owner-blackbox{([at]})nowhere.xy

Current posting policy:

a) To post you should use the same address by which you are subscribed to the mailing list. That way, the list server will recognize you as subscriber and forward your posting immediately, without creating any overhead.

b) If, for some reason, you cannot post from the address, by which you are subscribed, your message will be moderated to avoid spam. Please understand that moderation will often cause some delay, in particular over weekends or holydays.


----boundary-LibPST-iamunique-1087104145_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIERlYXIgQW5kcmVhczpccGFyDQpccGFyDQogT24g
RnJpLCAxNCBGZWIgMjAwMyAwOTo1MDo1NCB5b3Ugd3JvdGU6XHBhcg0KXHBhcg0KPkhvd2V2ZXIs
IEkgdGhpbmsgaXQgaXMgYm90aCwgdW5wcm9mZXNzaW9uYWwgYW5kIHVuZmFpciB0byBwcm9tb3Rl
XHBhcg0KPkJsYWNrQm94IGF0IHRoZSBleHBlbnNlIG9mIGEgZGlmZmVyZW50IHRvb2wuXHBhcg0K
XHBhcg0KSSBhcG9sb2dpc2UgZm9yIGJlaW5nIHVuZmFpciBhbmQgdW5wcm9mZXNzaW9uYWwuXHBh
cg0KXHBhcg0KPiBFc3BlY2lhbGx5IElmIHlvdSBvYnZpb3VzbHkgZG8gbm90IGtub3cgaG93IHRv
IHVzZVxwYXINCj4gdGhlIG90aGVyIHRvb2wgKEMrKykgYXBwcm9wcmlhdGVseS5ccGFyDQpccGFy
DQpJIGFtIG5vdCBzdXJlIGhvdyB0aGlzICJvYnZpb3VzbHkiIGZvbGxvd3MgZnJvbSBteSBwb3N0
aW5nLFxwYXINCmJ1dCBJIHdpbGwgbm90IG9iamVjdC4gRGVmaW5pdGVseSwgbXkgQmxhY2tCb3gg
c2tpbGxzIGFyZVxwYXINCmZhciBiZXR0ZXIgdGhhbiBteSBDKysgc2tpbGxzLlxwYXINClxwYXIN
Ckkgc2hvdWxkIHBlcmhhcHMgYWRtaXQgdGhhdCBJIGFtIGJpYXNlZCBhZ2FpbnN0IHRoZSBDKysg
dG9vbHNccGFyDQp0aHJvdWdoIHVzaW5nIG9uZSBwYXJ0aWN1bGFyIGRhdGEgcHJvY2Vzc2luZyBz
eXN0ZW0sIHdoaWNoIEkgZXZlblxwYXINCm1lbnRpb25lZCBpbiB0aGUgMXN0IHBhcmFncmFwaCBv
ZiBteSBwb3N0aW5nLiBJIGRvIG5vdCB3YW50IHRvXHBhcg0KZGlzY3VzcyBpdHMgZGVtZXJpdHMg
aGVyZS4gSSBrbm93IGl0IGZyb20gZXhwZXJpZW5jZSwgYW5kIHRoaXNccGFyDQpleHBlcmllbmNl
IGlzIGZyaWdodGVuaW5nLiBFeGN1c2UgbWUgaWYgdGhpcyBpcyB1bnByb2Zlc3Npb25hbC5ccGFy
DQpccGFyDQo+IFdoeSBub3QganVzdCB1c2UgdGhlIGNsYXNzIHZlY3RvciBmcm9tIHRoZSBTdGFu
ZGFyZCBMaWJyYXJ5XHBhcg0KPiBpbnN0ZWFkIG9mIGFuIGFycmF5P1xwYXINClxwYXINCkFyZSB5
b3UgcmVmZXJpbmcgdG8gdGhlIEMrKyBzdGFuZGFyZCBsaWJyYXJ5PyBXZWxsLCB0aGVuIHBlcmhh
cHNccGFyDQpJIGhhdmUgbm90IGV4cHJlc3NlZCBteSB0aG91Z2h0cyBjbGVhcmx5IGVub3VnaC4g
TGV0IG1lIGNsYXJpZnkuXHBhcg0KVGhpcyB3YXMgYSBwYXJ0aWN1bGFyIHN0b3J5LiBJIHdhbnRl
ZCB0byBpbGx1c3RyYXRlLCBvbiBhIHBhcnRpY3VsYXJccGFyDQpleGFtcGxlLCBob3cgYW5kIHdo
eSBCbGFja0JveCBtYWtlcyBtZSBwcm9kdWN0aXZlLiBJdCBkb2VzIHNvXHBhcg0KYnkgbm90IGNy
YXNoaW5nLCBpbnRlcmNlcHRpbmcgdGhlIHJ1bnRpbWUgZXJyb3JzLCBhbmQgYmVpbmcgdmVyeSBy
b2J1c3RccGFyDQoodGhvdWdoIG5vdCBpbmZpbml0ZWx5IHJvYnVzdCwgd2hpY2ggaXMgcHJvYmFi
bHkgaW1wb3NzaWJsZSkuXHBhcg0KRnVydGhlcm1vcmUsIHRoZSBjb21waWxlciBpcyBzZWFtbGVz
bHkgaW50ZWdyYXRlZCB3aXRoIHRoZSBlZGl0b3IsXHBhcg0KYW5kIHRoZSBydW50aW1lIHN5c3Rl
bSBpcyBpbnRlZ3JhdGVkIHdpdGggdGhlIGRlYnVnZ2VyLiBBbGwgdGhpc1xwYXINCndvcmtzLCBk
b2VzIG5vdCBjcmFzaCwgYW5kIEkgY2FuIHJlbHkgb24gdGhlIHN5c3RlbS4gQmVpbmcgYWJsZVxw
YXINCnRvIHRydXN0IG15IHRvb2wgaXMgYSByYXJlIHByaXZpbGVkZ2UuIEkgd2FudGVkIHRvIGNv
bnZleSB0aGlzXHBhcg0KbWVzc2FnZS4gSXQgd2FzIG5vdCBteSBpbnRlbnRpb24gdG8gc3RhcnQg
YSB0ZWNobmljYWwgZGlzY3Vzc2lvblxwYXINCmFib3V0IG1lcml0cyBvZiBhIHBhcnRpY3VsYXIg
Y2xhc3MgbGlicmFyeS5ccGFyDQpccGFyDQo+IFBsZWFzZSBub3RlIHRoYXQgdGhlcmUgaXMgYSBk
aWZmZXJlbmNlIGJldHdlZW4gYmVpbmcgQUJMRSB0byB1c2UgcmFuZ2VccGFyDQo+IGNoZWNraW5n
IGFuZCBiZWluZyBGT1JDRUQgdG8gdXNlIHJhbmdlIGNoZWNraW5nISBQZXJzb25hbGx5IEkgbGlr
ZSB0b1xwYXINCj4gaGF2ZSBhIGNob2ljZS4gRm9yIGV4YW1wbGUgaW4gZ3JhcGhpY3MgcHJvZ3Jh
bW1pbmcgeW91IGhhdmUgc2l0dWF0aW9uc1xwYXINCj4gdGhlcmUgeW91IGp1c3QgY2FuJ3QgYWZm
b3JkIHJhbmdlIGNoZWNraW5nLiBOb3QgcmVseWluZyBvbiByYW5nZSBjaGVja2luZ1xwYXINCj4g
aXMgb25lIG9mIHRoZSBtb3JlIGhhcm1sZXNzIHRoaW5ncyB5b3UgZG8gdG8gb3B0aW1pemUgdGhl
IGlubmVyIGxvb3BzIC4uLlxwYXINClxwYXINClllcywgb2YgY291cnNlLiBJIGNhbiBzd2l0Y2gg
b2ZmIHJhbmdlIGNoZWNraW5nIGluIEJsYWNrQm94LCB0b28uXHBhcg0KSXQgaXMgYSBjb21waWxl
LXRpbWUgb3B0aW9uLiBEaWQgeW91IG5vdCBrbm93IHRoaXM/XHBhcg0KXHBhcg0KPiBVbmZvcnR1
bmF0ZWx5IHRoaXMgdGVsbHMgdXMgbW9yZSBhYm91dCB5b3VyIGZyaWVuZHMgdGhhbiBhYm91dCBD
KysuXHBhcg0KPiBEb24ndCB0cnkgdGVjaG5vbG9naWNhbCBmaXhlcyBmb3Igc29jaW9sb2dpY2Fs
IHByb2JsZW1zIC4uLlxwYXINClxwYXINCkkgZ3JvdXBlZCB0aGVzZSB0d28gc2VudGVuY2VzIHRv
Z2V0aGVyIGJlY2F1c2UgSSB0aGluayB5b3UgYXJlIGV4YWN0bHlccGFyDQpyaWdodC4gSSBhbSBh
ZnJhaWQgbXkgZnJpZW5kcyB3b3VsZCBjcmVhdGUgc2ltaWxhciBtZXNzIGluIGFueVxwYXINCmxh
bmd1YWdlLiBXcml0aW5nIGdvb2Qgc29mdHdhcmUgcmVxdWlyZXMga25vd2xlZGdlLCBwYXRpZW5j
ZSwgYW5kXHBhcg0KZGlzY2lwbGluZS4gVGhlIGF0dGl0dWRlIGRvZXMgbWF0dGVyLiBJIGFsc28g
c3VzcGVjdCwgdGhhdCBzb21lIG9mIG15XHBhcg0KZnJpZW5kcyBhY3R1YWxseSBlbmpveSB1c2lu
ZyB0aGUgbGFuZ3VhZ2Ugd2hpY2ggbWFrZXMgaXQgZWFzeSB0b1xwYXINCm9iZnVzY2F0ZSB0aGVp
ciBjb2RlLiBKdXN0IHRvIGlsbHVzdHJhdGUgd2hhdCBJIG1lYW4sIGluIHRoZSByb29tXHBhcg0K
d2hlcmUgSSBhbSB0eXB5aW5nIHRoaXMgbWVzc2FnZSB0aGVyZSBpcyBhIHBpZWNlIG9mIHBhcGVy
IHRhcGVkXHBhcg0KdG8gdGhlIHdhbGwgd2l0aCB0aGUgZm9sbG93aW5nIHByb2dyYW1taW5nIGV4
YW1wbGUgZW50aXRsZWQgInRoZVxwYXINCmZ1bm5pZXN0IEMgY29kZSIuXHBhcg0KXHBhcg0KICAg
IGludCBhYSA9IDEsICphID0gJmFhO1xwYXINCiAgICAqYSsrKz0rLSsrKmEtLTtccGFyDQogICAg
cHJpbnRmKCIqYSsrKz0rLSsrKmEtLSBnaXZlcyBhKj0lZFxcbiIsICphKTtccGFyDQpccGFyDQpJ
IGhvcGUgeW91IHVuZGVyc3RhbmQgdGhpcyAiZnVubmllc3QgY29kZSIuIEkgd2lsbCBub3QgZXZl
biB0cnkuXHBhcg0KSnVzdCB0byBjbGFyaWZ5LCBJIHNvbWV0aW1lcyBwcm9ncmFtIGluIEMsIG1v
c3QgcmVjZW50bHkgYW4gZW1iZWRkZWRccGFyDQptaWNyb2NvbnRyb2xsZXIuIEkgaGF2ZSBhbiBh
bWJpdGlvbiB0aGF0IHRoZSBib2FyZCBJIGRlc2lnbmVkIHdpbGwgYmVccGFyDQpyZWxpYWJsZSwg
d2hpY2ggbWVhbnMgSSBkbyBub3QgcGxhbiB0byB0cnkgc3VjaCAiZnVubnkgcHJvZ3JhbW1pbmci
LlxwYXINCkRvZXMgdGhpcyBtYWtlIHNlbnNlLCBvciBzaG91bGQgSSB0cnk/XHBhcg0KXHBhcg0K
PiBUaGUgcHJvYmxlbSB3aXRoIHJlbGlhYmxlIHNvZnR3YXJlIGlzIG5vdCB1c2luZyBvbmUgdG9v
bCBvciB0aGUgb3RoZXIuXHBhcg0KPiBUaGUgcHJvYmxlbSBpcyBrbm93aW5nIHdoZW4gYW5kIGhv
dyB0byB1c2UgdGhlIHRvb2wuXHBhcg0KXHBhcg0KQSByb2J1c3QgbGFuZ3VhZ2UgYW5kIGVudmly
b25tZW50IGFyZSB0aGUgbW9zdCBpbXBvcnRhbnQgdG9vbHMuXHBhcg0KVGhpcyB3YXMgdGhlIGVz
c2VuY2Ugb2YgbXkgbWVzc2FnZS4gRG8geW91IGRpc2FncmVlP1xwYXINClxwYXINClRoYW5rIHlv
dSxccGFyDQpccGFyDQpXb2p0ZWsgU2t1bHNraSBza3Vsc2tpQHBhcy5yb2NoZXN0ZXIuZWR1XHBh
cg0KXHBhcg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1ccGFy
DQpccGFyDQpUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbWFpbGluZyBsaXN0LCBzZW5kIGEgbWVz
c2FnZSBjb250YWluaW5nIHRoZSB3b3JkICJ1bnN1YnNjcmliZSIgdG86XHBhcg0KICAgYmxhY2ti
b3gtcmVxdWVzdEBvYmVyb24uY2hccGFyDQpccGFyDQpUbyBnZXQgYSBsaXN0IG9mIHZhbGlkIGUt
bWFpbCBjb21tYW5kcyBhbmQgaW5zdHJ1Y3Rpb25zIG9uIHRoZWlyIHVzYWdlLCBzZW5kIGEgbWVz
c2FnZSBjb250YWluaW5nIHRoZSB3b3JkICJoZWxwIiB0byB0aGUgYWJvdmUgYWRkcmVzcy5ccGFy
DQpccGFyDQpTZW5kIGFueSBwcm9ibGVtIHJlcG9ydHMgb3IgcXVlc3Rpb25zIHJlbGF0ZWQgdG8g
dGhpcyBlbWFpbCBsaXN0IHRvIHRoZSBsaXN0IG93bmVyIGF0XHBhcg0KICAgb3duZXItYmxhY2ti
b3hAb2Jlcm9uLmNoXHBhcg0KXHBhcg0KQ3VycmVudCBwb3N0aW5nIHBvbGljeTpccGFyDQpccGFy
DQphKSBUbyBwb3N0IHlvdSBzaG91bGQgdXNlIHRoZSBzYW1lIGFkZHJlc3MgYnkgd2hpY2ggeW91
IGFyZSBzdWJzY3JpYmVkIHRvIHRoZSBtYWlsaW5nIGxpc3QuIFRoYXQgd2F5LCB0aGUgbGlzdCBz
ZXJ2ZXIgd2lsbCByZWNvZ25pemUgeW91IGFzIHN1YnNjcmliZXIgYW5kIGZvcndhcmQgeW91ciBw
b3N0aW5nIGltbWVkaWF0ZWx5LCB3aXRob3V0IGNyZWF0aW5nIGFueSBvdmVyaGVhZC5ccGFyDQpc
cGFyDQpiKSBJZiwgZm9yIHNvbWUgcmVhc29uLCB5b3UgY2Fubm90IHBvc3QgZnJvbSB0aGUgYWRk
cmVzcywgYnkgd2hpY2ggeW91IGFyZSBzdWJzY3JpYmVkLCB5b3VyIG1lc3NhZ2Ugd2lsbCBiZSBt
b2RlcmF0ZWQgdG8gYXZvaWQgc3BhbS4gUGxlYXNlIHVuZGVyc3RhbmQgdGhhdCBtb2RlcmF0aW9u
IHdpbGwgb2Z0ZW4gY2F1c2Ugc29tZSBkZWxheSwgaW4gcGFydGljdWxhciBvdmVyIHdlZWtlbmRz
IG9yIGhvbHlkYXlzLlxwYXINCn0=


----boundary-LibPST-iamunique-1087104145_-_---
Received on Sun Feb 16 2003 - 02:07:49 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:29:27 UTC