
Ask HN: Common or important programming compromises - unFou
As a beginner-intermediate programmer, I&#x27;m starting to get a feeling that a better programmer is someone who is more consistently aware of the consequences of the decisions that they&#x27;re making when they code. In other words, someone who has reduced their unknown unknowns.<p>Examples that I&#x27;ve come across personally are knowing the consequences &#x2F; differences between:
An array and a hash table (I come from a non-compsci background, and was exposed very late to hash&#x2F;dictionary structures);
An operational vs a relational database, and when to (de)normalise your data;
Using a new language better suited for the job vs the upkeep of adding another language to the codebase.<p>To the collective experience of HN: what are some common or very importance consequences that you&#x27;ve come across?<p>P.S. please don&#x27;t feel limited to technical details. I haven&#x27;t been exposed to the start-up or internal political side much, but wouldn&#x27;t mind picking up hints and details
======
unFou
A compromise I haven't figured out yet:

When is it better to import a library for a function vs copy just the source
code for that function (with attribution, of course).

~~~
Bino
If you think the function may improve in the future, import the library, if
not; copy the code. Remember that you will not go back later to see if there
is a new version to copy in.

