This essay attempts a philological—meaning a both technically and socially attentive—historical study of an individual computer programming language, JavaScript. From its introduction, JavaScript's reception by software developers, and its importance in web development as we now understand it, was structured by a continuous negotiation of expertise. I use the term "improvised expertise" to describe both conditions for and effects of the unanticipated development of JavaScript, originally designed for casual and inexpert coders, into a complex of technical artifacts and practices whose range and complexity of use has today propelled it into domains previously dominated by other, often older and more prestigious languages. "Improvised expertise" also marks the conditions for and effects of three specific developmental dynamics in JavaScript's recent history: first, the rapidly accelerated development of the language itself, in the versions of its standard specification; second, the recent, abruptly emerging, yet rapid growth of JavaScript in server-side networking, data processing, and other so-called back-end development tasks previously off limits to it; third, the equally recent and abrupt, yet decisive emergence of JavaScript as the dominant language of a new generation of dynamic web application frameworks and the developer tool chains or tooling suites that support them.