Re: [nodejs] Re: javascript vision thing

2018-09-22 Thread kai zhu
this is not a troll-account, and I’m a live-person with realistic (albeit 
uncomfortable) views on limitations of javascript product-development in 
industry.

es6 seems to adopt java’s philosophy that with careful-planning, you can create 
semi-permanent, well-abstracted code during the design-phase that will last 
throughout the product-development cycle.  my experience with numerous 
web-projects, both successful and failed, indicates this approach as flawed.  
and i believe most people in industry who have been burned by failed 
web-projects in the past (due to over-encumbered/engineered initial-designs 
that couldn’t cope with realities of product integration/qa) are wary of hiring 
unproven java-turned-js devs who still hold these brittle design-philosophies.

there's no such thing as “permanent” javascript-code in product-development.  
everything eventually gets rewritten, when the inevitable business-critical ux 
feature-request comes in that you must accommodate, even though it breaks your 
current integration-workflow.  when this common scenario plays out in industry:

a) the [inexperienced] unqualified js-dev likely dithers, unwilling/unable to 
unwind the complicated initial-design they architected to accommodate the 
feature-request, while
b) the [experienced] qualified js-dev would have anticipated this, and simply 
rewrites their initial expendable-code with new expendable-code to accommodate 
the feature-request (with expectation it will be rewritten again-and-again in 
the future).

its difficult for employers to discern whether js-devs will exhibit trait a) or 
trait b) through technical-interview alone.  and es6 skews this with 
design-patterns biased towards trait a), further confusing employers seeking 
qualified js-devs.

kai zhu
kaizhu...@gmail.com



> On 23 Sep 2018, at 1:43 AM, Zlatko Đurić  wrote:
> 
> Hi all,
> 
> I don't know why I can't resist this troll. I've just spent half an hour 
> writing an elaborate answer on how the whole premise is wrong, knowing that 
> this is a known troll account. Well, I've deleted it all and will not fall 
> for his trolling again.
> 
>  (Btw I thought this list is moderated, how come his same-all troll ramblings 
> always pass the mods?)
> 
> Zlatko 
> 
> On Sat 22. Sep 2018 at 18:26, Michael J. Ryan  > wrote:
> Considering how many js devs fail to answer "what values evaluate to false in 
> JavaScript". It isn't the new features that are the problem.
> 
> There's a combination of problems.  People believing they're better 
> developers than they are.  People who look down on js and front end 
> development.  And those ahead to learn new things.
> 
> JS isn't really evolving any more than Java, C#, go, python and others as a 
> whole in the past 20 years.  And having to fight uphill to use newer features 
> is a pain.  I'm not on the younger side of this (I'm 42)... But I've managed 
> to keep up.
> 
> On Fri, Sep 21, 2018, 17:14 kai zhu  > wrote:
> a problem i've observed in industry is that many es6 language-features have 
> the unintended-consequence of incentivising incompetent javascript-developers 
> at the expense of competent-ones.  its generally difficult for many employers 
> (even those knowledgeable in general-purpose programming), to discern between:
> 
> a) a competent javascript employee/contractor who can get things done and 
> ship products (albeit with legitimate delays), and
> b) an incompetent-one who can easily hide themselves in non-productive es6 
> busywork, and continually pushback product-integration (again with 
> “legitimate” delays, until its too late).
> 
> its gotten bad enough that many industry-employers no longer trust 
> general-purpose-programming technical-interviews when recruiting js-devs, and 
> rely almost exclusively on either a) an applicant's reputation / 
> word-of-mouth for getting things done, or b) their ability to complete a 
> time-consuming tech-challenge, where they must demonstrate ability to ship a 
> mini-product.  both methods are not scalable to meet the demand in industry 
> for qualified js-devs in product-development.
> 
> the only solution i can think of to this industry-problem is to hold-back on 
> introducing new disruptive/unproven javascript design-patterns, and figuring 
> out how to educate the industry with tightened javascript style-guides and 
> existing design-patterns proven to work (more is less); generally, ways to 
> enhance the current, woefully inadequate “bullsh*t detector” of employers so 
> they can better identify and mentor/train/weed-out unqualified js-devs.
> 
> kai zhu
> kaizhu...@gmail.com 
> 
> ___
> es-discuss mailing list
> es-disc...@mozilla.org 
> https://mail.mozilla.org/listinfo/es-discuss 
> 
> 
> -- 
> Job board: http://jobs.nodejs.org/ 

