Adages

Jul 12, 2013 09:41


It's increasingly occurred to me, as I get older and crustier, that I find myself saying things to people that I've said a number of times before.

Some of them are well known adages or observations, of course, but others are things that I wasn't previously aware of, or put together from several other pieces, and they've gradually become a sort of ( Read more... )

Leave a comment

Comments 16

cartesiandaemon July 12 2013, 11:43:08 UTC
LOL. Yeah, very good list.

It's not ‘OK because we're going to do X’ unless you actually do X

Yeah. It seems like a special case of "Your argument is reasonable, but your premises are blatantly false. But I'm embarrassed to suggest you're that self-deluded" :)

there isn't a Law of Conservation of Blame

Yes, this, very much so. It's a perennial fallacy that blame must be exactly 100%, not 0% or >=200% or somewhere between.

the less often they guess wrong, the more painful it is when they do

Yeah, in retrospect I've often seen that, but didn't notice until you put it in those terms.

Write the hard part firstHm. I think it depends how sure you are that the goal is the actual goal. I definitely agree in the case of your puzzle-game contributors "hi, I've done all the easy bits, can you finish off the impossible 10% for me" isn't helpful ( ... )

Reply

simont July 12 2013, 12:36:35 UTC
Hm. This seems like a hint that asking people "how would you google for X" is a necessary step before giving up?

Yes, but literally so - you only need to ask, since SLoG states that it isn't generally necessary for them to answer :-)

I'm curious what your ideal language would be.

I have a giant pile of notes that I've always vaguely intended to turn into an oversized LJ post on the subject, but I rather doubt they'd come together into a coherent whole. I have lots of things I'd like out of my ideal language, some of which can be pretty convincingly specified and others of which are so vague as to be more like blue-sky pipe dreams than serious design proposals, but every time I write down the entire list it becomes impossible to avoid writing "AND A PONY" at the end, because it's that kind of totally infeasible wishlist-of-everything. I'll post the list in a separate comment due to size.

Reply

simont July 12 2013, 12:36:58 UTC
  • Multi-paradigm is good, Do Everything My One True Way is bad. Some things are OO-shaped, some functional-shaped, some plain procedural, and you want to be able to switch back and forth within different parts of the same program without undue faff.
  • Compile to nice fast native code, or at the very least, don't design any language so that you can't sensibly do that. Requiring users to wait for Moore's Law is a mug's game.
  • Complete and correct bindings to all OS APIs. This is a major thing that keeps me using C and occasionally C++ in spite of their many flaws: whenever you use a different language, you sooner or later end up having to do some OS interaction that that language's abstraction didn't bother to include. But it's not really a language feature as such; I think what I really want is for all OS maintainers to publish cross-language specs for their APIs so that every language can auto-process them into its own appropriate form.
  • Define the language semantics better than C/C++. Undefined behaviour can bite you in so many different ways ( ... )

Reply

cartesiandaemon July 12 2013, 15:02:56 UTC
Yeah, that seems like a good list :)

I was about to say, it's possibly surprising more languages aren't designed to compile to C, and then let the C compiler writers do all the heavy lifting of making them fast on every platform. But I guess I've just reinvented Java, oops :)

hybrid eg. GC with an optional explicit free operation which causes an allocated thing to become instantly invalid

Yeah, except I always think the of reverse: it seems most variables go out of scope at fairly clearly defined places, and I've grown very fond of having RAII work the C++ way (always) rather than the C# way (every time you use a IDisposable class, you can be leak-safe and exception-safe, provided you remember to add the "don't leak this" boilerplate). But it would be nice to have a garbage collector for things left over. Although I suppose the GC needs to be aware of any other variables which might still hold a pointer to them.

Reply


ptc24 July 15 2013, 07:26:14 UTC
I'm wondering if it's worth me doing something similar; I've got "if your hands are tied, your arms can't be twisted", "if we knew what we were doing, it wouldn't be research" and possibly a few others. What we need is an app to record these - the bit that connects the user to the database would be Adage IO.

Reply


apostle_of_eris July 16 2013, 00:47:32 UTC
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.
-- Brian Kernighan

Reply


Leave a comment

Up