<div dir="ltr"><div>***The ultimate (programming) concern is what will produce the highest average correct-and-useful-running-program-output per second over my lifespan.***</div><div><br></div><div>(philosophical extensions: provided it doesn't hurt other people, unless they are "bad", where bad = ...etc...)</div>
<div><br></div><div>Or anyone else who programs. The average decreases when something new is learned, and increases later as a payoff from the new knowledge (ideally...). This is especially important to experts in other fields who want a quick solution instead of a theoretically maximally correct and beautiful and least upsetting to experts solution.</div>
<div><br></div><div>So I didn't need keyword-apply. I had the following choices:</div><div><br></div><div>1. build literal expression, call eval (~1 min dev time)</div><div><br></div><div>2. search documentation or google for "apply keyword", reach page of documentation, *carefully* read all relevant-sounding functions on it, choose keyword apply, THEN implement it (~10+ min?) (in reality after trying apply for a bit since it seems like it would work, and for fear of just using eval and being branded a C programmer, eventually concluding it can't work = additional 5 min)</div>
<div><br></div><div>3. make a mistake with step 2, make post to user's list asking about this case, receive feedback that it wasn't necessary to use it, go back and fix code to be "correct" (unsure of time to type the first post, but the overall energy spent on this process exceeds #1 and #2 for sure)</div>
<div><br></div><div>In my case, I'm glad I now know about keyword-apply because I will be using Racket until I die. Those 15 minutes will *hopefully* save over 15 minutes by the end of my life. They might not though, and time now > time later, but I'm still glad because I enjoy programming as a hobby and want to be good at it, but in terms of maximizing output I should have just used eval.</div>
<div><br></div><div>Taken further, there is some optimal level of knowledge that allows for all tasks that need to be completed to be completed as quickly and accurately as possible, where further knowledge represents time spent wasted acquiring it. Professionals in fields other than programming itself will probably have a low level of optimal knowledge, and the attitude that some seem to have about "dumb newbies with their dumb evals" is incorrect. They should possibly do whatever is as fast as possible, regardless of how bad the code is.</div>
</div>