Re: [nodejs] Re: javascript vision thing

2018-09-22 Thread Forrest Norvell
On Sat, Sep 22, 2018 at 3:43 PM Zlatko Đurić  wrote:

>  (Btw I thought this list is moderated, how come his same-all troll
> ramblings always pass the mods?)
>

Hi! I don't post to this group much anymore, but to answer your question,
it's because as much as I disagree with Kai Zhu, his posts are neither
harassment not trollish. I believe he's perfectly sincere. If things get
too heated, I'll step in to calm them down, but for now, the situation
seems to be taking care of itself.



Forrest Norvell, group moderator

-- 
Job board: http://jobs.nodejs.org/
New group rules: 
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
To post to this group, send email to nodejs@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/nodejs/CAHG3qKqLEZwyEgP9937LF1TUdHrVAE7M4bVGqK-viOfWU-Pcjg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [nodejs] Re: javascript vision thing

2018-09-22 Thread Zlatko Đurić
Hi all,

I don't know why I can't resist this troll. I've just spent half an hour
writing an elaborate answer on how the whole premise is wrong, knowing that
this is a known troll account. Well, I've deleted it all and will not fall
for his trolling again.

 (Btw I thought this list is moderated, how come his same-all troll
ramblings always pass the mods?)

Zlatko

On Sat 22. Sep 2018 at 18:26, Michael J. Ryan  wrote:

> Considering how many js devs fail to answer "what values evaluate to false
> in JavaScript". It isn't the new features that are the problem.
>
> There's a combination of problems.  People believing they're better
> developers than they are.  People who look down on js and front end
> development.  And those ahead to learn new things.
>
> JS isn't really evolving any more than Java, C#, go, python and others as
> a whole in the past 20 years.  And having to fight uphill to use newer
> features is a pain.  I'm not on the younger side of this (I'm 42)... But
> I've managed to keep up.
>
> On Fri, Sep 21, 2018, 17:14 kai zhu  wrote:
>
>> a problem i've observed in industry is that many es6 language-features
>> have the unintended-consequence of incentivising incompetent
>> javascript-developers at the expense of competent-ones.  its generally
>> difficult for many employers (even those knowledgeable in general-purpose
>> programming), to discern between:
>>
>> a) a competent javascript employee/contractor who can get things done and
>> ship products (albeit with legitimate delays), and
>> b) an incompetent-one who can easily hide themselves in non-productive
>> es6 busywork, and continually pushback product-integration (again with
>> “legitimate” delays, until its too late).
>>
>> its gotten bad enough that many industry-employers no longer trust
>> general-purpose-programming technical-interviews when recruiting js-devs,
>> and rely almost exclusively on either a) an applicant's reputation /
>> word-of-mouth for getting things done, or b) their ability to complete a
>> time-consuming tech-challenge, where they must demonstrate ability to ship
>> a mini-product.  both methods are not scalable to meet the demand in
>> industry for qualified js-devs in product-development.
>>
>> the only solution i can think of to this industry-problem is to hold-back
>> on introducing new disruptive/unproven javascript design-patterns, and
>> figuring out how to educate the industry with tightened javascript
>> style-guides and existing design-patterns proven to work (more is less);
>> generally, ways to enhance the current, woefully inadequate “bullsh*t
>> detector” of employers so they can better identify and
>> mentor/train/weed-out unqualified js-devs.
>>
>> kai zhu
>> kaizhu...@gmail.com
>>
>> ___
>> es-discuss mailing list
>> es-disc...@mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>>
> --
> Job board: http://jobs.nodejs.org/
> New group rules:
> https://gist.github.com/othiym23/9886289#file-moderation-policy-md
> Old group rules:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "nodejs" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/nodejs/p81p-_FqS-s/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> nodejs+unsubscr...@googlegroups.com.
> To post to this group, send email to nodejs@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/nodejs/CA%2BpgmMoRmv-P-8a%2B6JCj8szBcJ_32fPULL3DqrZp%2B3SgMZLTDw%40mail.gmail.com
> 
> .
> For more options, visit https://groups.google.com/d/optout.
>
-- 
Zlatko

-- 
Job board: http://jobs.nodejs.org/
New group rules: 
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
To post to this group, send email to nodejs@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/nodejs/CADu3pbxhg6P%3DKqJRKPzpGipeNQi92f9vvm3f4g%2BgnM5m1NHHUw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


[nodejs] Re: javascript vision thing

