FW: [BLACKBOX] Go

From: null <">
Date: Fri, 13 Nov 2009 10:14:56 +0000

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



--
  Bernhard Treutwein
  Ludwig-Maximilians-Universität
  Ref. VI.3 Anwendungsbetreuung
  Martiusstr. 4
  80802 München
  Tel. 089 2180-2774
  Fax. 089 2180-992774
  Mobil. 0152-01549335
  e-mail: bernhard treutwein (at) verwaltung uni-muenchen de
 
-----Original Message-----
From: BlackBox [mailto:BLACKBOX{([at]})nowhere.xySent: Friday, November 13, 2009 7:52 AM
To: BLACKBOX{([at]})nowhere.xySubject: Re: [BLACKBOX] Go
From: BlackBox [mailto:BLACKBOX{([at]})nowhere.xyDanforth
Sent: Thursday, 12 November 2009 9:09 AM
To: BLACKBOX{([at]})nowhere.xySubject: [BLACKBOX] Go
	
Google is releasing a new open source language called 'Go'
	
http://golang.org/
	
-----------------------------
Thanks for the link Doug - good to see Oberon getting some of the credit. An
interesting review is here:
http://scienceblogs.com/goodmath/2009/11/googles_new_language_go.php
That link was from a message in the comp.arch.embedded newsgroup. They
added:
< The best, though, was from commentator James H G Redekop: "I get this
feeling they picked the name so that when they put out the next version of
the language, they can call it Go2 and make Dijkstra jokes." >
Who said programmers didn't have a sense of humour?
-----------------------------
I haven't looked too closely at Go yet but I hope they have made it more
difficult for non-Pascal/Modula/Oberon programmers to make the following
mistake. This is part of an actual conversation about a C programming
problem in the LPC2000 newsgroup:
======
I've come across a problem with fabsf() in 'Product X'. Here is a code
snippet:
ftemp=fabsf(FloatArray[0]);
ftemp2=fabsf(FloatArray[1]);
For some reason every once in a while (maybe 5-10% of the time) ftemp and
ftemp2 are set to 0 even though FloatArray[0] and [1] are non-zero. 
-----
Make absolutely sure you have #included <math.h>.
=====
D'ohh. This was the first time I made any math calls from this file, so I
didn't have math.h in there. my mistake. Not the first time I've done this,
but in past cases the functions always failed, not just intermittently
failed. Is there another fabsf() that gets used if math.h is not included?
-----
No. It's just if that you have not prototyped f then by the "rules of C",
fabsf get defined as:
int fabsf();
Note that this is *not* the same as
int fabsf(void);
That's another common misconception. Perhaps you should mull that one over
too. :-)
===============================
I think it is sad that in this case the programmer blamed himself rather
than the system. Maybe that is part of the reason such systems still exist? 
Regards,
Chris
Chris Burrows
CFB Software
http://www.cfbsoftware.com
----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-1190837891_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzc1xmY2hhcnNldDAgQXJpYWw7fQ0Ke1xmMVxmbW9kZXJuIENvdXJpZXIgTmV3O30NCntcZjJc
Zm5pbFxmY2hhcnNldDIgU3ltYm9sO30NCntcZjNcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBO
ZXc7fX0NCntcY29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7
fQ0KXHVjMVxwYXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyMCBccGFyDQpccGFyDQotLVxwYXIN
CiAgQmVybmhhcmQgVHJldXR3ZWluXHBhcg0KICBMdWR3aWctTWF4aW1pbGlhbnMtVW5pdmVyc2l0
XCdlNHRccGFyDQogIFJlZi4gVkkuMyBBbndlbmR1bmdzYmV0cmV1dW5nXHBhcg0KICBNYXJ0aXVz
c3RyLiA0XHBhcg0KICA4MDgwMiBNXCdmY25jaGVuXHBhcg0KICBUZWwuIDA4OSAyMTgwLTI3NzRc
cGFyDQogIEZheC4gMDg5IDIxODAtOTkyNzc0XHBhcg0KICBNb2JpbC4gMDE1Mi0wMTU0OTMzNVxw
YXINCiAgZS1tYWlsOiBiZXJuaGFyZCB0cmV1dHdlaW4gKGF0KSB2ZXJ3YWx0dW5nIHVuaS1tdWVu
Y2hlbiBkZVxwYXINCiBccGFyDQpccGFyDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLVxwYXIN
CkZyb206IEJsYWNrQm94IFttYWlsdG86QkxBQ0tCT1hATElTVFMuT0JFUk9OLkNIXSBPbiBCZWhh
bGYgT2YgQ2hyaXMgQnVycm93c1xwYXINClNlbnQ6IEZyaWRheSwgTm92ZW1iZXIgMTMsIDIwMDkg
Nzo1MiBBTVxwYXINClRvOiBCTEFDS0JPWEBMSVNUUy5PQkVST04uQ0hccGFyDQpTdWJqZWN0OiBS
ZTogW0JMQUNLQk9YXSBHb1xwYXINClxwYXINClxwYXINCkZyb206IEJsYWNrQm94IFttYWlsdG86
QkxBQ0tCT1hATElTVFMuT0JFUk9OLkNIXSBPbiBCZWhhbGYgT2YgRG91Z2xhcyBHLlxwYXINCkRh
bmZvcnRoXHBhcg0KU2VudDogVGh1cnNkYXksIDEyIE5vdmVtYmVyIDIwMDkgOTowOSBBTVxwYXIN
ClRvOiBCTEFDS0JPWEBMSVNUUy5PQkVST04uQ0hccGFyDQpTdWJqZWN0OiBbQkxBQ0tCT1hdIEdv
XHBhcg0KXHRhYiBccGFyDQpHb29nbGUgaXMgcmVsZWFzaW5nIGEgbmV3IG9wZW4gc291cmNlIGxh
bmd1YWdlIGNhbGxlZCAnR28nXHBhcg0KXHRhYiBccGFyDQpodHRwOi8vZ29sYW5nLm9yZy9ccGFy
DQpcdGFiIFxwYXINCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHBhcg0KXHBhcg0KVGhh
bmtzIGZvciB0aGUgbGluayBEb3VnIC0gZ29vZCB0byBzZWUgT2Jlcm9uIGdldHRpbmcgc29tZSBv
ZiB0aGUgY3JlZGl0LiBBblxwYXINCmludGVyZXN0aW5nIHJldmlldyBpcyBoZXJlOlxwYXINClxw
YXINCmh0dHA6Ly9zY2llbmNlYmxvZ3MuY29tL2dvb2RtYXRoLzIwMDkvMTEvZ29vZ2xlc19uZXdf
bGFuZ3VhZ2VfZ28ucGhwXHBhcg0KXHBhcg0KVGhhdCBsaW5rIHdhcyBmcm9tIGEgbWVzc2FnZSBp
biB0aGUgY29tcC5hcmNoLmVtYmVkZGVkIG5ld3Nncm91cC4gVGhleVxwYXINCmFkZGVkOlxwYXIN
ClxwYXINCjwgVGhlIGJlc3QsIHRob3VnaCwgd2FzIGZyb20gY29tbWVudGF0b3IgSmFtZXMgSCBH
IFJlZGVrb3A6ICJJIGdldCB0aGlzXHBhcg0KZmVlbGluZyB0aGV5IHBpY2tlZCB0aGUgbmFtZSBz
byB0aGF0IHdoZW4gdGhleSBwdXQgb3V0IHRoZSBuZXh0IHZlcnNpb24gb2ZccGFyDQp0aGUgbGFu
Z3VhZ2UsIHRoZXkgY2FuIGNhbGwgaXQgR28yIGFuZCBtYWtlIERpamtzdHJhIGpva2VzLiIgPlxw
YXINClxwYXINCldobyBzYWlkIHByb2dyYW1tZXJzIGRpZG4ndCBoYXZlIGEgc2Vuc2Ugb2YgaHVt
b3VyP1xwYXINClxwYXINCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHBhcg0KXHBhcg0K
SSBoYXZlbid0IGxvb2tlZCB0b28gY2xvc2VseSBhdCBHbyB5ZXQgYnV0IEkgaG9wZSB0aGV5IGhh
dmUgbWFkZSBpdCBtb3JlXHBhcg0KZGlmZmljdWx0IGZvciBub24tUGFzY2FsL01vZHVsYS9PYmVy
b24gcHJvZ3JhbW1lcnMgdG8gbWFrZSB0aGUgZm9sbG93aW5nXHBhcg0KbWlzdGFrZS4gVGhpcyBp
cyBwYXJ0IG9mIGFuIGFjdHVhbCBjb252ZXJzYXRpb24gYWJvdXQgYSBDIHByb2dyYW1taW5nXHBh
cg0KcHJvYmxlbSBpbiB0aGUgTFBDMjAwMCBuZXdzZ3JvdXA6XHBhcg0KXHBhcg0KPT09PT09XHBh
cg0KSSd2ZSBjb21lIGFjcm9zcyBhIHByb2JsZW0gd2l0aCBmYWJzZigpIGluICdQcm9kdWN0IFgn
LiBIZXJlIGlzIGEgY29kZVxwYXINCnNuaXBwZXQ6XHBhcg0KXHBhcg0KZnRlbXA9ZmFic2YoRmxv
YXRBcnJheVswXSk7XHBhcg0KZnRlbXAyPWZhYnNmKEZsb2F0QXJyYXlbMV0pO1xwYXINClxwYXIN
CkZvciBzb21lIHJlYXNvbiBldmVyeSBvbmNlIGluIGEgd2hpbGUgKG1heWJlIDUtMTAlIG9mIHRo
ZSB0aW1lKSBmdGVtcCBhbmRccGFyDQpmdGVtcDIgYXJlIHNldCB0byAwIGV2ZW4gdGhvdWdoIEZs
b2F0QXJyYXlbMF0gYW5kIFsxXSBhcmUgbm9uLXplcm8uIFxwYXINClxwYXINCi0tLS0tXHBhcg0K
XHBhcg0KTWFrZSBhYnNvbHV0ZWx5IHN1cmUgeW91IGhhdmUgI2luY2x1ZGVkIDxtYXRoLmg+Llxw
YXINClxwYXINCj09PT09XHBhcg0KXHBhcg0KRCdvaGguIFRoaXMgd2FzIHRoZSBmaXJzdCB0aW1l
IEkgbWFkZSBhbnkgbWF0aCBjYWxscyBmcm9tIHRoaXMgZmlsZSwgc28gSVxwYXINCmRpZG4ndCBo
YXZlIG1hdGguaCBpbiB0aGVyZS4gbXkgbWlzdGFrZS4gTm90IHRoZSBmaXJzdCB0aW1lIEkndmUg
ZG9uZSB0aGlzLFxwYXINCmJ1dCBpbiBwYXN0IGNhc2VzIHRoZSBmdW5jdGlvbnMgYWx3YXlzIGZh
aWxlZCwgbm90IGp1c3QgaW50ZXJtaXR0ZW50bHlccGFyDQpmYWlsZWQuIElzIHRoZXJlIGFub3Ro
ZXIgZmFic2YoKSB0aGF0IGdldHMgdXNlZCBpZiBtYXRoLmggaXMgbm90IGluY2x1ZGVkP1xwYXIN
ClxwYXINCi0tLS0tXHBhcg0KXHBhcg0KTm8uIEl0J3MganVzdCBpZiB0aGF0IHlvdSBoYXZlIG5v
dCBwcm90b3R5cGVkIGYgdGhlbiBieSB0aGUgInJ1bGVzIG9mIEMiLFxwYXINCmZhYnNmIGdldCBk
ZWZpbmVkIGFzOlxwYXINClxwYXINCmludCBmYWJzZigpO1xwYXINClxwYXINCk5vdGUgdGhhdCB0
aGlzIGlzICpub3QqIHRoZSBzYW1lIGFzXHBhcg0KXHBhcg0KaW50IGZhYnNmKHZvaWQpO1xwYXIN
ClxwYXINClRoYXQncyBhbm90aGVyIGNvbW1vbiBtaXNjb25jZXB0aW9uLiBQZXJoYXBzIHlvdSBz
aG91bGQgbXVsbCB0aGF0IG9uZSBvdmVyXHBhcg0KdG9vLiA6LSlccGFyDQpccGFyDQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09XHBhcg0KXHBhcg0KSSB0aGluayBpdCBpcyBzYWQgdGhh
dCBpbiB0aGlzIGNhc2UgdGhlIHByb2dyYW1tZXIgYmxhbWVkIGhpbXNlbGYgcmF0aGVyXHBhcg0K
dGhhbiB0aGUgc3lzdGVtLiBNYXliZSB0aGF0IGlzIHBhcnQgb2YgdGhlIHJlYXNvbiBzdWNoIHN5
c3RlbXMgc3RpbGwgZXhpc3Q/IFxwYXINClxwYXINClJlZ2FyZHMsXHBhcg0KQ2hyaXNccGFyDQpc
cGFyDQpDaHJpcyBCdXJyb3dzXHBhcg0KQ0ZCIFNvZnR3YXJlXHBhcg0KaHR0cDovL3d3dy5jZmJz
b2Z0d2FyZS5jb21ccGFyDQpccGFyDQpccGFyDQotLS0tXHBhcg0KVG8gdW5zdWJzY3JpYmUsIHNl
bmQgYSBtZXNzYWdlIHdpdGggYm9keSAiU0lHTk9GRiBCTEFDS0JPWCIgdG8gTElTVFNFUlZATElT
VFMuT0JFUk9OLkNIXH19AGNhbA==
----boundary-LibPST-iamunique-1190837891_-_---
Received on Fri Nov 13 2009 - 11:14:56 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:30:40 UTC