Languages
- Compiled Language
- Source Code -> Checker/Compiler -> Object Code -> Interpreter -> Output
- Compiled languages are more efficient
- Examples: C, Java, Go, Haskell, Lisp
- Faster but immutable, very close to the machine
- OS & Native Applications use compiled code
- These languages do not support meta programming
- Interpreted Language
- Source Code -> Checker -> Interpreter -> Output
- If something goes wrong, the error message is in the language of the source code
- Examples: Ruby, Javascript, Perl, Python, PhP
- Slower but more flexible
- These languages support meta programming
- Imperative Programming
- Telling the machine, how exactly do something, to derive your expected result
- Ex: Writing your own iterator
- Declarative Programming
- Telling the machine, what exactly is your expected result, and let it deal with the specifics
- Ex: Using built-in methods for iteration etc
- Static Semantics
- A good programming language has very good static sematics
- Does not allow statements like 7/abc and tells us it wrong
- Instruction Set
- are like ingredients
- Combine the instructions in clever ways to complex things
- Fixed Program Computers
- Circuits were designed to do specific things and thats what they did
- Scoping
- Lexical - You search for the variable in the current function, the function where the current function is defined and so on
- Dynamic - You search for the variable in the current function, the function where the current function is called and so on
-
Categories
-
Database
-
Programming
-
Workflow
-
Devops
-
Architecture
-
Ui
-
Frameworks
-
Blogging