W4: Quiz Practice Flashcards
High level, domain-specific languages:
- execute inside a host app or OS
- dynamically typed
- scripting interpreted at run-time, not compiled
Ex. Command line interpreter: MS Powershell
Browser: JavaScript
Web server: PHP
High level, general purpose languages:
- execute on the os
- dynamically or strongly typed
- interpreted and hybrid need run-time enviro
Ex. Python, JavaScript, Groovy, PHP
Compiled in: C, C++, COBOL
Low level, general purpose languages:
- run on the bare metal
- strongly typed
- used to create OS, device drivers, compilers, virtual machines
Compiled on C, C++, Rust
1970s:
Structured programming with subroutines, code blocks, and control patterns. GOTO was outlawed but took til 1980s to go away
Ex. C
1980s:
Standards, consolidation, modules, performance, RDBMS (Relational Database Management Systems)
From monolithic to modular and object-oriented programming
Ex. C++
Platform:
OS + Hardware
Low-Level:
Runs directly on the hardware
Ex. OS for specific hardware
Assembly, C, C++ running directly on x86 architecture
High-level:
Runs on the OS using services of low-level code allowing programming to be independent of the ‘bare metal’s
Ex. Apps using os services, c and c++ for high performance games
Interpreted/scripting languages:
Line-by-line execution of source code. Not compiled. Little pre run-time translation. Slower but flexible and reactive
Domain specific languages:
Exist inside an application
Ex. Command Language Interpreter (CLI)
Ms Powershell
Data oriented languages
SQL
Compiled languages:
Translators generate machine specific instructions from source code
Ex. C++
Hybrid languages:
First compiled into platform-neutral bytecode and then interpreted by a virtual machine for the local platform
Ex. Java, C#, Python
Who wrote ‘the art of computer programming’?
Donald E. Knuth, winner of 1974 Turing Award
“Languages” which are not programming languages:
HTML: Hypertext markup language for the web
CSS: Cascading style sheets
XML: Extensible markup language
Computer hardware:
What you can physically touch. Physical parts of a computer system