Programming Languages Concepts: Difference between revisions
Jump to navigation
Jump to search
Line 19: | Line 19: | ||
<blockquote style="background-color: #f9f9f9; border: solid thin lightgrey;"> | <blockquote style="background-color: #f9f9f9; border: solid thin lightgrey;"> | ||
:[[Go Concepts - The Type System|The Go Type System]] | :[[Go Concepts - The Type System|The Go Type System]] | ||
:[[JavaScript Concepts - The Type System|The JavaScript Type System]] | |||
</blockquote> | </blockquote> | ||
Revision as of 07:14, 22 March 2016
Typing
Type
A type determines the set of values and operations specific to values of that type.
Static Typing vs Dynamic Typing
- Wikipedia Type System https://en.wikipedia.org/wiki/Type_system
Dynamically typed languages are convenient, but certain types of errors cannot be caught until the program executes. For statically typed languages, many of these errors are caught at the compilation phase. On the downside, static languages usually comes with a great deal of ceremony around everything that happens in the program (heavy syntax, type annotations, complex type hierarchies).
Strong Typing vs Loose Typing
- Wikipedia Strong and Weak Typing https://en.wikipedia.org/wiki/Strong_and_weak_typing
Type Systems
Duck Typing
Metaprogramming
Metaprogramming is writing code that manipulates other code, or even itself.
Functional Programming
Closures and recursion are at the base of the functional programming paradigm.