When did Javascript become a serious language?

Todd Millecam tyggna at gmail.com
Sat Dec 7 20:34:16 MST 2013


My best guess as to the cause: it's the never-ending battle between chrome
and firefox.  They have been experimenting with every facet of the language
to get better market share and one-up each other for the past decade.  So,
I mean, javascript has had billions of dollars and hundreds of thousands of
hours poured into it.  Java has whomever is on payroll at oracle. . .hardly
capable of competing with the Mozilla foundation and Google's resources
combined.


On Sat, Dec 7, 2013 at 7:42 PM, Joseph Hall <perlhoser at gmail.com> wrote:

> That's just silly. If Javascript was all that, Google would be all over it.
>
> http://en.wikipedia.org/wiki/AngularJS
>
> Oh, wait. That's right. Well, it's not like it has any momentum.
>
> http://www.ng-conf.org/
>
> Oh. Right.
>
> And look at that hottie on that page! Did you see his beard?
>
>
> On Sat, Dec 7, 2013 at 7:30 PM, Grant Shipley <gshipley at gmail.com> wrote:
> > And mobile using titanium.  Throw in mongodb and you have full stack Java
> > script...  It was hard for me to accept as well since developers as a
> whole
> > shit on it for the last 15 years. Now it powers Walmart server side and
> > other large companies.
> >
> > In fact, I am writing a book on full stack Java script that will
> published
> > next year.
> > On Dec 7, 2013 7:00 PM, "Jonathan Duncan" <jonathan at bluesunhosting.com>
> > wrote:
> >
> >> JavaScript has become an amazing client-side language. There is even
> >> server-side stuff in JS.
> >>
> >>
> >> On Sat, Dec 7, 2013 at 5:37 PM, S. Dale Morrey <sdalemorrey at gmail.com
> >> >wrote:
> >>
> >> > I've been working on a sparetime project for a few weeks and had
> >> something
> >> > mostly coded up in Java, then realized that perhaps I was trying to
> >> > re-invent the wheel so I googled for a library to do the heavy lifting
> >> for
> >> > me.
> >> >
> >> > Imagine my surprise when many of my queries for xyz java library
> started
> >> > returning xyz javascript library.
> >> >
> >> > Just for fun I decided to look at the effort involved in remaking my
> >> > prototype in Javascript using node.js and some helper libraries.
> >> >
> >> > When I found that 90+ % of my prototype was available as library
> >> functions
> >> > and it was more or less a matter of gluing them together.  I decided
> to
> >> go
> >> > ahead and just give it a try in js.
> >> >
> >> > Now don't get me wrong.  I'm hardly a javascript noob.  I was writing
> >> > Ajax-like website helpers scripts before we ever coined the terms
> Comet
> >> or
> >> > Ajax.  Nevertheless I've always viewed it as a tool for making shiny
> bits
> >> > and/or using it as a scripting language for controlling other
> programs.
> >>  In
> >> > other words I've always seen it as being firmly as part of the view
> >> > component.  I never really viewed it as something for serious
> >> computational
> >> > workloads.  Until now.
> >> >
> >> > I finished both prototypes to the same level.  With my curiosity
> piqued I
> >> > decided to let them both rip on separate instances in the same AWS
> >> > availability zone, same EC2 machine types (t1.micro).
> >> >
> >> > The job is just to hash words from a dictionary list (I'm making a
> >> personal
> >> > rainbow table) using a few different hashing algorithms after which I
> >> will
> >> > be doing an analysis with map reduce but neither the the map reduce
> nor
> >> > analysis steps are included in this part.  This is just a feed
> generation
> >> > step.
> >> >
> >> > I just wanted to test raw hashing power in this case.
> >> > I added a loop counter to the main loop and put in stopwatch function
> to
> >> > ensure identical runtimes.
> >> >
> >> > Here are my results after 2 minutes of runtime...
> >> > Java 7 J2SE           :  1,000,079
> >> > Node.js Javascript   :  1,548,103
> >> >
> >> > The numbers represent how many times it made it through the final loop
> >> > where it would normally have written out a csv. Thus there were
> several
> >> > steps.  Read a fixed list, them run SHA256, Scrypt and Ripe-MD160 on
> each
> >> > unit. There was no output step so as to rule out filesystem access
> times.
> >> >
> >> > This isn't meant to be a head to head comparison.
> >> >
> >> > The Node.js version is (to the best of my knowledge) single threaded
> and
> >> > the Java version is running on a thread per core model (even though
> the
> >> > test box is 1.5 cores).  Looking back, going with thread per core may
> >> have
> >> > gimped the Java version because of list contention, and/or context
> >> > switching penalties so I do doubt the numbers here are anything
> >> resembling
> >> > final.  In fact I ran it for 5 - 10 - 15 and 30 mins as well and once
> JIT
> >> > kicked in and moved some stuff to metal, Java slightly matched (at 15
> >> mins)
> >> > and slightly exceeded (at 30 mins) Javascript.
> >> >
> >> > Javascript just trucked along at the same rate during similar
> intervals.
> >> >
> >> > The point is, When the heck did Javascript become suitable for
> something
> >> > that's so computationally heavy?  A 50% performance improvement over
> Java
> >> > in a short interval, especially when I have not done anything to
> >> > intentionally gimp the Java version, tells me this is not the
> Javascript
> >> I
> >> > used to know.
> >> >
> >> > It also showed me something about my own internal biases.
> >> > I find it odd how my thinking has evolved over time.
> >> >
> >> > I used to be a computer programmer who had a good/decent familiarity
> >> with a
> >> > broad range of languages and I would always try to select the best
> tool
> >> for
> >> > the job taking into account the cost of developer time vs cpu time.
> >> >
> >> > Over the past 4 or 5 years I've been so heavy into Java (because
> that's
> >> > what employers want), that I think I may have evolved into a Java
> >> > programmer.
> >> >
> >> > This experience has shown me that it might be time to broaden my
> horizons
> >> > and again embrace the "right tool for the right job" approach I used
> to
> >> > have, rather than the Swiss Army Chainsaw habits I've picked up from
> >> > programming in Java.
> >> >
> >> > So what do you think?  Have you looked at any languages for purposes
> you
> >> > had previously disregarded?  What were your thoughts?
> >> >
> >> > /*
> >> > PLUG: http://plug.org, #utah on irc.freenode.net
> >> > Unsubscribe: http://plug.org/mailman/options/plug
> >> > Don't fear the penguin.
> >> > */
> >> >
> >>
> >> /*
> >> PLUG: http://plug.org, #utah on irc.freenode.net
> >> Unsubscribe: http://plug.org/mailman/options/plug
> >> Don't fear the penguin.
> >> */
> >>
> >
> > /*
> > PLUG: http://plug.org, #utah on irc.freenode.net
> > Unsubscribe: http://plug.org/mailman/options/plug
> > Don't fear the penguin.
> > */
>
>
>
> --
> "In order to create, you have to have the willingness, the desire to
> be challenged, to be learning." -- Ferran Adria (speaking at Harvard,
> 2011)
>
> /*
> PLUG: http://plug.org, #utah on irc.freenode.net
> Unsubscribe: http://plug.org/mailman/options/plug
> Don't fear the penguin.
> */
>



-- 
Todd Millecam


More information about the PLUG mailing list