Bakul Shah wrote in
<10B8CDC8-12FF-4B93-AD34-3393BA5C13D5(a)iitbombay.org>:
|Just ignore the swagger.
|
|I would go further than Rob in that even for sequential
|programs there is no virtue in sticking to malloc/free if you
|don't have to. The whole point of automation (for me) is to
Well maybe. When i do perl or awk i do not even think about that
memory as such exists, mostly. In so far.
|delegate all the boring and repetitive work to computers so
|that I can focus on more interesting things! And solving
|malloc/free related bugs is boring and repetitive. For
But, you know, this is a philosophy i do not like.
Just like i never understood why Stroustrup gave C++ exceptions
the full power of flexibility instead of allowing only a single
base class but giving the entire C++ environment a toggle to
produce __FILE__/__LINE__ diagnosis out of the box. Or instead of
even introducing symbols which go the non-preprocessor if(XY) way
and allowing access to these from within code if XY is true.
So you have to invent preprocessor mess in order to be able to
pass debug info down the call chain, or use non-portable ELF or so
related info (which i never did).
But if you do have the information at hand, your program could say
#?1|kent:steffen$ s-nail -Rf /dev/empty
s-nail: /dev/empty: No such entry, file or directory
...
#?0!0/NONE#ERROR|:? quit
...
s-nail[info]: Count cur/peek/all: 4/ 1658/ 12524
...
s-nail[info]: 0x55ef9a581b50 (72 bytes): /home/steffen/src/nail.git/src/mx/auxlily.c,
line 1064 There are messages in the error ring, manageable via `errors' command???
s-nail[info]: 0x55ef9a581ae0 (40 bytes): /home/steffen/src/nail.git/src/mx/auxlily.c,
line 1035 ????????????????E???????P?X??U??E???????
s-nail[info]: 0x55ef9a581420 (48 bytes): /home/steffen/src/nail.git/src/mx/auxlily.c,
line 1064 /dev/empty: No such entry, file or directory????
s-nail[info]: 0x55ef9a5813b0 (40 bytes): /home/steffen/src/nail.git/src/mx/auxlily.c,
line 1035 ??X??U??????????,??????? ?X??U??,???^???
even upon receive of a signal. And this is just a silly wrapper,
not even a complete thing.
It is just like always, "there is no wrong weather, just the wrong
clothes".
|embedded code in limited space you want to use memory
|carefully but for most of userland code we don't have to
|worry about saving every byte. Most userland code is not real
|time code (and doesn't run on realtime OSes). That doesn't
|mean using memory like water -- there is a middle ground.
|Don't blame the GC for incompetently programmed websites or
|for layers of code using third party libraries using other
|third party libraries.
All the new languages [offer] [myriads] of [symbol] [annotations]
in order to improve things, which also aids in giving more info to
the tools.
And, what is maybe more important, all programs written in these
languages are written from scratch. And even if people tend to
produce bugs here and there, and tend to forget the background of
a problem now and then, or did not know about it when they wrote
the code, ... the experience with programming has improved a lot
compared to times that members of these list went through!
That is of course only my personal opinion. I like C a lot (like
C++ without everything but classes).
--steffen
|
|Der Kragenbaer, The moon bear,
|der holt sich munter he cheerfully and one by one
|einen nach dem anderen runter wa.ks himself off
|(By Robert Gernhardt)