[Edu-sig] Python + JS == more than their sum()

Kevin Ollivier kevin-lists at theolliviers.com
Mon Nov 21 21:54:28 EST 2016


On Mon, Nov 21, 2016 at 5:39 PM, kirby urner <kirby.urner at gmail.com> wrote:

>
> I'm continuing to advance the notion, in
> Medium comments and elsewhere, that
> learning one computer language at a
> time may be less efficient than tackling
> two or more, but with a "main one" front
> burner. [1]
>
> I credit the LEX Institute for this idea.[2]
>
> The theory being: contrasts and comparisons
> help concepts stick, whereas just one example
> (of a language, human or computer) provides
> less traction, a slipperier slope.
>
> Like learning the J language (jsoftware.com)
> even a little helps one realize how different
> languages can be, bringing Python into sharper
> relief against a background.
>
> But J (of APL heritage) might be too exotic
> as a #2, why not do JavaScript?  Python + JS
> could be as common as HTML + CSS.
>

I'm a lurker here, but I wanted to chime in and say that I'm using exactly
this combo (HTML/JS frontend + Python backend) for pretty much every app
I've written in the past few years. Needless to say, I've become a big
proponent of the approach.



In fact, I'm writing a little command line tool that helps create the
scaffolding needed to make an app using this approach called PyEverywhere. (
http://pyeverywhere.org) It's still a work in progress, but I hope to have
it supporting all major platforms by early-to-mid next year.



>From a learning perspective, I think the JS + Python combo offers a lot of
benefits. First, in this internet age it's hard to find developers who
would have no use for some HTML + CSS + JS skills, so there's a huge
benefit to teaching them early on as part of any programming curriculum.
Second, I think the idea of separating front-end and back-end and using
different tools really helps prepare them for the sort of technology stacks
they will see in real-world apps. Finally, as you said yourself, different
languages look at problems in different ways, and learning those different
approaches helps build the flexibility to view a problem from different
angles that any good programmer should have.



Regards,



Kevin


> That's a little self serving as a common bootcamp
> design if JS front end, Python back end. Our
> PDX Code Guild in Portland takes that tack.
>
> The curriculum, then, would continually bring
> them together to discuss their similarities and
> differences.  Either one could be foreground
> first, with the other as background, but we'd
> do a lot of jumping back and forth (and not
> just with JSON :-D).
>
> A breakthrough realization I had earlier today
> was that Jupyter Notebooks already gives me
> a JavaScript interpreter, even when my main
> kernel is Python 3.
>
> %%javascript at the top of any cell creates a
> node-like experience, and I'm able to write
> ES6 (JavaScript) with classes, arrow functions
> and everything.  It feels a lot like using
> node --harmony testfile.js on cloud9 (another
> learning platform I visit).
>
> Here's an example, of a Jupyter Notebook
> running through nbviewer, with both Python
> and JS code cells.  The point is to show off
> the similarities.
>
> https://goo.gl/nj9RPO
>
> Kirby
>
> Useful tools:
> http://codepen.io/
> http://jsbin.com/
>
> [1] https://goo.gl/U4Yx6l (comment on one
> of Quincy Larson's, about which language
> to learn first)
>
> [2] 'Who Is Fourier?' (one of its pubs) appears
> way back in edu-sig.  Jason Cunliff and I
> met and talked about it in New York that
> time.
>
> Here's one of Jason's from 2002:
>
> https://mail.python.org/pipermail/edu-sig/2002-September/002255.html
>
>
> _______________________________________________
> Edu-sig mailing list
> Edu-sig at python.org
> https://mail.python.org/mailman/listinfo/edu-sig
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/edu-sig/attachments/20161121/35cfe924/attachment-0001.html>


More information about the Edu-sig mailing list