# Daniel Orner - Adding Structure to Dynamic Languages (Highlights)

## Metadata
**Review**:: [readwise.io](https://readwise.io/bookreview/23456912)
**Source**:: #from/readwise
**Zettel**:: #zettel/fleeting
**Status**:: #x
**Authors**:: [[Daniel Orner]]
**Full Title**:: Adding Structure to Dynamic Languages
**Category**:: #articles #readwise/articles
**Category Icon**:: 📰
**URL**:: [stackoverflow.blog](https://stackoverflow.blog/2023/01/19/adding-structure-to-dynamic-languages/)
**Host**:: [[stackoverflow.blog]]
**Highlighted**:: [[2023-01-19]]
**Created**:: [[2023-02-14]]
## Highlights
- What’s the difference between a *framework* and a *library*? There probably isn’t an accepted definition, but in my mind, a framework *takes over your code*. You’re no longer writing Ruby, you’re writing Ruby on Rails. You’re no longer writing Python, you’re writing PySpark. The code has its own look and feel that differs from your vanilla language. Libraries, by contrast, are something that you *call* when you need them and don’t look significantly different from your own code. ([View Highlight](https://read.readwise.io/read/01gq5e6ej4hz59nc8fchfw9fr7)) ^459758752
- Dynamic languages often fail the “grep test”—if I see a method or a particular syntax, can I find where it’s defined by searching the codebase and/or dependencies? If not, it’s doing too much metaprogramming. ([View Highlight](https://read.readwise.io/read/01gq5ebfnpfjkxxdmvmqhp8yp1)) ^459760395