2.1 KiB
Programming Language
A programming language is a computer language in which programs can be written, it 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.
Some bloated programming languages such as Python or JavaScript may be acceptable for simple throwaway scripts or for learning programming, but no serious software should be written on it.
List of acceptable and non-acceptable (harmful) languages
- Assembly: yes, but non portable.
- C: yes, the first and natural choice for writing programs. The Unix language.
- Lua: yes, good for embedding and quick scripts.
- Lisp: yes, flexible and relatively fast, prefer Scheme over the more bloated Common Lisp (still better than C++ however).
- Forth: yes, niche, but it is a nice exercise on minimalism.
- Pascal (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: yes, the standard Unix DSL for text processing.
- (POSIX) Shell Script: yes, has its quirks.
- Perl: acceptable, could be used as a replacement for more complex shell scripts and AWK, since it is commonly installed in most modern unixes.
- Go: acceptable but beware of the big executable sizes.
- PHP (no OOP): acceptable, if you need interactive web pages but stay away from frameworks.
- Python: Slow and bloated, avoid. Can be acceptable if used as a beginners language only.
- C++: No.
- JavaScript: No.
- Rust: NO.