Differences
This shows you the differences between two versions of the page.
programming_languages_design [2020/10/24 20:29] – created phreazer | programming_languages_design [2020/10/24 20:31] (current) – phreazer | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Programming language design ====== | ====== Programming language design ====== | ||
+ | |||
+ | ===== Value semantics ===== | ||
E.g. Swift: | E.g. Swift: | ||
Line 9: | Line 11: | ||
* In Swift: Value semantics. **Copy on write.** Only one reference => in-place update. | * In Swift: Value semantics. **Copy on write.** Only one reference => in-place update. | ||
* In Java: Immutable strings. Also in functional languages. Safe, but expensive. | * In Java: Immutable strings. Also in functional languages. Safe, but expensive. | ||
+ | |||
+ | ===== Progressive disclosure of complexity ===== | ||