Answers.Body: <p>I have just written myself a web-mark server, to store book marks to my website. I got fed up with the proprietary ones, and decided to make one of my own (probably could have found a ready made one with a Free Software Licence).</p>
  <p>It used Couchdb. This involves writing code in Java-script (the manual says that the server side code can also be written in python, I chose JavaScript, so it would help be learn it), but because it provides the framework, you write lots of small functions. You will also end up learning about the no-sql db couchdb, http, and client side web design (html, css, <strong>Java-Script</strong>). I used jquery and knockout.js on the client side.</p>
  <h1>First things first</h1>
  <p>Because I did not follow a tutorial, I ended up looking stuff up as I went. This would probably be to effort-full, if it was your first language, as you would be looking up everything, and not know what to look up (how can you look up how to do a foreach in java-script, if you have not yet heard of a foreach.</p>
  <p>Therefore it would be beneficial to find a tutorial to do first, then work on a project.</p>
  <p>You can also work on an existing project. There are many Free Software (Open Source) project that you could help with. It is much easier to contribute to an existing project, that to start from scratch. If you want you can contribute to my bookmark project. (If you do work on someone else's project, and it if for an assessment, then ensure that you tell the assessor what bits you worked on).</p>
  <p>Learning two languages at a time may make things confusing, and make it take longer to learn. However research into natural languages shows that, for babies and infants, learning two or more languages at a time has a positive long term affect. Though it does slow externally measurable performance at first. For these children the languages are in different contexts, one for each parent, or one at home / one at school. I would suggest that you focus on one language, until you get sufficiently skilled.</p>
  <p>Python seems to be widely used as a teaching language (1st scratch, then python). JavaScript has may pitfalls. A good language to learn Object Oriented is Eiffel. However you could learn, non-OO first (OO just adds to structured, most modern languages are structured or structured+OO). Therefore, if you have not used scratch, then have a play with it, then start on python.</p>
  <h1>Other project Ideas — python</h1>
  <ul>
  <li>Unix command line tools: rewrite some of the Unix tools (I did this in <code>C</code> in 1st year at university).</li>
  <li>Create a web-server: there a libraries in python.</li>
  <li>Something with a <a href="https://www.raspberrypi.org/" rel="nofollow noreferrer">Raspberry-Pi</a>: these thinks have connectors to add some sensors and output devices (barcode scanner, rfid reader, LEDs, motors, relays, buttons, …). They also run <a href="https://www.debian.org/" rel="nofollow noreferrer">Debian</a> Gnu/Linux ( <a href="https://www.gnu.org/" rel="nofollow noreferrer">Gnu/Linux</a> runs on <a href="https://www.top500.org/" rel="nofollow noreferrer">490 of the top 500 super computers</a> (the other 10 are other Unixes), <a href="https://news.netcraft.com/archives/2017/09/11/september-2017-web-server-survey.html" rel="nofollow noreferrer">⅔ of web servers</a>, most of the internet infrastructure, and a lot of inbedded systems.</li>
  <li>A game: 2D (the <a href="https://www.libsdl.org/languages.php" rel="nofollow noreferrer">SDL</a> library is very good), or text adventure / interactive fiction.</li>
  </ul>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-10-18T14:00:11.140Z
Answers.LastActivityDate: 2017-10-19T13:41:02.680Z
Answers.LastEditDate: 2020-06-18T08:36:57.023Z
Answers.UserDisplayName: ctrl-alt-delor
Answers.Body: <p>A project one of my students did was to build a data visualization pipeline where python was used for data preprocessing and javascript was used for web-based data visualization using a javascript framework. That worled out very well and used the strengths of both languages.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-01-02T22:37:21.960Z
Answers.LastActivityDate: 2019-01-02T22:37:21.960Z
Answers.UserDisplayName: OBu
Answers.Body: <p>Many web sites now use <em>ajax</em> to call back to the server to make dynamic updates to an already loaded page. This is perfect for mixing Javascript with Python, as there are several standalone web servers written in Python, such as <a href="https://docs.cherrypy.org/en/latest/" rel="nofollow noreferrer">CherryPy</a> that can handle this, often using JSON data. <a href="https://docs.cherrypy.org/en/latest/tutorials.html?highlight=ajax#tutorial-8-make-it-smoother-with-ajax" rel="nofollow noreferrer">Example tutorial</a>. The <em>jquery</em> library is often also used, but it is not essential.</p>
  <p>HTML5 also provides the <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebSocket" rel="nofollow noreferrer">websocket</a> communication api, that is great for streaming data from a server, such as a ticker. There are several Python libraries that provide this.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-02-05T12:40:17.130Z
Answers.LastActivityDate: 2021-02-05T12:40:17.130Z
Answers.UserDisplayName: meuh
Body: <p>Does anyone have any suggestions on a small program or application to write that would help a Python beginner work with JavaScript? For example, when one is learning JavaScript, building a small to-do list application is often practiced. </p>
  
  <p>Is there something that meshes well with Python and JavaScript? Looking to gain some experience in writing a real-world application rather than watching video courses. </p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-10-18T13:09:53.843Z
Comments.Text: Are they both your first languages, or do you know one of them well?
Comments.UserDisplayName: ctrl-alt-delor
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-10-18T13:17:06.450Z
Comments.Text: both first languages
Comments.UserDisplayName: redshift
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-10-18T13:31:24.070Z
Comments.Text: This sounds like a good way to totally confuse yourself. You might look here for some general advice: https://cseducators.stackexchange.com/a/1111/1293. Python and JavaScript have different underlying structure. It might be best to build a foundation in one or the other first.
Comments.UserDisplayName: Buffy
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-10-19T08:37:52.673Z
Comments.Text: Could the down voters, and close voters, please leave a comment, to explain why. Closing a question without explanation is rude. And could lead to @redshift running away fast.
Comments.UserDisplayName: ctrl-alt-delor
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-10-19T12:00:08.833Z
Comments.Text: I agree with @ctrl-alt-delor and am also puzzled by the votes. Without some feedback it is hard for the OP to improve the question.
Comments.UserDisplayName: Buffy
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-10-19T12:07:36.823Z
Comments.Text: I've just added [tag:self-learning] to this question as it seems to be the case. If I'm wrong, the OP can certainly remove it.
Comments.UserDisplayName: Buffy
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-10-19T18:55:32.193Z
Comments.Text: I'm also puzzled by the close votes.  This question certainly seems topical to me.
Comments.UserDisplayName: Ben I.
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-10-22T14:47:03.910Z
Comments.Text: I have not voted to close (if I had, the question would be closed), but I believe the close voters rationale was that the question is about programming more than teaching. I personally think that it's related to teaching and should be left open.
Comments.UserDisplayName: thesecretmaster
Tags: <self-learning><python><javascript>
Title: Real world example application built with Python and JavaScript?
ThreadText: # Real world example application built with Python and JavaScript?
  
  (Asked by: username_0 on 2017-10-18)
  
  Does anyone have any suggestions on a small program or application to write that would help a Python beginner work with JavaScript? For example, when one is learning JavaScript, building a small to-do list application is often practiced.
  
  Is there something that meshes well with Python and JavaScript? Looking to gain some experience in writing a real-world application rather than watching video courses.
  
  **Tags:** self-learning, python, javascript
  
  > **Comments:**
  > **username_1**: Are they both your first languages, or do you know one of them well?  
  > **username_0**: both first languages  
  > **username_2**: This sounds like a good way to totally confuse yourself. You might look here for some general advice: https://cseducators.stackexchange.com/a/1111/1293. Python and JavaScript have different underlying structure. It might be best to build a foundation in one or the other first.  
  > **username_1**: Could the down voters, and close voters, please leave a comment, to explain why. Closing a question without explanation is rude. And could lead to @username_0 running away fast.  
  > **username_2**: I agree with @username_1 and am also puzzled by the votes. Without some feedback it is hard for the OP to improve the question.  
  > **username_2**: I've just added [tag:self-learning] to this question as it seems to be the case. If I'm wrong, the OP can certainly remove it.  
  > **username_3**: I'm also puzzled by the close votes.  This question certainly seems topical to me.  
  > **username_4**: I have not voted to close (if I had, the question would be closed), but I believe the close voters rationale was that the question is about programming more than teaching. I personally think that it's related to teaching and should be left open.  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_1 on 2017-10-18. Score: 2
  
  I have just written myself a web-mark server, to store book marks to my website. I got fed up with the proprietary ones, and decided to make one of my own (probably could have found a ready made one with a Free Software Licence).
  
  It used Couchdb. This involves writing code in Java-script (the manual says that the server side code can also be written in python, I chose JavaScript, so it would help be learn it), but because it provides the framework, you write lots of small functions. You will also end up learning about the no-sql db couchdb, http, and client side web design (html, css, **Java-Script**). I used jquery and knockout.js on the client side.
  
  # First things first
  
  Because I did not follow a tutorial, I ended up looking stuff up as I went. This would probably be to effort-full, if it was your first language, as you would be looking up everything, and not know what to look up (how can you look up how to do a foreach in java-script, if you have not yet heard of a foreach.
  
  Therefore it would be beneficial to find a tutorial to do first, then work on a project.
  
  You can also work on an existing project. There are many Free Software (Open Source) project that you could help with. It is much easier to contribute to an existing project, that to start from scratch. If you want you can contribute to my bookmark project. (If you do work on someone else's project, and it if for an assessment, then ensure that you tell the assessor what bits you worked on).
  
  Learning two languages at a time may make things confusing, and make it take longer to learn. However research into natural languages shows that, for babies and infants, learning two or more languages at a time has a positive long term affect. Though it does slow externally measurable performance at first. For these children the languages are in different contexts, one for each parent, or one at home / one at school. I would suggest that you focus on one language, until you get sufficiently skilled.
  
  Python seems to be widely used as a teaching language (1st scratch, then python). JavaScript has may pitfalls. A good language to learn Object Oriented is Eiffel. However you could learn, non-OO first (OO just adds to structured, most modern languages are structured or structured+OO). Therefore, if you have not used scratch, then have a play with it, then start on python.
  
  # Other project Ideas — python
  
  * Unix command line tools: rewrite some of the Unix tools (I did this in `C` in 1st year at university).
  * Create a web-server: there a libraries in python.
  * Something with a [Raspberry-Pi](https://www.raspberrypi.org/): these thinks have connectors to add some sensors and output devices (barcode scanner, rfid reader, LEDs, motors, relays, buttons, …). They also run [Debian](https://www.debian.org/) Gnu/Linux ( [Gnu/Linux](https://www.gnu.org/) runs on [490 of the top 500 super computers](https://www.top500.org/) (the other 10 are other Unixes), [⅔ of web servers](https://news.netcraft.com/archives/2017/09/11/september-2017-web-server-survey.html), most of the internet infrastructure, and a lot of inbedded systems.
  * A game: 2D (the [SDL](https://www.libsdl.org/languages.php) library is very good), or text adventure / interactive fiction.
  
  
  ---
  
  ### Answer by username_5 on 2019-01-02. Score: 1
  
  A project one of my students did was to build a data visualization pipeline where python was used for data preprocessing and javascript was used for web-based data visualization using a javascript framework. That worled out very well and used the strengths of both languages.
  
  
  ---
  
  ### Answer by username_6 on 2021-02-05. Score: 0
  
  Many web sites now use *ajax* to call back to the server to make dynamic updates to an already loaded page. This is perfect for mixing Javascript with Python, as there are several standalone web servers written in Python, such as [CherryPy](https://docs.cherrypy.org/en/latest/) that can handle this, often using JSON data. [Example tutorial](https://docs.cherrypy.org/en/latest/tutorials.html?highlight=ajax#tutorial-8-make-it-smoother-with-ajax). The *jquery* library is often also used, but it is not essential.
  
  HTML5 also provides the [websocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket) communication api, that is great for streaming data from a server, such as a ticker. There are several Python libraries that provide this.
  
  
  ---
  
  