Re: Success story with BlackBox

From: [at]} <Andreas>
Date: Fri, 14 Feb 2003 09:50:54 +0100

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

Wojtek,

first of all let me clarify that I don't want to argue against
BlackBox. It is a good tool!

However, I think it is both, unprofessional and unfair to promote
BlackBox at the expense of a different tool. Especially If you
obviously do not know how to use the other tool (C++) appropriately.

> At around 11:46 a particular waveform was acquired
> (perhaps due to a power spike?) whose shape was not
> what we expected. The data processing procedure was not
> prepared for this, and the FOR loop index jumped out
> of the array bounds. An illegal memory location
> was accessed. The Bug has bitten us from behind.

Why not just use the class vector from the Standard Library instead of
an array? A vector allows you to access it's elements on two ways:

vector.at(idx)

Range checked access, throwing an error exception if idx is out of
range.

vector[idx]

Access without range checking.

Please not 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 ...

> I told this story to my friends here at the Brookhaven
> National Lab. They shook their heads in disbelief
> and went straight back to never-ending debugging
> of our C++ data analysis code. Our C++ code leaks
> memory and crashes for mysterious reasons which nobody
> hopes to understand. There is no prospect that it can ever
> get any better. In fact, our C++ code is only getting worse,
> as it keeps growing and accumulates bugs which nobody
> has patience to eradicate.

Unfortunately this tells us more about your friends than about C++.
There are some very good garbage collectors for C++. Because of
operator overloading they can be integrated seamlessly. Again you are
able to use a garbage collector but you are not forced to.

The problem with reliable software is not using one tool or the other.
The problem is knowing when and how to use the tool . Don't try
technological fixes for sociological problems ...

