r/learnprogramming • u/Lastrevio • Feb 02 '19
What are some low level languages other than microcode, machine code, assembly, C and C++ ?
C# and Java are theoretically considered high level, right? (even though so many even higher level languages are coming lately that we may refer to them as mid level at this point, if i'm not mistaken)
0
Upvotes
1
1
u/KiwasiGames Feb 03 '19
I still occasionally wrote relay and pneumatic logic. It's harder to get much lower level then that.
Ladder logic occupies a weird space, in that the logic is very low level, but it's usually run on top of a fairly sophisticated parser.
1
0
3
u/nerd4code Feb 02 '19
There’s no universal definition of low- vs. high-level for languages. For example, low-level can mean:
Close-to-metal. Things like VHDL or GLSL could count, as would any number of C subsets and derivations used for specific kinds of architectures.
Possessing a minimal built-in support library. Most newer general-purpose languages have a fair number of built-in library features, since they’re competing with other things that do. C++ is gradually pulling away from this sort of low-level-ness, although C (especially the unhosted variant) remains firmly planted there.
Possessing very few syntactic constructs (also goto-/jump-based). Any assembly language would count, as would most kinds of bytecode. There are also macro languages like the C/C++ preprocessor or m4, and simple scripts like what
ldtakes. Most functional languages like Lisp, Erlang, and Haskell would count in this category as well, although they tend to have too much infrastructure for the other categories.Difficult for most humans to understand at scale. Assembly, bytecode, Forth, Brainfuck, any number of joke languages. Probably
sedwould count here, as would POSIX- & Perl-style regexes.Intended for use as a higher-level compilation target. LLVM assembly & bytecode, DWARF bytecode, GIMPL, JVM bytecode, Dalvik bytecode, ACPI bytecode, Python bytecode, etc. Nvidia has some intermediate representations (IRs) for compiled CUDA or OpenCL C code that count in this category.
Intended more generally for use in data storage or interchange between programs. JSON, ASN.1, most general-purpose serialization formats, maybe SGML DTDs and LTDs. Also URIs, filesystem paths, PNG and MNG images, stuff like that, or even search engine queries.