2018-09-22 Thread Michael J. Ryan
Considering how many js devs fail to answer "what values evaluate to false
in JavaScript". It isn't the new features that are the problem.

There's a combination of problems.  People believing they're better
developers than they are.  People who look down on js and front end
development.  And those ahead to learn new things.

JS isn't really evolving any more than Java, C#, go, python and others as a
whole in the past 20 years.  And having to fight uphill to use newer
features is a pain.  I'm not on the younger side of this (I'm 42)... But
I've managed to keep up.

On Fri, Sep 21, 2018, 17:14 kai zhu  wrote:

> a problem i've observed in industry is that many es6 language-features
> have the unintended-consequence of incentivising incompetent
> javascript-developers at the expense of competent-ones.  its generally
> difficult for many employers (even those knowledgeable in general-purpose
> programming), to discern between:
>
> a) a competent javascript employee/contractor who can get things done and
> ship products (albeit with legitimate delays), and
> b) an incompetent-one who can easily hide themselves in non-productive es6
> busywork, and continually pushback product-integration (again with
> “legitimate” delays, until its too late).
>
> its gotten bad enough that many industry-employers no longer trust
> general-purpose-programming technical-interviews when recruiting js-devs,
> and rely almost exclusively on either a) an applicant's reputation /
> word-of-mouth for getting things done, or b) their ability to complete a
> time-consuming tech-challenge, where they must demonstrate ability to ship
> a mini-product.  both methods are not scalable to meet the demand in
> industry for qualified js-devs in product-development.
>
> the only solution i can think of to this industry-problem is to hold-back
> on introducing new disruptive/unproven javascript design-patterns, and
> figuring out how to educate the industry with tightened javascript
> style-guides and existing design-patterns proven to work (more is less);
> generally, ways to enhance the current, woefully inadequate “bullsh*t
> detector” of employers so they can better identify and
> mentor/train/weed-out unqualified js-devs.
>
> kai zhu
> kaizhu...@gmail.com
>
> ___
> es-discuss mailing list
> es-disc...@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>

-- 
Job board: http://jobs.nodejs.org/
New group rules: 
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
To post to this group, send email to nodejs@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/nodejs/CA%2BpgmMoRmv-P-8a%2B6JCj8szBcJ_32fPULL3DqrZp%2B3SgMZLTDw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [nodejs] Re: javascript vision thing

2018-09-22 Thread kai zhu
yes, in order of severity:

1. es6 generators and modules are the top 2 notorious things that come to mind 
as being difficult to debug/integrate in product-development.

2. classes (and typescript, though not directly es6-related), tend to create 
lots of unnecessary structure that becomes a PITA when you need to rewrite 
everything, which occurs often in product-development.  there are lots of newly 
minted js-devs entering industry, who lack experience in understanding the 
risks of javascript over-engineering (and that nothing you write is permanent). 
 they write lots of semi-permanent, es6 infrastructure-code during the initial 
design-phase, which is a general no-no for many veterans, who understand most 
of that stuff is going to get tossed out the window and rewritten during 
integration-phase (and again everytime a ux feature-request comes in that 
breaks the existing integration-workflow).

3. let and const declarations.  most code you debug/write in javascript is 
ux-related integration-code dealing with async-io, which relies heavily on 
function-scoped closures to pass variables across process-ticks.  block-level 
scoping is an unnecessary design-pattern that leads to confusion over the 
former.

4. fat-arrow.  it has garden-path issues, making it difficult to write 
efficient javascript-parsers that can differentiate the following [valid] 
javascript-code:
```js
(aa = 1, bb = 2, cc = 3);
// vs
(aa = 1, bb = 2, cc = 3) => aa + bb;
```
this leads to fundamental performance-issues with 
tooling/minification/test-coverage-instrumenters.  jslint for 
efficiency-reasons, simply cheats and assumes both of the above are fat-arrows, 
and raises fat-arrow warnings for both (and halts further parsing) [1].

[1] jslint managing garden-path complexity of fat-arrow, with a single 
lookahead, that can turn out wrong, so it halts parsing.
https://github.com/douglascrockford/JSLint/blob/36adbc73ef0275df7d3fac9c3ef0844ac506136b/jslint.js#L2914
 


kai zhu
kaizhu...@gmail.com



