Wednesday, June 4, 2014

Not in the same field/industry: Shared vocabulary == Highfalutin

To an application developers hearing two DBAs resolving an issue and using words like page splitting, extent, covering index, fill factors, sargable, archenemy and whatnot, those words are highfalutin. To a DBA hearing two application developers conversing about cascading dropdown, aggregate root, object graph, bounded context, independent association, those words are highfalutin. Words like those appears more highfalutin if one's native language is not English


If we don't have shared vocabulary or "highfalutin" word like cascading dropdown, we got to explain things in detail to someone who don't share the same set of industry vocabulary as us, we have to say this: "on this form, we need a dropdown that narrows the list of another dropdown based on the item selected from the first dropdown", see? it's too mouthful; so it's a timesaver to just use a shared vocabulary / "highfalutin" word/phrase: "on this form, we need a cascading dropdown." See? easy-peasy!

If a word is not used on a daily basis, yet you wanted to introduce it to others, the reception on that word is that it is too highfalutin, big word

For debaters, politicians and whathaveyou, the word strawman is not highfalutin, they know the meaning of strawman when one of them say that the other one is pulling an strawman argument and should refrain from doing so


When there are important matters that are being discussed, and one just conveniently cite the person #2 use of highfalutin word even the person #2 just used one "highfalutin" word throughout the whole discourse, person #2 might reply with "please don't bikeshed!", but alas! person #2 will be reluctant to say that since he's already labeled of using highfalutin word. See? almost every words are highfalutin if one can't be bothered to learn the meaning of a handy word, er.. "highfalutin" word


Shared vocabulary is important, it saves us the hassle of explaining things in length when some things related to that vocabulary comes up very often or shall come up again during a conversation or discourse


Having said that, here are some four of the shared vocabulary (or highfalutin if you may) engineers could use with each other without being sneered at as being too highfalutin:


1. Bikeshedding: Technical disputes over minor, marginal issues conducted while more serious ones are being overlooked.

If someone tend to dwell on the syntax(e.g., suggesting to use string.Empty instead of letting the code use "") of the code instead of the code's functionality, go ahead and say "Please don't bikeshed, it's ok not to use string.Empty, let's focus on the functionalities"


2. Leaky abstraction: In software development, a leaky abstraction is an implemented abstraction where details and limitations of the implementation leak through.

jQuery is an abstraction layer that makes all browsers behaves and looks the same API-wise. Example, jQuery's .html is consistent on all browsers; though one can use .innerHTML API directly instead of using jQuery's .html, it's not a good idea to do so, some browsers has buggy implementation and/or not consistent with other standards-conforming browsers

So if someone is unwittingly or deliberately leaking an abstraction, e.g., using .innerHTML, go ahead and tell him "Please don't leak the abstraction, use jQuery's .html"


3. SARGable: In relational databases, a condition in a query is said to be sargable if the DBMS engine can take advantage of an index to speed up the execution of the query.

The DBA looking at your query and said "this condition is not sargable, please re-arrange the expression." Comply then


4. Strawman: Misrepresenting someone's argument to make it easier to attack

If someone is trying to undermine your point by using something far from the context of your point, you can remind them not to use strawman argument

Example: After Will said that we should put more money into health and education, Warren responded by saying that he was surprised that Will hates our country so much that he wants to leave it defenseless by cutting military spending.

Tip: If you hang around slashdot forum, you'll often encounter geeks opposing strawman arguments



Shared vocabulary prevents ambiguities in communication

No comments:

Post a Comment