@AJ What is your source for strict mode code running faster? All evidence
thus far has pointed to exactly the opposite, that if anything it runs
slower.


On Wed, Mar 13, 2013 at 1:26 PM, Joshua Holbrook <josh.holbr...@gmail.com>wrote:

> > Why would you ever allow indeterminate, unsafe, or code that causes your
> vm
> > to implement runtime hacks to work around it to run at all?
> > Just because the code would run without throwing an exception doesn't
> mean
> > that it worked.
>
> Yeah but I've been using that (hypothetical) code for ages and never
> had a problem with it. Plus, the unit tests pass. Solid empirical data
> is more than enough for me.
>
> > In my mind "working" code is code that runs the same way every time
> without
> > ambiguity of execution or intent.
>
> AFAIK 'non-strict' code can and does run the same way every time
> without ambiguity of execution or intent. Especially when it's been
> used in production and has a reasonable test suite. I find these
> things more compelling than knowing that the code only used some
> "safe" subset of the language.
>
> --Josh
>
> On Wed, Mar 13, 2013 at 11:41 AM, AJ ONeal <coola...@gmail.com> wrote:
> > The better question is: Why would you dare not to?
> >
> > Why would you ever allow indeterminate, unsafe, or code that causes your
> vm
> > to implement runtime hacks to work around it to run at all?
> > Just because the code would run without throwing an exception doesn't
> mean
> > that it worked.
> >
> > (sidenote: I liked that when I upgrade to node v0.10.0 I had to fix some
> of
> > my code in one of my projects because it threw exceptions instead of
> > allowing me to leave out error-handling callbacks. This project skipped
> from
> > 0.6 to 0.10, so maybe that was added in 0.8)
> >
> > In my mind "working" code is code that runs the same way every time
> without
> > ambiguity of execution or intent.
> >
> > If a person believes that a function is defined conditionally or that a
> > variable exists in a particular context when it actually exists in
> another
> > one, then it doesn't work. It just runs and hasn't yet defied
> expectations
> > (or at least the inconsistency hasn't been noticed and fixed).
> >
> > And if you're using JSHint or some other quality checking tool, there's a
> > good chance that there will be no breakage.
> >
> > AJ ONeal
> > (317) 426-6525
> >
> >
> > On Wed, Mar 13, 2013 at 1:26 PM, Joshua Holbrook <
> josh.holbr...@gmail.com>
> > wrote:
> >>
> >> I seriously don't understand: Why bother? Why make things that used to
> >> work no longer work? That's basically the only thing that "use strict"
> >> at the global level will do for you.
> >>
> >> --Josh
> >>
> >> On Wed, Mar 13, 2013 at 11:21 AM, AJ ONeal <coola...@gmail.com> wrote:
> >> > Ben,
> >> >
> >> > That is correct.
> >> >
> >> > See http://stackoverflow.com/a/4304187
> >> >
> >> > Although some shells or OSes may allow arguments to shebang, I've had
> >> > issues
> >> > with it on my setup (OSX and Linux with Bash and ZSH).
> >> >
> >> > And then there's Windows...
> >> >
> >> > I believe my solution will also work on Windows, but it's certainly
> not
> >> > the
> >> > ideal solution.
> >> > I think that would be a native bin that invokes node with strict mode.
> >> >
> >> > AJ ONeal
> >> > (317) 426-6525
> >> >
> >> >
> >> > On Wed, Mar 13, 2013 at 11:18 AM, Ben Noordhuis <i...@bnoordhuis.nl>
> >> > wrote:
> >> >>
> >> >> On Wed, Mar 13, 2013 at 6:03 PM, AJ ONeal <coola...@gmail.com>
> wrote:
> >> >> > Perhaps the very best part of node v0.10.0 is that all of the core
> >> >> > modules
> >> >> > are finally fully ES5 compliant!!!
> >> >> >
> >> >> > Although, you can't use es5-compliant mode with a shebang
> >> >> > (because you can't pass the --use_strict argument),
> >> >> > so I made a shim that will run node in es5 (strict) mode for you.
> [0]
> >> >> >
> >> >> > Install
> >> >> >
> >> >> >     sudo npm install -g node-es5
> >> >> >
> >> >> > Usage
> >> >> >
> >> >> >     #!/usr/bin/env node-es5
> >> >> >
> >> >> > (P.S. Dear core devs: please provide a native cli for strict mode
> >> >> > node)
> >> >> >
> >> >> > Except in the case that you're writing code that also runs in the
> >> >> > browser,
> >> >> > you can now skip the obligatory
> >> >> >
> >> >> >     (function () {
> >> >> >       "use strict";
> >> >> >
> >> >> >       // code goes here
> >> >> >     }());
> >> >> >
> >> >> > Not that there's any harm in putting it in... but it's just
> annoying.
> >> >> >
> >> >> > You can also take out `strict: true` from your `.jshintrc` for your
> >> >> > node
> >> >> > projects. (An `implicitstrict` option may come soon [1]).
> >> >> >
> >> >> > Anyway, this is certainly a GIANT step forward in eliminating the
> >> >> > excuses of
> >> >> > using bug-prone ES3 code.
> >> >> >
> >> >> > Hurrah to the Node Devs!
> >> >> >
> >> >> > AJ ONeal
> >> >> >
> >> >> > [0]: https://github.com/coolaj86/node-es5
> >> >> > [1]: https://github.com/jshint/jshint/issues/924
> >> >>
> >> >> AJ, am I missing something?
> >> >>
> >> >>   #!/path/to/node --use_strict
> >> >>   console.log('Hello, world.');
> >> >>
> >> >> You're saying that doesn't work for you?
> >> >>
> >> >> --
> >> >> --
> >> >> Job Board: http://jobs.nodejs.org/
> >> >> Posting guidelines:
> >> >> 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 post to this group, send email to nodejs@googlegroups.com
> >> >> To unsubscribe from this group, send email to
> >> >> nodejs+unsubscr...@googlegroups.com
> >> >> For more options, visit this group at
> >> >> http://groups.google.com/group/nodejs?hl=en?hl=en
> >> >>
> >> >> ---
> >> >> 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.
> >> >> For more options, visit https://groups.google.com/groups/opt_out.
> >> >>
> >> >>
> >> >
> >> > --
> >> > --
> >> > Job Board: http://jobs.nodejs.org/
> >> > Posting guidelines:
> >> > 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 post to this group, send email to nodejs@googlegroups.com
> >> > To unsubscribe from this group, send email to
> >> > nodejs+unsubscr...@googlegroups.com
> >> > For more options, visit this group at
> >> > http://groups.google.com/group/nodejs?hl=en?hl=en
> >> >
> >> > ---
> >> > 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.
> >> > For more options, visit https://groups.google.com/groups/opt_out.
> >> >
> >> >
> >>
> >> --
> >> --
> >> Job Board: http://jobs.nodejs.org/
> >> Posting guidelines:
> >> 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 post to this group, send email to nodejs@googlegroups.com
> >> To unsubscribe from this group, send email to
> >> nodejs+unsubscr...@googlegroups.com
> >> For more options, visit this group at
> >> http://groups.google.com/group/nodejs?hl=en?hl=en
> >>
> >> ---
> >> 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.
> >> For more options, visit https://groups.google.com/groups/opt_out.
> >>
> >>
> >
> > --
> > --
> > Job Board: http://jobs.nodejs.org/
> > Posting guidelines:
> > 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 post to this group, send email to nodejs@googlegroups.com
> > To unsubscribe from this group, send email to
> > nodejs+unsubscr...@googlegroups.com
> > For more options, visit this group at
> > http://groups.google.com/group/nodejs?hl=en?hl=en
> >
> > ---
> > 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.
> > For more options, visit https://groups.google.com/groups/opt_out.
> >
> >
>
> --
> --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines:
> 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 post to this group, send email to nodejs@googlegroups.com
> To unsubscribe from this group, send email to
> nodejs+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
>
> ---
> 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.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>


-- 
Better a little with righteousness
       than much gain with injustice.
Proverbs 16:8

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
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 post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
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.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to