> On 22 Sep 2018, at 12:04 PM, Siegfried Bilstein  wrote:
> 
> Do you have examples of the patterns and es6 features you describe? 
> 
> Siggy
> 
> On Sat, Sep 22, 2018 at 01:02 kai zhu  > wrote:
> a problem i've observed in industry is that many es6 language-features have 
> the unintended-consequence of incentivising incompetent javascript-developers 
> at the expense of competent-ones.  its generally difficult for many employers 
> (even those knowledgeable in general-purpose programming), to discern between:
> 
> a) a competent javascript employee/contractor who can get things done and 
> ship products (albeit with legitimate delays), and
> b) an incompetent-one who can easily hide themselves in non-productive es6 
> busywork, and continually pushback product-integration (again with 
> “legitimate” delays, until its too late).
> 
> its gotten bad enough that many industry-employers no longer trust 
> general-purpose-programming technical-interviews when recruiting js-devs, and 
> rely almost exclusively on either a) an applicant's reputation / 
> word-of-mouth for getting things done, or b) their ability to complete a 
> time-consuming tech-challenge, where they must demonstrate ability to ship a 
> mini-product.  both methods are not scalable to meet the demand in industry 
> for qualified js-devs in product-development.
> 
> the only solution i can think of to this industry-problem is to hold-back on 
> introducing new disruptive/unproven javascript design-patterns, and figuring 
> out how to educate the industry with tightened javascript style-guides and 
> existing design-patterns proven to work (more is less); generally, ways to 
> enhance the current, woefully inadequate “bullsh*t detector” of employers so 
> they can better identify and mentor/train/weed-out unqualified js-devs.
> 
> kai zhu
> kaizhu...@gmail.com 
> 
> 
> -- 
> Job board: http://jobs.nodejs.org/ 
> New group rules: 
> https://gist.github.com/othiym23/9886289#file-moderation-policy-md 
> 
> Old group rules: 
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines 
> 
> --- 
> You received this message because you are subscribed to the Google Groups 
> "nodejs" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to nodejs+unsubscr...@googlegroups.com 
> .
> To post to this group, send email to nodejs@googlegroups.com 
> .
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/nodejs/0BBA242B-D57D-4260-BC24-7983923B43A7%40gmail.com
>  
> 

Re: [nodejs] Re: javascript vision thing

2018-09-22 Thread Siegfried Bilstein
Do you have examples of the patterns and es6 features you describe?

Siggy

On Sat, Sep 22, 2018 at 01:02 kai zhu  wrote:

> a problem i've observed in industry is that many es6 language-features
> have the unintended-consequence of incentivising incompetent
> javascript-developers at the expense of competent-ones.  its generally
> difficult for many employers (even those knowledgeable in general-purpose
> programming), to discern between:
>
> a) a competent javascript employee/contractor who can get things done and
> ship products (albeit with legitimate delays), and
> b) an incompetent-one who can easily hide themselves in non-productive es6
> busywork, and continually pushback product-integration (again with
> “legitimate” delays, until its too late).
>
> its gotten bad enough that many industry-employers no longer trust
> general-purpose-programming technical-interviews when recruiting js-devs,
> and rely almost exclusively on either a) an applicant's reputation /
> word-of-mouth for getting things done, or b) their ability to complete a
> time-consuming tech-challenge, where they must demonstrate ability to ship
> a mini-product.  both methods are not scalable to meet the demand in
> industry for qualified js-devs in product-development.
>
> the only solution i can think of to this industry-problem is to hold-back
> on introducing new disruptive/unproven javascript design-patterns, and
> figuring out how to educate the industry with tightened javascript
> style-guides and existing design-patterns proven to work (more is less);
> generally, ways to enhance the current, woefully inadequate “bullsh*t
> detector” of employers so they can better identify and
> mentor/train/weed-out unqualified js-devs.
>
> kai zhu
> kaizhu...@gmail.com
>
> --
> Job board: http://jobs.nodejs.org/
> New group rules:
> https://gist.github.com/othiym23/9886289#file-moderation-policy-md
> Old group rules:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> ---
> You received this message because you are subscribed to the Google Groups
> "nodejs" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to nodejs+unsubscr...@googlegroups.com.
> To post to this group, send email to nodejs@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/nodejs/0BBA242B-D57D-4260-BC24-7983923B43A7%40gmail.com
> 
> .
> For more options, visit https://groups.google.com/d/optout.
>
-- 
Sent from Gmail Mobile

-- 
Job board: http://jobs.nodejs.org/
New group rules: 
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
To post to this group, send email to nodejs@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/nodejs/CAOd5ZkpWCKLTk9TR%2BeE%2Bg9upuezAf_EQVKnpaOhFNk1SgYiZJA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.