Linguagem de alto nível
O código aproxima-se mais da linguagem humana e distancia-se da linguagem de máquina.
Exemplos de linguagens de alto nível: JavaScript, Python, PHP.
Linguagem de baixo nível
Código próximo da linguagem de máquina ou código binário. Assembly, BF (BrainF)
Exemplos
Hello World em JavaScript (Alto nível):
console.log('Hello World!');
Hello World em Pascal (mais baixo nível que JavaScript):
program OlaMundo;
begin
writeln('Olá, Mundo!');
end
Hello World em BF (Baixo nível):
++++++++++[>++++++++>+++++++++++
>---------->+++>++++++++>+++++++
+++++>+++++++++++>++++++++++>+++
++++++++>+++<<<<<<<<<<-]>-.>--.>
++++.>++.>---.>---.>.>.>+.>+++.,
Hello World Assembly (Baixo nível):
%ifdef NetBSD
section .note.netbsd.ident
dd 7,4,1
db "NetBSD",0,0
dd 200000000 ; amd64 supported since 2.0
%endif
%ifdef OpenBSD
section .note.openbsd.ident
align 2
dd 8,4,1
db "OpenBSD",0
dd 0
align 2
%endif
section .text
%ifidn __OUTPUT_FORMAT__, macho64 ; MacOS X
%define SYS_exit 0x2000001
%define SYS_write 0x2000004
global start
start:
%elifidn __OUTPUT_FORMAT__, elf64
%ifdef UNIX ; Solaris/OI/FreeBSD/NetBSD/OpenBSD/DragonFly
%define SYS_exit 1
%define SYS_write 4
%else ; Linux
%define SYS_exit 60
%define SYS_write 1
%endif
global _start
_start:
%else
%error "Unsupported platform"
%endif
mov rax,SYS_write
mov rdi,1 ; stdout
mov rsi,msg
mov rdx,len
syscall
mov rax,SYS_exit
xor rdi,rdi ; exit code 0
syscall
section .data
msg db "Hello, world!",10
len equ $-msg