JavaScript

CS Table 11/8: The State of JavaScript

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'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.

Readings:

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.

CS Table 4/26: The left-pad kerfuffle

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 "left-pad" 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.

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.

If you aren'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. nmp Documentation: What is npm? and npm Documentation: Using a 'package.json.'

There are several short readings for this week:

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.

Syndicate content