Early R&D in modern dynamic languages was often marked by a conservative approach, taking dynamic features in tightly controlled doses to make them fit existing models developed for static languages. That attitude has changed in recent years, and the major commercial virtual machines are now actively pursuing support for dynamic features.
This renewed interest in dynamic languages leads to some questions. What are the defining characteristics of a dynamic language? Is it enough to support dynamic types? Is it enough to support dynamic dispatch? Is it enough to support the runtime generation of executable code entities (subroutines, methods, etc)? Is it enough to support introspection and meta-programming? This talk explores these questions and more, approaching the categorization of static or dynamic languages as a graduated scale, rather than a hard binary divider.
Attended by: Leon Timmermans (leont), Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 (daxim), Francesco Rivetti (oha), Jonathan Worthington (jnthn), Herbert Breunung (lichtkind), Oliver Thieke (o-thieke), Tim Bunce, Ferruccio Zamuner (ferz), Fernando Santagata, Antonio Caria, Adde Nilsson, Andreas Vögele, Bálint Szilakszi (szbalint), Mark Morgan, Joel Bernstein (joel), Moritz Lenz (moritz), Dagfinn Ilmari Mannsåker (ilmari), Nuno Carvalho (smash), Bernhard Schmalhofer (bernhard), Igor Komlew, Jörg Plate (Patterner), Martin Berends (mberends), Nicholas Clark, Fulvio Scapin (trantorvega), Panu Ervamaa (pnu), Aaron Crane (arc), Smylers, Chisel Wright, Alberto Simões (ambs), Adeola Awoyemi (dialog), Olivier Mengué (dolmen),