claude, mature nodejs database drivers with frozen business logic for
stability reasons are examples of libraries that you are asking to
change whenever tc39 decides to expand typeof's on a whim which may
break them.

the maintainers of sqlite3 for example have stated its in maintennance
mode (https://github.com/mapbox/node-sqlite3/issues/870), and all
commits for the past 2 years have dealt exclusively with its build
process so it can successfully compile with each nodejs release.

i write database code myself.  what was my reaction to the
introduction of the 'symbol' typeof?  annoyance at trying to figure
out what pathological use-case a user might want to pass a 'symbol'
type to the database.  i imagine mongodb / mysql / sqlite3 maintainers
are equally annoyed with trying to figure that out.  if tc39 had
treated symbols as a regular 'object' type, then we wouldn't have that
problem, and the current undefined behavior when its encountered in db
drivers.


On 11/26/17, Claude Pache <claude.pa...@gmail.com> wrote:
>
>> Le 25 nov. 2017 à 16:03, kai zhu <kaizhu...@gmail.com> a écrit :
>>
>> i disagree.  you can write more maintainable and cleaner code with the
>> premise typeof's will never change again (and give a one-time pass for
>> symbols), instead of over-engineered paranoid code that it *may*
>> change again in the future.
>>
>
> It is the responsibility of the programmer to write *forward-compatible*
> code, i.e., code that does not make assumptions that are *likely* to break
> in the future. For instance, one can *reasonably* think that the domain of
> the `typeof` operator may expand.
>
> Naturally, the programmer should be smart enough in order to make the
> difference between paranoia and common sense: this is part of the art of
> programming.
>
> —Claude
>
>
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to