Overview
Explore the history and implications of modularity in software development through this JSConf EU 2017 conference talk. Delve into the origins, meanings, and misconceptions surrounding modularity as a fundamental principle. Examine the motivations behind writing modular code, its impact on complex systems, and the challenges it presents. Investigate the packaged ecosystem, reusable abstractions, and the concept of microservices. Analyze the advantages and disadvantages of modular approaches, including their effects on code extensibility. Gain insights from historical perspectives, including the work of David Parnas, and consider the future trajectory of modularity in the software industry. Discover practical tools and low-level programming concepts related to modular development, while critically evaluating the balance between modularity and other software design principles.
Syllabus
Introduction
Who am I
Questions from beginners
Motivation for writing modular code
Modularity and time
The packaged ecosystem
Why modularity
What is modularity
How small is too small
Reusable abstractions
Comments are hard
Complex systems
Problems with modularity
Modular tools
Lowlevel programming concepts
Transpiler
Disadvantages of modularity
Why we love modularity
Microservices
Misconception
The 21st Century
David Parnas
JeanPaul Sartre
Writing easy to extend code
The return of conservatism
Summary
Tools
Taught by
JSConf