Best regards,
--Andreas


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

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-278174200_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIFdvanRlayxccGFyDQpccGFyDQpmaXJzdCBvZiBh
bGwgbGV0IG1lIGNsYXJpZnkgdGhhdCBJIGRvbid0IHdhbnQgdG8gYXJndWUgYWdhaW5zdCBccGFy
DQpCbGFja0JveC4gSXQgaXMgYSBnb29kIHRvb2whXHBhcg0KXHBhcg0KSG93ZXZlciwgSSB0aGlu
ayBpdCBpcyBib3RoLCB1bnByb2Zlc3Npb25hbCBhbmQgdW5mYWlyIHRvIHByb21vdGUgXHBhcg0K
QmxhY2tCb3ggYXQgdGhlIGV4cGVuc2Ugb2YgYSBkaWZmZXJlbnQgdG9vbC4gRXNwZWNpYWxseSBJ
ZiB5b3UgXHBhcg0Kb2J2aW91c2x5IGRvIG5vdCBrbm93IGhvdyB0byB1c2UgdGhlIG90aGVyIHRv
b2wgKEMrKykgYXBwcm9wcmlhdGVseS5ccGFyDQpccGFyDQo+IEF0IGFyb3VuZCAxMTo0NiBhIHBh
cnRpY3VsYXIgd2F2ZWZvcm0gd2FzIGFjcXVpcmVkXHBhcg0KPiAocGVyaGFwcyBkdWUgdG8gYSBw
b3dlciBzcGlrZT8pIHdob3NlIHNoYXBlIHdhcyBub3RccGFyDQo+IHdoYXQgd2UgZXhwZWN0ZWQu
IFRoZSBkYXRhIHByb2Nlc3NpbmcgcHJvY2VkdXJlIHdhcyBub3RccGFyDQo+IHByZXBhcmVkIGZv
ciB0aGlzLCBhbmQgdGhlIEZPUiBsb29wIGluZGV4IGp1bXBlZCBvdXRccGFyDQo+IG9mIHRoZSBh
cnJheSBib3VuZHMuIEFuIGlsbGVnYWwgbWVtb3J5IGxvY2F0aW9uXHBhcg0KPiB3YXMgYWNjZXNz
ZWQuIFRoZSBCdWcgaGFzIGJpdHRlbiB1cyBmcm9tIGJlaGluZC5ccGFyDQpccGFyDQpXaHkgbm90
IGp1c3QgdXNlIHRoZSBjbGFzcyB2ZWN0b3IgZnJvbSB0aGUgU3RhbmRhcmQgTGlicmFyeSBpbnN0
ZWFkIG9mIFxwYXINCmFuIGFycmF5PyBBIHZlY3RvciBhbGxvd3MgeW91IHRvIGFjY2VzcyBpdCdz
IGVsZW1lbnRzIG9uIHR3byB3YXlzOlxwYXINClxwYXINCnZlY3Rvci5hdChpZHgpXHBhcg0KXHBh
cg0KUmFuZ2UgY2hlY2tlZCBhY2Nlc3MsIHRocm93aW5nIGFuIGVycm9yIGV4Y2VwdGlvbiBpZiBp
ZHggaXMgb3V0IG9mIFxwYXINCnJhbmdlLlxwYXINClxwYXINCnZlY3RvcltpZHhdXHBhcg0KXHBh
cg0KQWNjZXNzIHdpdGhvdXQgcmFuZ2UgY2hlY2tpbmcuXHBhcg0KXHBhcg0KUGxlYXNlIG5vdCB0
aGF0IHRoZXJlIGlzIGEgZGlmZmVyZW5jZSBiZXR3ZWVuIGJlaW5nIEFCTEUgdG8gdXNlIHJhbmdl
IFxwYXINCmNoZWNraW5nIGFuZCBiZWluZyBGT1JDRUQgdG8gdXNlIHJhbmdlIGNoZWNraW5nISBQ
ZXJzb25hbGx5IEkgbGlrZSB0byBccGFyDQpoYXZlIGEgY2hvaWNlLlxwYXINClxwYXINCiAgRm9y
IGV4YW1wbGUgaW4gZ3JhcGhpY3MgcHJvZ3JhbW1pbmcgeW91IGhhdmUgc2l0dWF0aW9ucyB0aGVy
ZSB5b3UganVzdCBccGFyDQpjYW4ndCBhZmZvcmQgcmFuZ2UgY2hlY2tpbmcuIE5vdCByZWx5aW5n
IG9uIHJhbmdlIGNoZWNraW5nIGlzIG9uZSBvZiBccGFyDQp0aGUgbW9yZSBoYXJtbGVzcyB0aGlu
Z3MgeW91IGRvIHRvIG9wdGltaXplIHRoZSBpbm5lciBsb29wcyAuLi5ccGFyDQpccGFyDQo+IEkg
dG9sZCB0aGlzIHN0b3J5IHRvIG15IGZyaWVuZHMgaGVyZSBhdCB0aGUgQnJvb2toYXZlblxwYXIN
Cj4gTmF0aW9uYWwgTGFiLiBUaGV5IHNob29rIHRoZWlyIGhlYWRzIGluIGRpc2JlbGllZlxwYXIN
Cj4gYW5kIHdlbnQgc3RyYWlnaHQgYmFjayB0byBuZXZlci1lbmRpbmcgZGVidWdnaW5nXHBhcg0K
PiBvZiBvdXIgQysrIGRhdGEgYW5hbHlzaXMgY29kZS4gT3VyIEMrKyBjb2RlIGxlYWtzXHBhcg0K
PiBtZW1vcnkgYW5kIGNyYXNoZXMgZm9yIG15c3RlcmlvdXMgcmVhc29ucyB3aGljaCBub2JvZHlc
cGFyDQo+IGhvcGVzIHRvIHVuZGVyc3RhbmQuIFRoZXJlIGlzIG5vIHByb3NwZWN0IHRoYXQgaXQg
Y2FuIGV2ZXJccGFyDQo+IGdldCBhbnkgYmV0dGVyLiBJbiBmYWN0LCBvdXIgQysrIGNvZGUgaXMg
b25seSBnZXR0aW5nIHdvcnNlLFxwYXINCj4gYXMgaXQga2VlcHMgZ3Jvd2luZyBhbmQgYWNjdW11
bGF0ZXMgYnVncyB3aGljaCBub2JvZHlccGFyDQo+IGhhcyBwYXRpZW5jZSB0byBlcmFkaWNhdGUu
XHBhcg0KXHBhcg0KVW5mb3J0dW5hdGVseSB0aGlzIHRlbGxzIHVzIG1vcmUgYWJvdXQgeW91ciBm
cmllbmRzIHRoYW4gYWJvdXQgQysrLiAgXHBhcg0KVGhlcmUgYXJlIHNvbWUgdmVyeSBnb29kIGdh
cmJhZ2UgY29sbGVjdG9ycyBmb3IgQysrLiBCZWNhdXNlIG9mIFxwYXINCm9wZXJhdG9yIG92ZXJs
b2FkaW5nIHRoZXkgY2FuIGJlIGludGVncmF0ZWQgc2VhbWxlc3NseS4gQWdhaW4geW91IGFyZSBc
cGFyDQphYmxlIHRvIHVzZSBhIGdhcmJhZ2UgY29sbGVjdG9yIGJ1dCB5b3UgYXJlIG5vdCBmb3Jj
ZWQgdG8uXHBhcg0KXHBhcg0KVGhlIHByb2JsZW0gd2l0aCByZWxpYWJsZSBzb2Z0d2FyZSBpcyBu
b3QgdXNpbmcgb25lIHRvb2wgb3IgdGhlIG90aGVyLiBccGFyDQpUaGUgcHJvYmxlbSBpcyBrbm93
aW5nIHdoZW4gYW5kIGhvdyB0byB1c2UgdGhlIHRvb2wgLiBEb24ndCB0cnkgXHBhcg0KdGVjaG5v
bG9naWNhbCBmaXhlcyBmb3Igc29jaW9sb2dpY2FsIHByb2JsZW1zIC4uLlxwYXINClxwYXINCkJl
c3QgcmVnYXJkcyxccGFyDQotLUFuZHJlYXNccGFyDQpccGFyDQpccGFyDQotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxwYXINClxwYXINClRvIHVuc3Vic2NyaWJl
IGZyb20gdGhpcyBtYWlsaW5nIGxpc3QsIHNlbmQgYSBtZXNzYWdlIGNvbnRhaW5pbmcgdGhlIHdv
cmQgInVuc3Vic2NyaWJlIiB0bzpccGFyDQogICBibGFja2JveC1yZXF1ZXN0QG9iZXJvbi5jaFxw
YXINClxwYXINClRvIGdldCBhIGxpc3Qgb2YgdmFsaWQgZS1tYWlsIGNvbW1hbmRzIGFuZCBpbnN0
cnVjdGlvbnMgb24gdGhlaXIgdXNhZ2UsIHNlbmQgYSBtZXNzYWdlIGNvbnRhaW5pbmcgdGhlIHdv
cmQgImhlbHAiIHRvIHRoZSBhYm92ZSBhZGRyZXNzLlxwYXINClxwYXINClNlbmQgYW55IHByb2Js
ZW0gcmVwb3J0cyBvciBxdWVzdGlvbnMgcmVsYXRlZCB0byB0aGlzIGVtYWlsIGxpc3QgdG8gdGhl
IGxpc3Qgb3duZXIgYXRccGFyDQogICBvd25lci1ibGFja2JveEBvYmVyb24uY2hccGFyDQpccGFy
DQpDdXJyZW50IHBvc3RpbmcgcG9saWN5OlxwYXINClxwYXINCmEpIFRvIHBvc3QgeW91IHNob3Vs
ZCB1c2UgdGhlIHNhbWUgYWRkcmVzcyBieSB3aGljaCB5b3UgYXJlIHN1YnNjcmliZWQgdG8gdGhl
IG1haWxpbmcgbGlzdC4gVGhhdCB3YXksIHRoZSBsaXN0IHNlcnZlciB3aWxsIHJlY29nbml6ZSB5
b3UgYXMgc3Vic2NyaWJlciBhbmQgZm9yd2FyZCB5b3VyIHBvc3RpbmcgaW1tZWRpYXRlbHksIHdp
dGhvdXQgY3JlYXRpbmcgYW55IG92ZXJoZWFkLlxwYXINClxwYXINCmIpIElmLCBmb3Igc29tZSBy
ZWFzb24sIHlvdSBjYW5ub3QgcG9zdCBmcm9tIHRoZSBhZGRyZXNzLCBieSB3aGljaCB5b3UgYXJl
IHN1YnNjcmliZWQsIHlvdXIgbWVzc2FnZSB3aWxsIGJlIG1vZGVyYXRlZCB0byBhdm9pZCBzcGFt
LiBQbGVhc2UgdW5kZXJzdGFuZCB0aGF0IG1vZGVyYXRpb24gd2lsbCBvZnRlbiBjYXVzZSBzb21l
IGRlbGF5LCBpbiBwYXJ0aWN1bGFyIG92ZXIgd2Vla2VuZHMgb3IgaG9seWRheXN9fQBuZHMgdA==


----boundary-LibPST-iamunique-278174200_-_---
Received on Fri Feb 14 2003 - 09:50:54 UTC

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