26 lines
1.9 KiB
Markdown
26 lines
1.9 KiB
Markdown
# Programming language
|
|
A programming language is a computer language in which programs can be written, they can either be compiled into native machine code or interpreted.
|
|
Different programming languages offers distinct amount of abstraction over the machine (low-level and high-level),
|
|
being the so called scripting languages the ones with the higher level of abstraction, for example.
|
|
|
|
In some ways, assembly can be considered a (low-level) programming language, since it abstracts the numerical opcodes of the machine with mnemonics
|
|
(such as `mov`, `call`, `mul`, etc.) and most offer macro capabilities.
|
|
|
|
## List of acceptable and non-acceptable (harmful) languages
|
|
- Assembly: yes, but non portable.
|
|
- [C](c.md): yes, the first and natural choice for writing programs. The Unix language.
|
|
- [Lua](lua.md): yes, good for embedding and quick scripts.
|
|
- [Lisp](lisp.md): yes, flexible and relatively fast, prefer Scheme over the more bloated Common Lisp (still better than C++ however).
|
|
- [Forth](forth.md): yes, niche, but it is a nice exercise on minimalism.
|
|
- [Pascal](pascal.md) (no OOP): yes, old school and quite verbose, but small and fast compared to, say C++ or Rust; comparable to C in terms
|
|
of features.
|
|
- [AWK](awk.md): yes, the standard [Unix](unix.md) [DSL](dsl.md) for text processing.
|
|
- ([POSIX](posix.md)) [Shell Script](shell_script.md): yes, has its quirks.
|
|
- [Perl](perl.md): acceptable, could be used as a replacement for more complex shell scripts and AWK, since it is commonly installed in most
|
|
modern unixes.
|
|
- [Go](golang.md): acceptable but beware of the big executable sizes.
|
|
- [PHP](php.md) (no OOP): acceptable, if you need interactive web pages but stay away from [frameworks](frameworks.md).
|
|
- [Python](python.md): Slow and bloated, avoid. Can be acceptable if used as a beginners language only.
|
|
- [C++](cpp.md): No.
|
|
- [JavaScript](javascript.md): No.
|
|
- [Rust](rust.md): NO
|