<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://132.161.132.157/drupal6"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Computer Science - JavaScript</title>
 <link>http://132.161.132.157/drupal6/taxonomy/term/604/0</link>
 <description></description>
 <language>en</language>
<item>
 <title>CS Table 11/8: The State of JavaScript</title>
 <link>http://132.161.132.157/drupal6/node/895</link>
 <description>&lt;p&gt;On November 8 in CS Table, we will discuss the state of JavaScript, the language running inside your browser. This is a programming language that seemingly ignores virtually all of the wisdom garnered in programming language design over the last half century, and yet it has a huge devoted fan base and enormous impact worldwide. We&#039;ll talk about some of the amusing quirks in JavaScript, briefly dive into the world in which JavaScript developers must operate, and speculate about why JavaScript has still been so successful. As always, you do not need any experience with JavaScript to participate in this discussion.&lt;/p&gt;

&lt;p&gt;Readings: 
&lt;ul&gt;&lt;li&gt;First, we have an imaginary dialogue between a new JavaScript user and an experienced developer. &lt;a href=&quot;https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f&quot;&gt;
How it feels to learn JavaScript in 2016. Jose Aguinaga.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Next, we have an article that should have the title &quot;Ten astonishing things you never knew JavaScript would do to your values&quot;. &lt;a href=&quot;https://javascriptweblog.wordpress.com/2011/02/07/truth-equality-and-javascript/&quot;&gt;Truth, Equality, and JavaScript. Angus Croll.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;And finally, the always-hilarious James Mickens on the horrors of web development. This was a suggested read last year, so you may have seen it already. &lt;a href=&quot;http://scholar.harvard.edu/files/mickens/files/towashitallaway.pdf&quot;&gt;To Wash It All Away. James Mickens. USENIX &lt;em&gt;;login: logout&lt;/em&gt;.&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Computer science table (CS Table) is a weekly meeting of Grinnell College community members (students, faculty, staff, etc.) interested in discussing topics related to computing and computer science. CS Table meets Tuesdays from 12:00-1:00pm in JRC 224B.  Contact the CS faculty for the weekly reading. Students on meal plans, faculty, and staff are expected to cover the cost of their meals. Visitors to the College and students not on meal plans can charge their meals to the department.&lt;/em&gt;&lt;/p&gt;</description>
 <comments>http://132.161.132.157/drupal6/node/895#comments</comments>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/41">CS Table</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/604">JavaScript</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/25">programming languages</category>
 <pubDate>Fri, 04 Nov 2016 13:41:53 +0000</pubDate>
 <dc:creator>petersos</dc:creator>
 <guid isPermaLink="false">895 at http://132.161.132.157/drupal6</guid>
</item>
<item>
 <title>CS Table 4/26: The left-pad kerfuffle</title>
 <link>http://132.161.132.157/drupal6/node/863</link>
 <description>&lt;p&gt;
Recent events in the JavaScript ecosystem have raised serious questions about the appropriate models for code sharing and reuse. In case you missed it, the sequence of events was: (1) JavaScript developer writes many modules, including one called &quot;left-pad&quot; that provides a function to add spaces to the left side of a string, (2) this developer loses control of a different module that used a copyrighted name, (3) developer deletes all of his modules, and (4) thousands of JavaScript applications that depend on left-pad fail.
&lt;/p&gt;
&lt;p&gt;
While this sequence of events was amusing to watch as an outsider, it leads to serious questions about the appropriate size of a shareable unit of code and the practices of centralized software package management services. This topic will also give us an opportunity to discuss the difference in typing disciplines across languages and the role of type systems in building modular, reusable software components.
&lt;/p&gt;
&lt;p&gt;
If you aren&#039;t familiar with JavaScript development, the node ecosystem, or the node package manager (npm), the following documentation should give you a sense of how dependencies work in JavaScript. &lt;a href=&quot;https://docs.npmjs.com/getting-started/what-is-npm&quot;&gt;nmp Documentation: What is npm?&lt;/a&gt; and &lt;a href=&quot;https://docs.npmjs.com/getting-started/using-a-package.json&quot;&gt; npm Documentation: Using a &#039;package.json.&#039;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There are several short readings for this week:
&lt;ul&gt;
&lt;li&gt;An overview of the situation: &lt;a href=&quot;http://www.haneycodes.net/npm-left-pad-have-we-forgotten-how-to-program/&quot;&gt;NPM &amp; left-pad: Have We Forgotten How To Program? David Haney. March 23, 2016.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A response from kik, the company that controls the copyright for one of the deleted modules: &lt;a href=&quot;https://medium.com/@mproberts/a-discussion-about-the-breaking-of-the-internet-3d4d2a83aa4d#.ufvydur7q&quot;&gt;A discussion about the breaking of the Internet. Mike Roberts. March 23, 2016.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;A response from npm: &lt;a href=&quot;http://blog.npmjs.org/post/141577284765/kik-left-pad-and-npm&quot;&gt;kik, left-pad, and npm. The npm Blog. March 23, 2016.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;And of course, because sarcasm reigns on the internet, this appeared later the same day: &lt;a href=&quot;http://left-pad.io&quot;&gt;left-pad.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;In case you&#039;re wondering why left-pad isn&#039;t part of JavaScript already, this brilliant article by James Mickens should give you a sense of the horror running inside your web browser: &lt;a href=&quot;http://scholar.harvard.edu/files/mickens/files/towashitallaway.pdf&quot;&gt;logout: To Wash It All Away. James Mickens, USENIX ;login:, March 2014&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt; 

&lt;p&gt;Computer science table (CS Table) is a weekly meeting of Grinnell College community members (students, faculty, staff, etc.) interested in discussing topics related to computing and computer science. CS Table meets Tuesdays from 12:00-12:45 in JRC 224C. Students on meal plans, faculty, and staff are expected to cover the cost of their meals. Visitors to the College and students not on meal plans can charge their meals to the department.&lt;/p&gt;</description>
 <comments>http://132.161.132.157/drupal6/node/863#comments</comments>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/606">code sharing</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/605">development</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/604">JavaScript</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/607">reusable modules</category>
 <pubDate>Mon, 25 Apr 2016 13:37:59 +0000</pubDate>
 <dc:creator>petersos</dc:creator>
 <guid isPermaLink="false">863 at http://132.161.132.157/drupal6</guid>
</item>
</channel>
</rss>
