Since their inception in 1968, L-systems have become a key conceptual, mathematical and software tool for modeling plant development at different levels of plant organization spanning molecular genetics, plant physiology, whole plant architecture, and plant communities. The models can be descriptive, directly recapitulating observations and measurements of plants; mechanistic, explaining higher-levels processes in terms of lower-level ones; or they may combine features of both classes. We present the basic idea of L-systems, motivate and outline some of their most useful extensions, and give a taste of current techniques for modeling with L-systems. The sample models progress in the scale of organization from a bacterium to a herbaceous plant to a tree, and simulate different forms of information transfer during the development, from communication between adjacent cells to bidirectional information exchange with the environment.